svrooij / smartmeter2mqtt

Publish data from your Smart meter with a P1 interface to you MQTT server.
http://smartmeter2mqtt.svrooij.io
MIT License
31 stars 9 forks source link

Solaredge Modbus TCP not working #32

Open MickazNL opened 3 years ago

MickazNL commented 3 years ago

Really love this docker image so far!

I'm trying to get Solaredge Modbus TCP working but the connection is throwing connection refused:

Error loading data from modbus Error: connect ECONNREFUSED 192.168.222.241:1502 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1137:16) { errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '192.168.222.241', port: 1502 }

My docker image is set up like this:

sudo docker run -it \ --name=smartmeter \ --restart=unless-stopped \ --network=host \ -e TZ=Europe/Amsterdam \ -e SMARTMETER_SOCKET=192.168.222.245:23 \ -e SMARTMETER_mqtt-url=mqtt://localhost:8889 \ -e SMARTMETER_mqtt-topic=diy/smartmeter \ -e SMARTMETER_mqtt-discovery=true \ -e SMARTMETER_debug=true \ -e SMARTMETER_sunspec-modbus=192.168.222.241 \ -e SMARTMETER_sunspec-modbus-port=1502 \ svrooij/smartmeter:latest

Ip and Port are correct (Solaredge uses port 1502 for modbus) the Hacs Solaredge modbus integration is also working for me.

svrooij commented 3 years ago

Modbus is some what picky, mine uses a different port. And I had to turn it on at the inverter and connect for the first time within 120 seconds.

And modbus is a system where only one client can connect at the same time.

MickazNL commented 3 years ago

Thanks for the reply, I have that part working (which was also a hassle haha) I'm able to get the data extracted off the inverter with other software.

As we speak i'm building a modbus to mqtt in node red which is able to get the data:

NM_Module: "se_inverter" C_SunSpec_ID: "1400204883" C_SunSpec_DID: "101" C_SunSpec_Length: "50" C_Manufacturer: "SolarEdge " C_Model: "SE3000H-RW000BNN4" C_Version: "0004.0009.0033" C_SerialNumber: "" C_DeviceAddress: "1" I_AC_Current: "88" I_AC_CurrentA: "88" I_AC_CurrentB: "65535" I_AC_CurrentC: "65535" I_AC_Current_SF: "-2" I_AC_VoltageAB: "2268" I_AC_VoltageBC: "65535" I_AC_VoltageCA: "65535" I_AC_VoltageAN: "65535" I_AC_VoltageBN: "65535" I_AC_VoltageCN: "65535" I_AC_Voltage_SF: "-1" I_AC_Power: "13576" I_AC_Power_SF: "-2" I_AC_Frequency: "49989" I_AC_Frequency_SF: "-3" I_AC_VA: "20099" I_AC_VA_SF: "-2" I_AC_VAR: "14822" I_AC_VAR_SF: "-2" I_AC_PF: "6754" I_AC_PF_SF: "-2" I_AC_Energy_WH: "4073402" I_AC_Energy_WH_SF: "0" I_DC_Current: "3726" I_DC_Current_SF: "-4" I_DC_Voltage: "3698" I_DC_Voltage_SF: "-1" I_DC_Power: "13782" I_DC_Power_SF: "-2" I_Temp_Sink: "3782" I_Temp_SF: "-2" I_Status: "4" I_Status_Vendor: "0" I_Event_1: "4294967295" I_Event_2: "4294967295" I_Event_1_Vendor: undefined I_Event_2_Vendor: "4294967295" I_Event_3_Vendor: "4294967295" I_Event_4_Vendor: "0"

edit: link to the github of the node red module: https://github.com/apelders/node-red-contrib-solaredge-modbus-client