Hallo,
gibt es eine Doku zu den Parametern die gepublished werden? ich kann nichts finden.
Danke
This site is now in read-only archive mode. Please move all discussion, and create a new account at the new Victron Community site.
Hallo,
gibt es eine Doku zu den Parametern die gepublished werden? ich kann nichts finden.
Danke
normalerweise enthaelt der name alle informationen, die du brauchst.
lediglich bei einigen werten waeren weiteres informationen sinnvoll, vor allem wenn es sich um einstellungen handelt, die man ueber die remoteconsole aendern kann. aber auch das kann man herrausfinden.
also ich hatte keine probleme, die benoetigten werte zu finden.
tschuess
Bps. ich suche den Parameter den MP2 von Aus auf nur Battladen und umgekehrt zu stellen, kA wo sich der im Baum versteckt, wie der Pararmeter heißt und welche Werte ich dazu setzen muss.
vebus/276/mode ist der Mode vom MP2
unter Node Red am Cerbo wird er so angefragt bzw. auch verändert und es funktioniert:
.
.
wenn ich über Mqtt (aus ioBroker) diesen verändern möchte, wie muss ich im Node-Red am ioBroker den Befehl dazu absetzen ?
Ich schreibe direkt zum Cerbo Mqtt Master auf R/vebus/276/mode eine Zahl? W/... sollte es eigentlich sein, aber klappt auch nicht.
hallo,
probier es mal mit dem button (du wirst die payload falsch uebergeben):
[
{
"id": "501ef42e70e037c4",
"type": "ui_button",
"z": "ef68b54de0061aed",
"name": "",
"group": "2c0795883fb08098",
"order": 15,
"width": 0,
"height": 0,
"passthru": false,
"label": "button",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "{\"value\":3}",
"payloadType": "json",
"topic": "topic",
"topicType": "msg",
"x": 530,
"y": 60,
"wires": [
[
"b23dd651ea30287e"
]
]
}
]
habe deinen Code importiert
er fragt mich nach einer Gruppe - damit ich da nix falsch mache, frage ich dich
hab jetzt einfach mal durchgedrückt
wie kann ich den Button mit meiner ioBroker Variable verbinden, oder wird das dazwischen eingehängt?
das ist mein ioBroker Node
habe aus dem ioBroker den Wert auf 4 gesetzt
das wäre eine einfacher Trigger, wie soll der payload zusammengesetzt werden?
ich habe ihn dir nur als beispiel hier hinterlegt, damit du weisst, in welchem format du die daten an den mqtt-server uebergeben musst.
du kannst auch einfach ein function-node mit diesem inhalt als erste zeile benutzen:
msg.payload = { "value" : msg.payload };
wichtig ist nur, dass der mqtt-server ein object mit diesem aufbau braucht:
{ "value" : wert }
ansonsten wird das einfach ignoriert.
wenn du einmal ein mqtt-topic mit node-red abrufst, bekommst du das auch in diesem format und auch da kann man sich mit einem function-node helfen, um an den wert zu kommen:
msg.payload = msg.payload.value;
fuer die uebergabe an den mqtt-server kannst du das auch so aufbereiten:
var MQTT = {};
MQTT.value=wert;
msg.payload = MQTT;
return msg;
wichtig ist eben nur, der mqtt-server liefert immer ein object zurueck und erwartet ein object, um einen wert zu setzen.
tschuess
ich habe ihn dir nur als beispiel hier hinterlegt, damit du weisst, in welchem format du die daten an den mqtt-server uebergeben musst.
du kannst auch einfach ein function-node mit diesem inhalt als erste zeile benutzen:
msg.payload = { "value" : msg.payload };
wichtig ist nur, dass der mqtt-server ein object mit diesem aufbau braucht:
{ "value" : wert }
ansonsten wird das einfach ignoriert.
wenn du einmal ein mqtt-topic mit node-red abrufst, bekommst du das auch in diesem format und auch da kann man sich mit einem function-node helfen, um an den wert zu kommen:
msg.payload = msg.payload.value;
fuer die uebergabe an den mqtt-server kannst du das auch so aufbereiten:
var MQTT = {};
MQTT.value=wert;
msg.payload = MQTT;
return msg;
wichtig ist eben nur, der mqtt-server liefert immer ein object zurueck und erwartet ein object, um einen wert zu setzen.
tschuess
welche Adresse muss ich dazu beschreiben?
OK, aber an der payload wird es anscheinend nicht liegen.
ich kann auf W/.... schreiben, der Wert kommt an, ich kann den W/... auslesen und dann auf den Victron setzen, das funktioniert bereits, dennoch denke ich, dass ich hier mit dem Kreuz um die Kirche rumgehe.... ist das der Weg??
schreibe den Mode ganz normal als Zahl:
er kommt als Zahl an:
und es wird gemacht.
das ist aber ein händisches rüberschieben, sollte doch in den Parametern vom Mqtt Broker möglich sein.
hallo,
das topic ist:
W/sysid/vebus/276/Mode
wenn du das lesen willst, musst du N/sysid benutzen oder eventuell auch R/sysid.
das W bedeutet schreiben.
ich habe es zwar selbst noch nicht probiert, den wechselrichter ueber mqtt zu steuern, ausser werte zu setzen, bei denen das anders nicht moeglich ist.
warum benutzt du nicht node-red auf dem cerbo, um ueber das vebus-control den status zu aendern. du kannst dir ja die vorgabe ueber mqtt vom iobrocker holen.
ich ziehe es jedenfalls vor, die victron-geraete, wenn moeglich, lokal auf dem cerbo zu steuern und mir die vorgabewerte aus einer mysql-datenbank zu holen.
das hat auch den vorteil, dass ich eine sicherheitsroutine einbauen kann, fuer den fall dass die verbindung zur datenbank unterbrochen ist.
selbst mein steuerungsprogramm fuer die vedirect-geraete und multis enthaelt nur funktionen zum abrufen und setzen der werte, aber keinerlei regelungsfunktion. das uebernimmt ein weiteres programm, das ausschliesslich auf die datenbank zugreift.
dadurch kann ich das regelungsprogramm auch aendern oder neu starten, ohne die datenerfassung zu stoeren.
tschuess
Das mit der Datenbank ist schön, wenn man weiß wie das funktioniert, sicher gut, ich habe leider kA wie das geht.
auch ich muss noch einen Failsafe einbauen, wenn die Battiedaten nicht mehr gepostet werden, dann fällt die Mqtt Batterie aus dem Cerbo BAT raus, wird inaktiv, da sollte was möglich sein über das ESS dann die Ladung zu stoppen meine ich, ist dir da was bekannt?
wenn du den wert ueber mqtt ausliest und direkt an das vebus-node schickst, bekommst du immer eine fehlermeldung, weil das vebus-node eine zahl als eingabe erwaertet, vom mqtt-server aber ein object geschickt wird.
und wie ich schon mehrmals geschrieben habe, duerfte das auch der grund sein, warum es ueber mqtt nicht funktioniert!!!
es ist ein grosser unterschied, ob du den wert so uebertragst:
3
oder so:
{ "Value" : 3 }
die erste variante braucht das vebus-node, die 2. das mqtt-node!
tschuess
du kannst ein zahl an das vebus-node uebergeben, aber nicht an das mqtt-node.
wenn du da den wert 3 schreiben willst, sieht das so aus:
{ "value" : 3 }
alles andere wird nicht akzeptiert oder verarbeitet.
dazu brauchst du z.B. beim button nur eintragen, dass er ein object abschicken soll anstatt einen zahlenwert!
tschuess
43 People are following this question.