MEW-01 przez API

User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

W aplikacji na Androida/iOS masz taki wykres.
SUPLA.... Nareszcie w domu.
gmikol
Posts: 18
Joined: Sun Jan 27, 2019 12:22 pm

Post

pzygmunt wrote: Fri Sep 18, 2020 8:37 am W aplikacji na Androida/iOS masz taki wykres.
wiem ale wolał bym mieć w HA w grafanie
mariusz2200#
Posts: 5
Joined: Fri Oct 02, 2020 6:16 am

Post

Dzień dobry!
Panowie, jak wygląda sytuacja z API i MEW-01?
Testowałem zapytanie na stronie 'Supla cloud API'.
GET/Channels/id_urządzenia i otrzymałem taką odpowiedź:

[
{
"id": 15425,
"channelNumber": 0,
"caption": "Licznik_3F",
"type": {
"id": 5000,
"name": "ELECTRICITYMETER",
"caption": "Electricity meter",
"output": false
},
"function": {
"id": 310,
"name": "ELECTRICITYMETER",
"caption": "Electricity meter",
"possibleActions": [],
"possibleVisualStates": [
"default"
],
"maxAlternativeIconIndex": 0
},
"param1": 0,
"param2": 6500,
"param3": 0,
"textParam1": "PLN",
"textParam2": null,
"textParam3": null,
"altIcon": 0,
"hidden": false,
"flags": 0,
"inheritedLocation": false,
"iodeviceId": 5845,
"locationId": 1588,
"functionId": 310,
"userIconId": null,
"typeId": 5000,
"connected": true
}
]

Czy w dalszym ciągu API dla MEW-01 nie działa prawidłowo? A może ja coś źle robię?
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

/api/channels/15425?include=state,connected
SUPLA.... Nareszcie w domu.
mariusz2200#
Posts: 5
Joined: Fri Oct 02, 2020 6:16 am

Post

Super, teraz wyświetla. Dziękuję!
maroko
Posts: 141
Joined: Sun Sep 30, 2018 7:14 pm

Post

Jak zmodyfikować yamla, żeby wyciągnąć dane z RB-03? Zmienne z MEW-01 niestety nie pasują.
dml
Posts: 4
Joined: Sun Feb 09, 2020 9:42 pm

Post

Pan O wrote: Fri Dec 20, 2019 10:35 pm Cześc,
moze komus sie przyda - dzis na brudno zrobiłem integracje MEW-01 z HA.

W skrócie:
- mew podpiety pod clouda
- 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ć jak poniżej

W HA w plikach konfiguracyjnych (używam sensorów, binary_sensor dla statusu)

Code: Select all

# pierwszy i głowny sensor ktory łaczy sie z API Restowym clouda i pobiera wszytkie dane
# sam wyswietla tylko wartość kwoty za prąd
# reszta parametrów bedzie pobrana do atrybutów. 
# Podejrzeć to mozna w HA w Narzędzia deweloperskie->STANY-> sensor.licznik_rest

sensor:
  - platform: rest
    name: Licznik REST # jeżeli zmieni się tu nazwę to nalezy zmienić wszystkie odwołania poniżej z "licznik_rest" na ta nazwę...
    resource: https://svrx.supla.org/direct/ttt/xxxyyyzzzwww/read # tu wklejamy tajny link do naszego JSON'a z clouda
    value_template: '{{ value_json.totalCost }}'
    json_attributes:
      - phases
      - connected
      - currency
      - pricePerUnit
      - support
    unit_of_measurement: 'PLN'


