NEWS
Best posts made by JB1985
-
GoodWe Wechselrichter und ioBroker
Hallo zusammen,
da man im Netz nichts findet, wie man ein GoodWe Wechselrichter abfragen und in ioBroker verwalten kann, schreibe ich hier ein kleines HowTo, da es kein Adapter dafür gibt.
Ich gehe davon aus, dass Ihr bereits ein Account im SEMS Portal habt. Vom SEMS Portal kommen nämlich die Daten.
HowTo:
- pygoodwe installieren:
sudo pip3 install pygoodwe
- Danach holt Ihr euch den Source Code "pygoodwe" von yaleman aus Github:
wget https://github.com/yaleman/pygoodwe/archive/master.zip unzip master.zip cd pygoodwe-master
- Die Zugangsdaten vom SEMS Portal trägt Ihr nun in der config.py ein:
mv config.py.example config.py
- Werte vom GoodWe Wechselrichter abfragen:
./allinone.py
#!/usr/bin/env python3 import json from config import args from pygoodwe import SingleInverter, API #print("Single Inverter") gw = SingleInverter( system_id=args.get('gw_station_id', '1'), account=args.get('gw_account', 'thiswillnotwork'), password=args.get('gw_password', 'thiswillnotwork'), ) # print("Grabbing data") gw.getCurrentReadings() # Ausgabe PV Anlage print(json.dumps(gw.data.get('inverter').get('out_pac'), indent=2)) pvdata = gw.data.get('inverter',{}).get('out_pac',"") # Batterie in % socdata = gw.data.get('inverter',{}).get('soc',) if socdata: print("{}".format(socdata)) # Batterie Ladestatus print(json.dumps(gw.data.get('inverter').get('battery_power'), )) batterydata = gw.data.get('inverter',{}).get('battery_power',) # Stromlast vom Haus print(f"{gw.getLoadFlow()}") # Strom ins Stromnetz print(f"{gw.getPmeter()}") # Strom Produktion Heute print(json.dumps(gw.data.get('inverter').get('eday'), indent=2)) # Strom Produktion Gesamt print(json.dumps(gw.data.get('inverter').get('etotal'), indent=2))
Ihr könnt beliebig viele Werte Abfragen und ins Script rein werfen und erweitern. Für mich sind das die wichtigsten Werte.
- Die Abgefragten Werte müssen in ioBroker rein:
Dafür habe ich ein javascript Script, welches in ioBroker ausgeführt wird.
exec('/home/pi/pygoodwe-master/allinone.py', function (error, stdout, stderr) { if(error) log('Fehler Python: ' + stderr, 'warn'); else if(stdout) { let arr = stdout.split('\n'); setState('Datenpunkte.0.PV-Anlage.PV-Power', arr[0], true); setState('Datenpunkte.0.PV-Anlage.PV_Batterie_Status', arr[1], true); setState('Datenpunkte.0.PV-Anlage.PV_Batterie_Ladung', arr[2], true); setState('Datenpunkte.0.PV-Anlage.PV_Haus_Last', arr[3], true); setState('Datenpunkte.0.PV-Anlage.PV_Strom_zu_Stadtwerken', arr[4], true); setState('Datenpunkte.0.PV-Anlage.PV_Strom_Heute', arr[5], true); setState('Datenpunkte.0.PV-Anlage.PV_Strom_Gesamt', arr[6], true); } });
Die Datenpunkte müsst Ihr vorher anlegen. Bei ausführen des Scriptes müssten alle werte in den jeweiligen Datenpunkten drin sein.
Damit dies auch aktualisiert wird, habe ich mit Blockly ein Zeitplan erstellt, der das Script alle 2 Minuten ausführt.
schedule("*/2 * * * *", function () { setState("javascript.0.scriptEnabled.PV_Anlage.Skript_1"/*scriptEnabled.PV_Anlage.Skript_1*/, true); setStateDelayed("javascript.0.scriptEnabled.PV_Anlage.Skript_1"/*scriptEnabled.PV_Anlage.Skript_1*/, false, 50000, false); });
Damit habt Ihr nun alle Werte in ioBroker
Meine Visualisierung sieht dann so aus:
Viel Spaß damit!
-
RE: [How-To] Goodwe Wechselrichter und Modbus TCP
hier die wichtigsten Register Nummern:
PV Leistung = 35138
Stromlast Haus = 35172
Strom zu den Stadtwerken = 36025
SOC Batterie = 37007
Batterieladung = 35183Die PV Leistung muss man zusammen rechnen mit den Werten von den Register 35105 + 35109.
-
RE: Test lovelace 4.x
@garfonso sagte in Test lovelace 3.x:
Im Adapter gibt es auch "seit einigen Versionen" eine zusätzliche Option Maximale abzurufende Verlaufsdatenpunkte
DANKE! Genau das scheint es gewesen zu sein. Habe es von 2.000 auf 5.000 erhöht.
Latest posts made by JB1985
-
RE: [How-To] Goodwe Wechselrichter und Modbus TCP
@frank-zoellner sagte in [How-To] Goodwe Wechselrichter und Modbus TCP:
@paeppi hatte ja mal Mode 1 und 2 als be- btw entladen berichtet, aber was ist mode 3 dann ?
Evtl. "Standby".
-
RE: Test lovelace 4.x
Kann man eigentlich in der Navigationsleiste die Uhrzeit mit Datum rein machen?
-
RE: Test lovelace 4.x
@smarthome20 bei mir kommen die Fehler seit dem Upgrade von 3.0.1 auf 4.0.12.
*** Edit
Hab den Fehler gefunden. In der neuen Version scheint das hier nicht mehr zu funktionieren:
control: hvac: null some_mode: false
Nachdem man das löscht, funktioniert die Card wieder.
-
RE: Test lovelace 4.x
@jb1985 sagte in Test lovelace 4.x:
Allerdings funktioniert die Karte simple-thermostat.js nicht mehr:
Benutzt niemand das simple-thermostat.js für seine Heizungsgeräte? Bei mir sind es die Bosch Smarthome Fussbodenheizungsthermostate.
-
RE: Test lovelace 4.x
@garfonso ja, das funktioniert wieder! Vielen Dank dafür!
Allerdings funktioniert die Karte simple-thermostat.js nicht mehr:
Hast du eine Idee?
@garfonso sagte in Test lovelace 4.x:
Ich habe noch ein paar convinient Sachen von HomeAssistant dazu gebaut (z.B. werden jetzt User, ggf. sogar mit Bild auf dem Login-Screen zum anklicken angeboten).
Das wäre eine gute Sache, für diejenigen die Ihr Lovelace lokal betreiben. Da mein Lovelace im Internet erreichbar ist, finde ich dieses Feature nicht gut. Da Script Kiddies sofort die Benutzernamen einsehen können und entsprechend eine Brutforce Attacke starten können. So waren die Benutzer vorher unbekannt und haben auf "gut Glück" eine Attacke gestartet.
Wäre Klasse, wenn man eine Option hätte, um es auch wieder deaktivieren zu können.
-
RE: Test lovelace 4.x
@garfonso ich konnte es weiter debuggen. Es scheint an der Authentifizierung zu liegen. Deaktiviere ich diese, funktioniert Lovelace.
-
RE: Test lovelace 4.x
@xbit sagte in Test lovelace 4.x:
unabhängig davon, nimm dir lieber die 10min Zeit mach ein myfritz Konto -> richte eine Wireguard VPN ein geht in der FritzBox mit dem Assistent super einfach -> lade die Wireguard App auf dein Handy und Scan den QR Code...
Danach noch die Portweiterleitung löschen...Das sollte man jedem selbst überlassen. Bin Informatiker.
Aber auch mit der lokalen IP Adresse funktioniert es nicht.
-
RE: Test lovelace 4.x
@garfonso nein, ich habe kein Proxy laufen. Ich habe halt eine Portweiterleitung von der Fritzbox in die weite Welt, damit mein Lovelace auch im Internet erreichbar ist.
Lohnt es sich, denn Adapter zu löschen und neu zu installieren? Würde dann mein Inhalt sowie Karten alle weg sein?
Wenn ich direkt per IP rauf gehe:
-
RE: Test lovelace 4.x
@garfonso ich bin verwundert, dass niemand dieses Problem hat.
In der Browser Konsole steht:
Neuer Browser Fenster, im privat Modus: Nach Login lädt und lädt Lovelace.
In der iOS App oder Android App genau das Gleiche.
-
RE: [How-To] Goodwe Wechselrichter und Modbus TCP
@flash sagte in [How-To] Goodwe Wechselrichter und Modbus TCP:
Wifi-/LAN-Kit funktioniert nicht
Das Dongle funktioniert für 5 Sekunden und geht dann aus - danach blinkt das Power-Symbol nur alle 5 Sekunden kurz.Immer eine feste IP eintrage. Auf der Fritzbox UND auf dem GoodWe Adapter!