NEWS
[Frage MQTT] Empfange Daten vom eBUSd von Vaillant ecoTEC
-
Hallo,
habe eine Frage an die MQTT-Experten
Meine http://forum.iobroker.net/viewtopic.php?f=23&t=4205&p=98750#p98750 schickt folgende Daten
Im LOG steht:
2017-11-27 07:55:07.776 - info: mqtt.0 Client [ebusd_3.0_1205] connected 2017-11-27 07:55:07.781 - info: mqtt.0 Client [ebusd_3.0_1205] subscribes on "ebusd.#" with regex /^ebusd\..*/ 2017-11-27 07:55:07.781 - info: mqtt.0 Client [ebusd_3.0_1205] subscribes on "ebusd.#" with regex /^mqtt\.0\.ebusd\..*/ 2017-11-27 07:55:07.782 - info: mqtt.0 publishOnSubscribe send all known states
Wo ist der unterschied zwischen den beiden Zeilen zu sehen?
subscribes on "ebusd.#" with regex /^ebusd..*/
subscribes on "ebusd.#" with regex /^mqtt.0.ebusd..*/
Das ist das Ergebniss:
Eine weitere Frage noch:
der sBUSd kann die Daten auch mit der Option "–mqttjson" senden
dann erhalte ich
{ "prefix": {"value": "21"}, "year": {"value": "17"}, "week": {"value": "41"}, "product": {"value": "0020218357"}, "supplier": {"value": "0082"}, "counter": {"value": "063390"}, "suffix": {"value": "N4"}}
Wie kann ich die Daten einzeln in VIS darstellen?
Gruß
Jürgen
-
hat hier keiner eine Idee?
-
Der Blinde versucht mal dem Einäugigen zu helfen…da ich das eine Problem auch hatte.
Ob das was ich gemacht richtig und gut ist weiss ich nicht....aber es scheint zu funktionieren.
Wenn du Werte in der Form
{ "prefix": {"value": "21"}, "year": {"value": "17"}, ....
bekommst versuche mal als erstes einen neuen Datenpunkt, z.b. für year anzulegen. Also dort wo auch das obige Telegram Gespeichert ist.
Dann ein Script einrichten (Ich habe es unter common gemacht)
convertebusdValues(); on({id: "mqtt.0.ebusd.scan.ec.id", change: "any"}, function (obj) { convertebusdValues(); }); function convertebusdValues() { var idJSON = "mqtt.0.ebusd.scan.ec.id"; var obj2 = JSON.parse(getState(idJSON).val); setState('mqtt.0.ebusd.scan.ec.id.year', obj2.year.value); }
Nach der Methode bekomme ich aus dem Payload
{"Time":"2017-11-30T18:50:38","DHT22":{"Temperature":7.4,"Humidity":82.1},"TempUnit":"C"}
die Temperatur und die Luftfeuchtigkeit raus und kann sie im VIS darstellen
Viel erfolg!