# sensory wewnętrzne w HA z aktualnymi parametrami MEW-01
# pobierane zuzycie chwilowe, zuzycie calkowite, natezenie, napiecie i czestotliwosc. 
# Mocy biernej i pozornej oraz katow nie zbieram ale mozna je dopisac
# sensory sa na kazda faze oddzielnie (*faza1*, *faza2*, faza3*) i dodatkowo zbiorczy (*faza123*)  
# zeby pokazac sumy mocy czynnej i zuzytej energii 

  - platform: template
    sensors:
      licznik_faza1_totalforwardactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].totalForwardActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
      licznik_faza2_totalforwardactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].totalForwardActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
      licznik_faza3_totalforwardactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].totalForwardActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
      licznik_faza123_totalforwardactiveenergy:
        value_template: >-
          {{ (states.sensor.licznik_faza1_totalforwardactiveenergy.state | float)
          + (states.sensor.licznik_faza2_totalforwardactiveenergy.state | float) 
          + (states.sensor.licznik_faza3_totalforwardactiveenergy.state | float) }} 
        unit_of_measurement: 'kWh'
        device_class: power
        icon_template: mdi:gauge

      licznik_faza1_poweractive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].powerActive }}'
        device_class: power
        unit_of_measurement: 'W'
      licznik_faza2_poweractive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].powerActive }}'
        device_class: power
        unit_of_measurement: 'W'
      licznik_faza3_poweractive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].powerActive }}'
        device_class: power
        unit_of_measurement: 'W'
      licznik_faza123_poweractive:
        value_template: >-
          {{ (states.sensor.licznik_faza1_poweractive.state | float)
          + (states.sensor.licznik_faza2_poweractive.state | float) 
          + (states.sensor.licznik_faza3_poweractive.state | float) }} 
        unit_of_measurement: 'W'
        device_class: power
        icon_template: mdi:gauge
      licznik_faza123_poweractive_kw:
        value_template: >-
          {{ (((states.sensor.licznik_faza1_poweractive.state | float)
          + (states.sensor.licznik_faza2_poweractive.state | float) 
          + (states.sensor.licznik_faza3_poweractive.state | float) )/1000 ) | round(2)}} 
        unit_of_measurement: 'kW'
        device_class: power
        icon_template: mdi:gauge

      licznik_faza1_frequency:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].frequency }}'
        device_class: power
        unit_of_measurement: 'Hz'
      licznik_faza2_frequency:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].frequency }}'
        device_class: power
        unit_of_measurement: 'Hz'
      licznik_faza3_frequency:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].frequency }}'
        device_class: power
        unit_of_measurement: 'Hz'
        

      licznik_faza1_current:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].current }}'
        device_class: power
        unit_of_measurement: 'A'
      licznik_faza2_current:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].current }}'
        device_class: power
        unit_of_measurement: 'A'
      licznik_faza3_current:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].current }}'
        device_class: power
        unit_of_measurement: 'A'

      licznik_faza1_voltage:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].voltage }}'
        device_class: power
        unit_of_measurement: 'V'
      licznik_faza2_voltage:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].voltage }}'
        device_class: power
        unit_of_measurement: 'V'
      licznik_faza3_voltage:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].voltage }}'
        device_class: power
        unit_of_measurement: 'V'


# HA binary sensor - sluzy do pokazywania aktualnego stanu łacznosci licznika.
        
binary_sensor:
  - platform: template
    sensors:
      licznik_status:
        friendly_name: "Licznik status"
        value_template: '{{ states.sensor.licznik_rest.attributes.connected }}'
Plus jest taki ze tylko raz zadamy wszystkich danych do sensor.licznik_rest a potem HA ładnie nam tworzy sensory czastkowe z danych tego sensora. Zmniejszamy liczbe żądań.

...a z danymi to już wiadomo. Hulaj dusza - autom,atyzacje, wykresy, statusy itp itd

NP na szybko wyciagam je tak do Grafany w HA

np:
Image

Image

To jeszcze wersja wstępna. Nie włączyłem utility_meter itd...ale śmiga idealnie.

Pzdr

Przy okazji: wskazania jak na pół dnia i zużyciu ok 10kWh idealnie z licznikiem dostawcy energii.

Chyba będę musiał pobawić się tez innymi Suplami :-) + postawić własny serwer suplowy w sieci lokalnej żeby się uniezależnić od braków neta.
Dzięki za gotowca. Śmiga jak zły!

/dml
hoauser
Posts: 19
Joined: Tue Dec 15, 2020 7:23 pm

Post

Pan O wrote: Wed Mar 11, 2020 9:34 pm Historie zuzycia dzienna, miesieczna i roczna realizuje na lokalnym MQTT w Home Assistant.

W skrócie:
W sensorach dodaje sensory pobierane z MQTT:

Code: Select all

