Wśród dostępnych w Home Assistancie encji czy to standardowych czy dodanych przez integracje zawsze zabraknie jakieś, która jest nam w danej chwili potrzebna.
W moim przypadku potrzebowałem encji przedstawiającej sumę energii wyprodukowanej przez 3 falowniki. Niniejszy artykuł opisuje jak taką encję stworzyć.
Falownik wystawia u mnie dzienną produkcję w kWh w postaci encji sensor.sofar1_energy_today oraz sumę produkcji sensor.sofar1_energy_total. Musimy pobrudzić sobie ręce i dodać kod w pliku configuration.yaml, póki co innej metody nie ma.
Szukamy sekcji template, jeżeli jej nie ma to ją tworzymy, dodajemy stosowny kod:
template:
- sensor:
- name: sofar_sum_energy_today
unit_of_measurement: "kWh"
device_class: 'energy'
state_class: 'total_increasing'
state: "{{ states('sensor.sofar1_energy_today') | float(0) + states('sensor.sofar2_energy_today') | float(0) + states('sensor.sofar3_energy_today') | float(0) }}"
- sensor:
- name: sofar_sum_energy_total
device_class: 'energy'
state_class: 'total_increasing'
unit_of_measurement: "kWh"
state: "{{ states('sensor.sofar1_energy_total') | float(0) + states('sensor.sofar2_energy_total') | float(0) + states('sensor.sofar3_energy_total') | float(0) }}"
- sensor:
- name: sofar_sum_power
device_class: 'power'
state_class: 'measurement'
unit_of_measurement: "W"
state: "{{ states('sensor.sofar1_ac_power') | float(0) + states('sensor.sofar2_ac_power') | float(0) + states('sensor.sofar3_ac_power') | float(0) }}"
Pamiętamy o wcięciach - są ważne i niewłaściwe ich użycie spowodoje, że Home Assistant nie będzie działa poprawnie.
Po dodaniu kody i zapisaniu zmian przechodzimy do sekcji nadzędzie deweloperskie gdzie w zakładce YAML wybieramy sprawdź konfigurację. Jeżeli nie wykryto problemów to śmiało należy ponownie uruchomić Home Assistanta. Poprawność działania nowych encji można sprawdzić w zakładce stany sekcji deweloperskiej.
Jeżeli dla jakiegoś tak utworzonego sensora nie generują się statystki to należy w narzędziach deweloperskich w zakładce statystki odnaleźć właściwą encję i wybrać opcję napraw.