Autor Thema: Growatt Wechselrichter / ShineWiFi einbinden  (Gelesen 4718 mal)

Offline chello93

  • Newbie
  • Beiträge: 2
Growatt Wechselrichter / ShineWiFi einbinden
« am: 16 März 2019, 17:30:07 »
Hallo Leute,

hat von Euch schon jemand Erfahrungen wie man den Growatt Wechselrichter bzw. das Growatt Portal in Fhem einbinden kann?
Der ShineWiFi Stick (RS232) sendet seine Daten ja ca. alle 5 min ans Growatt Portal..
Ich würde die Daten gerne mit Fhem weiter verarbeiten.

Hat zufällig noch jemand anderes solch einen Wechselrichter?

Grüße

Offline dieter114

  • Full Member
  • ***
  • Beiträge: 293
  • Es gibt immer irgendeinen Weg zum Ziel
    • Filmseite
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #1 am: 08 Mai 2019, 22:07:35 »
Hallo chello93 :)

ich habe auch einen Growatt Wechselrichter und will den in fhem integieren.
Meiner läuft aber noch nicht, die ganze Anlage steht (noch) in der Garage.
An einer Einbindung bin ich sehr interessiert.
Kommt man an die "Roh" Daten des WIFI Stick ran.
So mit HTTPMod z.B.?

Gruß Wolfdieter
RPi I+II+III+IV,OWFS/OWServer,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Poolsteuerung mit fhem

Offline dieter114

  • Full Member
  • ***
  • Beiträge: 293
  • Es gibt immer irgendeinen Weg zum Ziel
    • Filmseite
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #2 am: 17 Mai 2019, 21:39:44 »
So hier nochmal ne Antwort: ;D
Ich habe den Wechselrichter über ein Sonoff-Pow Modul angeschlossen.
Wichtig dabei ist, den Pow "richtigherum" anzuschließen,
also so als ob der Growatt der "Verbraucher" ist, sonnst geht es nicht!
Die erzeugte Leistung des Wechselrichters wird im Pow als Positive Energie angezeigt
also auch wenn der Strom "Andersherum" läuft.
Es wird also nicht zwischen den Betriebsrichtungen unterschieden.
Für mich reicht das völlig aus.
Im Standby verbraucht mein 1500W Wechselrichter gelegentlich 5-8W.
Das verfälscht das Betriebsergebnis nicht wirklich.
Ach ja: den Pow mit dem neuen MQTT2_DEVICE anlegen.
Einfacher und bequemer geht es nicht.  :)
RPi I+II+III+IV,OWFS/OWServer,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Poolsteuerung mit fhem
Zustimmung Zustimmung x 1 Liste anzeigen

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3894
  • Online
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #3 am: 12 August 2020, 17:43:42 »
Hat sich hier schon etwas getan in Sachen Growatt Wechselrichter.
Evtl gibt es schon die Möglichkeit etwas auszulesen..?
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3894
  • Online
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #4 am: 20 November 2020, 16:49:33 »
Es gibt ein paar Neuigkeiten zu Growatt. Die Infos habe ich aus dem Photovoltaikforum.
Es sollen Verbindungen über MQTT zu Fhem möglich sein, dass wäre wohl interessant.

Ich selber habe es noch nicht ausprobiert, weil man sich auf der Seite (link) im Forum anmelden muss um an die Software zu kommen.
Ich hänge mal ein PDF dran wo einiges erklärt wird.

Hier steht Growatt seit neustem mit in der Liste, der ganz letzte.
https://solaranzeige.de/phpBB3/viewtopic.php?f=9&t=170
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline dieter114

  • Full Member
  • ***
  • Beiträge: 293
  • Es gibt immer irgendeinen Weg zum Ziel
    • Filmseite
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #5 am: 12 Dezember 2020, 20:00:55 »
Es gibt da einen vielversprechenden Lösungsansatz.
Sieh mal hier; https://forum.iobroker.net/topic/20014/growatt-wechselrichter-%C3%BCber-modbus-auslesen-gel%C3%B6st
Das könnte gehen wenn es richtig in fhem eingebunden wird.
Behalte ich mal im "Hinterkopf"...

Gruß WDS
RPi I+II+III+IV,OWFS/OWServer,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Poolsteuerung mit fhem

Offline ali77

  • New Member
  • *
  • Beiträge: 11
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #6 am: 04 Januar 2021, 17:13:54 »
Ich habe es folgendermaßen gelöst:

1. Das growatt_api_client Script nach Anleitung eingerichtet. Ich habe das Script in zwei geteilt (PlantDetails und PlantData), weil sonst kein richtiges Json zurück kommt
https://github.com/Sjord/growatt_api_client

2.Ein Dummy für die Daten
define Growatt dummy
attr Growatt room Photovoltaik

