ich habe mir den RuuviTag Pro 4in1 zugelegt und wollte diesen in VanPi-Core integrieren!
Dieser Pro 4in1 stellt zusätzlich noch den Luftdruck dar.
Wie/Wo kann ich diesen Druckwert in NR (Python?) erfassen/erstellen um ihn weiter zu verarbeiten um ihn dann darzustellen zu können?
Auf der Infoseite, kann ich mir den 3.Wert schon anzeigen lassen, nur der reale Messwert fehlt noch.
im Backend im BLE Bereich, gibt es ein Gruppe mit Ruvvi. Ich meine das Skript List schon alle 4 Punkte aus, den Luftdruck müsstest du dir nur aus den daten ziehen.
Anschluss von 2*Ruuvitag Pro 3in1, Anzeige im Dashboard ok
Anschluss von 2*Ruuvitag Pro 4in1, nach den Ergänzungen von “Node:Compare Tags” Bild 1, durch die gelb markierene Zeilen (ohne // Auskommentierung), Anzeige im Dashboard ok
b) nach den Ergänzungen von “Node:Compare Tags” durch die gelb markierten Zeilen (ohne // Auskommentierung), Anzeige im Dashboard leer und "Node:Compare tags meldet: function error: siehe letztes Bild.
Gibt es eine Möglichkeit, wenn, wie beim Pro 3in (pressure=0) den Fehler per (if, then else) abzufange
Du bist schon auf der richtigen Spur, du brauchst einen Null-Check.
Die Variante mit beiden RuuviTags aktiv (3in1 und 4in1) wirft den Fehler, weil versucht wird die Funktion toFixed() auf “Null” anzuwenden für die 3in1 und damit crasht die Funktion, denn toFixed() kann nur auf Zahlen (“Number”) angewandt werden.
Wenn wir also davon ausgehen, dass pressure immer entweder Null ist oder eine Nummer, kannst du einfach checken ob es eine Nummer ist und dann dementsprechend die Values setzen:
Also in beiden Zeilen: "pressure": (typeof ruuvitag.pressure === "number") ? ruuvitag.pressure.toFixed(1) + "hPa" : "",
Dann sollte entweder der tatsächliche Wert angezeigt werden, oder ein leeres Feld, aber die Funktion crasht nicht mehr