Goodwe - SEMS portal naar PVOutput

Kijk hier voor datalog programma's en handleidingen.
Plaats reactie
Gebruikersavatar
Stefanovic45
Berichten: 4
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: 85
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: 85
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: 85
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: 85
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)

Plaats reactie