NEWS
Unterschiede Objekte hm-rega und node-red?
-
Über einen Node-red Flow habe ich vor längerem eine Anwesenheitsautomatik gebaut.
Bisher wurde die Daten für die Anwesenheit in eine ccu Variable über hm-rega geschrieben.
Da ich auf Dauer dort nichts mehr haben möchte , habe ich nun im Flow das Objekt von hm-rega auf node-red geändert.
Ich habe bei den alten Flow ein true im Script nicht als true, sondern bei msg.payload = "true" (mit Anführungszeichen, also als String, gesetzt).
hm-rega scheint einen String mit "true" als Logikwert true umzuwandeln.
in node-red abgelegt, bleibt es ein String.
Kann das sein?
funktioniert:
on("hm-rega.0.10020", function(obj) { if (obj.newState.val === true) {
funktioniert nicht:
on("node-red.0.anwesend.micha", function(obj) { if (obj.newState.val === true) {
funktioniert wieder:
on("node-red.0.anwesend.micha", function(obj) { if (obj.newState.val === true || obj.newState.val === "true") {
-
Über einen Node-red Flow habe ich vor längerem eine Anwesenheitsautomatik gebaut.
Bisher wurde die Daten für die Anwesenheit in eine ccu Variable über hm-rega geschrieben.
Da ich auf Dauer dort nichts mehr haben möchte , habe ich nun im Flow das Objekt von hm-rega auf node-red geändert.
Ich habe bei den alten Flow ein true im Script nicht als true, sondern bei msg.payload = "true" (mit Anführungszeichen, also als String, gesetzt).
hm-rega scheint einen String mit "true" als Logikwert true umzuwandeln.
in node-red abgelegt, bleibt es ein String.
Kann das sein?
funktioniert:
on("hm-rega.0.10020", function(obj) { if (obj.newState.val === true) {
funktioniert nicht:
on("node-red.0.anwesend.micha", function(obj) { if (obj.newState.val === true) {
funktioniert wieder:
on("node-red.0.anwesend.micha", function(obj) { if (obj.newState.val === true || obj.newState.val === "true") { ```` `
Alle payloads in node-red sind erstmal strings. Auch true hat man auch als "true" gesetzt.
Deswegen in vielen Scripts schreibe ich immer automatisch
if (obj.newState.val === true || obj.newState.val === "true")
-
Danke!
das erklärt es!