Merk at weather.orstad_utsyn går igjen 3 ganger i koden nedenfor. Dette må du endre til navnet på din vær sensor.
Den oppdateres hver hele time så når du legger den inn vil den stå med tilstand "unknown" en stund til kl. blir hel time.
Edit: jeg endret trigger fra timebasert til hver endring på værmelding. Så da er weather.orstad_utsyn nevnt 4 ganger.
Årsaken til endringen er her: https://github.com/home-assistant/core/issues/99914 Mulig jeg gjør flere endringer når dette er testet noen dager.
template:
- trigger:
- platform: state
entity_id: weather.orstad_utsyn
action:
- service: weather.get_forecasts
data:
type: hourly
target:
entity_id: weather.orstad_utsyn
response_variable: w
sensor:
- unique_id: timer_med_sol
name: "Timer med sol"
unit_of_measurement: "h"
device_class: duration
state: >-
{% set vars = namespace(count=0) %}
{% set vars = namespace(found=true) %}
{% set vars.count = 0 %}
{% set l = w['weather.orstad_utsyn'].forecast|map(attribute='condition')|list %}
{% for item in l %}
{% if vars.found == true and item == 'sunny' %}
{% set vars.count = loop.index %}
{% else %}
{% set vars.found = false %}
{% endif %}
{% endfor %}
{{ vars.count }}
- unique_id: timer_med_opphold
name: "Timer med opphold"
unit_of_measurement: "h"
device_class: duration
state: >-
{% set vars = namespace(count=0) %}
{% set vars = namespace(found=true) %}
{% set vars.count = 0 %}
{% set l = w['weather.orstad_utsyn'].forecast|map(attribute='precipitation_probability')|list %}
{% for item in l %}
{% if vars.found == true and item|float(0) <= 2 %}
{% set vars.count = loop.index %}
{% else %}
{% set vars.found = false %}
{% endif %}
{% endfor %}
{{ vars.count }}