Nun fehlt nur noch die aufgenommene Leistung. Hier fangen wir mit einer Inject-Node an, die alle 5 Sekunden eine Message in die http-Node schickt. Die wird dadurch angeregt, den Shelly nach den Zählerdaten zu fragen. Die Antwort konvertiert die JSON-Node in Javascript-Objekte, aus denen dann in der nachfolgenden function-Node die aktuell aufgenommenen Watts herausgelesen werden. Das schickt die MQTT-Node dann zurück an die openWB.
Code: Alles auswählen
[{"id":"bbc4c862.00704","type":"tab","label":"Shelly Ladepunkt","disabled":false,"info":""},{"id":"efae2fdb.3f1c9","type":"inject","z":"bbc4c862.00704","name":"Poll","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"5","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":110,"y":180,"wires":[["a9d4b91e.03b7a"]]},{"id":"a9d4b91e.03b7a","type":"http request","z":"bbc4c862.00704","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.8.30/meter/0","tls":"","persist":false,"proxy":"","authType":"","x":290,"y":180,"wires":[["32042bb9.5569cc"]]},{"id":"32042bb9.5569cc","type":"json","z":"bbc4c862.00704","name":"","property":"payload","action":"","pretty":false,"x":490,"y":180,"wires":[["36706424.22f6fc"]]},{"id":"36706424.22f6fc","type":"function","z":"bbc4c862.00704","name":"","func":"//Leistung extrahieren\nvar p = msg.payload.power;\n//Das Rückgabeobjekt\nvar msg = {};\n\nmsg.payload = Math.ceil( p ); //keine Nachkommastellen\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":180,"wires":[["e621d1cf.ca95b8"]]},{"id":"e621d1cf.ca95b8","type":"mqtt out","z":"bbc4c862.00704","name":"","topic":"openWB/set/lp/3/W","qos":"2","retain":"","broker":"c4cb83c8.1bd0c","x":880,"y":180,"wires":[]},{"id":"7bb2dd0c.a607c4","type":"mqtt in","z":"bbc4c862.00704","name":"","topic":"openWB/lp/3/AConfigured","qos":"2","datatype":"auto","broker":"c4cb83c8.1bd0c","x":170,"y":80,"wires":[["ab0d7d62.8c4e58"]]},{"id":"ab0d7d62.8c4e58","type":"switch","z":"bbc4c862.00704","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"6","vt":"num"},{"t":"lt","v":"6","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":440,"y":80,"wires":[["80e854ec.8fb638"],["b1cf2791.cc2e5"]]},{"id":"80e854ec.8fb638","type":"http request","z":"bbc4c862.00704","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.178.30/relay/0?turn=on","tls":"","persist":false,"proxy":"","authType":"","x":670,"y":40,"wires":[[]]},{"id":"b1cf2791.cc2e5","type":"http request","z":"bbc4c862.00704","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.178.30/relay/0?turn=off","tls":"","persist":false,"proxy":"","authType":"","x":670,"y":100,"wires":[[]]},{"id":"c4cb83c8.1bd0c","type":"mqtt-broker","name":"OpenWB","broker":"wallbox.fritz.box","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"30","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]