Just posted a tutorial on this.
Hi,
I get it managed that I could connect via Modbus to my Solarmax 13SMT inverter. My biggest issue for now is to find the right Modbus addresses for the inverter. Every help is welcome. I’m not sure if all values are right. THX in advance.
modbus:
- name: solarmax
type: tcp
host: 192.168.0.78
port: 502
sensors:
- name: solarmax_current_power
unique_id: 6a0a5b90-4ae8-4a33-8de9-0b5c59a6b8d1
slave: 1
address: 4151
input_type: holding
unit_of_measurement: kW
data_type: int32
scale: 0.0001
- name: solarmax_total_power
unique_id: d2a0e2cc-612f-47e9-9f24-f3fce5f9ac6a
slave: 1
address: 4129
input_type: holding
unit_of_measurement: MWh
data_type: int32
scale: 0.001
- name: solarmax_max_power_today
slave: 1
unique_id: d2a0e2cc-612f-47e9-9f24-f3fce5f9ac6a
address: 4155
input_type: holding
unit_of_measurement: kW
data_type: int32
scale: 0.0001
- name: solarmax_internal_converter_temperature
unique_id: 70b4357b-d7f7-4211-b141-a5a917cf0cc3
slave: 1
address: 4124
input_type: holding
unit_of_measurement: °C
data_type: int16
state_class: measurement
- name: solarmax_total_power_today
unique_id: ef4c1f35-6825-4298-ba55-65589efce315
slave: 1
address: 4136
input_type: holding
unit_of_measurement: kWh
data_type: int16
scale: 0.001
- name: solarmax_spannung_1
unique_id: 95ed4472-e34a-43fc-97db-e617d49a8e79
slave: 1
address: 4112
input_type: holding
unit_of_measurement: V
data_type: int16
scale: 0.1
- name: solarmax_strom_1
unique_id: 079ba81f-99bb-4bd8-a992-9ac2c89674d2
slave: 1
address: 4113
input_type: holding
unit_of_measurement: A
data_type: int16
scale: 0.1
- name: solarmax_leistung_1
unique_id: ba84af5e-1f35-4949-a1a8-98bcb53b0170
slave: 1
address: 4115
input_type: holding
unit_of_measurement: kW
data_type: int16
scale: 0.0001
- name: solarmax_spannung_2
unique_id: e27d4db8-1c82-4e65-8243-98e25d114a5a
slave: 1
address: 4116
input_type: holding
unit_of_measurement: V
data_type: int16
scale: 0.1
- name: solarmax_strom_2
unique_id: 6dfe8cae-9860-4a7e-9f40-e8edd25b2d9c
slave: 1
address: 4117
input_type: holding
unit_of_measurement: A
data_type: int16
scale: 0.1
- name: solarmax_leistung_2
unique_id: f3226562-5b7e-4b3c-9366-eeb4f091eabb
slave: 1
address: 4119
input_type: holding
unit_of_measurement: kW
data_type: int16
scale: 0.0001
- name: solarmax_spannung_3
unique_id: ca603951-18d0-475f-9a66-42da6da8eacb
slave: 1
address: 4107
input_type: holding
unit_of_measurement: V
data_type: int16
scale: 0.1
- name: solarmax_strom_3
unique_id: cb0aeea2-a69a-4d79-85ae-79d0e1b506d5
slave: 1
address: 4108
input_type: holding
unit_of_measurement: A
data_type: int16
scale: 0.1
- name: solarmax_leistung_3
unique_id: 67e7e1a7-feb6-45e8-8e26-4db7b086875d
slave: 1
address: 4110
input_type: holding
unit_of_measurement: kW
data_type: int16
scale: 0.0001
I added and updated some modbus addresses.
With the modbus data type fix from 2024.02.
So I had to adjust the following values to get it work again:
sensors:
- name: solarmax_current_power
unique_id: 6a0a5b90-4ae8-4a33-8de9-0b5c59a6b8d1
slave: 1
address: 4151
input_type: holding
unit_of_measurement: W
data_type: uint32
scale: 0.1
device_class: power
state_class: measurement
Hi @Dbuckley1712,
thank you so much for this. Thanks to your instructions, I was able to set this up in a couple of hours. Really super useful!
Hi @Eindal,
great work.
For my understanding this works via the Wfii connection and is ModbusTCP with no special hardware connection (like RS485), right?
According to the documentation from the support pages, all 27 read addresses from 4097 to 4123, 4125, 4129/30 and 4151-4154 are valid/used.
Direct link to documentation, dated 05.07.2024:
From here:
https://solarmax.com/kontakt-support/downloads/ → General documents
Right, just Wi-Fi no other hardware and using MobusTCP. Nothing else.
One hint. In my case, the solarmax inverter was a bit touchy with more than one connection. So I made the connection with HA and converted it to MQTT and then the world is open to make more fun stuff, e.g. evcc.io.
@Haussuche THX for that document. I was searching for it, but never found it.
@Eindal great work thanks. i own a 6SMT Inverter, my problem is that the local rs485 connector is used for the em340 energy Meter, therefor no option to use the connection to read further inverter values because in this case inverter is master. You are access the inverter pure via WIFI IP : 502 port without any rs485 / lan connector? As i know only port 12345 is used for maxtalk. This means there is a modbux tcp gateway also implemented at the wifi strick? Thanks for your support. PS: Seems the RS485 connector both ports are connected to the same rs485 chip… ![]()
