Goodwe - SEMS portal naar PVOutput

Kijk hier voor datalog programma's en handleidingen.
Gebruikersavatar
Stefanovic45
junior lid
Berichten: 8
Lid geworden op: 05 jan 2019, 16:27
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door Stefanovic45 » 14 jan 2019, 20:05

Het script werkt bij mij nu ook via Xamp.

Ik had het eerst via WAMP draaien maar die van een SSL error.

Gebruikersavatar
RoelandK
lid
Berichten: 94
Lid geworden op: 30 jun 2015, 11:35
Installatie Land: België

Re: Goodwe - SEMS portal naar PVOutput

Bericht door RoelandK » 15 jan 2019, 13:10

Na een teamviewer sessie met Stefan had ik gezien wat de fout is, en XAMP aangeraden ipv WAMP.
code aangepast zodat je de CURL fout ziet.

https://pastebin.com/7m8sxNfN
Diepenbeek - 16x SF 165-s op Zuid-oost (garage dak)

Gebruikersavatar
spil
Berichten: 4
Lid geworden op: 29 mar 2019, 09:23
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door spil » 29 mar 2019, 10:03

Hallo!

Nebwie op dit forum... Dit was de enige referentie op Internet voor "/Acceptor/GetSendInterval".

Ook ik had een scraper gemaakt om van Goodwe-Power.com naar PVOutput.org te loggen (goodwe2pvoutput Shell Script in PVOutput Contributed Integrations). Ik vind IoT een gruwel en wilde dit al langer door iets slimmers vervangen zonder data naar China te sturen. De zoektocht tot nu toe heb ik gedocumenteerd op (blog-post in het engels).

Sinds gisteren heb ik een PHP script draaien op mijn Apache webserver die de data naar PVOutput logt (en ook nog naar Goodwe) maar deze werkte vandaag niet meer. Vanochtend iets verder kijkend zag ik dat de inverter ook andere URLs aanroept, zonder deze werkt een en ander blijkbaar niet. Zodra het wél werkt deel ik dat weer met PVOutput en via mijn Github repo.

Dankzij deze thread heb ik Goodwe's API documentatie gevonden, ik zou mijn shell-script aan kunnen passen om de spullen weer van sems-portal.com af te halen, maar ik denk dat ik helemaal wil ontkoppelen van Goodwe's service.

Het python script in deze thread maakt wel melding van GetSendInterval maar heeft verder geen informatie over de implementatie en de datastructuren van request en response. Iemand meer info?

Bij voorbaat dank!

Gebruikersavatar
RoelandK
lid
Berichten: 94
Lid geworden op: 30 jun 2015, 11:35
Installatie Land: België

Re: Goodwe - SEMS portal naar PVOutput

Bericht door RoelandK » 29 mar 2019, 18:05

sure,

wat je doet is je update de DNS server in je goodwe of router en je zorgt dat de goodwe responses naar een lokale server gestuurd worden. Hier kun je het gewoon capturen. Reden dat ik dit nog niet verder gedaan heb is puur omdat ik nog geen licht gewicht DNS server heb gevonden die ik wil gebruiken... Misschien gewoon eens Pihole gebruiken en daar aan toevoegen... :

Code: Selecteer alles

[09/Oct/2018:07:51:24 +0200] "POST /Acceptor/GetSendInterval HTTP/1.1" 200 168 "-" "-"
niet meer info over.


Url: /Acceptor/GetRemoteControl - 1e09e2073013ec12c0139c0190135600640000006400320000000003480c00040000000000000000000000000000000000000000000000000000000000000000000000
echo "Vpv1: ".(hexdec(substr($file, 0, 4))/10)."|";
echo "Vpv2: ".(hexdec(substr($file, 4, 4))/10)."| ";
echo "Ipv1: ".(hexdec(substr($file, 8, 4))/10)." | ";
echo "Ipv2: ".(hexdec(substr($file, 12, 4))/10)." | ";
echo "cur: ".hexdec(substr($file, 28, 4))." | "; #curr usage
echo "Etotal: ".(hexdec(substr($file, 40, 16))/10)." | "; 
//echo hexdec(substr($file, 56, 8))." | "; 
echo "Etoday: ".(hexdec(substr($file, 88, 4))/10)." | "; 
echo "Vac: ".(hexdec(substr($file, 16, 4))/10)." | "; 
echo "Iac: ".(hexdec(substr($file, 20, 4))/10)." | "; 
echo "Fac: ".(hexdec(substr($file, 24, 4))/100)." | "; 
echo "Temp: ".(hexdec(substr($file, 36, 4))/10)." | "; 
echo "Htotal: ".(hexdec(substr($file, 56, 8)))." | "; 
echo "?: ".(hexdec(substr($file, 80, 4)))." | "; 
echo "Generating: ".(hexdec(substr($file, 34, 2)))." | "; # Generating or waiting
normaal heb je niet echt meer info nodig..?
https://github.com/RoelandK/goodwe/blob ... cceptor.py

