Pompa ciepła – wybranie optymalnego czasu grzania wody CWU na podstawie prognozy pogody

Cześć
Stała się rzecz straszna, otóż w wersji 2024.3 wyrzucili z integracji encję hourly i flow przestał działać. informacje hourly są, ale nijak nie umiem ich wyciagnąć.
issue
Temat jest na githubie, ale nie wiem gdzie mam wrzucić ten kod:
configuration.yaml sypie mi błędami. pomoże ktoś?

#weather forcast hourly sensor 
- trigger:
    - platform: time_pattern
      hours: /1
    - platform: homeassistant
      event: start
  action:
    - service: weather.get_forecasts
      data:
        type: hourly
      target:
        entity_id: weather.home
      response_variable: hourly

- sensor:
    - name: Weather Hourly
      state: "{{ states('weather.home') }}"
      attributes:
        temperature: "{{ state_attr('weather.home', 'temperature') }}"
        dew_point: "{{ state_attr('weather.home', 'dew_point') }}"
        temperature_unit: "{{ state_attr('weather.home', 'temperature_unit') }}"
        humidity: "{{ state_attr('weather.home', 'humidity') }}"
        cloud_coverage: "{{ state_attr('weather.home', 'cloud_coverage') }}"
        pressure: "{{ state_attr('weather.home', 'pressure') }}"
        pressure_unit: "{{ state_attr('weather.home', 'pressure_unit') }}"
        wind_bearing: "{{ state_attr('weather.home', 'wind_bearing') }}"
        wind_speed: "{{ state_attr('weather.home', 'wind_speed') }}"
        wind_speed_unit: "{{ state_attr('weather.home', 'wind_speed_unit') }}"
        visibility_unit: "{{ state_attr('weather.home', 'visibility_unit') }}"
        precipitation_unit: "{{ state_attr('weather.home', 'precipitation_unit') }}"
        forecast: "{{ hourly['weather.home'].forecast }}"    

To nie jest kompletny kod - brakuje sekcji

template:

i wcięcia przed wyzwalaczem

jeśli masz template w osobnym pliku od configuration.yaml
to tam umieść oczywiście bez sekcji i zmniejszając wcięcia o 2 spacje

może na laika wyjdę, ale template mam bezpośrednio w configuration.yaml jak poniżej
obraz


 #===================#
  - platform: template #Woda bufor hydrofornia # tarujemy wodę odległość
    sensors:
      woda_bufor_poziom_pomocnik:
        friendly_name: woda bufor pomocnik
        unit_of_measurement: "cm"
        value_template: "{{ -12.5|float(0)| round(0) + states('sensor.woda_bufor_pomiar_sr04_distance')|float(0)| round(0) }}" #tarowanie odległości, czyli dystans pomiędzy czujnikiem a 100%
  - platform: template #woda bufor pioziom hydrofornia
    sensors:
      woda_bufor_poziom:
        friendly_name: Woda bufor
        unit_of_measurement: "%"
        value_template: "{{ (100 - (states('sensor.woda_bufor_poziom_pomocnik') | float (0) / 72 * 100)) | round (0) }}" #72 - to zakres w cm dla 100%
  #===================#

OK, masz konfigurację w starej składni, a ten YAML z issue jest w nowej składni.

Najwyższy czas przejść na nową składnię w tym co masz do tej pory, niestety w konfiguracji nie można mieć miksu starej składni i nowej równocześnie…

Nowa składnia jest opisana w dokumentacji

Cześć
Napracowałem się, bo mam tych tempaltes sporo, prognoza mi ruszyła, ale czujniki zwykłe mi się zatrzymały, poniżej przykład jednego z nich po przejsciu na nowy standard. Co w nim jest nie tak, że nie działa?

wpis w configuration.yaml

template: !include templates.yaml

templates.yaml

- sensor:
    - name: "Dom Aktualna moc"
      unique_id: dom_aktualna_moc
      device_class: power
      value_template: >-
        {{ ((states('sensor.shellyem3_34945475f256_channel_a_power')|float + states('sensor.shellyem3_34945475f256_channel_b_power')|float + states('sensor.shellyem3_34945475f256_channel_c_power')|float))|round(0) }}
      unit_of_measurement: "W"

zostawiłem tylko ten jeden czujnik, reszte skasowałem i dalej nie ruszyło, więc coś mam w zapisie nie tak… ale nie wiem co

a nie powinno być?

      state:

zamiast

      value_template:

Jak @szopen wyżej i dołożyłbym jeszcze linijkę dostępności

state:
availability: >
    {{ has_value('sensor.shellyem3_34945475f256_channel_a_power') and has_value('sensor.shellyem3_34945475f256_channel_b_power')  and has_value('sensor.shellyem3_34945475f256_channel_c_power')}}

bo chcesz wynik dodawania uzyskać tylko wtedy, gdy wszystkie czujniki w szablonie mają wartość.

1 polubienie

dziękuję za pomoc, bo ciężkich bólach i godzinach przed komputerem przeniosłem ponad 800 wierszy na nową strukture i wszystko działa :slight_smile: :partying_face:

1 polubienie