This is heavily based on the work of @MEitelwein and forked from Enverbridge-Proxy (thanks for that).
Using this python script, you can decode the traffic between your envertech EVB202 (and probably EVB300) and envertecportal.com. All data will be send to an MQTT broker.
Clone this repo on a linux machine at /opt/enverproxy
and configure it as a systemd unit. Copy and update the config at /etc/enverproxy.conf to your needs.
Requires paho-mqtt
. You can install it via pip3 install paho-mqtt
Restart your EVB202 and immediately press OK
to enter the boot menu. Under Set DHCP
set USE DHCP
to NO
. Under Set Client IP
set the IP of your EVB202 to a static IP in your subnet. Under Set Server IP
configure the IP address of your linux machine running enverproxy.py
. Under Set Server Mode
select Local
as Server - yes the manual say's it's not supported for EVB202, but it works.
The EVB202 will connect to the server every second - even if there is no data to transmit. This will blow up your log file if the log level is set to 3 or higher. Every 20 seconds there is a transmission of some unknown data. If the microinverters are online there will be data approximately once every minute.
If the EVB202 is configured to Server Mode Local
, it will connect to the configured Server IP via TCP on port 1898. If Server Mode is set to Net
(the default value) it will try to connect to www.envertecportal.com via DNS and fallback to 47.91.242.120 (which is an outdated but hardcoded IP of envertecportal.com) via TCP on port 10013.
Instead of changing the Server Mode, you may also intercept the DNS query (and reply with a local IP) or redirect the TCP connection to your local machine.
There is a proxy mode, but I'm not using it, so this is totally untested.
Just open an issue with as many details as possible.