DNS record moet btw is dus nog steeds goodwe-power.com! https://goodwe-power.com/Acceptor/GetSendInterval
Diepenbeek - 16x SF 165-s op Zuid-oost (garage dak)

Gebruikersavatar
spil
Berichten: 4
Lid geworden op: 29 mar 2019, 09:23
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door spil » 07 apr 2019, 21:35

RoelandK schreef:
29 mar 2019, 18:05
wat je doet is je update de DNS server in je goodwe of router en je zorgt dat de goodwe responses naar een lokale server gestuurd worden. Hier kun je het gewoon capturen. Reden dat ik dit nog niet verder gedaan heb is puur omdat ik nog geen licht gewicht DNS server heb gevonden die ik wil gebruiken...
Dat stuk lukte prima :mrgreen:, de rest...

Er zitten wat haken en ogen aan mijn plan om een en ander te intercepten...
  • Het IP-adres van goodwe-power.com wisselt nog wel eens.
  • Mijn server thuis en de Goodwe inverter gebruiken dezelfde DNS server, doorgeven naar goodwe zou dan dus op IP-adres moeten gebeuren.
  • De web-server van mijn server draait afgeschermd, en heeft geen outbound access.
  • Iets maken wat de DNS-records van Goodwe in de gaten houd lukt me wel, maar dan moet ik ook de firewall dynamisch aanpassen
Dus maar terug vallen op plan B: scrapen van Goodwe. Dankzij deze post heb ik de API docs gevonden. De output van de API parsen (JSON) is een stuk simpeler dan HTML, zeker met een shell-script.
Het grootste obstakel? De post body van de login. Het lijkt JSON, maar de new-lines zijn verplicht :vraag: :shock:

Het nieuwe script staat in mijn Github repo

Het werkende PHP script heb ik daar ook neergezet.

Gebruikersavatar
RoelandK
lid
Berichten: 94
Lid geworden op: 30 jun 2015, 11:35
Installatie Land: België

Re: Goodwe - SEMS portal naar PVOutput

Bericht door RoelandK » 08 apr 2019, 01:06

@spil best even skype ofzo.. heb je mijn php script bekeken?
https://pastebin.com/7m8sxNfN
zet debug eens aan zodat je ziet wat je terug krijgt per stap.
in principe wil je en sessie opzetten en dan in deze sessie alles doen daarmee ook
'Connect: Keep-alive',
Diepenbeek - 16x SF 165-s op Zuid-oost (garage dak)

Gebruikersavatar
spil
Berichten: 4
Lid geworden op: 29 mar 2019, 09:23
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door spil » 08 apr 2019, 13:33

RoelandK schreef:
08 apr 2019, 01:06
@spil best even skype ofzo.. heb je mijn php script bekeken?
Heb het script zeker bekeken, hielp me weer verder op weg met mijn eigen shell script.
Ik heb besloten iets te maken wat verder bijna geen dependencies heeft, dus in plain shell (geen bash nodig, werkt met iedere POSIX compliant shell).

Had mijn PHP script ook gelinkt omdat je naar een intercepting PHP script op zoek was, mijn PHP script doet precies dat.

Skype zou moeten kunnen met LYNC/Skype4Business, ik gebruik dat verder niet privé... Doe een privébericht vanavond, kan goed zijn dat ik online ben.
Verder ben ik altijd online in IRC op Freenode en EFnet (ook al kan ik "away" zijn).

Gebruikersavatar
RoelandK
lid
Berichten: 94
Lid geworden op: 30 jun 2015, 11:35
Installatie Land: België

Re: Goodwe - SEMS portal naar PVOutput

Bericht door RoelandK » 08 apr 2019, 13:49

IRC gaat ook ... bepaalde channel ?
Diepenbeek - 16x SF 165-s op Zuid-oost (garage dak)

Gebruikersavatar
spil
Berichten: 4
Lid geworden op: 29 mar 2019, 09:23
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door spil » 09 apr 2019, 10:33

Ik ben op vele plekken te vinden https://brnrd.eu/pages/about.html