3. in der 99_myUtils.pm zwei kleine Subs um das Json vorzubereiten (true kleinschreiben und " statt '). Das aufbereitete JSON wird in den dummy geschrieben.
sub growattPlantDetails($) {
   my ($rawDatas) = @_;   
   $rawDatas =~ s/'/"/g;
       my $jsonString = $rawDatas =~ s/True/true/r;
    fhem("setReading Growatt jsonPlantDetails ".$jsonString);
}

4. Ein at um die Daten alle 30 Minuten abzuholen

define growattDatas at +*00:30:00 {\
  my $rawPlantData = qx (/home/pi/growatt_api_client/venv/bin/python /home/pi/growatt_api_client/growatt/plantData.py 'user' 'password');;\
  growattPlantData($rawPlantData);;\
  my $rawPlantDetails = qx (/home/pi/growatt_api_client/venv/bin/python /home/pi/growatt_api_client/growatt/plantDetails.py 'user' 'password');;\
 growattPlantDetails($rawPlantDetails);;\
}

5. Ein expandJSON um automatisch aus den JSON-Rohdaten im Growatt dummy einzelne Readings zu bekommen.
define ej2 expandJSON Growatt:json.*:.\{.*}
« Letzte Änderung: 04 Januar 2021, 17:29:10 von ali77 »

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3894
  • Online
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #7 am: 04 Januar 2021, 17:30:57 »
funktioniert das dann alles über Netzwerk, oder braucht es wieder diese Zweidraht Konstruktion..? damit läuft es dann auch mit der Solaranzeige wenn ich da oben einen Pi hinhänge, aber das wollte ich vermeiden. Sonst könnte ich es mut dem Docker nutzen.
Problem bei mir ich komme eben nicht zum Fhem Server vom Dachboden mit einem Kabel.
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline ali77

  • New Member
  • *
  • Beiträge: 11
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #8 am: 04 Januar 2021, 17:38:25 »
Meine Lösung geht über die Growatt Cloud (server.growatt.com) Die Daten schreibt der Wechselrichter über den Wifi Dongle dort hin.

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3894
  • Online
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #9 am: 04 Januar 2021, 17:43:08 »
ja ganz genau, so habe ich es auch und war immer der Meinung, wenn die meine Daten bekommen... muss ich ich da auch ran kommen.
Ich habe den LAN Stick extra gekauft weil ich eben dachte ich kann die Daten selber mit meiner Fhem Instanz aufzeichen, aber das war ein Trugschluss...!

Aber jetzt hast du es ja gezeigt das es funktioniert.
Ich werde versuchen das mal nach zu stellen, weiß nicht ob ich das hinbekomme.
Schaue mir mal deine ganzen Dinge von oben in Ruhe an... schau mal öfter hier rein falls ich Fragen habe  ;)
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3894
  • Online
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #10 am: 04 Januar 2021, 18:00:18 »
das hier habe ich noch nicht kapiert, ich setze das mal in Code Tags
3. in der 99_myUtils.pm zwei kleine Subs um das Json vorzubereiten (true kleinschreiben und " statt '). Das aufbereitete JSON wird in den dummy geschrieben.
Das ist nur ein Sub und das mit true habe ich gemacht und was ist sonst noch gemeint und wie sieht das zweite aus..?

ist das richtig so..?
sub growattPlantDetails($) {
   my ($rawDatas) = @_;   
   $rawDatas =~ s/'/"/g;
       my $jsonString = $rawDatas =~ s/true/true/r;
    fhem("setReading Growatt jsonPlantDetails ".$jsonString);
}
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline ali77

  • New Member
  • *
  • Beiträge: 11
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #11 am: 04 Januar 2021, 19:01:53 »
Ja es waren mal zwei, weil ich den Aufruf geteilt hatte. Ich habe es mal wieder in eine gepackt:

sub getGrowattJson($$) {
     my ($rawDatas, $readingname) = @_; 
     $rawDatas =~ s/'/"/g;
     my $jsonString = $rawDatas =~ s/True/true/r;
     fhem("setReading Growatt ".$readingname." ".$jsonString);
}

Aufruf dann:
define growattDatas at +*00:30:00 {\
  my $rawPlantData = qx (/home/pi/growatt_api_client/venv/bin/python /home/pi/growatt_api_client/growatt/plantData.py 'xx' 'xx');;\
  getGrowattJson($rawPlantData,'jsonPlantData');;\
  my $rawPlantDetails = qx (/home/pi/growatt_api_client/venv/bin/python /home/pi/growatt_api_client/growatt/plantDetails.py 'xx' 'xx');;\
 getGrowattJson($rawPlantDetails,'jsonPlantDetails');;\
}

Die plantData.py und plantDetails.py  sind nur kopierte __main__.py in der ich entweder print(plant_info) oder print(plant_detail) am Ende auskommentiert habe, damit nicht beides zusammen im JSON ist. Hätte man natürlich besser umbauen können.

« Letzte Änderung: 04 Januar 2021, 19:03:26 von ali77 »

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3894
  • Online
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #12 am: 04 Januar 2021, 19:35:10 »
zu den "plantData.py und plantDetails.py"
müssen die so heißen.?
weil ich da nur die "__init__.py" und die "__main__.py" drin habe und der Pfad muss angepaßt werden.
Bei mir liegen die in
/root/growatt_api_client/growatt
weil ich keinen pi habe, aber das habe ich schon angepaßt, nur eben die Dateinamen wie müssen die genau heißen.

Ich habe in ssh schon gesehen das er meine Daten geholt hat, ich muss eben nur noch das at anpassen sonst wird das nichts.
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline ali77

  • New Member
  • *
  • Beiträge: 11
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #13 am: 04 Januar 2021, 19:46:25 »
jade Name so wie im Aufruf, also:  ".../python /pfad_zum_script/plantData.py 'user' 'pw'

my $rawPlantData = qx (/home/pi/growatt_api_client/venv/bin/python /home/pi/growatt_api_client/growatt/plantData.py 'user' 'pword');;\



Offline ali77

  • New Member
  • *
  • Beiträge: 11
Antw:Growatt Wechselrichter / ShineWiFi einbinden
« Antwort #14 am: 04 Januar 2021, 19:49:09 »
Die beiden ...py sind ja nur Kopien von __main__.py wie auf https://github.com/Sjord/growatt_api_client unten beschrieben

Zitat
If you want to create your own client, start from growatt/__main__.py. Copy it and change it to your liking, and then run it like this:

venv/bin/python myscript.py 'username' 'password'

Und dann jeweils die Ausgabe der JSON auskommentieren
« Letzte Änderung: 04 Januar 2021, 19:52:03 von ali77 »