Carlo Gavazzi EM340 - martgras/esphome GitHub Wiki
Sample for the Carlo Gavazzi EM340 3 phase power analyzer.
## Can be removed after the next esphome release
external_components:
- source:
type: git
url: https://github.com/esphome/esphome
ref: dev
components: [ modbus, modbus_controller ]
substitutions:
updates: 60s
dev: em340meter
esphome:
name: ${dev}
platform: ESP8266
board: nodemcuv2
uart:
id: modbus_serial
tx_pin: D0
rx_pin: D1
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: VolL1L2
platform: modbus_controller
name: "${dev} Voltage L1-L2"
address: 0x0006
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: VolL2L3
platform: modbus_controller
name: "${dev} Voltage L2-L3"
address: 0x0008
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: VolL3L1
platform: modbus_controller
name: "${dev} Voltage L3-L1"
address: 0x000A
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: kVAL1
platform: modbus_controller
name: "${dev} kVA L1"
address: 0x0018
register_count: 2
unit_of_measurement: "VA"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kVAL2
platform: modbus_controller
name: "${dev} kVA L2"
address: 0x001A
register_count: 2
unit_of_measurement: "VA"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kVAL3
platform: modbus_controller
name: "${dev} kVA L3"
address: 0x001C
register_count: 2
unit_of_measurement: "VA"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kvarL1
platform: modbus_controller
name: "${dev} kvar L1"
address: 0x001E
register_count: 2
unit_of_measurement: "var"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kvarL2
platform: modbus_controller
name: "${dev} kvar L2"
address: 0x0020
register_count: 2
unit_of_measurement: "var"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: kvarL3
platform: modbus_controller
name: "${dev} kvar L3"
address: 0x0022
register_count: 2
unit_of_measurement: "var"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: VsysLN
platform: modbus_controller
name: "${dev} sys L-N"
address: 0x0024
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: VsysLL
platform: modbus_controller
name: "${dev} sys L-L"
address: 0x0026
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: 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: kVAsys
platform: modbus_controller
name: "${dev} sys kVA"
address: 0x002A
register_count: 2
unit_of_measurement: "VA"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: VARsys
platform: modbus_controller
name: "${dev} sys kvar"
address: 0x002C
register_count: 2
unit_of_measurement: "var"
register_type: read
value_type: S_DWORD_R
accuracy_decimals: 1
device_class: power
filters:
- multiply: 0.1
- id: PFL1
platform: modbus_controller
name: "${dev} PF L1"
address: 0x002E
register_count: 1
unit_of_measurement: "%"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
device_class: power_factor
filters:
- multiply: 0.001
- id: PFL2
platform: modbus_controller
name: "${dev} PF L2"
address: 0x002F
unit_of_measurement: "%"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
device_class: power_factor
filters:
- multiply: 0.001
- id: PFL3
platform: modbus_controller
name: "${dev} PF L3"
address: 0x0030
unit_of_measurement: "%"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
device_class: power_factor
filters:
- multiply: 0.001
- id: PFsys
platform: modbus_controller
name: "${dev} PF sys"
address: 0x0031
unit_of_measurement: "%"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
device_class: power_factor
filters:
- multiply: 0.001
- 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