IRC vooral in #[email protected], #[email protected] (nick Barnerd)

Gebruikersavatar
Stefanovic45
junior lid
Berichten: 8
Lid geworden op: 05 jan 2019, 16:27
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door Stefanovic45 » 16 jul 2019, 22:05

Ik kwam er achter dat het script niet meer werkte, ongeveer een weekje niet. Na de debug modus aan te hebben gehad kwam ik al snel achter het probleem. GoodWe geeft nu Success terug en niet meer succes.

Als je regel 77 in het script aanpast zou die weer moeten werken, bij mij althans wel: if($server_output["msg"]=="Success"){

Gebruikersavatar
janus
Site Admin
Site Admin
Berichten: 12233
Lid geworden op: 04 mar 2009, 22:39
Installatie Land: Ander
Locatie: Ten zuiden van antwerpen
Sponsor ons: Afbeelding
Contacteer:

Re: Goodwe - SEMS portal naar PVOutput

Bericht door janus » 16 jul 2019, 22:37

Bedankt voor de melding.
.
Mijn wens is: "Dat ook in de toekomst de zon voor iedereen gratis op mag komen."

Gelieve geen technische vragen via pb Klik voor Uitleg

Gebruikersavatar
RoelandK
lid
Berichten: 94
Lid geworden op: 30 jun 2015, 11:35
Installatie Land: België

Re: Goodwe - SEMS portal naar PVOutput

Bericht door RoelandK » 17 jul 2019, 15:30

Bij deze de code geupdate, kan nu nooit meer een issue zijn ;-)
https://pastebin.com/sYGqk8Q4
Diepenbeek - 16x SF 165-s op Zuid-oost (garage dak)

Gebruikersavatar
anton74
Berichten: 3
Lid geworden op: 15 aug 2019, 14:48
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door anton74 » 16 aug 2019, 10:17

Hallo,

Ik heb sinds een paar weken zonnepanelen met een Goodwe omvormer en probeer dit script werkend te krijgen op mijn Synology Nas.

Ik heb de config.sh en SEMS2PVoutput.sh bestanden in een folder gezet en mijn inloggegevens van het Sems portal en PVoutput in het config script ingevuld. Ik start het script op mijn Synology met sh /volume1/Goodwe/SEMS2PVoutput.sh . Ik krijg echter steeds de melding "Basic SEMS portal login failed. Enable debug mode"

Ik heb debug aangezet en krijg nu de melding:
/volume1/Goodwe/SEMS2PVoutput.sh: line 2: $'\r': command not found
/volume1/Goodwe/SEMS2PVoutput.sh: line 8: $'\r': command not found

enig idee hoe ik dit kan verhelpen?

Gebruikersavatar
Stefanovic45
junior lid
Berichten: 8
Lid geworden op: 05 jan 2019, 16:27
Installatie Land: Nederland

Re: Goodwe - SEMS portal naar PVOutput

Bericht door Stefanovic45 » 17 aug 2019, 12:26

Ik heb het script ook draaien op mijn Synology.

Als je er een php bestand van maakt kun je hem direct aanroepen in de taakplanner:
/usr/local/bin/php70 /volume1/homes/%username%/scripts/GoodWe/index.php

Door hem in een folder te zetten die benaderbaar is via de webserver kun je het script ook testen.

Even een andere vraag. Kun je ook data uit het verleden naar PVOutput sturen door een aanpassing te maken in het script? Ik heb hiermee gespeeld maar ik krijg uit de Goodwe api alleen de actuele data terug. Ik zie hiervoor ook geen parameters die ik aan kan passen?

Gebruikersavatar
RoelandK
lid
Berichten: 94
Lid geworden op: 30 jun 2015, 11:35
Installatie Land: België

Re: Goodwe - SEMS portal naar PVOutput

Bericht door RoelandK » 17 aug 2019, 23:03

@Stefanovic45 gaat, maar daar moet ik terug even mijn debug sessies voor bekijken...

Wat hoe wil je het dan aanspreken? is namelijk per 10 min.. dus zou je al
dag/maand/jaar uur/min moeten opvragen van goodwe en dat zo doorgeven..
Aan goodwe kant kan ik het wel voor elkaar krijgen.. pvoutput kant moet ik bekijken.

@anton74 waarom probeer een php script aan te spreken als een shell script? Zoals Stefan zei, php file maken, met php aanroepen in een SH file gaat wel gewoon (of gewoon rechtstreeks in een cronjob..)
Diepenbeek - 16x SF 165-s op Zuid-oost (garage dak)

Plaats reactie