Custom Component: SolarEdge Modbus TCP

It’s all managed remotely.

Dear @erikarenhill,

even though I’m hardwired with UTP cable, and I still receive readings from my SolarEdge inverter, I also get a lot of errors regarding the integration in my logs, the same “'int object is not callable” as someone before me also commented:

ERROR (MainThread) [custom_components.solaredge_modbus.sensor] exception: 'int' object is not callable

Do you have any suggestion how could I get rid of it?

thx a lot in advance!!!

Exact same issue here. All was fine yesterday and today suddenly all values unknown and error message as per below

2022-08-09 10:14:55.307 ERROR (MainThread) [custom_components.solaredge_modbus.sensor] exception: 'int' object is not callable

hm, in my case I still receive values properly, but the errors in the log retain:

2022-08-09 11:18:09.153 ERROR (MainThread) [custom_components.solaredge_modbus.sensor] exception: 'int' object is not callable

Ip changed although set as static. Solved now

Looks like SolarEdge have re-enabled ModbusTCP over wifi.

https://www.solaredge.com/aus/setapp-inverters-firmware

1 Like

Nice! Now its just waiting for solaredge to upgrade my firmware?..

Looking forward to have my solar automations being useful again :grinning:

I just manually updated my firmware by creating an installer account and using the SetApp mobile app.

Have a look at SolarEdge Registration if you are interested.

1 Like

I just received the one-but-last firmware a couple of days ago so my reading where gone. I contacted Solaredge via chat today and told them I would like the newest firmware. That was no problem. So just contact them.

Hi All,

My Solaredge Modbus connection in Home Assistant doesn’t work anymore. Last week I activated modbus in de inverter and configurted the addon in HA. From last Friday all the sensors have the status unknown (see screenshot).

Any ideas? Ip adres is still the same, the modbus is still activated in the inverter.

R.

I also had this happen: the inverter randomly set its own IP address despite having a dhcp reservation in my router. My solution was to disconnect the inverter from the network and wait until my router forgot about it (~10 min). Thankfully, it’s connected over Ethernet so pulling the plug was simple enough.

Did you have a similar solution?

I have my inverter connected by wifi. I will try this some way…

https://www.solaredge.com/de/setapp-inverters-firmware

Here’s a page provided by SolarEdge with the latest firmware and what’s fixed.
They did some fixes related to WiFi:

New Features & Implementations:

Modbus TCP over secured Wi-Fi is now officially supported for residential inverters

  • Modbus TCP over unsecured Wi-Fi is blocked
  • Modbus TCP over Wi-Fi for commercial inverters is blocked
  • Note: Modbus TCP over Ethernet and Modbus TCP over RS485 for all inverters are supported

Fixes

  • Modbus TCP over WiFi refused connection
2 Likes

I am running HASSIO in a virtual machine and I am on 2022.11.2, with V1.6.0 of SolarEdge Modbus TCP module installed.

I am using a LAN connection, and I can query the inverter using Simply Modbus TCP and get a response from the first block of registers as I would expect, i.e register 40005 reports “SolarEdge” and 40021 tells me it is a ‘SE3500’. So it is communicating OK.

Running the integration and setting it up to communicate as for the Simply Modbus and enabling it results in no data being received. The screen on the SE shows modbus is ‘connected’ on port 1502 over the LAN.

Is it possible to put debug logging on to the integration to try to see what is happening, nothing in the HA log.

Dear @erikarenhill and the rest of the community!

I’m getting new errors with this integration, and my sensors are broken now, did anyone notice this, and maybe have a fix for this problem?

TemplateError('TypeError: unsupported operand type(s) for /: 'NoneType' and 'float'') while processing template 'Template("{{ (state_attr('sensor.solaredge_modbus', 'ac_lifetimeproduction') / 1000.0) | round(2) }}")' for attribute '_attr_native_value' in entity 'sensor.solaredge_lifetime_production'

This returned none instead of a value according to the error.

thank you!!

yes, it seems to that TCP ModBus connection to my inverter started to fail. I can’t connect to the inverter now, not even with a modbus client to test it, it says connection refused. Perhaps a nasty firmware update finally arrived to me that disabled modbus in the inverter? Can I stop remote firmware updates (block the inverter from internet? but then I’ll loose solaredge functionality…)

Well, I guess I have to climb up to the roof to find out :smiley:

Hi :slight_smile:
It is probably related to a firmware update on your inverter.
Are you connected with WiFi? or Ethernet?

As far as I know, there were some issues when you connect to Modbus TCP per Wifi - and the most recent Firmware should have fixed this (but disabled unsecured wifi access)…

thanks a lot for the prompt reply Chris!

yes, it is indeed connected via wifi, but I didn’t have any trouble connecting it via modbus until recently, it was working flawlessly… then I have to doublecheck again on the inverter…

Just to make sure, unsecure wifi means wifi without authentication, no passw? or any particular setting in my wifi setting to look for?

many many thanks

I don’t know what SolarEdge considers as “unsecured Wifi” - and can only quote the release notes here :slight_smile:
btw… always worth to check them (see the link I’ve posted on Oct. 10th)

1 Like