#===================================
#===================================
#=== MQTT sensors
#===================================
  - platform: mqtt
    name: "licznik1_licznik_koniec_dnia_stan"
    state_topic: "energia/licznik1/dzien/stan"
    unit_of_measurement: "kWh"
    json_attributes_topic: "energia/licznik1/dzien/timestamp_raportu"
  - platform: mqtt
    name: "licznik1_licznik_koniec_dnia_data_raportu"
    state_topic: "energia/licznik1/dzien/timestamp_raportu"
  - platform: mqtt
    name: "licznik1_licznik_zuzycie_wczoraj_mqtt"
    state_topic: "energia/licznik1/dzien/wczoraj/stan"
    unit_of_measurement: "kWh"

  - platform: mqtt    
    name: "licznik1_licznik_koniec_mca_stan"
    state_topic: "energia/licznik1/mc/stan"
    unit_of_measurement: "kWh"
    json_attributes_topic: "energia/licznik1/mc/timestamp_raportu"      
  - platform: mqtt
    name: "licznik1_licznik_koniec_mca_data_raportu"
    state_topic: "energia/licznik1/mc/timestamp_raportu"
  - platform: mqtt
    name: "licznik1_licznik_zuzycie_poprzedni_miesiac_mqtt"
    state_topic: "energia/licznik1/mc/poprzedni/stan"
    unit_of_measurement: "kWh"      
      
  - platform: mqtt    
    name: "licznik1_licznik_koniec_roku_stan"
    state_topic: "energia/licznik1/rok/stan"
    unit_of_measurement: "kWh"
    json_attributes_topic: "energia/licznik1/rok/timestamp_raportu"      
  - platform: mqtt
    name: "licznik1_licznik_koniec_roku_data_raportu"
    state_topic: "energia/licznik1/rok/timestamp_raportu"   
zeby tam dane sie znalazly to w automatyzacjach dodaje wysylanie stanu licznika na koniec dnia, poczatek miesiaca, koniec roku do MQTT. To jest zrodlo do sensorów z pierwszych linii
Wszytko na 23:58 lub 23:59 lub 1 w nocy
zawartosc automation:

Code: Select all

- id: "Broadcast Licznik licznik1 stan na koniec dnia MQTT"
  alias: 'Broadcast Licznik licznik1 stan na koniec dnia MQTT'
  trigger:
    - platform: time
      at: "23:59:00"
  action:
    - service: mqtt.publish
      data_template:
        payload_template: '{{ states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state | round(2) | float }}'
        topic: 'energia/licznik1/dzien/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        # payload_template: "{\"Status\":\"off\", \"Data\":{{ now() }}}"
        topic: 'energia/licznik1/dzien/timestamp_raportu'
        retain: true
- id: "Broadcast Licznik licznik1 zuzycie na koniec dnia MQTT"
  alias: 'Broadcast Licznik licznik1 zuzycie na koniec dnia MQTT'
  trigger:
    - platform: time
      at: "23:58:00"
  action:
    - service: mqtt.publish
      data_template:
        payload_template: '{{ states.sensor.licznik1_licznik_mqtt_zuzycie_dzis.state | round(2) | float }}'
        topic: 'energia/licznik1/dzien/wczoraj/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        # payload_template: "{\"Status\":\"off\", \"Data\":{{ now() }}}"
        topic: 'energia/licznik1/dzien/wczoraj/timestamp_raportu'
        retain: true

- id: "Broadcast Licznik licznik1 stan na koniec mca MQTT"
  alias: 'Broadcast Licznik licznik1 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_licznik1_faza123_totalforwardactiveenergy.state | round(2) | float }}'
        topic: 'energia/licznik1/mc/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        topic: 'energia/licznik1/mc/timestamp_raportu'
        retain: true

- id: "Broadcast Licznik licznik1 zuzycie na koniec mca MQTT"
  alias: 'Broadcast Licznik licznik1 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.licznik1_licznik_zuzycie_poprzedni_miesiac_mqtt.state | round(2) | float }}'
        topic: 'energia/licznik1/mc/poprzedni/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        topic: 'energia/licznik1/mc/poprzedni/timestamp_raportu'
        retain: true

- id: "Broadcast Licznik licznik1 stan na koniec roku MQTT"
  alias: 'Broadcast Licznik licznik1 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_licznik1_faza123_totalforwardactiveenergy.state | round(2) | float }}'
        topic: 'energia/licznik1/rok/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        topic: 'energia/licznik1/rok/timestamp_raportu'
        retain: true
i zeby na koniec miec dobre sensory zuzycia dziennego, z poprzedniego dnia, miesiecznego z poprzedniego miesiaca i z biezacego roku robie to w sensor template:

