Grafana dane z entity SWICH jako zużycie kWh

Proszę :wink:

Invalid config for [sensor.template]: invalid slug salon_ogrzewanie_kWh (try salon_ogrzewanie_kwh) for dictionary value @ data[‘sensors’]. Got OrderedDict([(‘salon_ogrzewanie_kWh’, OrderedDict([(‘friendly_name’, ‘salon ogrzewanie kWh’), (‘unit_of_measurement’, ‘kWh’), (‘value_template’, “{{ state_attr(‘sensor.ogrzewanie_salon’, ‘time’) | float *3,6 }}”)]))]). (See ?, line ?).

Mnie to nic nie mówi ;/

Miałeś sprawdzić mój gotowy wpis i porównać ze Swoim. Jeśli nie widzisz różnicy to niestety nie pomogę.
Wpis po wpisie linijka po linijce a znajdziesz równicę.

Ale wpis w tym wątku? Bo się już pogubiłem?

Oczywiście, że w tym - wrzucam jeszcze raz.

sensor:
  - platform: template
    sensors:
      salon_temperatura_kalibracja:
        friendly_name: "salon temperatura"
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('sensor.sonoff_1000e5ab8b_temperature', 'temperature') | float -2 }}"
      salon_ogrzewanie_kWh:
        friendly_name: "salon ogrzewanie kWh"
        unit_of_measurement: 'kWh'
        value_template: "{{ states('sensor.ogrzewanie_salon') | float * 3.6 }}"   

Nie wiem czemu podałeś mi kod z encją od temperatury jak to tutaj nie ma teraz zastosowania? Całkowicie już mam mętlik w głowie.

Po to abyś porównał Swój wpis w sekcji template, ponieważ nie potrzebnie wpisałeś jeszcze raz

- platform: template
  sensors:

Dobra trudno, nie wiem jak to zrobić. Zamotane to jak cholera ;/

Brakuje Ci tego wpisu:

      salon_ogrzewanie_kWh:
        friendly_name: 'salon ogrzewanie kWh'
        unit_of_measurement: 'kWh'
        value_template: "{{ states('sensor.ogrzewanie_salon') | float * 3.6 }}"

tak ma być?

Edit:

Nie może być tak ;( bo znowu błąd ;/ Zwariować idzie.

Nie potrzebna jest przerwa między

value_template: "{{ state_attr('sensor.sonoff_1000e5ab8b_temperature', 'temperature') | float -2 }}"

a

salon_ogrzewanie_kWh:

Ale tak to powinno wyglądać, i kolejne wpisy do template w tej formie będziesz Sobie dodawać.

P.S.
Nie musisz wrzucać screnów wystarczy, że dodasz wpis pomiędzy znakami:
formatowanie

dalej lipa bo wyskakuje błąd:

sensor:
  - platform: template
    sensors:
      salon_temperatura_kalibracja:
        friendly_name: 'salon temperatura'
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('sensor.sonoff_1000e5ab8b_temperature', 'temperature') | float -2 }}"
      salon_ogrzewanie_kWh:
        friendly_name: 'salon ogrzewanie kWh'
        unit_of_measurement: 'kWh'
        value_template: "{{ states('sensor.ogrzewanie_salon') | float * 3.6 }}"

Podaj błąd, sprawdzałem u siebie składnie i jest ok

Invalid config for [sensor.template]: invalid slug salon_ogrzewanie_kWh (try salon_ogrzewanie_kwh) for dictionary value @ data[‘sensors’]. Got OrderedDict([(‘salon_temperatura_kalibracja’, OrderedDict([(‘friendly_name’, ‘salon temperatura’), (‘unit_of_measurement’, ‘°C’), (‘value_template’, “{{ state_attr(‘sensor.sonoff_1000e5ab8b_temperature’, ‘temperature’) | float -2 }}”)])), (‘salon_ogrzewanie_kWh’, OrderedDict([(‘friendly_name’, ‘salon ogrzewanie kWh’), (‘unit_of_measurement’, ‘kWh’), (‘value_template’, “{{ states(‘sensor.ogrzewanie_salon’) | float * 3.6 }}”)]))]). (See ?, line ?).

W linijkach:

        friendly_name: "salon temperatura"
        friendly_name: "salon ogrzewanie kWh"

zmień

zamień ' na "

dalej to samo:
Invalid config for [sensor.template]: invalid slug salon_ogrzewanie_kWh (try salon_ogrzewanie_kwh) for dictionary value @ data[‘sensors’]. Got OrderedDict([(‘salon_temperatura_kalibracja’, OrderedDict([(‘friendly_name’, ‘salon temperatura’), (‘unit_of_measurement’, ‘°C’), (‘value_template’, “{{ state_attr(‘sensor.sonoff_1000e5ab8b_temperature’, ‘temperature’) | float -2 }}”)])), (‘salon_ogrzewanie_kWh’, OrderedDict([(‘friendly_name’, ‘salon ogrzewanie kWh’), (‘unit_of_measurement’, ‘kWh’), (‘value_template’, “{{ states(‘sensor.ogrzewanie_salon’) | float * 3.6 }}”)]))]). (See ?, line ?).

kod wygląda tak:

sensor:
  - platform: template
    sensors:
      salon_temperatura_kalibracja:
        friendly_name: "salon temperatura"
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('sensor.sonoff_1000e5ab8b_temperature', 'temperature') | float -2 }}"
      salon_ogrzewanie_kWh:
        friendly_name: "salon ogrzewanie kWh"
        unit_of_measurement: 'kWh'
        value_template: "{{ states('sensor.ogrzewanie_salon') | float * 3.6 }}"

Znalazłem błąd, a w sumie żona :wink: invalid slug salon_ogrzewanie_kWh chciało z małej W więc dałem i błędu nie robi.

Gratulacje dla żony :wave:

Ok działa :wink:

To teraz dalej i trudniej.

Potrzeba tydzień, mc, rok,

I podział na dwie taryfy :wink:

Ktoś chętny od czego zacząć ? :smiley:

Wszystko czego szukasz masz w utility_meter.

Ok dodałem i mam encje monthly , i teraz pytanie czy HA przechowuje dane wstecz z tego seensora , czy liczy je od czasu ich utworzenia?