dasrecht / deye-firmware

141 stars 14 forks source link

Add some documentation on how the firmware in this repo were found? #13

Closed coezbek closed 9 months ago

coezbek commented 11 months ago

Could you add some additional description to this repo to understand how you found the firmware on the server? The nginx doesn't do directory listings, right?

Is there any config file the router is checking? Could you also add some information on when you last checked for new firmware? (or is the process of uploading firmware to this repo in any way automated?)

Thanks, Christopher

dasrecht commented 11 months ago

Hi, the initial work was done by people over at Photovoltaikforum as well as some reverse engineering of the fwupdate.exe where the URL of the server can be found in code AT+UPURL=http://47.254.36.66:80/0_D0002_18 or if you run the fwupdate.exe.

I didn't spend more time on the fwupdate.exe as their server seems to be mostly stable these days, so this is only a mirror for when new firmware versions become public knowledge and there are so far no automatisms.

coezbek commented 11 months ago

Okay, I read some more about how fwupdate.exe and the general update mechanism works:

The Deye inverter does NOT query the update server in any way to retrieve information about new firmware versions. Rather, the inverter registers with a remote control server which then triggers the firmware update AT command on the inverter with a specific URL which can be a file residing on the update server.

Thus, there is no config file on the server to query.

cods4 commented 11 months ago

You can also install squid proxy on your network which logs all the (non ssl) network traffic. Then when Deye updates your firmware remotely, or your inverter pulls the update file you can check what url it came from.