Code: Select all

      licznik1_licznik_mqtt_zuzycie_dzis:
        unit_of_measurement: 'kW'
        friendly_name: "Zużycie dziś licznik1 MQTT"
        device_class: power
        entity_id:
          - sensor.licznik1_licznik_koniec_dnia_stan
          - sensor.licznik_licznik1_faza123_totalforwardactiveenergy
        value_template: >-
          {% set koniec_dnia = states.sensor.licznik1_licznik_koniec_dnia_stan.state|float %}
          {% set aktualny = states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state| float %}
          {{ (aktualny - koniec_dnia )|round(2) }}

      licznik1_licznik_mqtt_zuzycie_dzis_pln:
        unit_of_measurement: 'PLN'
        friendly_name: "Zużycie dziś licznik1 MQTT PLN"
        value_template: >-
          {{ ((states.sensor.licznik_licznik1_rest.attributes.pricePerUnit | float ) * ( states.sensor.licznik1_licznik_mqtt_zuzycie_dzis.state |float )) | round(2) }}

      licznik1_licznik_mqtt_zuzycie_mc:
        unit_of_measurement: 'kW'
        friendly_name: "Zużycie mc licznik1 MQTT"
        device_class: power
        entity_id:
          - sensor.licznik1_licznik_koniec_mca_stan
          - sensor.licznik_licznik1_faza123_totalforwardactiveenergy
        value_template: >-
          {% set koniec_mca = states.sensor.licznik1_licznik_koniec_mca_stan.state|float %}
          {% set aktualny = states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state| float %}
          {{ (aktualny - koniec_mca )|round(0) }}
      licznik1_licznik_mqtt_zuzycie_mc_pln:
        unit_of_measurement: 'PLN'
        friendly_name: "Zużycie mc licznik1 MQTT PLN"
        value_template: >-
          {{ ((states.sensor.licznik_licznik1_rest.attributes.pricePerUnit | float ) * ( states.sensor.licznik1_licznik_mqtt_zuzycie_mc.state |float )) | round(2) }}

      licznik1_licznik_mqtt_zuzycie_rok:
        unit_of_measurement: 'kW'
        friendly_name: "Zużycie rok licznik1 MQTT"
        device_class: power
        entity_id:
          - sensor.licznik1_licznik_koniec_roku_stan
          - sensor.licznik_licznik1_faza123_totalforwardactiveenergy
        value_template: >-
          {% set koniec_roku = states.sensor.licznik1_licznik_koniec_roku_stan.state|float %}
          {% set aktualny = states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state| float %}
          {{ (aktualny - koniec_roku )|round(0) }}
      licznik1_licznik_mqtt_zuzycie_rok_pln:
        unit_of_measurement: 'PLN'
        friendly_name: "Zużycie rok licznik1 MQTT PLN"
        value_template: >-
          {{ ((states.sensor.licznik_licznik1_rest.attributes.pricePerUnit | float ) * ( states.sensor.licznik1_licznik_mqtt_zuzycie_rok.state |float )) | round(2) }}
Oczywiscie przez jakiegokolwiek MQTT clienta mozna sobie recznie ustawic stany starowe miesiaca i roku jak chcemy miec dane np za 2020 a dopiero w marcu zrobilismy


Hej,
Integruje licznik MEW-01 z Home Assistant v4.16 na Raspberry Pi4B 4GB pierwsza cześć kodu z postu viewtopic.php?p=56454#p56454 wklejona do configuration.yaml pięknie śmiga a z Grafany mogę wykręcać dowolne prezentacje.

Próbuję zaadoptować w HOA historie zużyć dzień/miesiąc/rok na lokalnym MQTT Client w Home Assistant.

Proszę o krótką instrukcję co jest potrzeb w konfiguracji aby dodatkowe części kodo z z linku viewtopic.php?p=64935#p64935 ruszyła.

Mam zainstalowany MQTT Mosquitto Broker na HOA Pi, który steruje już roletami Pi-Somy RTS za pomocą wiadomosci mqtt.

Dopiero zaczynam w temacie integracji HOA i proszę o wyrozumiałość...

"Pan O" –świetna robota i dziękują za udostepnienie kodu

Wiem post powinien znaleźć się w martwym wątku https://github.com/home-assistant/core/ ... ents/supla
User avatar
Pan O
Posts: 44
Joined: Mon Dec 16, 2019 9:07 pm

Post

hoauser wrote: Tue Dec 15, 2020 8:09 pm
Proszę o krótką instrukcję co jest potrzeb w konfiguracji aby dodatkowe części kodo z z linku viewtopic.php?p=64935#p64935 ruszyła.
a na czym sie zblokowałes?

zeby uruchomic takie liczenie potrzeba 3 elementów.
1. automatyzacja ktora wrzuca do MQTT stan liczników o odpowiednich porach dnia/m-ca roku (kod w automatyzacje)
2. sensory ktore to zczytaja z MQTT te stany
3. sensor template ktory wykona działania matematyczne typu biezacy licznik minus sensor historyczny

jezeli zgodnie z tym kodem wrzucic sobie do plików HA te kawałki to ci zadziała (zadziała oczywiscie od momentu jak znajda tam sie pierwsze dane o polnocy). Przyspieszyc to mozna wchodzac w Ha w interfejsie w automatyzacje i manualnie uruchomic te automatyzacja zeby zainicjowaly pierwszy zapis do MQTT


