NEWS
[gelöst] node red Switch funktioniert nicht mehr
-
Guten Abend zusammen,
seit paar Tagen wundere ich mich, warum die Alexa mache Befehle nicht ausführt.
Nach Recherche habe ich nun gerausgefunden, dass der Switch bei mir nicht mehr funktioniert.Ich frage einen ioBroker State ab, der einen boolean Wert hat.
Der Wert wird auch korrekt abgefragt, aber der Switch verarbeitet diesen nicht mehr richitg.
Ich habe einfach mal Debug Nodes dran gehangen um zu sehen was ankommt. Und beim "debug 3" kommt nichts an:
Der Switch ist wie folgt aufgebaut:
Ich vermutet, dass er ein Problem hat einen boolen Wert mit "== false" abzufragen.
Aber wieso auf einmal?
Ich nutze sehr viele Switche in meinen Flows und bisher hat alles immer funktioniertNutze node-red v5.2.1
Habt ihr eine Idee?
-
@hant0r Das war schon immer verkehrt, wenn Du nach Strings abgefragt hast. Der Grund kann sein - dass Du diese UNSÄGLICHE Option im Adapter eingestellt hattest, dass alle Datenpunkte des iobrokers in String umgewandelt wurden.
Falls Du das wirklich vorher drin hattest, dann kann ich Dir nur raten - die richtigen Datentypen zu verwenden und nicht alles in Strings umzuwandeln.
In einem Switch prüft man einen echten boolean mit "ist wahr" oder "ist falsch" ab. Sowas über Strings zu machen - kann ich nur abraten - das ergibt irgendwann genau solche Seiteneffekte.
-
@mickym vielen Dank für deine Antwort.
Tatsächlich hatte ich oben vergessen zu erwähnen, dass ich node Red neu aufsetzen musste (sorry).
Daher ist deine Vermutung wahrscheinlich die Richtige. Die Option war auf jedenfall aus und ich kann nicht mit Sicherheit sagen, dass diese vorher nicht an war.
Ich würde auch lieber sauber arbeiten und boolean mit boolean vergleichen, aber wie stelle ich den Switch auf boolean-vergleich um? Finde dazu nichts.
-
@hant0r Früher war diese Konvertierung in Strings leider automatisch eingestellt und man musste es expliziert wegnehmen. In den neueren Versionen war es dann standardmäßig nicht mehr aktiviert, was ich sehr unterstützt habe, da die meisten Leute die Defaulteinstellungen verwendet haben.
In einem Switch prüfst Du direkt auf Boolean wie folgt ab:
-
@mickym Super, das war ja einfach. Habe alles angepasst und nun funktioniert es wieder.
Danke dir für die schnelle und kompetente Hilfe 🥳