Instalacja jest dość intuicyjna. System bezpłatny. Świetnie wspierany i ciągle rozwijany o nowe integracje. Odpalić go można w sieci domowej nawet na malutkim raspberry albo jakiejkolwiek maszynie wirtualnej. Materiałów na Youtubie i w necie jest mnóstwo. Przykładowy [YT] Jak zainstalować Home Assistante? Instalacja hassio na raspberry pi karta SD
Oficjalna strona Home Assitant i jak zacząc (en)
Cutując Zaplanuj swój dom
.... Home Assistant został stworzony z myślą o usprawnieniu procesu projektowania systemu inteligentnego. ...Następną kwestią, która mnie przekonała to świetnie przygotowana dokumentacja.....W przeciwieństwie do Domoticza, Home Assistant po prostu wygląda świetnie. Posiada wiele integracji (juz 1725 darmowych rozszerzeń - stan na 4.1.2021), które mają znaczenie w późniejszych etapach rozwoju automatycznego domu.
W tym poście
- Jak zdobyć link do JSON'a z Mewki z Supla.org
- Jak przygotować Home Assistant (dalej HA) do wklejenia kodu
- Co wkleić
- Gdzie szukać stanów sensorów
- Jak używać automatyzacji
- MQTT i jak to ugryżć
- Co dalej?
1. Jak zdobyć link do JSON'a z Mewki z Supla.org
- mew podpiety pod clouda Supli
- W przeglądarce logujemy się do swojego konta na supli https://www.supla.org/pl/ i Moja Supla -> Zamel Mew-01 -> jeszcze raz w licznik -> utwórz nowy link bezpośredni (uprawnienia read)
- kopiujemy link do wykorzystania na potem bo trzeba go bedzie użyć w kodzie w HA.
Jeżeli chcesz w bardziej przystępnej formie zobaczyć co właśnie opublikowałeś w internecie to wklej w przeglądarce ten link i doklej na końcu adresu
Link będzie wyglądać tak: https://svr3.supla.org/direct/000/xxxyy ... ormat=json i możesz sobie odświeżając podejrzeć co i jakiej strukturze jest opublikowane jako JSON. Jezeli korzystasz ze swoich skryptów to dobra okazja żeby zobaczyć co można na żywo wyciągać z Mewki via suplowe API?format=json
2. Jak przygotować Home Assistant (dalej HA) do wklejenia kodu
W Home Assistant będziemy konfigurować wiele sensorów, jeden binary_sensor i wiele automatyzacji. Żeby nie latać po wielu plikach konfiguracyjnych najwygodniej jest edytować wszystko z poziomu jednego pliku. Aby Home Assistant wiedział że ma pobrać różne rodzaje wpisów z jednego pliku YAML wystarczą dwa kroki.
1. W pliku configurations.yaml dodaj linie[*][*] (dwie spacje lub wciecie na początku!)
Kod: Zaznacz cały
packages: !include_dir_named packages
2. w katalogu /packages dodaj sobie plik np mew01.yaml (nazwa dowolna - wazne rozszerzenie .yaml i wklej tam zawartość kodu z dołu tego wątku - nie zapomnij podmienic na swoje link wpisu w liniii 6.
3. zrestaruj HA. Wszystkie sensory i wskazania będą dostępne w HA.
3. Co wkleić
Kod do pliku jest na końcu tego posta
4. Gdzie szukać stanów sensorów
Obejrzyj sobie czy wszystko działa. Najszybciej jak skorzystasz z lewgo menu HA -> Narzedzia deweloperskie->Stany
Jezeli nie zmienisz kodu ponizej to mozesz szybko przefiltrować sensory na podstawie np słowa "mew" 5. Jak używać automatyzacji
lorem ipsum
6. MQTT i jak to ugryżć
lorem ipsum
7. Co dalej?
lorem ipsum
---
Kod źródłowy
Kod do wklejenia do mew01.yaml w katalogu /packages (wersja rozwojowa - roboczo):
Kod: Zaznacz cały
# wersja z 2021-01-07 14:53
# Głowny sensor ktory pobiera dane z MEWki co 30 sekund. Instrukcja aktywacji linku watku powyzej
sensor:
- platform: rest
name: Licznik MEW REST # tu kluczowa nazwa - dzieki temu odwolania ponizej sa do sensor.licznik_mew_rest
resource: https://svr3.supla.org/direct/600/xxxyyyyzzz/read # wklej swoj wlasny kod wg instrukcji z tego posta
value_template: '{{ value_json.totalCost }}'
json_attributes:
- phases
- connected
- currency
- pricePerUnit
- support
unit_of_measurement: 'PLN'
# na bazie tego sensora powyżej rozpoczynamy wyciąganie danych szcegołowych z MEWki i konkretnych faz plus w locie robimy sobie sumy
- platform: template
sensors:
licznik_mew_faza1_totalforwardactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].totalForwardActiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza2_totalforwardactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].totalForwardActiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza3_totalforwardactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].totalForwardActiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza123_totalforwardactiveenergy:
value_template: >-
{{ ((states.sensor.licznik_mew_faza1_totalforwardactiveenergy.state | float)
+ (states.sensor.licznik_mew_faza2_totalforwardactiveenergy.state | float)
+ (states.sensor.licznik_mew_faza3_totalforwardactiveenergy.state | float)) | round(2)}}
unit_of_measurement: 'kWh'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza1_poweractive:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].powerActive }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza2_poweractive:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].powerActive }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza3_poweractive:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].powerActive }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza123_poweractive:
value_template: >-
{{ ((states.sensor.licznik_mew_faza1_poweractive.state | float)
+ (states.sensor.licznik_mew_faza2_poweractive.state | float)
+ (states.sensor.licznik_mew_faza3_poweractive.state | float)) | round(2) }}
unit_of_measurement: 'W'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza123_poweractive_kw:
value_template: >-
{{ (((states.sensor.licznik_mew_faza1_poweractive.state | float)
+ (states.sensor.licznik_mew_faza2_poweractive.state | float)
+ (states.sensor.licznik_mew_faza3_poweractive.state | float) )/1000 ) | round(2)}}
unit_of_measurement: 'kW'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza1_frequency:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].frequency }}'
device_class: power
unit_of_measurement: 'Hz'
licznik_mew_faza2_frequency:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].frequency }}'
device_class: power
unit_of_measurement: 'Hz'
licznik_mew_faza3_frequency:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].frequency }}'
device_class: power
unit_of_measurement: 'Hz'
licznik_mew_faza1_current:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].current }}'
device_class: power
unit_of_measurement: 'A'
licznik_mew_faza2_current:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].current }}'
device_class: power
unit_of_measurement: 'A'
licznik_mew_faza3_current:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].current }}'
device_class: power
unit_of_measurement: 'A'
licznik_mew_faza1_voltage:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].voltage }}'
device_class: power
unit_of_measurement: 'V'
licznik_mew_faza2_voltage:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].voltage }}'
device_class: power
unit_of_measurement: 'V'
licznik_mew_faza3_voltage:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].voltage }}'
device_class: power
unit_of_measurement: 'V'
licznik_mew_faza1_powerreactive:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].powerReactive }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza2_powerreactive:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].powerReactive }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza3_powerreactive:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].powerReactive }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza123_powerreactive:
value_template: >-
{{ ((states.sensor.licznik_mew_faza1_powerreactive.state | float)
+ (states.sensor.licznik_mew_faza2_powerreactive.state | float)
+ (states.sensor.licznik_mew_faza3_powerreactive.state | float)) | round(2) }}
unit_of_measurement: 'W'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza123_powerreactive_kw:
value_template: >-
{{ (((states.sensor.licznik_mew_faza1_powerreactive.state | float)
+ (states.sensor.licznik_mew_faza2_powerreactive.state | float)
+ (states.sensor.licznik_mew_faza3_powerreactive.state | float) )/1000 ) | round(2)}}
unit_of_measurement: 'kW'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza1_powerapparent:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].powerApparent }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza2_powerapparent:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].powerApparent }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza3_powerapparent:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].powerApparent }}'
device_class: power
unit_of_measurement: 'W'
licznik_mew_faza1_powerfactor:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].powerFactor }}'
device_class: power
unit_of_measurement: ''
licznik_mew_faza2_powerfactor:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].powerFactor }}'
device_class: power
unit_of_measurement: ''
licznik_mew_faza3_powerfactor:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].powerFactor }}'
device_class: power
unit_of_measurement: ''
licznik_mew_faza1_phaseangle:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].phaseAngle }}'
device_class: power
unit_of_measurement: '°'
licznik_mew_faza2_phaseangle:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].phaseAngle }}'
device_class: power
unit_of_measurement: '°'
licznik_mew_faza3_phaseangle:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].phaseAngle }}'
device_class: power
unit_of_measurement: '°'
licznik_mew_faza1_totalreverseactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].totalReverseActiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza2_totalreverseactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].totalReverseActiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza3_totalreverseactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].totalReverseActiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza123_totalreverseactiveenergy:
value_template: >-
{{ ((states.sensor.licznik_mew_faza1_totalReverseActiveEnergy.state | float)
+ (states.sensor.licznik_mew_faza2_totalReverseActiveEnergy.state | float)
+ (states.sensor.licznik_mew_faza3_totalReverseActiveEnergy.state | float)) | round(2)}}
unit_of_measurement: 'kWh'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza1_totalforwardreactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].totalForwardReactiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza2_totalforwardreactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].totalForwardReactiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza3_totalforwardreactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].totalForwardReactiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza123_totalforwardreactiveenergy:
value_template: >-
{{ ((states.sensor.licznik_mew_faza1_totalForwardReactiveEnergy.state | float)
+ (states.sensor.licznik_mew_faza2_totalForwardReactiveEnergy.state | float)
+ (states.sensor.licznik_mew_faza3_totalForwardReactiveEnergy.state | float)) | round(2)}}
unit_of_measurement: 'kWh'
device_class: power
icon_template: mdi:gauge
licznik_mew_faza1_totalreversereactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[0].totalReverseReactiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza2_totalreversereactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[1].totalReverseReactiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza3_totalreversereactiveenergy:
value_template: '{{ states.sensor.licznik_mew_rest.attributes.phases[2].totalReverseReactiveEnergy }}'
device_class: power
unit_of_measurement: 'kWh'
licznik_mew_faza123_totalreversereactiveenergy:
value_template: >-
{{ ((states.sensor.licznik_mew_faza1_totalReverseReactiveEnergy.state | float)
+ (states.sensor.licznik_mew_faza2_totalReverseReactiveEnergy.state | float)
+ (states.sensor.licznik_mew_faza3_totalReverseReactiveEnergy.state | float)) | round(2)}}
unit_of_measurement: 'kWh'
device_class: power
icon_template: mdi:gauge
#===================================
#=== rozne pomocniecze super ikonki do wuywietlania w interfejsie
#===================================
mew01_licznik_ikona:
value_template: >
{{ states('sensor.licznik_mew_faza123_poweractive_kw')|float | round(2)}}
unit_of_measurement: 'kW'
friendly_name: "Licznik MEW01 - przyjazna ikona"
friendly_name_template: >
{% if states('sensor.licznik_mew_faza123_poweractive_kw')|float < 0.4 %}
Niskie zużycie (<0.4kW)
{% elif states('sensor.licznik_mew_faza123_poweractive_kw')|float < 1.5 %}
średnie zużycie (0.4-1.5kW)
{% else %}
Wysokie zużycie (>1.5kW)
{% endif %}
icon_template: >
{% if states('sensor.licznik_mew_faza123_poweractive_kw')|float < 0.4 %}
mdi:gauge-low
{% elif states('sensor.licznik_mew_faza123_poweractive_kw')|float < 1.5 %}
mdi:gauge
{% else %}
mdi:gauge-full
{% endif %}
attribute_templates:
ttl_dzis: >
{{states('sensor.mew01_licznik_mqtt_zuzycie_dzis')| float | round(2) }} kWh
ttl_wczoraj: >
{{ states('sensor.mew01_licznik_zuzycie_wczoraj_mqtt')| float | round(2) }} kWh
ttl_mc: >
{{ states('sensor.mew01_licznik_mqtt_zuzycie_mc')| float | round(2) }} kWh
ttl_mc_last: >
{{ states('sensor.mew01_licznik_zuzycie_poprzedni_miesiac_mqtt')| float | round(2) }} kWh
ttl_rok: >
{{ states('sensor.mew01_licznik_mqtt_zuzycie_rok')| float | round(2) }} kWh
mew01_licznik_mqtt_zuzycie_dzis:
unit_of_measurement: 'kW'
friendly_name: "Zużycie dziś MEW01 MQTT"
device_class: power
entity_id:
- sensor.mew01_licznik_koniec_dnia_stan
- sensor.licznik_mew_faza123_totalforwardactiveenergy
value_template: >-
{% set koniec_dnia = states.sensor.mew01_licznik_koniec_dnia_stan.state|float %}
{% set aktualny = states.sensor.licznik_mew_faza123_totalforwardactiveenergy.state| float %}
{{ (aktualny - koniec_dnia )|round(2) }}
mew01_licznik_mqtt_zuzycie_dzis_pln:
unit_of_measurement: 'PLN'
friendly_name: "Zużycie dziś MEW01 MQTT PLN"
value_template: >-
{{ ((states.sensor.licznik_mew_rest.attributes.pricePerUnit | float ) * ( states.sensor.mew01_licznik_mqtt_zuzycie_dzis.state |float )) | round(2) }}
mew01_licznik_mqtt_zuzycie_mc:
unit_of_measurement: 'kW'
friendly_name: "Zużycie mc MEW01 MQTT"
device_class: power
entity_id:
- sensor.mew01_licznik_koniec_mca_stan
- sensor.licznik_mew_faza123_totalforwardactiveenergy
value_template: >-
{% set koniec_mca = states.sensor.mew01_licznik_koniec_mca_stan.state|float %}
{% set aktualny = states.sensor.licznik_mew_faza123_totalforwardactiveenergy.state| float %}
{{ (aktualny - koniec_mca )|round(0) }}
mew01_licznik_mqtt_zuzycie_mc_pln:
unit_of_measurement: 'PLN'
friendly_name: "Zużycie mc MEW01 MQTT PLN"
value_template: >-
{{ ((states.sensor.licznik_mew_rest.attributes.pricePerUnit | float ) * ( states.sensor.mew01_licznik_mqtt_zuzycie_mc.state |float )) | round(2) }}
mew01_licznik_mqtt_zuzycie_rok:
unit_of_measurement: 'kW'
friendly_name: "Zużycie rok MEW01 MQTT"
device_class: power
entity_id:
- sensor.mew01_licznik_koniec_roku_stan
- sensor.licznik_mew_faza123_totalforwardactiveenergy
value_template: >-
{% set koniec_roku = states.sensor.mew01_licznik_koniec_roku_stan.state|float %}
{% set aktualny = states.sensor.licznik_mew_faza123_totalforwardactiveenergy.state| float %}
{{ (aktualny - koniec_roku )|round(0) }}
mew01_licznik_mqtt_zuzycie_rok_pln:
unit_of_measurement: 'PLN'
friendly_name: "Zużycie rok MEW01 MQTT PLN"
value_template: >-
{{ ((states.sensor.licznik_mew_rest.attributes.pricePerUnit | float ) * ( states.sensor.mew01_licznik_mqtt_zuzycie_rok.state |float )) | round(2) }}
- platform: integration
source: sensor.licznik_mew_faza123_poweractive
name: MEW01 licznik estymacja zużycia
unit_prefix: k
round: 2
#===================================
#=== MQTT sensors
#===================================
- platform: mqtt
name: "mew01_licznik_koniec_dnia_stan"
state_topic: "energia/mew01/dzien/stan"
unit_of_measurement: "kWh"
json_attributes_topic: "energia/mew01/dzien/timestamp_raportu"
- platform: mqtt
name: "mew01_licznik_koniec_dnia_data_raportu"
state_topic: "energia/mew01/dzien/timestamp_raportu"
- platform: mqtt
name: "mew01_licznik_zuzycie_wczoraj_mqtt"
state_topic: "energia/mew01/dzien/wczoraj/stan"
unit_of_measurement: "kWh"
- platform: mqtt
name: "mew01_licznik_koniec_mca_stan"
state_topic: "energia/mew01/mc/stan"
unit_of_measurement: "kWh"
json_attributes_topic: "energia/mew01/mc/timestamp_raportu"
- platform: mqtt
name: "mew01_licznik_koniec_mca_data_raportu"
state_topic: "energia/mew01/mc/timestamp_raportu"
- platform: mqtt
name: "mew01_licznik_zuzycie_poprzedni_miesiac_mqtt"
state_topic: "energia/mew01/mc/poprzedni/stan"
unit_of_measurement: "kWh"
- platform: mqtt
name: "mew01_licznik_koniec_roku_stan"
state_topic: "energia/mew01/rok/stan"
unit_of_measurement: "kWh"
json_attributes_topic: "energia/mew01/rok/timestamp_raportu"
- platform: mqtt
name: "mew01_licznik_koniec_roku_data_raportu"
state_topic: "energia/mew01/rok/timestamp_raportu"
#===================================
#=== sensor ze statusem MEWki (stan off/on jezeli rozłaczony/połaczony)
#===================================
binary_sensor:
- platform: template
sensors:
licznik_mew_status:
friendly_name: "Licznik MEW01 status"
value_template: '{{ states.sensor.licznik_mew_rest.attributes.connected }}'
#===================================
#=== zabawy z licznikiem - nie uzywac produkcyjnie bo restarty moga zaburzac jego wskazania
#===================================
utility_meter:
licznik_mew_dziennie_kwh:
source: sensor.licznik_mew_faza123_totalforwardactiveenergy
cycle: daily
licznik_mew_miesiac_kwh:
source: sensor.licznik_mew_faza123_totalforwardactiveenergy
cycle: monthly
licznik_mew_rok_kwh:
source: sensor.licznik_mew_faza123_totalforwardactiveenergy
cycle: yearly
licznik_mew_dziennie_pln:
source: sensor.licznik_mew_rest
cycle: daily
licznik_mew_miesiac_pln:
source: sensor.licznik_mew_rest
cycle: monthly
licznik_mew_rok_pln:
source: sensor.licznik_mew_rest
cycle: yearly
automation:
- id: "Broadcast Licznik MEW01 stan na koniec dnia MQTT"
alias: 'Broadcast Licznik MEW01 stan na koniec dnia MQTT'
trigger:
- platform: time
at: "23:59:00"
action:
- service: mqtt.publish
data_template:
payload_template: '{{ states.sensor.licznik_mew_faza123_totalforwardactiveenergy.state | round(2) | float }}'
topic: 'energia/mew01/dzien/stan'
retain: true
- service: mqtt.publish
data_template:
payload_template: '{{ now() }}'
# payload_template: "{\"Status\":\"off\", \"Data\":{{ now() }}}"
topic: 'energia/mew01/dzien/timestamp_raportu'
retain: true
- id: "Broadcast Licznik MEW01 zuzycie na koniec dnia MQTT"
alias: 'Broadcast Licznik MEW01 zuzycie na koniec dnia MQTT'
trigger:
- platform: time
at: "23:58:00"
action:
- service: mqtt.publish
data_template:
payload_template: '{{ states.sensor.mew01_licznik_mqtt_zuzycie_dzis.state | round(2) | float }}'
topic: 'energia/mew01/dzien/wczoraj/stan'
retain: true
- service: mqtt.publish
data_template:
payload_template: '{{ now() }}'
# payload_template: "{\"Status\":\"off\", \"Data\":{{ now() }}}"
topic: 'energia/mew01/dzien/wczoraj/timestamp_raportu'
retain: true
- id: "Broadcast Licznik MEW01 stan na koniec mca MQTT"
alias: 'Broadcast Licznik MEW01 stan na koniec mca MQTT'
trigger:
- platform: time
at: "00:01:00"
condition:
condition: template
# Change the number here to get whatever day of the month you want.
value_template: "{{ now().day == 1 }}"
action:
- service: mqtt.publish
data_template:
payload_template: '{{ states.sensor.licznik_mew_faza123_totalforwardactiveenergy.state | round(2) | float }}'
topic: 'energia/mew01/mc/stan'
retain: true
- service: mqtt.publish
data_template:
payload_template: '{{ now() }}'
topic: 'energia/mew01/mc/timestamp_raportu'
retain: true
- id: "Broadcast Licznik MEW01 zuzycie na koniec mca MQTT"
alias: 'Broadcast Licznik MEW01 zuzycie na koniec mca MQTT'
trigger:
- platform: time
at: "00:00:09"
condition:
condition: template
# Change the number here to get whatever day of the month you want.
value_template: "{{ now().day == 1 }}"
action:
- service: mqtt.publish
data_template:
payload_template: '{{ sensor.mew01_licznik_mqtt_zuzycie_mc.state | round(2) | float }}'
topic: 'energia/mew01/mc/poprzedni/stan'
retain: true
- service: mqtt.publish
data_template:
payload_template: '{{ now() }}'
topic: 'energia/mew01/mc/poprzedni/timestamp_raportu'
retain: true
- id: "Broadcast Licznik MEW01 stan na koniec roku MQTT"
alias: 'Broadcast Licznik MEW01 stan na koniec roku MQTT'
trigger:
- platform: time
at: "00:01:00"
condition:
condition: template
# Change the number here to get whatever day of the year you want.
value_template: "{{ now().timetuple().tm_yday == 1 }}"
action:
- service: mqtt.publish
data_template:
payload_template: '{{ states.sensor.licznik_mew_faza123_totalforwardactiveenergy.state | round(2) | float }}'
topic: 'energia/mew01/rok/stan'
retain: true
- service: mqtt.publish
data_template:
payload_template: '{{ now() }}'
topic: 'energia/mew01/rok/timestamp_raportu'
retain: true
# przyklad powiadomienia jak wypadnie MEW z sieci i Ha nie bedzie go widział
- id: mew_push_licznik
alias: push MEW-01
trigger:
- entity_id: binary_sensor.licznik_mew_status
platform: state
condition:
- condition: template
value_template: '{% if trigger.from_state and trigger.to_state %} true {% else
%} false {% endif %}'
- condition: template
value_template: '{% if trigger.from_state.state == ''unavailable'' %} false {% else
%} true {% endif %}'
- condition: template
value_template: '{% if trigger.to_state.state == ''unavailable'' %} false {% else
%} true {% endif %}'
- condition: template
value_template: '{{ trigger.from_state.state != trigger.to_state.state }}'
action:
- data_template:
message: 'Licznik MEW-01 /zmiana z {{ trigger.from_state.state }} na {{ trigger.to_state.state }}'
title: 'Licznik MEW-01 teraz: {{trigger.to_state.state}}'
service: notify.notify # tutaj sparwdz sobie jakie masz uslugi podlaczone do powiadomień (Narzedzia developerskie->usługi -> usługa "notify."i pokaze aktywne)