w skrocie:
- do automations.yaml -> kod automatyzacji (1)
- do components/sensors.yaml -> kod sensorów zczytujących stany (2) i sensorów liczących zużycie (3)

plus warto zainstalować sobie jakiegokolwiek programik ktory pozoli podejrzec co sie dzieje w Twoim MQTT (i ktory daje opcje manualnego zapisu) - np taka wtyczka pod chrome' a https://chrome.google.com/webstore/deta ... objm?hl=en
hoauser
Posts: 19
Joined: Tue Dec 15, 2020 7:23 pm

Post

pomału całość rusza - mam wszystkie parametry powyciągane tylko coś nie tak z licznikami dzień/miesiąc/rok.

chyba z automatyzacjami mam coś nie tak :(

Tylko „Broadcast Licznik licznik1 zużycie na koniec dnia MQTT” działa, reszta nie publikuje na mqtt

Używam wtyczki z Chroma, która podałeś i dwukierunkowa komunikacja MQTT dział.

Testowe publikacje pojawiają się w HOA na wszystkich tematach a przy ręcznym wykonaniu automatyzacji tylko jedna dział :(


Czy w automatyzacjach trzeba coś jeszcze dopisać ?
„# Change the number here to get whatever day of the month you want.”

czy źle konfig poskładałem? :D


do kodu dodałem moc bierna i pozorna, katy i współczynnik mocy - całość fajnie się prezentuje



Code: Select all

   
****************************************************************************
configuration.yaml

# MEW-01
# pierwszy i głowny sensor ktory łaczy sie z API Restowym clouda i pobiera wszytkie dane
# sam wyswietla tylko wartość kwoty za prąd
# reszta parametrów bedzie pobrana do atrybutów. 
# Podejrzeć to mozna w HA w Narzędzia deweloperskie->STANY-> sensor.licznik_rest

sensor:
  - platform: rest
    name: Licznik REST # jeżeli zmieni się tu nazwę to nalezy zmienić wszystkie odwołania poniżej z "licznik_rest" na ta nazwę...
    resource: https://svr28.supla.org/direct/xxxx/xxxxxxxxxxxxxxxxx/read # tu wklejamy tajny link do naszego JSON'a z clouda
    value_template: '{{ value_json.totalCost }}'
    json_attributes:
      - phases
      - connected
      - currency
      - pricePerUnit
      - support
    unit_of_measurement: 'PLN'


# sensory wewnętrzne w HA z aktualnymi parametrami MEW-01
# pobierane moc czynna zuzycie i oddane chwilowe, moc czynna zuzycie i oddane calkowite, natezenie
# napiecie, czestotliwosc, moc bierna i pozorna, katy i wspolczynnik mocy
# sensory sa na kazda faze oddzielnie (*faza1*, *faza2*, faza3*) i dodatkowo zbiorczy (*faza123*)  
# zeby pokazac sumy mocy czynnej i zuzytej energii 

  - platform: template
    sensors:
# Moc Czynna Pobrana
      licznik_faza1_totalforwardactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].totalForwardActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
        icon_template: mdi:gauge
      licznik_faza2_totalforwardactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].totalForwardActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
        icon_template: mdi:gauge
      licznik_faza3_totalforwardactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].totalForwardActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
        icon_template: mdi:gauge
      licznik_faza123_totalforwardactiveenergy:
        value_template: >-
          {{ (states.sensor.licznik_faza1_totalforwardactiveenergy.state | float)
          + (states.sensor.licznik_faza2_totalforwardactiveenergy.state | float) 
          + (states.sensor.licznik_faza3_totalforwardactiveenergy.state | float) }} 
        unit_of_measurement: 'kWh'
        device_class: power
        icon_template: mdi:gauge

# Moc Czynna Oddana
      licznik_faza1_totalreverseactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].totalReverseActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
        icon_template: mdi:gauge
      licznik_faza2_totalreverseactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].totalReverseActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
        icon_template: mdi:gauge
      licznik_faza3_totalreverseactiveenergy:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].totalReverseActiveEnergy }}'
        device_class: power
        unit_of_measurement: 'kWh'
        icon_template: mdi:gauge
      licznik_faza123_totalreverseactiveenergy:
        value_template: >-
          {{ (states.sensor.licznik_faza1_totalreverseactiveenergy.state | float)
          + (states.sensor.licznik_faza2_totalreverseactiveenergy.state | float) 
          + (states.sensor.licznik_faza3_totalreverseactiveenergy.state | float) }} 
        unit_of_measurement: 'kWh'
        device_class: power
        icon_template: mdi:gauge

