Po zmianie miejsca zamieszkania okazało się że jest tu zainstalowany licznik przedpłatowy, który jakoś został tu z nami 3 lata, pomimo nacisków operatora aby go zmienić. Licznik ten jak praktycznie każdy montowany w UK nie pozwala w łatwy sposób pobrać z niego danych odnośnie poboru u zużycia energii elektrycznej. Aby zrobić z niego SMART dane dla HomeAssistant konieczne jest obudowanie go sprzętem.
Przez rok czasu był miernik poprzez CT clamp 100A, taki jak HomeAssistant - 1 kanałowy miernik energii , po roku dodany został czujnik impulsów i pomiary były robione równolegle w celach porównawczych. Na trzeci rok okazało się że oba wskazują w miarę poprawnie z przewagą na dokładniejsze wskazania impulsowego, ale to było 1-2 kWh miesięcznie , czyli pomyłka na poziomie maksymalnie 1-2£ miesięcznie jest dla mnie akceptowalna.
Bazą projektu jest ESP8266 w zupełności wystarczające do tego zadania. ESP zostało wyposażone w CT clamp a także czujnik światła którego zadaniem jest zliczanie błysków diody w liczniku. W moim przypadku licznik musi dać 800 impulsów na każde 1kW energii pobranej.
Takie urządzenie zostało zamontowane na panelu przednim licznika w sposób bezinwazyjny. Ta czarna kropka na która wskazuje strzałka to dioda czerwona.
Montujemy czujnik dokładnie przed diodą
i podchodzimy do programowania naszego ESP przy pomocy ESPHome
esphome:
name: electricity-grid
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: ""
ota:
- platform: esphome
password: ""
wifi:
networks:
- ssid:
password:
- ssid:
password:
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Electricity-Grid"
password: ""
status_led:
pin: GPIO2
web_server:
port: 80
time:
- platform: homeassistant
id: homeassistant_time
captive_portal:
sensor:
# WiFi signal sensor
- platform: wifi_signal
name: "SmartGRID wifi"
update_interval: 60s
# Pulse sensor electricity meter counter
- platform: pulse_meter
pin: 14
id: pulse_watts
unit_of_measurement: 'kW'
name: 'SmartGRID_pulse Electricity Usage'
internal_filter: 200ms
accuracy_decimals: 3
filters:
# - multiply: 0.06 # Multiply for meter 1000imp per kWh
- multiply: 0.075 # Multiply for meter 800imp per kWh
total:
name: "SmartGRID_pulse-Electricity-Total"
unit_of_measurement: "kWh"
accuracy_decimals: 3
filters:
# Multiplication factor from W to kW is 0.001
- multiply: 0.001
# This sensor will give you a Daily kW reading
- platform: total_daily_energy
name: "SmartGRID_pulse Daily Energy"
unit_of_measurement: 'kWh'
power_id: pulse_watts
filters:
- multiply: 1
device_class: energy
Konieczne będzie prawdopodobnie zmniejszenie czułości sensora i generalnie pewna kalibracja, gdyż w każdym liczniku może dioda mieć inny poziom jasności i czas "gaśnięcia".
Pod adresem IP ESP8266 możemy zobaczyć dane zebrane za pomocą sensora ( po odpowiednich obliczeniach bazujących na ilości impulsów )
Integracja z Home Assistant daje nam dostęp do tych danych
a to już połowa sukcesu w robieniu sobie panelu monitorującego bieżące i historyczne zużycie prądu.
W połączeniu z HomeAssistant - 1 kanałowy miernik energii , HomeAssistant - 4 kanałowy miernik energii i innymi urządzeniami pomiarowymi dostajemy pełen obraz poboru prądu przez cały dom, ale także przez poszczególne obwody.
Pomiar w taki sposób robię od 2-3 lat i sprawdza się poprawnie.