esphome: name: n10 friendly_name: n10 esp32: board: esp32-s3-devkitc-1 framework: type: arduino logger: # baud_rate: 0 api: ota: platform: esphome ethernet: type: W5500 clk_pin: GPIO42 mosi_pin: GPIO43 miso_pin: GPIO44 cs_pin: GPIO41 interrupt_pin: GPIO2 reset_pin: GPIO1 uart: id: uart_modbus rx_pin: 9 tx_pin: 10 baud_rate: 115200 stop_bits: 1 data_bits: 8 parity: NONE web_server: port: 80 text_sensor: - platform: ethernet_info ip_address: name: ESP IP Address id: eth_ip dns_address: name: ESP DNS Address mac_address: name: ESP MAC Address font: - file: "gfonts://Roboto" id: roboto size: 15 i2c: sda: 18 scl: 17 display: - platform: ssd1306_i2c model: "SSD1306 128x64" address: 0x3C lambda: |- it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str()); modbus: id: mb1 uart_id: uart_modbus modbus_controller: - id: energy_meter modbus_id: mb1 address: 1 update_interval: 5s command_throttle: 200ms sensor: # Protocol notes for this PR: # - current: U_DWORD_R, scaled by 0.001 A # - power: S_DWORD_R, scaled by 0.1 W # - energy: FP32_R, unit kWh # - voltage/frequency remain U_WORD * 0.01 # - temperature remains FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 100 register_type: holding name: bl0910_1_current_1 id: n10_1_current_1 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 102 register_type: holding name: bl0910_1_current_2 id: n10_1_current_2 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 104 register_type: holding name: bl0910_1_current_3 id: n10_1_current_3 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 106 register_type: holding name: bl0910_1_current_4 id: n10_1_current_4 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 108 register_type: holding name: bl0910_1_current_5 id: n10_1_current_5 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 110 register_type: holding name: bl0910_1_current_6 id: n10_1_current_6 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 112 register_type: holding name: bl0910_1_current_7 id: n10_1_current_7 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 114 register_type: holding name: bl0910_1_current_8 id: n10_1_current_8 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 116 register_type: holding name: bl0910_1_current_9 id: n10_1_current_9 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 118 register_type: holding name: bl0910_1_current_10 id: n10_1_current_10 unit_of_measurement: A device_class: current state_class: measurement accuracy_decimals: 3 value_type: U_DWORD_R filters: - multiply: 0.001 - platform: modbus_controller modbus_controller_id: energy_meter address: 120 register_type: holding name: bl0910_1_power_1 id: n10_1_watt_1 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 122 register_type: holding name: bl0910_1_power_2 id: n10_1_watt_2 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 124 register_type: holding name: bl0910_1_power_3 id: n10_1_watt_3 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 126 register_type: holding name: bl0910_1_power_4 id: n10_1_watt_4 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 128 register_type: holding name: bl0910_1_power_5 id: n10_1_watt_5 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 130 register_type: holding name: bl0910_1_power_6 id: n10_1_watt_6 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 132 register_type: holding name: bl0910_1_power_7 id: n10_1_watt_7 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 134 register_type: holding name: bl0910_1_power_8 id: n10_1_watt_8 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 136 register_type: holding name: bl0910_1_power_9 id: n10_1_watt_9 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 138 register_type: holding name: bl0910_1_power_10 id: n10_1_watt_10 unit_of_measurement: W device_class: power state_class: measurement accuracy_decimals: 1 value_type: S_DWORD_R filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: energy_meter address: 140 register_type: holding name: bl0910_1_energy_1 id: n10_1_energy_1 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 142 register_type: holding name: bl0910_1_energy_2 id: n10_1_energy_2 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 144 register_type: holding name: bl0910_1_energy_3 id: n10_1_energy_3 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 146 register_type: holding name: bl0910_1_energy_4 id: n10_1_energy_4 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 148 register_type: holding name: bl0910_1_energy_5 id: n10_1_energy_5 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 150 register_type: holding name: bl0910_1_energy_6 id: n10_1_energy_6 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 152 register_type: holding name: bl0910_1_energy_7 id: n10_1_energy_7 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 154 register_type: holding name: bl0910_1_energy_8 id: n10_1_energy_8 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 156 register_type: holding name: bl0910_1_energy_9 id: n10_1_energy_9 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 158 register_type: holding name: bl0910_1_energy_10 id: n10_1_energy_10 unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 160 register_type: holding name: bl0910_1_energy_sum id: n10_1_energy_sum unit_of_measurement: kWh device_class: energy state_class: total_increasing accuracy_decimals: 3 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 162 register_type: holding name: bl0910_1_voltage id: n10_1_voltage unit_of_measurement: V device_class: voltage state_class: measurement accuracy_decimals: 2 value_type: U_WORD filters: - multiply: 0.01 - platform: modbus_controller modbus_controller_id: energy_meter address: 163 register_type: holding name: bl0910_1_frequency id: n10_1_frequency unit_of_measurement: Hz device_class: frequency state_class: measurement accuracy_decimals: 2 value_type: U_WORD filters: - multiply: 0.01 - platform: modbus_controller modbus_controller_id: energy_meter address: 164 register_type: holding name: bl0910_1_temperature id: n10_1_temperature unit_of_measurement: °C device_class: temperature state_class: measurement accuracy_decimals: 1 value_type: FP32_R - platform: modbus_controller modbus_controller_id: energy_meter address: 166 register_type: holding name: bl0910_1_power_factor id: n10_1_power_factor accuracy_decimals: 3 state_class: measurement value_type: FP32_R