Cena energii elektrycznej Tauron G12W

Postanowiłem zbudować sensor, który będzie podawał aktualną cenę prądu w Tauronie w taryfie G12W.
Cena ta jest podstawiana do HA Energy i pozwala liczyć koszt urządzenia w danym zakresie czasu.

binary_sensor:
  - platform: workday
    country: PL
template:
  - binary_sensor:
    - unique_id: power_tauron_g12w_current_tariff
      name: power_tauron_g12w_current_tariff
      availability: "{{ not is_state('binary_sensor.workday_sensor', 'unavailable') }}"
      state: >-
        {## Return True if it's peak time ##}
        {## Return False if it's offpeak time ##}
        {%- set energy = {
          'peak1_start': 6,
          'peak1_stop': 13,
          'peak2_start': 15,
          'peak2_stop': 22,
        } -%}
        {## Jeśli jest weekend ##}
        {%- if is_state('binary_sensor.workday_sensor', 'off') -%}
          False
        {## Jeśli jest po starcie pierwszego szczytu i przed końcem pierwszego szczytu ##}
        {%- elif 
            (now().hour - energy.peak1_start >= 0)
              and 
            (now().hour - energy.peak1_stop < 0) 
        -%}
          True
        {## Jeśli jest po starcie pierwszego szczytu i przed końcem drugiego szczytu ##}
        {%- elif 
            (now().hour - energy.peak2_start >= 0)
              and 
            (now().hour - energy.peak2_stop < 0) 
        -%}
          True
        {%- else %}
        False
        {%- endif %}

  - sensor:
    - unique_id: power_tauron_g12w_current_price
      name: power_tauron_g12w_current_price
      availability: "{{ not is_state('binary_sensor.power_tauron_g12w_current_tariff', 'unavailable') }}"
      device_class: monetary
      unit_of_measurement: "PLN/kWh"
      state: >-
        {%- if is_state('binary_sensor.power_tauron_g12w_current_tariff', 'off') -%}
          0.3260
        {%- elif is_state('binary_sensor.power_tauron_g12w_current_tariff', 'on') -%}
          0.6728
        {%- endif -%}

bazowałem na cenach ze strony:
https://www.tauron.pl/dla-domu/prad/taryfa-sprzedawcy/g12w

8 Likes

to jest informacja, którą bardzo ciężko znaleźć w sieci :+1:


ja bym się trzymał tych cen, są bardziej realne, co prawda to nie g12, ale jak się przejdzie na ich stronę g13 to ceny są niższe (brak opłat dystrybucyjnych)

2 Likes

Cześć,

Dziękuję, że podzieliłeś się swoją pracą. Szukałem takiego rozwiania dla moich statystyk.
Niestety dopiero zaczynam przygodzę z HA i nie bardzo wiem gdzie te wpisy dodać.

Próbowałem do
configuration.yaml
binary_sensor.yaml

ale nie przechodzi weryfikacji.

Próbowałem też rozbić część do różnych plików według typu, ale też bez powodzenia.

Jeśli możesz podpowiedzieć gdzie to dodać będę wdzięczny.

Przy okazji
Ceny w G12W to obecnie
0,33 i 0,81
od 1 sierpnia po powrocie do stawek vat
0,38 i 0,95

1.W config dodaj plik sensor.yaml # Jak nie masz
2. W configuration.yaml dopisz sensor: !include sensor.yaml # Jak nie masz
3. Sprawdź poprawność, Restart HA
4. W pliku sensor.yaml dodaj “sensory” # Zwróć uwagę na odstępy
5. Zapisz, sprawdź poprawność, Restart HA
Np.


Lub
configuration.yaml
Na tej zasadzie
https://www.home-assistant.io/integrations/template/

/
Wkleiłem do swojego sensora.yaml i krzyczy, że niepoprawny.
Ale jak skasowałem

- platform: template
  sensors:

Jest w stanie zaakceptować
/
Wszystkie moje wpisy zaczynają się po 2 blokach lub inaczej po 4 spacjach
/
Ps.
Edytuj posty, dopisuj

hej

Tak właśnie robię, ale doczytałem, że problem może być ze stara i nowa definicją.
Ja ma zdefiniowane template według starej składni.
Po adaptacji nowej składni na starą zaczęło działać.
Prośba o info, czy zostawić to w tym formacje czy przepisywać na nowy?
Dodatkowo proszę o info czy to tak ma być, czy tutaj jest błąd
{%- if is_state(‘binary_sensor.power_tauron_g12w_current_tariff’, ‘off’) -%}
a chyba powinno być
{%- if is_state(‘binary_sensor.power_tauron_g12w_current_tariff’, ‘True’) -%}

    power_tauron_g12w_current_tariff:
      friendly_name: 'power_tauron_g12w_current_tariff'
      availability_template: "{{ not is_state('binary_sensor.workday_sensor', 'unavailable') }}"
      value_template: >
        {## Return True if it's peak time ##}
        {## Return False if it's offpeak time ##}
        {% set energy = {
          'peak1_start': 6,
          'peak1_stop': 13,
          'peak2_start': 15,
          'peak2_stop': 22,
        } %}
        {## Jeśli jest weekend ##}
        {% if is_state('binary_sensor.workday_sensor', 'off') %}
          False
        {## Jeśli jest po starcie pierwszego szczytu i przed końcem pierwszego szczytu ##}
        {% elif 
            (now().hour - energy.peak1_start >= 0)
              and 
            (now().hour - energy.peak1_stop < 0) 
        %}
          True
        {## Jeśli jest po starcie pierwszego szczytu i przed końcem drugiego szczytu ##}
        {% elif 
            (now().hour - energy.peak2_start >= 0)
              and 
            (now().hour - energy.peak2_stop < 0) 
        %}
          True
        {% else %}
        False
        {% endif %}        
        

    power_tauron_g12w_current_price:
      friendly_name: power_tauron_g12w_current_price
      #availability_template: "{{ not is_state('sensor.power_tauron_g12w_current_tariff', 'unavailable') }}"
      device_class: monetary
      unit_of_measurement: "PLN/kWh"
      value_template: >-
        {%- if is_state('sensor.power_tauron_g12w_current_tariff', 'False') -%}
          0.33
        {%- elif is_state('sensor.power_tauron_g12w_current_tariff', 'True') -%}
          0.81
        {%- endif -%}