# Moc Czynna
      licznik_faza1_poweractive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].powerActive }}'
        device_class: power
        unit_of_measurement: 'W'
        icon_template: mdi:gauge
      licznik_faza2_poweractive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].powerActive }}'
        device_class: power
        unit_of_measurement: 'W'
        icon_template: mdi:gauge
      licznik_faza3_poweractive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].powerActive }}'
        device_class: power
        unit_of_measurement: 'W'
        icon_template: mdi:gauge
      licznik_faza123_poweractive:
        value_template: >-
          {{ (states.sensor.licznik_faza1_poweractive.state | float)
          + (states.sensor.licznik_faza2_poweractive.state | float) 
          + (states.sensor.licznik_faza3_poweractive.state | float) }} 
        unit_of_measurement: 'W'
        device_class: power
        icon_template: mdi:gauge
      licznik_faza123_poweractive_kw:
        value_template: >-
          {{ (((states.sensor.licznik_faza1_poweractive.state | float)
          + (states.sensor.licznik_faza2_poweractive.state | float) 
          + (states.sensor.licznik_faza3_poweractive.state | float) )/1000 ) | round(2)}} 
        unit_of_measurement: 'kW'
        device_class: power
        icon_template: mdi:gauge

# Moc Bierna
      licznik_faza1_powerreactive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].powerReactive }}'
        device_class: power
        unit_of_measurement: 'var'
        icon_template: mdi:gauge
      licznik_faza2_powerreactive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].powerReactive }}'
        device_class: power
        unit_of_measurement: 'var'
        icon_template: mdi:gauge
      licznik_faza3_powerreactive:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].powerReactive }}'
        device_class: power
        unit_of_measurement: 'var'
        icon_template: mdi:gauge
      licznik_faza123_powerreactive:
        value_template: >-
          {{ (states.sensor.licznik_faza1_powerreactive.state | float)
          + (states.sensor.licznik_faza2_powerreactive.state | float) 
          + (states.sensor.licznik_faza3_powerreactive.state | float) }} 
        unit_of_measurement: 'var'
        device_class: power
        icon_template: mdi:gauge

# Moc Pozorna
      licznik_faza1_powerapparent:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].powerApparent }}'
        device_class: power
        unit_of_measurement: 'VA'
        icon_template: mdi:gauge
      licznik_faza2_powerapparent:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].powerApparent }}'
        device_class: power
        unit_of_measurement: 'VA'
        icon_template: mdi:gauge
      licznik_faza3_powerapparent:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].powerApparent }}'
        device_class: power
        unit_of_measurement: 'VA'
        icon_template: mdi:gauge
      licznik_faza123_powerapparent:
        value_template: >-
          {{ (states.sensor.licznik_faza1_powerapparent.state | float)
          + (states.sensor.licznik_faza2_powerapparent.state | float) 
          + (states.sensor.licznik_faza3_powerapparent.state | float) }} 
        unit_of_measurement: 'VA'
        device_class: power
        icon_template: mdi:gauge

# Czestotliwisc
      licznik_faza1_frequency:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].frequency }}'
        device_class: power
        unit_of_measurement: 'Hz'
        icon_template: mdi:gauge
      licznik_faza2_frequency:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].frequency }}'
        device_class: power
        unit_of_measurement: 'Hz'
        icon_template: mdi:gauge
      licznik_faza3_frequency:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].frequency }}'
        device_class: power
        unit_of_measurement: 'Hz'
        icon_template: mdi:gauge
        
# Natezenie
      licznik_faza1_current:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].current }}'
        device_class: power
        unit_of_measurement: 'A'
        icon_template: mdi:gauge
      licznik_faza2_current:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].current }}'
        device_class: power
        unit_of_measurement: 'A'
        icon_template: mdi:gauge
      licznik_faza3_current:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].current }}'
        device_class: power
        unit_of_measurement: 'A'
        icon_template: mdi:gauge


      licznik_faza123_current:
        value_template: >-
          {{ (states.sensor.licznik_rest.attributes.phases[0].current | float)
          + (states.sensor.licznik_rest.attributes.phases[1].current | float) 
          + (states.sensor.licznik_rest.attributes.phases[2].current | float) }} 
        unit_of_measurement: 'A'
        device_class: power
        icon_template: mdi:gauge

# Napiecie
      licznik_faza1_voltage:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].voltage }}'
        device_class: power
        unit_of_measurement: 'V'
        icon_template: mdi:gauge
      licznik_faza2_voltage:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].voltage }}'
        device_class: power
        unit_of_measurement: 'V'
        icon_template: mdi:gauge
      licznik_faza3_voltage:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].voltage }}'
        device_class: power
        unit_of_measurement: 'V'
        icon_template: mdi:gauge

# Kat fazowy
      licznik_faza1_phaseangle:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].phaseAngle }}'
        device_class: power
        unit_of_measurement: '°'
        icon_template: mdi:gauge
      licznik_faza2_phaseangle:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].phaseAngle }}'
        device_class: power
        unit_of_measurement: '°'
        icon_template: mdi:gauge
      licznik_faza3_phaseangle:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].phaseAngle }}'
        device_class: power
        unit_of_measurement: '°'
        icon_template: mdi:gauge

# Wspolczynnik mocy
      licznik_faza1_powerfactor:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[0].powerFactor }}'
        device_class: power
        unit_of_measurement: ' '
        icon_template: mdi:gauge
      licznik_faza2_powerfactor:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[1].powerFactor }}'
        device_class: power
        unit_of_measurement: ' '
        icon_template: mdi:gauge
      licznik_faza3_powerfactor:
        value_template: '{{ states.sensor.licznik_rest.attributes.phases[2].powerFactor }}'
        device_class: power
        unit_of_measurement: ' '
        icon_template: mdi:gauge




# Liczniki do MQTT
      licznik1_licznik_mqtt_zuzycie_dzis:
        unit_of_measurement: 'kW'
        friendly_name: "Zużycie dziś licznik1 MQTT"
        device_class: power
        entity_id:
          - sensor.licznik1_licznik_koniec_dnia_stan
          - sensor.licznik_licznik1_faza123_totalforwardactiveenergy
        value_template: >-
          {% set koniec_dnia = states.sensor.licznik1_licznik_koniec_dnia_stan.state|float %}
          {% set aktualny = states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state| float %}
          {{ (aktualny - koniec_dnia )|round(2) }}

      licznik1_licznik_mqtt_zuzycie_dzis_pln:
        unit_of_measurement: 'PLN'
        friendly_name: "Zużycie dziś licznik1 MQTT PLN"
        value_template: >-
          {{ ((states.sensor.licznik_licznik1_rest.attributes.pricePerUnit | float ) * ( states.sensor.licznik1_licznik_mqtt_zuzycie_dzis.state |float )) | round(2) }}

      licznik1_licznik_mqtt_zuzycie_mc:
        unit_of_measurement: 'kW'
        friendly_name: "Zużycie mc licznik1 MQTT"
        device_class: power
        entity_id:
          - sensor.licznik1_licznik_koniec_mca_stan
          - sensor.licznik_licznik1_faza123_totalforwardactiveenergy
        value_template: >-
          {% set koniec_mca = states.sensor.licznik1_licznik_koniec_mca_stan.state|float %}
          {% set aktualny = states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state| float %}
          {{ (aktualny - koniec_mca )|round(0) }}
      licznik1_licznik_mqtt_zuzycie_mc_pln:
        unit_of_measurement: 'PLN'
        friendly_name: "Zużycie mc licznik1 MQTT PLN"
        value_template: >-
          {{ ((states.sensor.licznik_licznik1_rest.attributes.pricePerUnit | float ) * ( states.sensor.licznik1_licznik_mqtt_zuzycie_mc.state |float )) | round(2) }}

      licznik1_licznik_mqtt_zuzycie_rok:
        unit_of_measurement: 'kW'
        friendly_name: "Zużycie rok licznik1 MQTT"
        device_class: power
        entity_id:
          - sensor.licznik1_licznik_koniec_roku_stan
          - sensor.licznik_licznik1_faza123_totalforwardactiveenergy
        value_template: >-
          {% set koniec_roku = states.sensor.licznik1_licznik_koniec_roku_stan.state|float %}
          {% set aktualny = states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state| float %}
          {{ (aktualny - koniec_roku )|round(0) }}
      licznik1_licznik_mqtt_zuzycie_rok_pln:
        unit_of_measurement: 'PLN'
        friendly_name: "Zużycie rok licznik1 MQTT PLN"
        value_template: >-
          {{ ((states.sensor.licznik_licznik1_rest.attributes.pricePerUnit | float ) * ( states.sensor.licznik1_licznik_mqtt_zuzycie_rok.state |float )) | round(2) }}




