NEWS
[gelöst] Victron MP2 MQTT Anbindung
-
-
Dein Script als Blockly. Na mal sehen was jetzt raus kommt.
-
@tt-tom Ich habe es nicht also blockly, sondern damals so gelöst.
schedule('*/30 * * * * *',()=>{ setState("mqtt.0.R.c0619ab24727.keepalive",""); });
-
@ben1983 Es gab hier (Kärnten) gestern ein großes Unwetter und ein Blitzschlag hat mir mehrere Victron-Geräte zerstört. Ich kann erst nach Wiederherstellung weiter testen.
-
@fichtendickicht Oh Nein, das ist ja ärgerlich.
-
@tt-tom So, habe nun eine CERBO-GX eingebaut und das Script laufen lassen. Sieht nun so aus:
Im IO-Broker hab ich aber dennoch nicht mehr Punkte:
Auch de MQTT-Explorer zeigt nicht viel mehr an:
Über MODBUS habe ich allerdings bereits Kontakt:
-
deine Bilder sind vom State her nicht identisch. Im ioBroker hast du den Keepalive Datenpunkt und im MQTT-Explorer nicht.
das Script stoppen und den Keepalive im ioBroker nochmal löschen.
Dann mit dem MQTT - Explorer noch einmal anlegen. -
@tt-tom Danke für den Hinweis. Ich habe interessante Infos über "keepalive" auf folgender Seite gefunden: github. Wenn ich nun im "MQTT Explorer" folgenden Befehl "R/c0619ab363c9/system/0/Serial" publishe, so bekomme ich alle Datenpunkte die das Victron System zu liefern im Stande ist:
Leider verschwinden alle Punkte nach ca. 30 Sekunden wieder und alles ist wieder weg:
Diesen Befehl habe ich auch versucht im Script unterzubringen, leider ohne Erfolg.
Im IOBroker erscheinen nun auch alle Datenpunkte - zumindest im "mqtt-client". Auch mit live-Werten, leider nur für ca. 30 Sekunden. Danach ist alles tot:
-
@fichtendickicht sagte in Victron MP2 MQTT Anbindung:
github
wenn ich das jetzt richtig verstanden habe musst du dein "keepalive" unter "R" anlegen. und bekommst unter N die Daten.
also publish mit MQTT Explorer unter "R/c0619ab363c9/keepalive" und diesen Pfad schreibst du dann auch in das Blockly / Script
-
Ich hänge mich hier mal rein, möchte dafür nicht ein extra Thread eröffnen, vielleicht hat jemand dasselbe ja schon gelöst.
Ich bekomme per MQTT nun die Daten von der Venus, unter anderem meine Gesamterzeugung vom Wechselrichter, docher der Wert schwankt extrem, innerhalb von einer Sekunde mehrfach.
Das sieht in der VIS sehr unschön aus.
Ich nehme den Datenpunkt auch und wandel den in ein Alias um, diesen speicher ich in einer influxdb ab, dort kann ich ja sagen, dass er x ms Zeit nehmen soll bis er den nächsten Wert speichert, damit umgehe ich in der DB ein "Überlauf".Aber wie kann ich denn zB den MQTT "drosseln", dass er die Werte nur sekündlich empfängt.
Ich habe bisher nichts gefunden, wie ich in der Venus das senden ändern kann.Im Aliasmanager kann ich auch keine Dämpfung einbauen.
Klar ich kann ein Skript machen und den Wert dämpfen, bevor ich ihn unter aliases umleite für die VIS und influxdb, aber eventuell geht es ja auch anders... .? -
@tugsi Du kannst nur am Sender beeinflussen was und wie oft ein Gerät sendet. Wenn Du das dämpfen möchtest dann musst Du das mit einem eigenen Datenpunkt und deiner Logikmaschine machen.
-
@mickym Das habe ich mir schon gedacht ... so ist mir das zu "hektisch", meine Frau bekommt schon die Krise, wenn sie auf das Panel schaut *lach ...
Ok, dann schaue ich nochmal, ob ich doch noch was in der Venus OS finde, ansonsten muss ich den Schritt über ein Script gehen...
Danke Dir! -
Ich zerlege die Victron MQTT Werte per Alias, welche ich mit einem Script aus dem Forum erstelle. Funktioniert recht gut.
Hat wer zufällig schon eine Liste der wichtigsten Parameter vom Victron, um nicht alle händisch hinein kopieren zu müssen?
Es wäre toll wenn es im IOBroker bei den Scripts, gleich direkt die am häufigsten verwenden Scripts, als Beispiele zum auswählen gebe. Oder gibt es sowas schon?
Bei NodeRed (zumindest am Victron) gibt es einige Beispiele zum auswählen. -
@max78 sagte in Victron MP2 MQTT Anbindung:
Es wäre toll wenn es im IOBroker bei den Scripts, gleich direkt die am häufigsten verwenden Scripts, als Beispiele zum auswählen gebe.
ehrlich?
willst du Tesla laden, Aktienfonds auswerten, oder China-cloud-Werte?
was für andere wichtig ist und häufig verwendet wird, kann für dich uninteressant sein und umgekehrt.Außerdem müsste irgendjemand diese Skripte ständig pflegen.
@max78 sagte in Victron MP2 MQTT Anbindung:
Bei NodeRed (zumindest am Victron) gibt es einige Beispiele zum auswählen.
aber nur bei Victron.
Die pflegen diese Flows auch -
@homoran
Mit dem Pflegen hast du recht. An das habe ich nicht gedacht.
Zum programmieren (vor allem am Anfang) ist es aber immer praktisch wenn man aus Beispielen sich was raus kopieren kann.
Das funktioniert aber auch aus dem Forum.Von einem Victron File von wem anderen könnte ich vermutlich 80% übernehmen...
Wäre etwas Zeitersparnis... -
Hallo, hast du es hinbekommen??
Stehe gerade vor dem gleichen Problem. Habe schon mit MQTT Explorer den Datenpunkt Keepalive unter R gepublished. Den sehe ich jetzt auch unter ioBroker. Mit einen Skript beschreibe ich den jetzt auch regelmäßig- glaube ich zumindest. Nur schlafen meine Werte trotzdem nach kurzer Zeit wieder ein...
was kann denn jetzt immer noch falsch sein.
Danke schonmal
Vg Andreas
-
@andreas-kerzel DP mit ACK=false beschrieben?
-
ja jetzt funktioniert es
mit diesem Script. Warum erschließt sich mir nicht so richtig. War viel ausprobieren...
-
jetzt stehe ich vor dem nächsten Problem...
ich kann die ausgelesenen Werte nicht verarbeiten/addieren. Das liegt sicherlich daran, dass es ein String ist {"value": 432,2} als Beispiel
weiß jemand wie ich das richtig konvertieren müsste
vielen Dank schon mal...
-
@andreas-kerzel Du musst Dir das Attribute value heraushohlen: