You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unfortunately, the GoodWe unit (like this Omnik one) seems to lack the webdata_sn etc. variables at http://10.10.100.253/status_en.html which make it a little harder to scrape.
Also: it should be possible to simplify this software if you have something listening for the connection that the WiFi module tries to make, rather than needing to use iptables rules to tee the traffic and actually connect this module to the internet. There's some pretty serious problems with the module which make me definitely not want to give it actual internet access (eg: it only requires HTTP authentication once per boot, but then lets anything connect to it once "unlocked", and the HTTP server implementation is generally pretty fragile and I've had it crash or send bad responses on me using curl).
Yeah, that seems like a similar data structure.
The Omnik Wifi modules differ in the way they operate across different versions. The version 601 (that I am stuck with) seems to connect to a specific IP address and then send a TCP packet with the data in it. Nothing more. No API to get any data from.
I've tried to make a client that listens to the Omnik and accepts the TCP packet, but that requires some SNAT and DNAT that I haven't gotten working yet...
There's nothing about TPROXY or IP_TRANSPARENT that forces you to use HTTP – any TCP service should work with it.
Unfortunately, the script will probably still need CAP_NET_ADMIN to work. But at least it takes the manufacturer's servers out of the loop, and can run locally. 😄
FYI: I've been poking at a friend's GoodWe WiFi module, and it seems to have some similar behaviour to this Omnik module.
There are some publicly accessible protocol docs for the RS485 side, which look a little bit like what you've implemented in
InverterMsg.py
.Unfortunately, the GoodWe unit (like this Omnik one) seems to lack the
webdata_sn
etc. variables at http://10.10.100.253/status_en.html which make it a little harder to scrape.Also: it should be possible to simplify this software if you have something listening for the connection that the WiFi module tries to make, rather than needing to use
iptables
rules to tee the traffic and actually connect this module to the internet. There's some pretty serious problems with the module which make me definitely not want to give it actual internet access (eg: it only requires HTTP authentication once per boot, but then lets anything connect to it once "unlocked", and the HTTP server implementation is generally pretty fragile and I've had it crash or send bad responses on me usingcurl
).I noticed the stuff built around the GoodWe system for Home Assistant seems to be built around scraping from the manufacturer's web service, rather than running everything locally.
The text was updated successfully, but these errors were encountered: