Shelly1PM per MQTT als Ladepunkt konfigurieren?
Shelly1PM per MQTT als Ladepunkt konfigurieren?
Hallo zusammen,
ich könnte mal ein bisschen Starthilfe gebrauchen. Wie hier viewtopic.php?p=64585#p64585 schon kurz angerissen, möchte ich zum Laden unseres Twizy einen Schuko-Ladepunkt mit einem Shelly 1PM realisieren.
Hardwaremäßig ist bereits alles installiert und aktuell hab ich den entsprechenden Shelly über Smarthome 2.0 eingebunden, so dass dieser bei entsprechendem Überschuss geschaltet wird und auch das Logging funktioniert.
Nun kam ja der Tipp, man könne auch einen Ladepunkt per MQTT erstellen - das finde ich sehr interessant, weil dann sowohl das Logging, als auch die Schaltlogik und Umschaltung entsprechend der anderen Ladepunkte möglich wäre.
Nun, wie geht man da vor? Was ich bereits herausgefunden habe: Man kann den Shelly an einen MQTT-Server anbinden über die Developement-Settings. Und in der OpenWB kann ein Ladepunkt via MQTT eingestellt werden.
Wenn ich nun beim Shelly in die MQTT-Settings gehe, taucht schon die erste Frage auf: Hier braucht es einen Benutzernamen und ein Passwort! Was trage ich dort ein? Die Zugangsdaten der OpenWB-Cloud? Oder muss ich in der OpenWB erst einen MQTT-Benutzer erstellen?
In der Ladepunktkonfiguration kann man bei MQTT keine weiteren Einstellungen machen - woher weiß denn die OpenWB, dass sie sich mit dem Shelly verbinden soll?
Ist die ganze Sache doch viel umfangreicher?
Es wäre wirklich super, wenn mir jemand helfen könnte Eventuell hat das ja sogar schon jemand so am Laufen?
Vielen Dank schon mal und schöne Grüße...
Stefan
ich könnte mal ein bisschen Starthilfe gebrauchen. Wie hier viewtopic.php?p=64585#p64585 schon kurz angerissen, möchte ich zum Laden unseres Twizy einen Schuko-Ladepunkt mit einem Shelly 1PM realisieren.
Hardwaremäßig ist bereits alles installiert und aktuell hab ich den entsprechenden Shelly über Smarthome 2.0 eingebunden, so dass dieser bei entsprechendem Überschuss geschaltet wird und auch das Logging funktioniert.
Nun kam ja der Tipp, man könne auch einen Ladepunkt per MQTT erstellen - das finde ich sehr interessant, weil dann sowohl das Logging, als auch die Schaltlogik und Umschaltung entsprechend der anderen Ladepunkte möglich wäre.
Nun, wie geht man da vor? Was ich bereits herausgefunden habe: Man kann den Shelly an einen MQTT-Server anbinden über die Developement-Settings. Und in der OpenWB kann ein Ladepunkt via MQTT eingestellt werden.
Wenn ich nun beim Shelly in die MQTT-Settings gehe, taucht schon die erste Frage auf: Hier braucht es einen Benutzernamen und ein Passwort! Was trage ich dort ein? Die Zugangsdaten der OpenWB-Cloud? Oder muss ich in der OpenWB erst einen MQTT-Benutzer erstellen?
In der Ladepunktkonfiguration kann man bei MQTT keine weiteren Einstellungen machen - woher weiß denn die OpenWB, dass sie sich mit dem Shelly verbinden soll?
Ist die ganze Sache doch viel umfangreicher?
Es wäre wirklich super, wenn mir jemand helfen könnte Eventuell hat das ja sogar schon jemand so am Laufen?
Vielen Dank schon mal und schöne Grüße...
Stefan
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3
-
- Site Admin
- Beiträge: 8529
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 2 times
- Been thanked: 30 times
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Ja, du brauchst ein „Zwischengerät“ das entsprechend übersetzt.Ist die ganze Sache doch viel umfangreicher?
Sowas sollte sich relativ einfach mit NodeRed machen lassen.
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Ok, danke schon mal für das entsprechende Schlagwort "NodeRed". Hab ich schon des öfteren hier gelesen - dann brauche ich in die Richtung vermutlich erst mal einen Einsteigerkurs
"relativ einfach"... das macht schon mal Mut!
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3
-
- Beiträge: 3453
- Registriert: Sa Feb 20, 2021 9:55 am
- Has thanked: 4 times
- Been thanked: 62 times
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
-
- Beiträge: 3453
- Registriert: Sa Feb 20, 2021 9:55 am
- Has thanked: 4 times
- Been thanked: 62 times
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Wenn das installiert ist, geht es weiter mit der Konfiguration des (bei mir dritten) Ladepunkts auf MQTT. In der Konfiguration lesen wir, dass mit dem MQTT-Topic openWB/lp/3/AConfigured die openWB dem Ladepunkt mitteilt, mit wieviel Ampere geladen werden soll.
Nun wissen wir, dass wir einen Shelly-Plug mit diesen Befehlen im Browser ein- und ausschalten können: (einfach mal in die Adresszeile reinkopieren und natürlich die IP-Adresse anpassen)
Also basteln wir uns einen Flow (so heißen nodeRED-Programme) mit dem wir erst einmal die openWB-Ladeleistung auslesen und wenn die Vorgabe größer als 6A ist, schalten wir den Shelly ein und sonst aus.
Am Anfang steht also MQTT-Node und packen da das Topic aus dem Hilfetext rein:
In der Konfiguration des Servers muss die openWB angegeben werden, damit nodeRED auch weiß, wo nachgefragt werden muss.
Nun kommt die zweite Node, das entscheiden wie geschaltet werden soll. Das ist eine "Switch"-Node:
Hier stehen die 6A drin und die Message wird dann entweder auf den oberen (1) oder unteren (2) Ausgang der Node geschickt.
Zu guter Letzt kommen nun noch die den Shelly schaltenden http-Befehle in eigene Nodes:
Und so sieht das Ganze insgesamt aus:
Und wenn alles klappt, schaltet nun der Shelly, wenn man im Sofort-Lademodus auf der openWB den Ladepunkt 3 aktiviert. Das braucht ein paar Nachdenksekunden bis der Schaltbefehl auch am Shelly ankommt, das liegt aber am Regelintervall der openWB. Nur-PV funktioniert auch schon, es muss nur der Schwellwert angepasst werden.
Nun wissen wir, dass wir einen Shelly-Plug mit diesen Befehlen im Browser ein- und ausschalten können: (einfach mal in die Adresszeile reinkopieren und natürlich die IP-Adresse anpassen)
Code: Alles auswählen
http://192.168.178.30/relay/0?turn=on
http://192.168.178.30/relay/0?turn=off
Am Anfang steht also MQTT-Node und packen da das Topic aus dem Hilfetext rein:
In der Konfiguration des Servers muss die openWB angegeben werden, damit nodeRED auch weiß, wo nachgefragt werden muss.
Nun kommt die zweite Node, das entscheiden wie geschaltet werden soll. Das ist eine "Switch"-Node:
Hier stehen die 6A drin und die Message wird dann entweder auf den oberen (1) oder unteren (2) Ausgang der Node geschickt.
Zu guter Letzt kommen nun noch die den Shelly schaltenden http-Befehle in eigene Nodes:
Und so sieht das Ganze insgesamt aus:
Und wenn alles klappt, schaltet nun der Shelly, wenn man im Sofort-Lademodus auf der openWB den Ladepunkt 3 aktiviert. Das braucht ein paar Nachdenksekunden bis der Schaltbefehl auch am Shelly ankommt, das liegt aber am Regelintervall der openWB. Nur-PV funktioniert auch schon, es muss nur der Schwellwert angepasst werden.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
-
- Beiträge: 3453
- Registriert: Sa Feb 20, 2021 9:55 am
- Has thanked: 4 times
- Been thanked: 62 times
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
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.
Und damit man das nicht alles abtippen muss, hier der Code des Flows:
Und damit man das nicht alles abtippen muss, hier der Code des Flows:
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":""}]
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Super, vielen Dank Gero!
Heute hatte ich leider keine Zeit, aber sobald es draußen mal etwas weniger zu tun gibt, gehts los!
Ganz schön umfangreich, aber wer nicht wagt, der nicht gewinnt.
Ich hab ja einen 2. Raspberry im Netz, auf dem der Skoda-SoC und der SmartApplianceEnabler läuft... da würde ich auch das NodeRed installieren.
Hoffentlich verträgt sich das
Vielen Dank und schöne Grüße
Stefan
Heute hatte ich leider keine Zeit, aber sobald es draußen mal etwas weniger zu tun gibt, gehts los!
Ganz schön umfangreich, aber wer nicht wagt, der nicht gewinnt.
Ich hab ja einen 2. Raspberry im Netz, auf dem der Skoda-SoC und der SmartApplianceEnabler läuft... da würde ich auch das NodeRed installieren.
Hoffentlich verträgt sich das
Vielen Dank und schöne Grüße
Stefan
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Coole Sache, mit dem NodeRed! Auch wenn ich noch nicht alle Funktionen erkenne und es aktuell noch nicht funktioniert, das ist echt ein tolles Programm.
Was muss ich an der openWB noch einstellen? Eine neue MQTT-Brücke einrichten?
Vielen Dank
Stefan
Sorry, Kommando zurück! Es funktioniert Zumindest kann ich per Sofortladen den Shelly einschalten. PV-Laden wird morgen probiert!
Ich hatte die OpenWB-IP-Adresse nicht eingegeben und bei der Shelly-IP hatte ich mich vertippt.
Nun sieht es so aus: Einzig das Debug-Log macht mich ein bisschen nachdenklich. Soll das so?
Wenn man jetzt noch wüsste, was man an die OpenWB schicken muss, damit das Steckersymbol am LP3 angesprochen wird, wäre meine nächste Spielerei:
--> genügend Überschuss vorhanden, Shelly ON, aber kein Stromfluss --> Steckersymbol gelb
--> genügend Überschuss vorhanden, Shelly ON, Stromfluss am Shelly >5A --> Steckersymbol grün
Was muss ich an der openWB noch einstellen? Eine neue MQTT-Brücke einrichten?
Vielen Dank
Stefan
Sorry, Kommando zurück! Es funktioniert Zumindest kann ich per Sofortladen den Shelly einschalten. PV-Laden wird morgen probiert!
Ich hatte die OpenWB-IP-Adresse nicht eingegeben und bei der Shelly-IP hatte ich mich vertippt.
Nun sieht es so aus: Einzig das Debug-Log macht mich ein bisschen nachdenklich. Soll das so?
Wenn man jetzt noch wüsste, was man an die OpenWB schicken muss, damit das Steckersymbol am LP3 angesprochen wird, wäre meine nächste Spielerei:
--> genügend Überschuss vorhanden, Shelly ON, aber kein Stromfluss --> Steckersymbol gelb
--> genügend Überschuss vorhanden, Shelly ON, Stromfluss am Shelly >5A --> Steckersymbol grün
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3
-
- Beiträge: 978
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 5 times
- Been thanked: 26 times
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Sollte so gehen:Stevie_AN hat geschrieben: ↑Di Mai 10, 2022 6:20 pm
Wenn man jetzt noch wüsste, was man an die OpenWB schicken muss, damit das Steckersymbol am LP3 angesprochen wird, wäre meine nächste Spielerei:
--> genügend Überschuss vorhanden, Shelly ON, aber kein Stromfluss --> Steckersymbol gelb
--> genügend Überschuss vorhanden, Shelly ON, Stromfluss am Shelly >5A --> Steckersymbol grün
openWB/set/lp/2/plugStat
bzw.
openWB/set/lp/2/chargeStat
plugStat=0, chargeStart=0 kein Stecker
plugStat=1, chargeStart=0 Stecker gelb
plugStat=1, chargeStart=1 Stecker grün
Ich habe eine ähnliche Situation, smart EQ an Ladeziegel mit Fritz-DECT gesteuert.
Bisher hatte ich das als einfaches SH2.0 Gerät bedient und einen Ladepunkt mit MQTT SOC definiert.
Die relativ einfache Lösung in NR war, die SH2.0 Status in diesen Ladepunkt zu via MQTT zu spiegeln. Leider mit dem Nachteil, dass der aktuelle Verbrauch 2 mal angezeigt wird, als SH2.0- und Ladeverbrauch.
Jetzt habe ich eine deutlich aufwändigere Lösung ohne SH2.0 device begonnen.
Damit muss ich die gesamte Steuerung in NR abbilden.
Also auch die Definition der Schwellen und Verzögerungen im NR Dashboard und speichern der Daten, etc.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: Shelly1PM per MQTT als Ladepunkt konfigurieren?
Hallo Gero,Gero hat geschrieben: ↑Mo Mai 09, 2022 10:47 am 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.
Leistung.jpg
also der Shellly-LP geht zuverlässig an und aus. Aber mit dem Auslesen der Leistung klappt es bei mir nicht. http-request: function: Es kommt einfach nichts hinten an. Kannst Du sagen, was ich ich falsch gemacht habe? Wie kann ich eigentlich sehen, was an den einzelnen "nodes" gerade ankommt?
Vielen Dank und schöne Grüße...
Stefan
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3