Gniazdko Zigbee Xiaomi Mi Smart Plug ZNCZ04LM (AI-Speaker - Home Assistant)

Wrzucam może komuś się przyda.
Temat tego gniazdka poruszałem w innym wątku tu opisze dokładnie jak prosto z HA z W przejścia na kWh i liczyć koszty w PLN.


Oczywiście, żeby dodać cokolwiek Zigbee do bramki AIS trzeba kupić moduł USB i podłączyć do bramki.
Można kupić gotowca https://allegro.pl/oferta/cc2531-zigbee2mqtt-usb-do-ais-dom-ai-speaker-9177270753 lub kupić czysty i wgrać soft samodzielnie o czym mowa tutaj.
Gniazdko Xiaomi Zigbee Mi Smart Plug po dodaniu do AI-Speaker pokazuje zużycie energii w WATach W.
Żeby przejść z W na kWh należy w sensor.yaml dodać wpis jak niżej.
Tutaj źródło.

- platform: integration
  source: sensor.aqara_lazienka_pralka_power
  name: energy_spent_aqara_pralka
  unit_prefix: k
  round: 2

gdzie source to nasza encja dodanego gniazdka zigbee, name własna nazwa.
Potem oczywiście Sprawdzanie konfiguracji i jak wszystko jest OK uruchamiamy bramkę.
Po ponownym uruchomieniu powinna pojawić się nowa encja pokazująca już zużycie w kWh, u mnie tak:
sensor.energy_spent_aqara_pralka

EDIT 26.07.2020
Po którejś z aktualizacji w gniazdku AQARA z automatu pojawia się encja zużycia energii w KWh, więc powyższego nie trzeba wykonywać.

Jeżeli mamy już zużycie w kWh to możemy zrobić licznik kosztów, tutaj źródło.
Najpierw tworzymy nowy plik utility_meter.yaml , tutaj opis dla nie wtajemniczonych jak to zrobić :wink:
Następnie w pliku utility_meter.yaml dodajemy wpis:

  dzienny_licznik_pradu_pralka_kwh:
    source: sensor.energy_spent_aqara_pralka
    cycle: daily
  tygodniowy_licznik_pradu_pralka_kwh:
    source: sensor.energy_spent_aqara_pralka
    cycle: weekly
  miesieczny_licznik_pradu_pralka_kwh:
    source: sensor.energy_spent_aqara_pralka
    cycle: monthly
  roczny_licznik_pradu_pralka_kwh:
    source: sensor.energy_spent_aqara_pralka
    cycle: yearly   

gdzie sensor.energy_spent_aqara_pralka to encja powstała chwilę wcześniej po wpisie w sensor.yaml.
Sprawdzanie konfiguracji i jak wszystko jest OK uruchamiamy bramkę.
Po ponownym uruchomieniu powinna pojawić się nowe encje:
1111
Na podstawie tego możemy liczyć koszty w PLN, trzeba dodać wpis w sensor.yaml

- platform: template
  sensors:
    dzienny_koszt_pradu_pralka:
      friendly_name: "Dzienny Koszt Prądu Pralka"
      unit_of_measurement: 'PLN'
      value_template: "{{ (states('sensor.dzienny_licznik_pradu_pralka_kwh')|float * 0.55)| round(2) }}"
- platform: template
  sensors:
    tygodniowy_koszt_pradu_pralka:
      friendly_name: "Tygodniowy Koszt Prądu Pralka"
      unit_of_measurement: 'PLN'
      value_template: "{{ (states('sensor.tygodniowy_licznik_pradu_pralka_kwh')|float * 0.55)| round(2) }}"
- platform: template
  sensors:
    miesieczny_koszt_pradu_pralka:
      friendly_name: "Miesięczny Koszt Prądu Pralka"
      unit_of_measurement: 'PLN'
      value_template: "{{ (states('sensor.miesieczny_licznik_pradu_pralka_kwh')|float * 0.55)| round(2) }}"
- platform: template
  sensors:
    roczny_koszt_pradu_pralka:
      friendly_name: "Roczny Koszt Prądu Pralka"
      unit_of_measurement: 'PLN'
      value_template: "{{ (states('sensor.roczny_licznik_pradu_pralka_kwh')|float * 0.55)| round(2) }}"

Potem znowu Sprawdzanie konfiguracji i jak wszystko jest OK uruchamiamy bramkę.
Po ponownym uruchomieniu powinna pojawić się nowe encje:
22222

Powiadomienie o skończonej pracy urządzenia można zrobić na wiele sposobów o czym było w tym temacie dla mnie najlepszym jednak sposób to utworzenie w binary_sensor.yaml wpisu:

- platform: template
  sensors:
   pralka:
       friendly_name: 'Pralka'
       icon_template: mdi:washing-machine
       value_template: "{{states('sensor.aqara_lazienka_pralka_power') | float > 6 }}"

gdzie sensor.aqara_lazienka_pralka_power to nasza pierwotna encja w WATach W, a 6 to ustawiona ilość W przy jakich binary_sensor ma mieć stan włączony lub wyłączony. Czyli w tym przypadku jeżeli zużycie prądu będzie poniżej 6W to stan urządzenia będzie pokazany jako OFF.
Oczywiście każdy musi znaleźć optymalne W dla swojego urządzenia.
Sprawdzamy konfiguracje i jak wszystko jest OK uruchamiamy bramkę.
Następnie dodałem automatyzację:


@cino111 dziękuje za pomoc :wink:

6 polubień

Ten szablon działa u mnie już długo. Jestem Tobie bardzo wdzięczny za jego udostępnienie, był on dla mnie szablonem do innych automatyzacji. Postanowiłem go trochę przerobić aby był wygodniejszy w użytkowaniu. A zrobiłem to dodając pomocnika Numer w którym ustawiam stawkę za kWh bez zmiany w kodzie:
może komuś się spodoba:

Pomocnik numer:

kod:

  • platform: template
    sensors:
    dzienny_koszt_pradu:
    friendly_name: “Dzienny Koszt Prądu”
    unit_of_measurement: ‘PLN’
    value_template: “{{ (states(‘sensor.dzienny_licznik_pradu_xaomi_kwh’)|float * states(‘input_number.stawka_pradu’)|float)| round(2) }}”
  • platform: template
    sensors:
    tygodniowy_koszt_pradu:
    friendly_name: “Tygodniowy Koszt Prądu”
    unit_of_measurement: ‘PLN’
    value_template: “{{ (states(‘sensor.tygodniowy_licznik_pradu_xaomi_kwh’)|float * states(‘input_number.stawka_pradu’)|float)| round(2) }}”
  • platform: template
    sensors:
    miesieczny_koszt_pradu:
    friendly_name: “Miesięczny Koszt Prądu”
    unit_of_measurement: ‘PLN’
    value_template: “{{ (states(‘sensor.miesieczny_licznik_pradu_xaomi_kwh’)|float * states(‘input_number.stawka_pradu’)|float)| round(2) }}”
  • platform: template
    sensors:
    roczny_koszt_pradu:
    friendly_name: “Roczny Koszt Prądu”
    unit_of_measurement: ‘PLN’
    value_template: “{{ (states(‘sensor.roczny_licznik_pradu_xaomi_kwh’)|float * states(‘input_number.stawka_pradu’)|float)| round(2) }}”

screen

3 polubienia