Tesla Powerwall and Solaredge inverter monitoring with Zabbix
Recently I had to debug a strange behavior in my photovoltaic system. I needed data history from a Tesla Powerwall 2 (with backup module) and a SolarEdge HDWave inverter.
Both the battery and the inverter and accessible from local LAN, and I really dislike to rely on external websites, so I decided to have a look to get the raw data directly from the appliances. I already use Zabbix for monitoring and Grafana for dashboards, so my goal was to stick with them. Sadly, I wasn't able to find a Zabbix template for that purpose (but there's some for Grafana) - I had to change the Grafana script to a Zabbix external script and template.
While Tesla Powerwall expose some nice and documented API, SolarEdge is a little bit more tricky, you need to enable MODBUS over TCP (disabled by default) and use it to access the inverter information. I still miss the single panel information that is displayed on SolarEdge monitoring site - probably the only alternative to catch that info is to sniff packets sent from the inverter to the site, not a solution everyone can implement (I still keep an old HUB for this kind of situations). Shame SolarEdge, shame.
That's a really quick and dirty job, I just needed the data for debugging - I'm publishing the scripts just in case someone in the same situation can make use of them.
You can find the Zabbix Powerwall template here:
https://github.com/Emidio/zabbix_template_powerwall
and the Zabbix SolarEdge inverter template here:
https://github.com/Emidio/zabbix_template_solaredge_modbus