esphome:
name: srne-inverter
friendly_name: SRNE inverter
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "VrWjWZqXGOwge+/64MdWCGGY5hYxiG8SIAfNc0="
ota:
password: "caf956755f8e4d789f9fb9093"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
uart:
id: mod_bus
tx_pin: 19
rx_pin: 18
baud_rate: 9600
stop_bits: 1
modbus:
id: tdt1_modbus
flow_control_pin: 4
modbus_controller:
- id: srne1
address: 0x01
modbus_id: tdt1_modbus
setup_priority: -10
update_interval: 15000ms #data refresh rate
sensor:
- platform: modbus_controller
modbus_controller_id: srne1
name: "SRNE Battery Voltage" #name for HA
id: srne_pack_viltage #id for HA
register_type: holding
address: 0x0101 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "SRNE PV Power" #name for HA
id: srne_pv_power #id for HA
register_type: holding
address: 0x0109 #register address (see modbus manual)
unit_of_measurement: "W"
accuracy_decimals: 0
device_class: power
state_class: measurement
- platform: modbus_controller
modbus_controller_id: srne1
name: "SRNE PV Voltage" #name for HA
id: srne_pv_voltage #id for HA
register_type: holding
address: 0x0107 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 0
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "SRNE Battery SOC" #name for HA
id: srne_SOC #id for HA
register_type: holding
address: 0x0100 #register address (see modbus manual)
state_class: measurement
unit_of_measurement: "%"
device_class: battery
- platform: modbus_controller
modbus_controller_id: srne1
name: "SRNE PV Current" #name for HA
id: srne_PV_Current #id for HA
register_type: holding
address: 0x0108 #register address (see modbus manual)
state_class: measurement
unit_of_measurement: A
device_class: current
The problem I have is I’m not able to get the data like Power generation of the current day, Power consumption of the day, Cumulative power generation, Cumulative power consumption, Min / Max Battery voltage of the day etc… although MODBUS address are available for these values.
Can someone please help me to get them added to HA?
I was busy searching for more information on SRNE inverters into HA and found this guy that made a ESPHome SRNE integration.
The video is in French - SRNE via ESPhome - YoutTube
The ESPHome file is in English - SRNE via ESPHome - yaml file
Ok so I was able to get this working with your original yaml, but when i try the one linked, by the french dude, I just get a bunch of unknowns. Any ideas?
I’m not a tech guy. I’m not able to do step by step guide.
If you do the wiring as per the first post & upload the yaml file to the ESP32, it will start to stream data to HA. But you can not have your datalogger & this setup both connected to the inverter at the same time
Do you know a way to write data to the inverter through HA automation?
I need to change the UTI & SBU settings depending on the automation settings. E204 registry entry supports both R/W. But I don’t know how to write to it
Thanks, I’ll order the Waveshare converter adapter and see how it goes. I wish there was a way to collect the data from the data logger which can be seen on the SmartESS app and Dessmonitor’s website.
Hello @Dimumal, have you been able to get more data? Especially the ones you mentioned in the first post (Power generation of the current day, Power consumption of the day, Cumulative power generation, Cumulative power consumption, Min / Max Battery voltage of the day etc.)
Power generation of the current day, Power consumption of the day, Cumulative power generation and Cumulative power consumption can be received from the inverter.
But Min / Max Battery voltage of the day can not be received as there are no registry entries for that.
This is wonderful then. I get my battery details currently from the BMS via the Bluetooth add-on. What’s left is to get the solar power related data from the inverter.
I plan to connect it through the ESPHome integration. I understand the diagram you shared but I’ll need more details.
I would appreciate if I could get a picture of the connection from the RS485 to TTL converter, to the ethernet wire. I understand the other part goes into the inverter. But I’m yet to picture how the other part is.
Thanks a lot. Also if you could share the yaml file too in advance. I’m guessing things have changed since the initial post.
Thanks but this would take time to arrive. I am expecting the RS485 to TTL converter this week. I can solder it to the ethernet cable and it should work I guess.
Also, I would like to know what your current configuration yaml file looks like so I can get more data from my inverter(“Power generation of the current day, Power consumption of the day, Cumulative power generation and Cumulative power consumption can be received from the inverter.”).
I’ll have to confirm by morning if it works because it’s currently night here. Thanks so far.
edited.
I started the setup afresh with new materials and I am happy it works. I look forward to you sharing your current yaml file and dashboard so I can replicate it with more data. Thanks.
esphome:
name: srne
friendly_name: SRNE
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
level: very_verbose
# Enable Home Assistant API
api:
encryption:
key: "+EMWnue33wLGXOUUcZdBgtEcWOJjQIPoN7E3WbVj2UA="
web_server:
ota:
password: "27a70d64573b33d2dc248577739abfa5"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: 192.168.1.16
manual_ip:
# Set this to the IP of the ESP
static_ip: 192.168.1.16
# Set this to the IP address of the router. Often ends with .1
gateway: 192.168.1.1
# The subnet of the network. 255.255.255.0 works for most home networks.
subnet: 255.255.255.0
uart:
id: mod_bus
tx_pin: 19
rx_pin: 18
baud_rate: 9600
stop_bits: 1
modbus:
id: tdt1_modbus
flow_control_pin: 4
modbus_controller:
- id: srne1
address: 0x01
modbus_id: tdt1_modbus
setup_priority: -10
update_interval: 15000ms #data refresh rate
sensor:
# Power sensors with W
- platform: modbus_controller
modbus_controller_id: srne1
name: "Current Load Power" #name for HA
id: srne_current_load_Power #id for HA
register_type: holding
address: 0x021B #register address (see modbus manual)
unit_of_measurement: "W"
accuracy_decimals: 0
device_class: power
state_class: measurement
- platform: modbus_controller
modbus_controller_id: srne1
name: "charger Power (Main + PV)" #name for HA
id: srne_charger_Power #id for HA
register_type: holding
address: 0x010E #register address (see modbus manual)
unit_of_measurement: "W"
accuracy_decimals: 0
device_class: power
state_class: measurement
- platform: modbus_controller
modbus_controller_id: srne1
name: "PV Power" #name for HA
id: srne_pv_power #id for HA
register_type: holding
address: 0x0109 #register address (see modbus manual)
unit_of_measurement: "W"
accuracy_decimals: 0
device_class: power
state_class: measurement
- platform: modbus_controller
modbus_controller_id: srne1
name: "Battery SOC" #name for HA
id: srne_SOC #id for HA
register_type: holding
address: 0x0100 #register address (see modbus manual)
state_class: measurement
unit_of_measurement: "%"
device_class: battery
- platform: modbus_controller
modbus_controller_id: srne1
name: "Charger Status" #name for HA
id: srne_Charger_Status #id for HA
register_type: holding
address: 0x010B #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "PV Current" #name for HA
id: srne_PV_Current #id for HA
register_type: holding
address: 0x0108 #register address (see modbus manual)
state_class: measurement
unit_of_measurement: A
device_class: current
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Battery Current" #name for HA
id: srne_Battery_Current #id for HA
register_type: holding
address: 0x0102 #register address (see modbus manual)
state_class: measurement
unit_of_measurement: A
device_class: current
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Fault Code" #name for HA
id: srne_fault_code #id for HA
register_type: holding
address: 0x0204 #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Fault Code 2" #name for HA
id: srne_fault_code2 #id for HA
register_type: holding
address: 0x0205 #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Grid Frequency" #name for HA
id: srne_grid_freq #id for HA
register_type: holding
address: 0x0215 #register address (see modbus manual)
unit_of_measurement: Hz
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: srne1
name: "Inverter Frequency" #name for HA
id: srne_inverter_freq #id for HA
register_type: holding
address: 0x0218 #register address (see modbus manual)
unit_of_measurement: Hz
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: srne1
name: "Output Priority" #name for HA
id: srne_output_priority #id for HA
register_type: holding
address: 0xE204 #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Charger Priority" #name for HA
id: srne_charger_priority #id for HA
register_type: holding
address: 0xE20F #register address (see modbus manual)
# Energy sensors with kWh
- platform: modbus_controller
modbus_controller_id: srne1
name: "Power Generation of the day" #name for HA
id: srne_power_generation_of_the_day #id for HA
register_type: holding
address: 0xF02F #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Load Power Consumption of the day" #name for HA
id: srne_load_power_consumption_of_the_day #id for HA
register_type: holding
address: 0xF030 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Accumulated Solar generation" #name for HA
id: srne_aaccumulated_solar_generation #id for HA
register_type: holding
address: 0xF038 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Accumulated power consumption of load" #name for HA
id: srne_accumulated_power_consumption_of_load #id for HA
register_type: holding
address: 0xF03A #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Accumulated power consumption by load from mains" #name for HA
id: srne_accumulated_power_consumption_by_load_from_mains #id for HA
register_type: holding
address: 0xF048 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Accumulated charge from mains" #name for HA
id: srne_accumulated_charge_from_mains #id for HA
register_type: holding
address: 0xF046 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Current state of the machine" #name for HA
id: srne_current_state_of_machine #id for HA
register_type: holding
address: 0x0210 #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Accumulated working hours of bypass" #name for HA
id: srne_accumulated_working_hours_of_bypasss #id for HA
register_type: holding
address: 0xF04B #register address (see modbus manual)
unit_of_measurement: hours
accuracy_decimals: 1
state_class: measurement
- platform: modbus_controller
modbus_controller_id: srne1
name: "Grid Voltage" #name for HA
id: srne_grid_voltage #id for HA
register_type: holding
address: 0x0213 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 1
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Inverter Voltage" #name for HA
id: srne_inverter_voltage #id for HA
register_type: holding
address: 0x0216 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 1
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Battery Voltage" #name for HA
id: srne_pack_voltage #id for HA
register_type: holding
address: 0x0101 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Main Switching Voltage" #name for HA
id: srne_main_switching_voltage #id for HA
register_type: holding
address: 0xE01B #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.4
- platform: modbus_controller
modbus_controller_id: srne1
name: "Inverter Switching Voltage" #name for HA
id: srne_inverter_switching_voltage #id for HA
register_type: holding
address: 0xE022 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.4
- platform: modbus_controller
modbus_controller_id: srne1
name: "Over Discharge Return Voltage" #name for HA
id: srne_over_discharge_return_voltage #id for HA
register_type: holding
address: 0xE00B #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.4
- platform: modbus_controller
modbus_controller_id: srne1
name: "Over Discharge Voltage" #name for HA
id: srne_over_discharge_voltage #id for HA
register_type: holding
address: 0xE00D #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.4
- platform: modbus_controller
modbus_controller_id: srne1
name: "PV Voltage" #name for HA
id: srne_pv_voltage #id for HA
register_type: holding
address: 0x0107 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 0
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "History Solar generation" #name for HA
id: srne_history_solar_generation #id for HA
register_type: holding
address: 0xF01D #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "History Solar generation2" #name for HA
id: srne_history_solar_generation2 #id for HA
register_type: holding
address: 0xF01E #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Overcharge voltage" #name for HA
id: srne_overcharge_voltage #id for HA
register_type: holding
address: 0xE008 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.4
- platform: modbus_controller
modbus_controller_id: srne1
name: "Over Charge Return Voltage" #name for HA
id: srne_overcharge_return_charge #id for HA
register_type: holding
address: 0xE009 #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
filters:
- multiply: 0.4
- platform: modbus_controller
modbus_controller_id: srne1
name: "Machine type code" #name for HA
id: srne_machine_type_code #id for HA
register_type: holding
address: 0x000B #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Grid Current" #name for HA
id: srne_grid_current #id for HA
register_type: holding
address: 0x0214 #register address (see modbus manual)
state_class: measurement
unit_of_measurement: A
device_class: current
filters:
- multiply: 0.1
#################### Historical Data ##################
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 1 day ago" #name for HA
id: srne_historical_power_consumption_by_load_1_day_ago #id for HA
register_type: holding
address: 0xF01C #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 2 days ago" #name for HA
id: srne_historical_power_consumption_by_load_2_days_ago #id for HA
register_type: holding
address: 0xF01D #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 3 days ago" #name for HA
id: srne_historical_power_consumption_by_load_3_days_ago #id for HA
register_type: holding
address: 0xF01E #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 4 days ago" #name for HA
id: srne_historical_power_consumption_by_load_4_day_ago #id for HA
register_type: holding
address: 0xF01F #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 5 days ago" #name for HA
id: srne_historical_power_consumption_by_load_5_days_ago #id for HA
register_type: holding
address: 0xF020 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 6 days ago" #name for HA
id: srne_historical_power_consumption_by_load_6_days_ago #id for HA
register_type: holding
address: 0xF021 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Historical data of power consumption by load 7 days ago" #name for HA
id: srne_historical_power_consumption_by_load_7_days_ago #id for HA
register_type: holding
address: 0xF022 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 1 day ago" #name for HA
id: srne_historical_pv_power_generation_1_day_ago #id for HA
register_type: holding
address: 0xF000 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 2 days ago" #name for HA
id: srne_historical_pv_power_generation_2_days_ago #id for HA
register_type: holding
address: 0xF001 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 3 days ago" #name for HA
id: srne_historical_pv_power_generation_3_days_ago #id for HA
register_type: holding
address: 0xF002 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 4 days ago" #name for HA
id: srne_historical_pv_power_generation_4_day_ago #id for HA
register_type: holding
address: 0xF003 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 5 days ago" #name for HA
id: srne_historical_pv_power_generation_5_days_ago #id for HA
register_type: holding
address: 0xF004 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 6 days ago" #name for HA
id: srne_historical_pv_power_generation_6_days_ago #id for HA
register_type: holding
address: 0xF005 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "historical data of PV power generation 7 days ago" #name for HA
id: srne_historical_pv_power_generation_7_days_ago #id for HA
register_type: holding
address: 0xF006 #register address (see modbus manual)
unit_of_measurement: kWh
accuracy_decimals: 1
device_class: Energy
state_class: total_increasing
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: srne1
name: "Current date year" #name for HA
id: srne_current_date_year #id for HA
register_type: holding
address: 0x020C #register address (see modbus manual)
bitmask: 0xFF00 #(Bits 15-8)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Current date month" #name for HA
id: srne_current_date_month #id for HA
register_type: holding
address: 0x020C #register address (see modbus manual)
bitmask: 0x00FF #(Bits 15-8)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Main Switching Voltage1" #name for HA
id: srne_main_switching_voltage1 #id for HA
register_type: holding
address: 0xE01B #register address (see modbus manual)
unit_of_measurement: "V"
accuracy_decimals: 2
device_class: Voltage
state_class: measurement
- platform: modbus_controller
modbus_controller_id: srne1
name: "Charge cut-off SOC" #name for HA
id: srne_cutoff #id for HA
register_type: holding
address: 0xE00F #register address (see modbus manual)
- platform: modbus_controller
modbus_controller_id: srne1
name: "Nominal battery capacity" #name for HA
id: srne_bat_capacity #id for HA
register_type: holding
address: 0xE002 #register address (see modbus manual)
select:
- platform: modbus_controller
modbus_controller_id: srne1
name: "Output Prority2" #name for HA
id: srne_output_priority2 #id for HA
address: 0xE204
value_type: U_WORD
icon: mdi:power
optionsmap:
“SOL”: 0
“UTI”: 1
“SBU”: 2
- platform: modbus_controller
modbus_controller_id: srne1
name: "Overcharge2" #name for HA
id: srne_overcharge_voltage2 #id for HA
address: 0xE008
value_type: U_WORD
icon: mdi:power
optionsmap:
“56.4”: 141
“56.0”: 140
“55.6”: 139