Skip to content

Instantly share code, notes, and snippets.

@AMajland
Created February 5, 2023 20:06
Show Gist options
  • Save AMajland/2caf503dc35a35a37e83d61400a08f94 to your computer and use it in GitHub Desktop.
Save AMajland/2caf503dc35a35a37e83d61400a08f94 to your computer and use it in GitHub Desktop.
ESPhome for d1-em340-heatpump.yaml
esphome:
name: d1-em340-heatpump
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "DELETED"
ota:
password: "DELETED"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "D1-Em340-Heatpump"
password: "DELETED"
captive_portal:
external_components:
- source:
type: git
url: https://github.com/esphome/esphome
ref: dev
components: [ modbus, modbus_controller ]
substitutions:
updates: 60s
dev: em340meter
uart:
id: modbus_serial
tx_pin: D3
rx_pin: D4
baud_rate: 9600
stop_bits: 1
modbus:
uart_id: modbus_serial
id: em340_modbus
modbus_controller:
modbus_id: em340_modbus
command_throttle: 500ms
id: em340
update_interval: ${updates}
address: 0x0001
sensor:
- id: VolL1N
platform: modbus_controller
name: "${dev} Voltage L1-N"
address: 0x0000
register_count: 2
unit_of_measurement: "V"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: voltage
filters:
- multiply: 0.1
- id: VolL2N
platform: modbus_controller
name: "${dev} Voltage L2-N"
address: 0x0002
register_count: 2
unit_of_measurement: "V"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: voltage
filters:
- multiply: 0.1
- id: VolL3N
platform: modbus_controller
name: "${dev} Voltage L3-N"
address: 0x0004
register_count: 2
unit_of_measurement: "V"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: voltage
filters:
- multiply: 0.1
- id: AmpL1
platform: modbus_controller
name: "${dev} Ampere L1"
address: 0x000C
register_count: 2
unit_of_measurement: "A"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: current
filters:
- multiply: 0.001
- id: AmpL2
platform: modbus_controller
name: "${dev} Ampere L2"
address: 0x000E
register_count: 2
unit_of_measurement: "A"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: current
filters:
- multiply: 0.001
- id: AmpL3
platform: modbus_controller
name: "${dev} Ampere L3"
address: 0x0010
register_count: 2
unit_of_measurement: "A"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: current
filters:
- multiply: 0.001
- id: kWL1
platform: modbus_controller
name: "${dev} kW L1"
address: 0x0012
register_count: 2
unit_of_measurement: "W"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kWL2
platform: modbus_controller
name: "${dev} kW L2"
address: 0x0014
register_count: 2
unit_of_measurement: "W"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kWL3
platform: modbus_controller
name: "${dev} kW L3"
address: 0x0016
register_count: 2
unit_of_measurement: "W"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kWsys
platform: modbus_controller
name: "${dev} sys kW"
address: 0x0028
register_count: 2
unit_of_measurement: "W"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: phasesequence
platform: modbus_controller
name: "${dev} phase sequence"
address: 0x0032
register_type: read
value_type: S_WORD
- id: Hz
platform: modbus_controller
name: "${dev} Hz"
address: 0x0033
unit_of_measurement: "Hz"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- id: kWhintotal
platform: modbus_controller
name: "${dev} kWh in total"
address: 0x0034
unit_of_measurement: "kWh"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
filters:
- multiply: 0.1
- id: kWhouttotal
platform: modbus_controller
name: "${dev} kWh out total"
address: 0x004E
unit_of_measurement: "kWh"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
filters:
- multiply: 0.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment