Read data from DEYE micro inverter via modbus TCP and output the response as JSON. You have to know the inverters IP address and serial number.
./deye -a <ip-address> -s <serial-number> [--req <file>] [--res <file>]
- Parameter
-aspeciefies the inverters IP address in dotted-decimal notation - Parameter
-sspecifies the inverters serial number (there seems to be 2 serial number, here the WiFi serial number is required) - Parameter
--reqis optional and can be used to dump the raw request into a file - Parameter
--resis optional and can be used to dump the raw response into a file
Example:
./deye -a 192.168.178.139 -s 3942535924
The output looks like this.
mkdir build
cd build
cmake ..
make
This is an example how you can upload the response to a web backend, from command line, using curl:
./deye -a 192.168.178.139 -s 3942535924 | curl -H 'Content-Type: application-json' -X POST --data @- https://minlux.de/pvmonitor/api/deye
To prevent the inverter to access the internet and the deye cloud, you could block it through internet router. However, this affects the daily energy measurement. It appears that the meter is not reset correctly at the start of a new day.
Furthermore, I observed, that the inverters (or at least the wifi part) resets regulary. Don't know if this is an effect of blocking internet access, too!?
You can find further information in the files in the doc folder.