NEWS
Node Red Victron mqqt schreiben
-
Moin,
ich versuche seit einiger Zeit meine Wallbox von Victron über mqtt zu steuern. Das auslesen funktioniert super, da habe ich keine Probleme. Gerne möchte ich zwischen dem Automatik und Manuellen Modus umschalten. Leider funktioniert das nicht, man sieht im mqtt Explorer das der wert gesendet wurde, er wird aber nicht gespeichert.
Ich habe in irgendwo gelesen das man "N/d41243d*****/evcharger/40/Mode" das N mit einem W tauschen soll, das geht, da passiert halt nichts.
Mein NR läuft nicht auf dem Cerbo, der hat zu wenig Speicher.Vielleicht weis unser NR Guru @mickym da ja weiter!
Danke
[ { "id": "d1ee11f9b3320c53", "type": "mqtt out", "z": "2f5fbbe5e47e3e01", "name": "", "topic": "N/d41243d*****/evcharger/40/Mode", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "1701f33596afcf6b", "x": 1000, "y": 260, "wires": [] }, { "id": "6c7b4e1dd0b1836f", "type": "inject", "z": "2f5fbbe5e47e3e01", "name": "Manuell", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "0", "payloadType": "str", "x": 650, "y": 260, "wires": [ [ "d1ee11f9b3320c53" ] ] }, { "id": "e2852133e3f143a6", "type": "inject", "z": "2f5fbbe5e47e3e01", "name": "Auto", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "1", "payloadType": "str", "x": 650, "y": 320, "wires": [ [ "d1ee11f9b3320c53" ] ] }, { "id": "1701f33596afcf6b", "type": "mqtt-broker", "name": "mosquitto-on-alarm", "broker": "192.168.10.22", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" } ]
-
@mousenray Wenn der Wert gesendet wurde - dann funktioniert das ja. Du musst halt die Doku mal anschauen, das Teil hört nur auf bestimmte Topics - wenn das nicht tut - dann stimmt halt das Kommando nicht. Das habt mit NodeRed nichts zu tun, sondern eher was Victron erwartet.
Im Prinzip kannst Du mit dem mqtt-Explorer testen (mit dem kannst ja auch topics senden) und erst wenn das funktioniert, dann setzt Du das in NodeRed um.
-
Habe mal in Explorer geschaut {"value": 0} steht dort, das muss ich wohl so senden, hast du da ne Idee?
Mo
-
@mousenray Klar Du sendest das als payload.
-
-
@mousenray sagte in Node Red Victron mqqt schreiben:
Funktioniert, super!!!!!!
Danke
Tja wenn man die Anforderung richtig formuliert, dann kann man auch helfen.
-
@mickym
Wie kriege ich das beim soc mit einem slider hin, 0 bis 100 in 5 erschritten -
@mousenray Soll der auch eine Eigenschaft value schreiben?
Wenn Dein Gerät überfordert ist - dann halt only on release Werte schicken.
-
@mickym
ja das value müsste noch weg, eine zahl reicht. zum visualisieren!MEGA! Danke Dir!!!!!
-
@mousenray sagte in Node Red Victron mqqt schreiben:
ja das value müsste noch weg, eine zahl reicht. zum visualisieren!
Na dann musst an der payload ja gar nichts machen - und stellst das auf on release ein. Dann kommt nur der letzte Wert als Zahl raus.
-
Brauche da noch mal Hilfe, ich möchte das sich der Status des Set Points mit ändert.
Also das mir Änderungen die ich zb an der Wallbox app mache, am Slider mit aktualisiert wird.Danke
[ { "id": "642daddb926630e9", "type": "mqtt out", "z": "2f5fbbe5e47e3e01", "name": "", "topic": "W/d41243d30***/evcharger/40/SetCurrent", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "1701f33596afcf6b", "x": 1300, "y": 360, "wires": [] }, { "id": "30244ef6f2cc7914", "type": "ui_slider", "z": "2f5fbbe5e47e3e01", "name": "", "label": "Ladestrom", "tooltip": "", "group": "8ff3d45936e216f8", "order": 2, "width": 0, "height": 0, "passthru": false, "outs": "end", "topic": "topic", "topicType": "msg", "min": "6", "max": "20", "step": "1", "x": 810, "y": 360, "wires": [ [ "213726cc8c3e9702" ] ] }, { "id": "213726cc8c3e9702", "type": "change", "z": "2f5fbbe5e47e3e01", "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "payload.value", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1020, "y": 360, "wires": [ [ "642daddb926630e9" ] ] }, { "id": "591497b3edade42f", "type": "mqtt in", "z": "2f5fbbe5e47e3e01", "name": "", "topic": "N/d41243d30***/evcharger/40/SetCurrent", "qos": "0", "datatype": "auto", "broker": "1701f33596afcf6b", "nl": false, "rap": false, "inputs": 0, "x": 240, "y": 360, "wires": [ [ "9a88850298e6a618", "8411957fdc0fda6a" ] ] }, { "id": "9a88850298e6a618", "type": "change", "z": "2f5fbbe5e47e3e01", "name": "", "rules": [ { "t": "set", "p": "payload.value", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 360, "wires": [ [ "30244ef6f2cc7914", "0760f3a27eaa442e" ] ] }, { "id": "0760f3a27eaa442e", "type": "debug", "z": "2f5fbbe5e47e3e01", "name": "debug 69", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 720, "y": 500, "wires": [] }, { "id": "8411957fdc0fda6a", "type": "debug", "z": "2f5fbbe5e47e3e01", "name": "debug 70", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 460, "y": 520, "wires": [] }, { "id": "1701f33596afcf6b", "type": "mqtt-broker", "name": "mosquitto-on-alarm", "broker": "192.168.10.22", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "8ff3d45936e216f8", "type": "ui_group", "name": "Wallbox", "tab": "0469c04257b5af1f", "order": 1, "disp": true, "width": "6", "collapse": false }, { "id": "0469c04257b5af1f", "type": "ui_tab", "name": "Wallbox", "icon": "dashboard", "order": 5, "disabled": false, "hidden": false } ]
-
-
Das habe ich versucht, geht nicht
-
@mousenray Dann poste was aus der mqtt rauskommt also debug 70
-
"{"value": 10}"
-
@mousenray Ja dann geht das . was ich gepostet habe - poste das debug Fenster als Screenshot mit der debug 70 Node.
Ansonsten geht das:
Ach so ich sehe Du hast was falsch in der mqtt-Node konfiguriert:
Warum auch immer.
-
16.3.2023, 20:23:16node: 283daac876b30898
msg : string[53]
"Cannot set property of non-object type: payload.value"16.3.2023, 20:25:40node: debug 69
N/d41243d30486/evcharger/40/SetCurrent : msg.payload : undefined
undefineddas sagt die node.
screen muss ich schauen wie das hier geht
-
ja das war es, Danke!!!!
-
@mousenray Nochmal die mqtt Node muss das Objekt analysieren.
Im debug 70 steht das Objekt - im debug 69 nur noch der Wert.