전기계량기 측정량에 셀리 에너지미터 측정값 뺀것을 오프셋으로 설정하여 누적 전기 사용량으로 소스 설정.
input_number.energy_pulse에 계량기에 표시된 값을 입력하면 자동화에 의해 input_number.energy_offset에 오프셋값이 계산됨.
템플릿센서인 sensor.energy_total은 셀리 에너지미터와 오프셋값을 더한 값이 되고 이 센서를 일/월/년의 유틸리티미터 소스 센서로 정하면 됨.
정전이나 HA서버 다운등으로 인해 측정값이 달라지는 것을 보정하려면 input_number.energy_pluse에 새로 계량기값을 넣으면 오프셋이 재설정.
configuration.yaml
input_number: !include input_number.yaml
automation: !include automations.yaml
template: !include template.yaml
input_number.yaml
energy_pulse:
name: Energy Pulse
unit_of_measurement: kWh
max: 300000
step: 0.1
mode: box
energy_offset:
name: Energy Offset
unit_of_measurement: kWh
max: 100000
step: 0.1
automations.yaml
- id: 입력-Energy/Offset
alias: 입력-Energy/Offset
triggers:
- trigger: state
entity_id: input_number.energy_pulse
actions:
- action: input_number.set_value
target:
entity_id: input_number.energy_offset
data:
value: >
{{ states('input_number.energy_pulse') | float(0)
- states('sensor.shellyem_ch2_energy') | float(0) }}
template.yaml
sensor:
- name: "Energy Total"
unique_id: energy_total
state: "{{ states('sensor.shellyem_ch2_energy') | float(0)
+ states('input_number.energy_offset') | float(0) }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing