Dzienne i miesięczne zużycie

Jeśli chcecie śledzić dzienne, miesięczne zużycie np. prądu, poniżej przedstawiam integrację:
Poniższy kod należy wkleić do pliku configuration.yaml (w miejsce “source” należ wpisać encję którą chcemy mierzyć).

utility_meter:
  daily_energy:
    source: sensor.shelly_shplg_s_dbef0e_total_consumption
    cycle: daily
  monthly_energy:
    source: sensor.shelly_shplg_s_dbef0e_total_consumption
    cycle: monthly

Po restarcie HA powstaną dwie encje:
pobór prądu
Z powstałych encji można jeszcze wyciągnąć dane zużycia z poprzedniego dnia i miesiąca.

6 polubień

A jak to można wykorzystać w przypadku Sopnoffa POW, który nie ma osobnej encji, tylko atrybut consumption?

@Piotr_K zrób screna encji Sonoffa POW, coś na wzór tego:

oraz podaj jak nazywa się u Ciebie ta encja

sonoff_1000a933de

Napewno encja nazywa się “sonoff_1000a933de” a nie switch.sonoff_1000a933de, jakieś dziwne dane w consumption ale spróbujemy przez template.

  - platform: template
    sensors:
      zuzycie_sonoff:
        friendly_name: "Zużycie Sonoff Power"
        unit_of_measurement: 'kWh'
        value_template: "{{ state_attr('sonoff_1000a933de', 'consumption') }}"

Sprawdź jeszcze nazwę encji jeśli jest tak jak napisałem podmień ten wpis " {{ state_attr(‘sonoff_1000a933de’," na właściwy i wklej kod do pliku configuration.yaml
Po tym zabiegu powstanie nowa encja “sensor.zuzycie_sonoff”. Powstałą encję dodaj do mojego pierwszego postu.
P.S. Daj znać czy działa

Oczywiście, że ze switch, jakoś nawet nie pomyślałem, żeby to dodać. Dzięki, też znalazłem to rozwiązanie, dla tygodniowego zużycia składnia jest taka:

friendly_name: Tygodniowe zużycie prądu
unit_of_measurement: kWh
value_template: "{% set p=state_attr('switch.sonoff_1000a933de', 'consumption') %}{{ p[:7]|sum if p }}"

tylko aby to w ogóle zadziałało, trzeba regularnie wywoływać usługę sonoff.update_consumption

Ważne, że działa. Ja z sonoffa mam tylko włączniki ścienne i switch-e RFR3 zresztą też zintegrowane przez Sonoff LAN.

W którym miejscu można dodać własną nazwę, próbowałem poprzez dodanie name, ale to nie działa. Dopiero poprzez template (friendly_name) są jakieś efekty, tylko jak w takim razie śledzić zużycie na drugim shelly’m, jak je rozróżnić?

@martinezbb nie sprecyzowałeś w którym miejscu chcesz zmienić nazwę ale jeśli chcesz zmienić w karcie wystarczy pod encją której nazwę chcesz zmienić dodać wpis “name: nazwa” jak poniżej:

entities:
  - entity: sensor.daily_energy
    name: Dzisiaj
  - entity: sensor.poprzedniego_dnia
    name: Wczoraj
  - entity: sensor.monthly_energy
    name: Obecny miesiąc
show_header_toggle: false
title: Zużycie prądu przez lodówkę
type: entities 

Co do drugiej kwestii to proponuje tak:
Dla pierwszego shelly

utility_meter:
  daily_energy_shelly1:
    source: sensor.shelly_shplg_s_dbef0e_total_consumption
    cycle: daily
  monthly_energy_shelly1:
    source: sensor.shelly_shplg_s_dbef0e_total_consumption
    cycle: monthly

i dla drugiego:

  daily_energy_shelly2:
    source: sensor.shelly_shplg_s_dbef0e_total_consumption
    cycle: daily
  monthly_energy_shelly2:
    source: sensor.shelly_shplg_s_dbef0e_total_consumption
    cycle: monthly

Oczywiście w shelly1 i shelly2 należy wpisać odpowiednią encję

Faktycznie, nie sprecyzowałem kwestii z nazwą, ale właśnie chodziło mi o nazwę na karcie.
Po pracy będę testował te rozwiązania.
Dziękuję za pomoc.

To ja się też podepnę - działają u mnie dzienne i miesięczne wartości, ale kwh rodzinie, a zwłaszcza żonie niewiele mówią- chciałbym żeby widziała w PLN ile dziennie/miesięcznie kosztuje np. włączona lodówka (oczywiście w jakimś tam uproszczeniu bez uwzględniania taryf, godzin, kosztów przesyłu itd)
Dodałem do configuration.yaml poniższe ale nie działa :frowning:

  • platform: template
    sensors:
    lodowka_koszt:
    friendly_name: “Koszt energii lodówka”
    unit_of_measurement: “zł”
    icon_template: mdi:currency-eur
    value_template: “{{ states.sensor.lodowka_daily_energy * 0.617 }}”

W necie znalazłem też takie przykłady (ale też nie działają)

  • platform: template
    sensors:
    ac_cost_month:
    friendly_name: “AC cost this month”
    unit_of_measurement: ‘€’
    icon_template: mdi:currency-eur
    value_template: “{{ ((states(‘states.sensor.lodowka_daily_energy’) | float * 0.617) | round(2) }}”

Macie to jakoś ogarnięte?

@Krzysztof_Lusiak wypróbuj ten wzór:

template_value: {{ (sensor.dzienne.zużycie * koszt kWh)| float }}

Niestety nie działa :frowning:
Error loading /config/configuration.yaml: invalid key: “OrderedDict([(‘(sensor.lodowka_daily_energy * 2 )| float’, None)])”
in “/config/configuration.yaml”, line 95, column 0

@Krzysztof_Lusiak teraz zobaczyłem co Ci napisałem ale tak wychodzi jak się pisze z telefonu.

value_template: "{{ (states('sensor.zużycia') | float * 2) }}" 

oczywiście wartość “2” to koszt kWh.
Jeśli chcesz sobie zaokrąglić wynik to na koniec dodajesz:

| round(2) 

wartość “2” w nawiasie to liczba miejsc po przecinku
Całość wygląda tak:

value_template: "{{ (states('sensor.zużycia') | float * 2) | round(2) }}"
2 polubienia

Działa - dziękować :slight_smile:

PS może ktoś się pokusi o jakieś zgrubne opisanie zasad przy pisaniu takich skryptów dla osób które nie mają pojęcia o programowaniu? Chodzi mi o proste rzeczy typu kiedy stosujemy wcięcia i jakie, kiedy nawiasy klamrowe, kiedy cudzysłów, jak wyglada składnia itd. Tak wiem, że jest tego multum w necie, ale pewnie przechodzenie przez tutoriale JS wiele osób zniechęci, a tutaj można to przedstawić typowo pod HA i NR

1 polubienie

@Krzysztof_Lusiak bardzo dobry pomysł. Mogę nawet to wrzucić na bloga jako poradnik. To kto chętny do napisania? :smiley:

Mam kilka sensorów pokazujących bieżące zużycie / całkowite zużycie, ale w obecnej formie jest to u mnie średnio czytelne. Chciałbym żeby wybrane urządzenia rejestrowały zużycie dzienne i pokazywały np na wykresie słupkowym z każdego tygodnia. Do tego potrzebowałbym podsumowanie zużycia z każdego miesiąca i znowu kolejny wykres słupkowy uwzględniający miesiące. Analogicznie do powyższego potrzebowałbym również wykres dla zbiorczego zużycia. Ktoś nakieruje jak się za to zabrać?
Widziałem u niektórych użytkowników ciekawie wyglądające wykresy, widziałem też takie, które kilka encji wyświetlają na jednym obrazku. Czy ktoś poleci jakiś sprawdzony dodatek?

@rafkan a czy można kontrolować miesięczne zużycie prądu z kilku czujników? Próbowałem dodać kolejny sensor ale niestety mam błąd w konfiguracji.

Najpierw próbowałem tak:

 utility_meter:
   monthly_energy:
     source: sensor.gniazdko_energy_total
     cycle: monthly
     source: sensor.zmywarka_energy_total
     cycle: monthly

Później trochę inaczej:

  utility_meter:
   monthly_energy:
     source: sensor.gniazdko_energy_total
     cycle: monthly
   monthly_energy:
     source: sensor.zmywarka_energy_total
     cycle: monthly

Dodawałem to nawet jako utility_meter2… Niestety ze składnią mam duże problemy i poddałem się po kilku próbach

Dziękuję. Teraz już wszystko działa