NEWS
Change Node gibt keinen Wert aus
-
Moin,
ich versuche vergeblich einen Wert aus meiner VIS in Node-Red umzuwandeln. Ich verstehe einfach nicht, warum kein Ergebnis ausgegeben wird.Habe ein Objekt angelegt, welches in der VIS beschrieben wird (Screenshot).
Im Flow möchte ich diesen Wert um eins verringern, dies über eine Change node und JSONata.
Vor der Change node wird im Debug der Wert korrekt geschriebeben, nach der Node nicht mehr...
Wo ist da der Fehler? Sicher einfach, ab ich komme nicht drauf.Vielen Dank für die Hilfe.
Marc
-
@mickym ein Fall für dich
-
@pio007 sagte in Change Node gibt keinen Wert aus:
Im Flow möchte ich diesen Wert um eins verringern, dies über eine Change node und JSONata.
Das ist schon richtig so. Wichtig ist aber, dass der Wert auch wirklich eine Number is und kein String. Also
"15"
würde nicht klappen mit dem Ausdruck.Zeig am besten mal die Debug-Ausgabe in Node-RED.
-
@haus-automatisierung
ah, ok, da liegt das Problem. Es wird falsch vom VIS übergeben:Debug:
Invalid JSONata expression: The left side of the "-" operator must evaluate to a number
0_userdata/0/Werte/Schwelle_Luftfeuchte : msg.payload : string[2]
"90"Habe im VIS das Widget "ctrl-input+set-button" benutzt, hier kein Haken bei String. Das scheint aber nur Strings zu speichern.
Welche anstelle benutzen?
Danke und Gruß Marc -
ok, selbst rausgefunden:
vorgeschaltete change node, die in Zahl umwandelt: $number(payload)
Ein Widget das direkt eine Zahl ausgibt, habe ich nicht gefunden...Danke an alle für die Hilfe.
-
@haus-automatisierung
muß doch nochmal nachfragen, klappt irgendwie immer noch nicht korrekt.
Habe wie geschrieben, den Wert in number umgewandelt, Debug zeigt nun auch keine Fehler mehr, aber der Switch Node welche 2 Bedingungen prüft, leitet keine Daten weiter.....
Wenn ich die 2. Bedingung im Switch Node auf z.B. < 65 (number) setze, klappt alles einwanfrei. Also die errechnete "schwelle_unten" ist das Problem, mit dem Wert kann nicht gerechnet werden...
Ideen? Vielen Dank. -
@haus-automatisierung ich schieb das nochmal vorsichtig hoch, vlt. hat ja doch jemand eine Idee wo das Problem liegt.
Danke -
@pio007 mit Hilfe eines anderen Forums geklärt: Switch oder Change Node erhält immer nur einen Eingang, wenn mehrere genutzt werden soll muß eine Join node davor geschaltet werden. Die Eingänge können durchaus auch ein String sein. Die Node wandelt das automatisch in eine Zahl um, falls notwendig...