NEWS
MQTT Adapter sendet keine Werte an OpenWB
-
Hallo,
ich habe in meinem IOBroker den MQTT - Adapter installiert und konfiguriert um Werte an meine OpenWB zu senden. Die Einrichtung sieht laut LOG auch erst mal gut aus:
mqtt.0 2022-05-11 23:39:56.616 info Subscribe on: "#" mqtt.0 2022-05-11 23:39:56.606 info Connected to 192.168.178.197 mqtt.0 2022-05-11 23:39:56.173 info Try to connect to mqtt://openwbiobroker:*******************@192.168.178.197:1883?clientId=iobroker mqtt.0 2022-05-11 23:39:54.808 info starting. Version 2.7.4 in /opt/iobroker/node_modules/iobroker.mqtt, node: v14.19.2, js-controller: 4.0.21
Wenn ich bei den Objekten händisch Werte eingebe werden diese auch an OpenWB gesendet und übernommen:
mqtt.0 2022-05-11 23:50:22.013 info send2Server mqtt.0.openWB.evu.W[openWB/evu/W]
Allerdings funktioniert dies nicht, wenn ich die Werte per JavaScript eintrage. Dabei übernimmt das Script nur die Werte aus den Objekten des SENEC-Adapters und schreibt sie in das andere Objekt.
on({id: "senec.0.ENERGY.GUI_GRID_POW"/*Net Power Current*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("mqtt.0.openWB.set.evu.W", getState("senec.0.ENERGY.GUI_GRID_POW").val, true); });
Hat jmd. von euch eine Idee woran es liegen könnte...
-
@jonas_linhose setzt mal dein ACK auf false.
also
setState("mqtt.0.openWB.set.evu.W", getState("senec.0.ENERGY.GUI_GRID_POW").val, false);
Du setzt keine Zustand sondern ein Kommando - also muss ACK=false sein.
-
@jonas_linhose
Die openWB ist manchmal leider etwas zickig wenn man Daten via MQTT senden will. Als Alternative kannst du dir einige Daten auch über die simpleApi und HTTP GET von der Wallbox aus dem iobroker holen lassen.
Mache ich bei den EVU Werten so, läuft eigentlich ganz stabil.
Geht leider nicht bei allen Werten. Den Ladepunkt muss man z.B. weiterhin über MQTT Set schalten. -
@mickym Super... vielen Dank.. das war die Lösung.