#===================================
#=== MQTT sensors
#===================================
  - platform: mqtt
    name: "licznik1_licznik_koniec_dnia_stan"
    state_topic: "energia/licznik1/dzien/stan"
    unit_of_measurement: "kWh"
    json_attributes_topic: "energia/licznik1/dzien/timestamp_raportu"

  - platform: mqtt
    name: "licznik1_licznik_koniec_dnia_data_raportu"
    state_topic: "energia/licznik1/dzien/timestamp_raportu"

  - platform: mqtt
    name: "licznik1_licznik_zuzycie_wczoraj_mqtt"
    state_topic: "energia/licznik1/dzien/wczoraj/stan"
    unit_of_measurement: "kWh"

  - platform: mqtt    
    name: "licznik1_licznik_koniec_mca_stan"
    state_topic: "energia/licznik1/mc/stan"
    unit_of_measurement: "kWh"
    json_attributes_topic: "energia/licznik1/mc/timestamp_raportu"   
   
  - platform: mqtt
    name: "licznik1_licznik_koniec_mca_data_raportu"
    state_topic: "energia/licznik1/mc/timestamp_raportu"

  - platform: mqtt
    name: "licznik1_licznik_zuzycie_poprzedni_miesiac_mqtt"
    state_topic: "energia/licznik1/mc/poprzedni/stan"
    unit_of_measurement: "kWh"      
      
  - platform: mqtt    
    name: "licznik1_licznik_koniec_roku_stan"
    state_topic: "energia/licznik1/rok/stan"
    unit_of_measurement: "kWh"
    json_attributes_topic: "energia/licznik1/rok/timestamp_raportu"
    
  - platform: mqtt
    name: "licznik1_licznik_koniec_roku_data_raportu"
    state_topic: "energia/licznik1/rok/timestamp_raportu" 





# HA binary sensor - sluzy do pokazywania aktualnego stanu łacznosci licznika.
        
binary_sensor:
  - platform: template
    sensors:
      licznik_status:
        friendly_name: "Licznik status"
        value_template: '{{ states.sensor.licznik_rest.attributes.connected }}'

****************************************************************************


		
****************************************************************************
automation.yaml


- id: "Broadcast Licznik licznik1 stan na koniec dnia MQTT"
  alias: 'Broadcast Licznik licznik1 stan na koniec dnia MQTT'
  trigger:
    - platform: time
      at: "23:59:00"
  action:
    - service: mqtt.publish
      data_template:
        payload_template: '{{ states.sensor.licznik_licznik1_faza123_totalforwardactiveenergy.state | round(2) | float }}'
        topic: 'energia/licznik1/dzien/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        # payload_template: "{\"Status\":\"off\", \"Data\":{{ now() }}}"
        topic: 'energia/licznik1/dzien/timestamp_raportu'
        retain: true
- id: "Broadcast Licznik licznik1 zuzycie na koniec dnia MQTT"
  alias: 'Broadcast Licznik licznik1 zuzycie na koniec dnia MQTT'
  trigger:
    - platform: time
      at: "23:58:00"
  action:
    - service: mqtt.publish
      data_template:
        payload_template: '{{ states.sensor.licznik1_licznik_mqtt_zuzycie_dzis.state | round(2) | float }}'
        topic: 'energia/licznik1/dzien/wczoraj/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        # payload_template: "{\"Status\":\"off\", \"Data\":{{ now() }}}"
        topic: 'energia/licznik1/dzien/wczoraj/timestamp_raportu'
        retain: true

- id: "Broadcast Licznik licznik1 stan na koniec mca MQTT"
  alias: 'Broadcast Licznik licznik1 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_licznik1_faza123_totalforwardactiveenergy.state | round(2) | float }}'
        topic: 'energia/licznik1/mc/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        topic: 'energia/licznik1/mc/timestamp_raportu'
        retain: true

- id: "Broadcast Licznik licznik1 zuzycie na koniec mca MQTT"
  alias: 'Broadcast Licznik licznik1 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.licznik1_licznik_zuzycie_poprzedni_miesiac_mqtt.state | round(2) | float }}'
        topic: 'energia/licznik1/mc/poprzedni/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        topic: 'energia/licznik1/mc/poprzedni/timestamp_raportu'
        retain: true

- id: "Broadcast Licznik licznik1 stan na koniec roku MQTT"
  alias: 'Broadcast Licznik licznik1 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_licznik1_faza123_totalforwardactiveenergy.state | round(2) | float }}'
        topic: 'energia/licznik1/rok/stan'
        retain: true
    - service: mqtt.publish
      data_template:
        payload_template: '{{ now() }}'
        topic: 'energia/licznik1/rok/timestamp_raportu'
        retain: true

****************************************************************************

  

MEW-01__14.JPG
MEW-01__13.JPG
MEW-01__12.JPG
You do not have the required permissions to view the files attached to this post.

Return to “ZAMEL MEW-01”