NEWS
MQTT Daten für ioBroker aus Victron VRM abgreifen
-
Hallo,
ich möchte die MQTT Daten aus der Victron VRM für ioBroker abgreifen. Direkt geht leider nicht, da die Anlage 140km weit entfernt steht.
Ich habe nun Stundenrund Anleitungen gelesen und kann die Daten nun via MQTT-Explorer abrufen.
Die Daten werden auch regelmäßig erneuert, also genau wie ich es will.Grundlage war: https://communityarchive.victronenergy.com/questions/155407/mqtt-local-via-mqtt-broker.html
Nun dachte ich - einfach die Einstellungen in den ioBroker Client und ich hab alles wie ich will - Pustekuchen.
Die Verbindung mit dem Server steht, aber es werden keine Daten empfangen.Weiss jemand Rat.
-
Gerade habe ich versucht die Sache noch einmal nachzuvollziehen und lustigerweise muss ich jetzt im MQTT Explorer ein Keepalive senden, um die Daten zu bekommen.
Fragt sich nur wie das ganze im ioBroker Mqtt Client verarbeiten kann. -
Ich denke ich habe es geschafft.
Mit dem Mqtt-client von ioBroker geht es nicht.
Mit dem Mqtt Broker/client funktioniert es, wenn der Broker dann auf client eingestellt ist.
Als Topic muss noch N/<ID>/# zugefügt werden.
Und ein kleines Script mit mqtt.0.R.<ID>.keepalive -
zu früh gefreut - das mit dem Keepalive funktioniert noch nicht richtig
-
@c1olli wie oft sendest du denn den "Keep Alive" ? Alle 55 Sekunden oder weniger?
-
@bananajoe
Ich habe jetzt alle 45sec eingegeben und lasse Node Red senden.
Da bekomme ich jetzt die Aktualisierungen, aber noch nicht alle Werte.
Ich werde aber mal auf 55sec ändern. -
So, die Werte kommen jetzt, aber da steht jetzt ein Value vor dem Wert
z.B. D “value”: -3.700000047683716
das muss ich noch weg bekommen. -
Tatsächlich hab ich es jetzt hinbekommen.
Die Daten werden mit "Math.round(JSON.parse(val).value * 10) / 10"
im Alias umgewandelt und dann kann ich sie weiter verwenden.
Schade dass ich dass für jeden Wert machen muss, da wäre eine Funktion, die den kompletten Kanal gleich umwandelt schöner, aber es gibt schlimmeres