NEWS
UNSOLVED aus JSON Datenpunkte erzeugen. Whirpool anbindung
-
@christian-sandkaulen ok, dann geht das wirklich recht einfach. Datenpunkte für die einzelnen Werte anlegen (die können dann z.B. in der VIS geändert werden). Trigger auf Änderung dieser Datenpunkte (also wenn sich irgendeiner davon ändert), dann JSON zusammenbauen, an command schicken.
Und 2.Trigger auf message und dann die Datenpunkte mit den Werten füllen wie oben in meinem Beispiel
-
-
@christian-sandkaulen ja, Du könntest immer bei Senden eines commands eine Variable (z.B. BLOCK=true) setzen (und über timeout wieder zurücksetzen) und im anderen Trigger fragen, ob BLOCK gesetzt ist und dann nix machen.
-
@christian-sandkaulen Ich würde die beiden Datenpunkte lieber komplett getrennt voneinander behandeln. Also einmal Status und Steuerung. Wie du dir den Status in der VIS anzeigen lassen kannst weißt du ja jetzt schon. Jetzt würd ich mir noch 2 Datenpunkte anlegen für die Steuerung. Der Erste, eine Liste in der du alle möglichen commands reinschreibst mit ihren Integer werten und dann noch den Datenpunkt für den eigentlichen Wert. Dann kannst du dir für die Steuerung in der VIS eine Listbox machen in der du das Kommando auswählst, dann den Wert eingeben und fertig. Beim Status kriegst du dann ja sowieso den gesetzten Wert zurück und vermeidest so das Schleifen Problem.
-
@fabian1
Danke, Datenpunkte als liste kenne ich noch gar nicht müsste ich mich erstmal einlesen -
-
@christian-sandkaulen
Das ist wirklich praktisch!
-
@christian-sandkaulen
javascript.0 2021-07-20 12:03:27.333 info (1841) script.js.Automation.Garten.Pool_steuerung: {"CMD":4,"VALUE":0,"XTIME":0,"INTERVAL":0} javascript.0 2021-07-20 12:03:27.333 warn (1841) at processImmediate (internal/timers.js:461:21) javascript.0 2021-07-20 12:03:27.333 warn (1841) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5701:41) javascript.0 2021-07-20 12:03:27.332 warn (1841) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:502:29) javascript.0 2021-07-20 12:03:27.332 warn (1841) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1075:38) javascript.0 2021-07-20 12:03:27.332 warn (1841) at Object.<anonymous> (script.js.Automation.Garten.Pool_steuerung:17:3) javascript.0 2021-07-20 12:03:27.331 warn (1841) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1427:20) javascript.0 2021-07-20 12:03:27.329 warn (1841) State "mqtt.0.BW_2.0.0.command" not found
was funktioniert da nicht ? warum findet der mqtt.0.BW_2.0.0.command nicht?
-
Ich über mal:-) da könnten alle Command drin stehen ?
-
@christian-sandkaulen
Ja, du kannst dir da eintragen was du willst! Namen mit den dazugehörigen integern die du dann per Blockly nutzen kannst um das command zu verschicken.
-
@ahnungsbefreit sagte: bei Senden eines commands eine Variable (z.B. BLOCK=true) setzen (und über timeout wieder zurücksetzen)
Viel zu kompliziert: Den eigenen Datenpunkt mit "aktualisiere" (ack = true) schreiben und für das Kommando auf "unbestätigte Änderung" (ack = false) triggern. Das verhindert ebenfalls die Schleife.
-
@christian-sandkaulen Wenn Du NodeRed benutzt - dann habe ich dafür einen Subflow erstellt:
https://forum.iobroker.net/topic/43856/json-string-oder-java-object-in-iobroker-struktur
-
@christian-sandkaulen Ja, so meinte ich das.
-
@paul53 Oder so. @christian-sandkaulen Aber dann wirklich immer nur über "aktualisiere" in die Datenpunkte schreiben, sonst gibt's ne Endlosschleife. Aber das sollte man ja sowieso tun.
-
-
danke da ich aber noch nie etwas mit NodeRed zu tun hatte wäre mir das gerade etwas viel was ich mir beibringen müsste, beim überfliegen habe ich aber schon gesehen das du dir viel Arbeit gemacht hast!
Christian
-
@christian-sandkaulen sagte: ich kann das gar nicht auswählen beim trigger
Update = bestätigte Änderung
Befehl = unbestätigte Änderung -
-
@christian-sandkaulen sagte: so oder?
Einfacher so:
-
@paul53 said in aus JSON Datenpunkte erzeugen. Whirpool anbindung:
@christian-sandkaulen sagte: so oder?
Einfacher so:
Danke...
noch ne frage die Vis bzw der Datenpunkt übersetzt true und False in 1 & 0 ?