Miernik jest tu słowem trochę nie na miejscu, to bardziej wskaźnik poboru energii, ale zasadniczo spełnia swoje zadanie. Urządzenie bazuje na ESP8266 i jego zadaniem jest pomiar poboru prądu przemiennego 240V, i dane te wraz z innymi sensorami wzbogacają możliwości HomeAssistant.
Urządzenie to wymaga do pracy CT CLAMP który jest zakładany na żyłę dodatnią tak zwaną live.
ESP8266 programowane jest dzięki ESPHome jakie jest elementem HomeAssistant. Oczywiście proces wgrywania / aktualizacji będzie częsty ponieważ takie urządzenie trzeba poprawnie wyskalować aby poprawnie wskazywało ilość pobieranych na danej linii energii.
Przykładowy kod
esphome:
name: clamp1-meter
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: "Clamp1-Meter Fallback Hotspot"
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: "ShedGRID wifi"
update_interval: 60s
# CT Clamp electricity meter
- platform: ct_clamp
sensor: adc_sensor
name: "ShedGRID True Current" # This first sensor gets the Amps, note that is set to internal only.
id: the_clamp
internal: true
update_interval: 5s
filters:
- calibrate_linear: # Calibrate your own stuff here, mine is only used for the car charger, therefore I'm pulling approx 28A
- 0.00010 -> 0.004
- 0.00055 -> 0.175
- 0.00100 -> 0.229
- platform: template
name: "ShedGRID Current" # This sensor is the one that gets seen by HA, if the reading is below 0.1A then it reports 0, keeps your 0 at 0
id: templated_sensor
lambda: |-
if (id(the_clamp).state > 0.1){
return (id(the_clamp).state);
} else {
return 0.0;
}
device_class: current
update_interval: 5s
accuracy_decimals: 2
unit_of_measurement: A
- platform: template
name: "ShedGRID Watts" # This sensor converts the Amps to Watts (this is assuming that your voltage is 230, if not change the 230 accordingly)
id: esp_watts
lambda: |-
return id(templated_sensor).state * 240;
accuracy_decimals: 2
update_interval: 5s
device_class: power
unit_of_measurement: W
# This sensor will give you a Daily kW reading
- platform: total_daily_energy
name: "ShedGRID Daily Energy"
unit_of_measurement: 'kWh'
power_id: esp_watts
filters:
- multiply: 0.001
device_class: energy
- platform: adc
pin: A0
id: adc_sensor
- platform: ct_clamp
sensor: adc_sensor
name: "raw values"
internal: true
update_interval: 5s
unit_of_measurement: mA
accuracy_decimals: 5
Poprawny flash powinien doprowadzić do tego że urządzenie będzie widoczne w naszej sieci lokalnej dzięki wbudowanemu WiFi, a pod jego adresem IP będziemy widzieli wskazania.
HomeAssistant po poprawnej integracji pozwoli mieć zdalnie dostęp do tych samych danych.
Tak więc już teraz możemy dodać sobie takie urządzenie do naszego panelu sterowania i cieszyć się zbieranymi statystykami.
Po zakończonej kalibracji i konfiguracji, umieszczamy je w obudowie i montujemy w miejscu dla niego przeznaczonym.
UWAGA !!! Urządzenie ( CT Clamp ) wymaga fizycznego dostępu do kabla plusowego - L , bez konieczności jego rozłączania, niemniej nie będzie działać przy założeniu na cały przewód, przykładowo przedłużacz.
Osobiście mam zainstalowane jest w rozdzielni - dlatego jest to rozwiązanie dla ludzi mogących i wiedzących jak postępować z przewodami energetycznymi.