substitutions:
name: deye-esp32
device_description: "Esphome component for Deye sun-12k-sg04lp3" #Description in ESPhome
modbus_controller_id: sg04lp3 #just a random name for the modbus controler
device_type: sun12k #all entities in Home Assistant will start with this text to help identify the entitys
esphome:
name: ${name}
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "CHANGE_ME" # Pune key-ul tau de encryption generat de ESPHome
ota:
- platform: CHANGE_ME # Pune userul ta
password: "CHANGE_ME" # Pune parola ta
wifi:
ssid: !secret "wifi_ssid_deye_esp"
password: !secret "wifi_password_deye_esp"
use_address: 0.0.0.0 # Seteaza IP-ul static al ESP-ului tau
# power_save_mode: HIGH
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Deye-Esp32 Fallback Hotspot"
password: "Deye_PWD!"
captive_portal:
uart:
id: mod_bus
tx_pin: 17
rx_pin: 16
baud_rate: 9600
stop_bits: 1
modbus:
id: modbus1
uart_id: mod_bus
flow_control_pin: 4 #for use when you use a rs485 board without auto flow control. Like the rs485 max board.
modbus_controller:
- id: ${modbus_controller_id}
address: 0x1
modbus_id: modbus1
setup_priority: -10
update_interval: 5sec
switch:
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}_Solar_sell
register_type: holding
address: 145
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Grid_Charge
register_type: holding
address: 130
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time of Use
id: ${device_type}_Time_of_Use
register_type: holding
address: 146
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller # Time point 1 charge enable - grid charging enable
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time point 1 charge enable
register_type: holding
address: 172
bitmask: 1 # 2 hvis man ønsker Gen charging enabel i sted for.
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller # Time point 2 charge enable - grid charging enable
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time point 2 charge enable
register_type: holding
address: 173
bitmask: 1 # 2 hvis man ønsker Gen charging enabel i sted for.
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller # Time point 3 charge enable - grid charging enable
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time point 3 charge enable
register_type: holding
address: 174
bitmask: 1 # 2 hvis man ønsker Gen charging enabel i sted for.
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller # Time point 4 charge enable - grid charging enable
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time point 4 charge enable
register_type: holding
address: 175
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller # Time point 5 charge enable - grid charging enable
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time point 5 charge enable
register_type: holding
address: 176
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
- platform: modbus_controller # Time point 6 charge enable - grid charging enable
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Time point 6 charge enable
register_type: holding
address: 177
bitmask: 1
entity_category: config
icon: "mdi:toggle-switch"
binary_sensor:
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: ${device_type}-AC INV relay # bit 0
id: ${device_type}_AC_INV_relay
register_type: holding
address: 552
bitmask: 0x1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: ${device_type}-AC Load relay Reserved # bit 1
id: ${device_type}_AC_Load_relay_Reserved
register_type: holding
address: 552
bitmask: 0x2
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: ${device_type}-AC grid relay # bit 2
id: ${device_type}_AC_grid_relay
register_type: holding
address: 552
bitmask: 0x4
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: ${device_type}-AC Generator relay # bit 3
id: ${device_type}_AC_Generator_relay
register_type: holding
address: 552
bitmask: 0x8
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: ${device_type}-Turn off/on status
id: ${device_type}_Turn_off_on_status
register_type: holding
address: 551
bitmask: 0x1
text_sensor:
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
id: ${device_type}_Running_Status
bitmask: 0
register_type: holding
address: 500
raw_encode: HEXBYTES
name: ${device_type}-Running Status
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
switch (value) {
case 0: return std::string("standby");
case 1: return std::string("selfcheck");
case 2: return std::string("normal");
case 3: return std::string("alarm");
case 4: return std::string("fault");
default: return std::string("----");
}
return x;
number:
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Maximum_battery_charge_current
name: "${device_type}-Maximum battery charge current"
address: 108
unit_of_measurement: A
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Maximum_battery_discharge_current
name: "${device_type}-Maximum battery discharge current"
address: 109
unit_of_measurement: A
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Maximum_battery_grid_charge_current
name: "${device_type}-Maximum battery_grid charge current"
address: 128
unit_of_measurement: A
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_max_solar_sell_power
name: "${device_type}-Max Solar Sell Power"
unit_of_measurement: W
address: 143
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_1
name: "${device_type}-Time point 1 start"
address: 148
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_2
name: "${device_type}-Time point 2 start"
address: 149
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_3
name: "${device_type}-Time point 3 start"
address: 150
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_4
name: "${device_type}-Time point 4 start"
address: 151
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_5
name: "${device_type}-Time point 5 start"
address: 152
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_6
name: "${device_type}-Time point 6 start"
address: 153
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_1_power
name: "${device_type}-Time point 1 power"
unit_of_measurement: W
address: 154
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_2_power
name: "${device_type}-Time point 2 power"
unit_of_measurement: W
address: 155
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_3_power
name: "${device_type}-Time point 3 power"
unit_of_measurement: W
address: 156
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_4_power
name: "${device_type}-Time point 4 power"
unit_of_measurement: W
address: 157
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_5_power
name: "${device_type}-Time point 5 power"
unit_of_measurement: W
address: 158
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_6_power
name: "${device_type}-Time point 6 power"
unit_of_measurement: W
address: 159
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_1_capacity
name: "${device_type}-Time point 1 capacity"
unit_of_measurement: "%"
address: 166
min_value: 0
max_value: 100
step: 5
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_2_capacity
name: "${device_type}-Time point 2 capacity"
unit_of_measurement: "%"
address: 167
min_value: 0
max_value: 100
step: 5
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_3_capacity
name: "${device_type}-Time point 3 capacity"
unit_of_measurement: "%"
address: 168
min_value: 0
max_value: 100
step: 5
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_4_capacity
name: "${device_type}-Time point 4 capacity"
unit_of_measurement: "%"
address: 169
min_value: 0
max_value: 100
step: 5
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_5_capacity
name: "${device_type}-Time point 5 capacity"
unit_of_measurement: "%"
address: 170
min_value: 0
max_value: 100
step: 5
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Time_point_6_capacity
name: "${device_type}-Time point 6 capacity"
unit_of_measurement: "%"
address: 171
min_value: 0
max_value: 100
step: 5
value_type: U_WORD
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_max_solar_power
name: "${device_type}-Max Solar Power"
unit_of_measurement: W
address: 340
value_type: U_WORD
sensor:
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Heat sink temperature"
id: ${device_type}_koleplade_temeratur
register_type: holding
address: 541
unit_of_measurement: "°C"
value_type: S_WORD
accuracy_decimals: 2
filters:
- offset: -1000
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-load frequency"
id: ${device_type}_load_frequency
register_type: holding
address: 655
unit_of_measurement: "Hz"
state_class: "measurement"
accuracy_decimals: 2
filters:
- multiply: 0.01
value_type: U_WORD
############ Max Cell Voltage
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Max_Cell_V
name: "${device_type}-Max Cell Voltage"
register_type: holding
address: 609
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
id: ${device_type}_Min_Cell_V
name: "${device_type}-Min Cell Voltage"
register_type: holding
address: 610
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
value_type: U_WORD
############
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-inverter-frequency"
id: ${device_type}_inverter_frequency
register_type: holding
address: 638
unit_of_measurement: "Hz"
state_class: "measurement"
accuracy_decimals: 2
filters:
- multiply: 0.01
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-PV1 Power"
id: ${device_type}_PV1_Power
register_type: holding
address: 672
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-PV2 Power"
id: ${device_type}_PV2_Power
register_type: holding
address: 673
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-PV1 Voltage"
id: ${device_type}_PV1_Voltage
register_type: holding
address: 676
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-PV2 Voltage"
id: ${device_type}_PV2_Voltage
register_type: holding
address: 678
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-PV1 Current"
id: ${device_type}_PV1_Current
register_type: holding
address: 677
unit_of_measurement: "A"
state_class: "measurement"
accuracy_decimals: 1
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-PV2 Current"
id: ${device_type}_PV2_Current
register_type: holding
address: 679
unit_of_measurement: "A"
state_class: "measurement"
accuracy_decimals: 1
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Daily Production"
id: ${device_type}_Daily_Production
register_type: holding
address: 529
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
filters:
- multiply: 0.1
value_type: U_WORD
###### new added fpr DAILY TOTAL LOAD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Day Load Power"
id: ${device_type}_Day_Load_Power
register_type: holding
address: 526
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
filters:
- multiply: 0.1
value_type: U_WORD
######
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Total PV Production"
id: ${device_type}_Total_PV_Production
register_type: holding
address: 534
skip_updates: 10
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_DWORD_R
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Total Grid Power"
id: ${device_type}_Total_Grid_Power
register_type: holding
address: 625
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 10
name: "${device_type}-Daily Energy Bought"
id: ${device_type}_Daily_Energy_Bought
register_type: holding
address: 520
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 10
name: "${device_type}-Daily Energy Sold"
id: ${device_type}_Daily_Energy_Sold
register_type: holding
address: 521
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 10
name: "${device_type}-Total Energy Bought"
id: ${device_type}_Total_Energy_Bought
register_type: holding
address: 522
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 10
name: "${device_type}-Total Energy Sold"
id: ${device_type}_Total_Energy_Sold
register_type: holding
address: 524
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller #Total Consumption
modbus_controller_id: ${modbus_controller_id}
skip_updates: 10
name: "${device_type}-Total Consumption"
id: ${device_type}_Total_Consumption
register_type: holding
address: 527
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 2
value_type: U_DWORD_R
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 10
name: "${device_type}-active power generation of today"
id: ${device_type}_active_power_generation_of_today
register_type: holding
address: 502
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: S_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Grid Current L1"
id: ${device_type}_Grid_Current_L1
register_type: holding
address: 630
unit_of_measurement: "A"
state_class: "measurement"
accuracy_decimals: 1
filters:
- multiply: 0.01
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Grid Current L2"
id: ${device_type}_Grid_Current_L2
register_type: holding
address: 631
unit_of_measurement: "A"
state_class: "measurement"
accuracy_decimals: 1
filters:
- multiply: 0.01
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Grid Current L3"
id: ${device_type}_Grid_Current_L3
register_type: holding
address: 632
unit_of_measurement: "A"
state_class: "measurement"
accuracy_decimals: 1
filters:
- multiply: 0.01
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Grid Voltage L1"
id: ${device_type}_Grid_Voltage_L1
register_type: holding
address: 598
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Grid Voltage L2"
id: ${device_type}_Grid_Voltage_L2
register_type: holding
address: 599
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Grid Voltage L3"
id: ${device_type}_Grid_Voltage_L3
register_type: holding
address: 600
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
#####################
##################
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Load Phase Voltage A"
id: ${device_type}_Load_Phase_Voltage_A
register_type: holding
address: 644
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Load Phase Voltage B"
id: ${device_type}_Load_Phase_Voltage_B
register_type: holding
address: 645
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Load Phase Voltage C"
id: ${device_type}_Load_Phase_Voltage_C
register_type: holding
address: 646
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 0
filters:
- multiply: 0.1
value_type: U_WORD
##################
#####################
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Internal CT L1 Power"
id: ${device_type}_Internal_CT_L1_Power
register_type: holding
address: 604
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Internal CT L2 Power"
id: ${device_type}_Internal_CT_L2_Power
register_type: holding
address: 605
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Internal CT L3 Power"
id: ${device_type}_Internal_CT_L3_Power
register_type: holding
address: 606
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Internal total Power"
id: ${device_type}_Internal_total_Power
register_type: holding
address: 607
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-External CT L1 Power"
id: ${device_type}_External_CT_L1_Power
register_type: holding
address: 616
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-External CT L2 Power"
id: ${device_type}_External_CT_L2_Power
register_type: holding
address: 617
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-External CT L3 Power"
id: ${device_type}_External_CT_L3_Power
register_type: holding
address: 618
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Out-of-grid–total power"
id: ${device_type}_out_of_grid_total_power
register_type: holding
address: 619
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller # Load totalpower
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Load totalpower"
id: ${device_type}_Load_totalpower
register_type: holding
address: 653
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Warning1"
id: ${device_type}_Warning1
register_type: holding
address: 553
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Warning2"
id: ${device_type}_Warning2
register_type: holding
address: 554
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Warning3"
id: ${device_type}_Warning3
register_type: holding
address: 555
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Error1"
id: ${device_type}_Error1
register_type: holding
address: 556
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Error2"
id: ${device_type}_Error2
register_type: holding
address: 557
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Error3"
id: ${device_type}_Error3
register_type: holding
address: 558
accuracy_decimals: 0
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Failure status of communication board"
id: ${device_type}_Failure_status_of_communication_board
register_type: holding
address: 548
accuracy_decimals: 0
value_type: U_WORD
# Battery
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
# skip_updates: 5
name: "${device_type} Daily Battery Charge"
id: deye_Daily_Battery_Charge
icon: mdi:battery-plus
register_type: holding
address: 514
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_WORD
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
# skip_updates: 5
name: "${device_type} Daily Battery Discharge"
id: deye_Daily_Battery_Discharge
icon: mdi:battery-minus
register_type: holding
address: 515
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_WORD
filters:
- multiply: 0.1
# 2 sensors above
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 5
name: "${device_type}-Total charge of the battery"
id: ${device_type}_battery_total_charge
register_type: holding
address: 516
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_DWORD_R
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 5
name: "${device_type}-Total discharge of the battery"
id: ${device_type}_battery_total_discharge
register_type: holding
address: 518
unit_of_measurement: "kWh"
state_class: "total_increasing"
device_class: energy
accuracy_decimals: 1
value_type: U_DWORD_R
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-battery temperature"
id: ${device_type}_battery_temperature
register_type: holding
address: 586
unit_of_measurement: "°C"
accuracy_decimals: 1
value_type: U_WORD
filters:
- offset: -1000
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-battery voltage"
id: ${device_type}_battery_voltage
register_type: holding
address: 587
unit_of_measurement: "V"
state_class: "measurement"
accuracy_decimals: 2
filters:
- multiply: 0.01
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-battery capacity"
id: ${device_type}_battery_capacity
register_type: holding
address: 588
unit_of_measurement: "%"
state_class: "measurement"
accuracy_decimals: 1
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Battery output power"
id: ${device_type}_Battery_output_power
register_type: holding
address: 590
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Battery output current"
id: ${device_type}_Battery_output_current
register_type: holding
address: 591
unit_of_measurement: "A"
state_class: "measurement"
accuracy_decimals: 2
filters:
- multiply: 0.01
value_type: S_WORD
#######
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Load UPS L1 Power"
id: ${device_type}_Load_UPS_L1_Power
register_type: holding
address: 640
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Load UPS L2 Power"
id: ${device_type}_Load_UPS_L2_Power
register_type: holding
address: 641
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Load UPS L3 Power"
id: ${device_type}_Load_UPS_L3_Power
register_type: holding
address: 642
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: ${modbus_controller_id}
skip_updates: 2
name: "${device_type}-Load UPS Power"
id: ${device_type}_Load_UPS_Power
register_type: holding
address: 643
unit_of_measurement: "W"
state_class: "measurement"
accuracy_decimals: 0
value_type: S_WORD
########
select:
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: ${device_type}-Energy priority
address: 141
value_type: U_WORD
optionsmap:
"Battery first": 0
"Load first": 1
- platform: modbus_controller
use_write_multiple: true
modbus_controller_id: ${modbus_controller_id}
name: "${device_type}-Limit control mode"
address: 142
value_type: U_WORD
optionsmap:
"Selling first": 0
"Zero export to load": 1
"Zero export to CT": 2