Files
homeassistant_config/config/01capteur/openhasp.yaml.old
2024-05-31 09:39:52 +02:00

648 lines
28 KiB
YAML

#openhasp:
plate1:
objects:
- obj: "p0b2"
properties:
"text": '{{ states("sensor.ecowitt_temp")| float | round(1) }}°C'
- obj: "p0b1" # temperature label on all pages
properties:
"text": '{{ states("sensor.ecowitt_tempin")| float | round(1)}}°C'
#page 1 sensor:
- obj: "p1b11" # temperature label on all pages
properties:
"text": '{{ states("sensor.temp_fumee")| float | round(1) }}°C'
- obj: "p1b13" # temperature label on all pages
properties:
"text": '{{ states("sensor.temp_depart_chauffage")| float | round(1) }}°C'
#page 1 light:
- obj: "p1b1" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.lumieres_couloir") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.lumieres_couloir", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.lumieres_couloir"
- obj: "p1b2" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.applique_salon") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.applique_salon", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.applique_salon"
- obj: "p1b3" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.applique_cuisine") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.applique_cuisine", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.applique_cuisine"
- obj: "p1b4" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.lumieres_escaliers") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.lumieres_escaliers", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.lumieres_escaliers"
- obj: "p1b7" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.eclairage_bois") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.eclairage_bois", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.eclairage_bois"
- obj: "p1b8" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.yeelight_color4_0x15771126") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.yeelight_color4_0x15771126", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.yeelight_color4_0x15771126"
- obj: "p1b9" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.kc868_a8_d758d0_d758d0_lumiere_comble_kc") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("switch.kc868_a8_d758d0_d758d0_lumiere_comble_kc", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.kc868_a8_d758d0_d758d0_lumiere_comble_kc"
#page 2 light
- obj: "p2b21" # Light brightness
properties:
"val": "{{ state_attr('light.applique_salon', 'brightness') if state_attr('light.applique_salon', 'brightness') != None else 0 }}"
event:
"changed":
- service: light.turn_on
data:
entity_id: light.applique_salon
brightness: "{{ val }}"
"up":
- service: light.turn_on
data:
entity_id: light.applique_salon
brightness: "{{ val }}"
- obj: "p2b23" # Light brightness
properties:
"val": "{{ state_attr('light.lumieres_plafond', 'brightness') if state_attr('light.lumieres_plafond', 'brightness') != None else 0 }}"
event:
"changed":
- service: light.turn_on
data:
entity_id: light.lumieres_plafond
brightness: "{{ val }}"
"up":
- service: light.turn_on
data:
entity_id: light.lumieres_plafond
brightness: "{{ val }}"
- obj: "p2b25" # light-switch toggle button
properties:
"val": '{{ 1 if states("light.eclairage_bois") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("light.eclairage_bois", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.eclairage_bois"
#thermostat
- obj: "p3b20" # arc slider
properties:
"val": >
{% if state_attr('climate.salon','temperature') is not none %}
{{ state_attr('climate.salon','temperature') | int * 10 }}
{%- endif %}
"min": >
{% if state_attr('climate.salon','min_temp') is not none %}
{{ state_attr('climate.salon','min_temp') | int * 10 }}
{%- endif %}
"max": >
{% if state_attr('climate.salon','max_temp') is not none %}
{{ state_attr('climate.salon','max_temp') | int * 10 }}
{%- endif %}
"opacity": "{{ 60 if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 255 }}"
"click": "{{ 'false' if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 'true' }}"
"line_color1": >
{% if is_state('climate.salon', 'cool') %}
{{ "#346beb" }}
{%-elif is_state('climate.salon', 'heat_cool') %}
{{ "#34bdeb" }}
{%-elif is_state('climate.salon', 'heat') %}
{{ "#eb3434" }}
{%-elif is_state('climate.salon', 'dry') %}
{{ "#ebeb34" }}
{%-elif is_state('climate.salon', 'fan_only') %}
{{ "#34eb77" }}
{%-else %}
{{ "#9f96b0" }}
{% endif %}
event:
"changed":
- service: climate.set_temperature
target:
entity_id: climate.salon
data:
temperature: "{{ val | int / 10 }}"
"up":
- service: climate.set_temperature
target:
entity_id: climate.salon
data:
temperature: "{{ val | int / 10 }}"
- obj: "p3b21" # gauge current temp
properties:
"val": >
{% if not (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) %}
{{ states('climate.salon') | float (default=0) * 10 }}
{%- endif %}
"min": >
{% if state_attr('climate.salon','min_temp') is not none %}
{{ state_attr('climate.salon','min_temp') | int * 10 }}
{%- endif %}
"max": >
{% if state_attr('climate.salon','max_temp') is not none %}
{{ state_attr('climate.salon','max_temp') | int * 10 }}
{%- endif %}
"critical_value": >
{% if state_attr('climate.salon','max_temp') is not none %}
{{ state_attr('climate.salon','max_temp') | int * 10 + 1 }}
{%- endif %}
"label_count": >
{% if state_attr('climate.salon','max_temp') is not none %}
{{ state_attr('climate.salon','max_temp') | int - state_attr('climate.salon','min_temp') | int + 1 }}
{%- endif %}
"line_count": >
{% if state_attr('climate.salon','max_temp') is not none %}
{{ (state_attr('climate.salon','max_temp') | int - state_attr('climate.salon','min_temp') | int) * 2 + 1 }}
{%- endif %}
"opacity": "{{ 60 if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 255 }}"
- obj: "p3b23" # label current temp (and +/- with short/long touch)
properties:
"text": >
{% if (is_state('sensor.ecowitt_tempin','unavailable') or is_state('sensor.ecowitt_tempin','unknown')) %}
{{ "--.-" }}
{%-else %}
{{ states('sensor.ecowitt_tempin') | round(1,default=0) }}
{%- endif %}
"click": "{{ 'false' if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 'true' }}"
"opacity": "{{ 60 if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 255 }}"
event:
"up":
- service: climate.set_temperature
target:
entity_id: climate.salon
data:
temperature: "{{ state_attr('climate.salon','temperature') + state_attr('climate.salon','target_temp_step') | float(default=1)}}"
"long":
- service: climate.set_temperature
target:
entity_id: climate.salon
data:
temperature: "{{ state_attr('climate.salon','temperature') - state_attr('climate.salon','target_temp_step') | float(default=1)}}"
- obj: "p3b25" # label target temp
properties:
"text": >
{% if state_attr('climate.salon','temperature') is not none %}
{{ state_attr('climate.salon','temperature') }}
{%- endif %}
"opacity": "{{ 60 if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 255 }}"
- obj: "p3b41" # on/off switch
properties:
"val": "{{ 0 if (is_state('climate.salon', 'off') or is_state('climate.salon', 'unavailable')) else 1 }}"
"click": "{{ 'false' if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 'true' }}"
"opacity": "{{ 60 if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 255 }}"
event:
"down":
- service_template: >
{% if val == 0 -%}
climate.turn_on
{% else -%}
climate.turn_off
{% endif -%}
entity_id: "climate.salon"
- obj: "p3b30" # tab dots
event:
"changed":
- service: openhasp.command
target:
entity_id: openhasp.your_plate
data:
keyword: p3b26.text
parameters: >
{% if val == 0 %}
{{ "#000000 \u2022# #909090 \u2022# #909090 \u2022#" | e }}
{%-elif val == 1 %}
{{ "#909090 \u2022# #000000 \u2022# #909090 \u2022#" | e }}
{%-elif val == 2 %}
{{ "#909090 \u2022# #909090 \u2022# #000000 \u2022#" | e }}
{% endif %}
- obj: "p3b42" # dropdown with fan_modes
properties:
"options": >
{% if state_attr('climate.salon','fan_modes') is not none %}{%for mode in state_attr('climate.salon','fan_modes')%}
{%- if mode == 'auto' -%}
Automatic{{"\n"|e}}
{%- elif mode == 'low' -%}
Low{{"\n"|e}}
{%- elif mode == 'medium' -%}
Medium{{"\n"|e}}
{%- elif mode == 'high' -%}
High{{"\n"|e}}
{%- elif mode == 'turbo' -%}
Turbo{{"\n"|e}}
{%- endif -%}
{%-if not loop.last%}{%-endif%}{%-endfor%}{% endif %}
"click": "{{ 'false' if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 'true' }}"
"val": >
{% if not (is_state('climate.salon','unavailable')) %}{%for mode in state_attr('climate.salon','fan_modes')%}
{{loop.index -1 if mode == state_attr('climate.salon','fan_mode') }}
{%-endfor%}{% endif %}
event:
"changed":
- service: climate.set_fan_mode
target:
entity_id: climate.salon
data:
fan_mode: >
{% if text == "Automatic" -%}
auto
{% elif text == 'Low' -%}
low
{% elif text == 'Medium' -%}
medium
{% elif text == 'High' -%}
high
{% elif text == 'Turbo' -%}
turbo
{% endif -%}
- obj: "p3b43" # dropdown with hvac_modes
properties:
"options": >
{% if state_attr('climate.salon','hvac_modes') is not none %}{%for mode in state_attr('climate.salon','hvac_modes')%}
{%- if mode == 'off' -%}
Off{{"\n"|e}}
{%- elif mode == 'heat' -%}
Heating{{"\n"|e}}
{%- elif mode == 'cool' -%}
Cooling{{"\n"|e}}
{%- elif mode == 'heat_cool' -%}
Heat/Cool{{"\n"|e}}
{%- elif mode == 'dry' -%}
Drying{{"\n"|e}}
{%- elif mode == 'fan_only' -%}
Fan only{{"\n"|e}}
{%- else -%}
On{{"\n"|e}}
{%- endif -%}
{%-if not loop.last%}{%-endif%}{%-endfor%}{% endif %}
"click": "{{ 'false' if (is_state('climate.salon','unavailable') or is_state('climate.salon','unknown')) else 'true' }}"
"val": >
{% if not (is_state('climate.salon','unavailable')) %}{%for mode in state_attr('climate.salon','hvac_modes')%}
{{loop.index -1 if mode == states('climate.salon') }}
{%-endfor%}{% endif %}
event:
"changed":
- service: climate.set_hvac_mode
target:
entity_id: climate.salon
data:
hvac_mode: >
{% if text == "Off" -%}
off
{% elif text == 'Heating' -%}
heat
{% elif text == 'Cooling' -%}
cool
{% elif text == 'Heat/Cool' -%}
heat_cool
{% elif text == 'Drying' -%}
dry
{% elif text == 'Fan only' -%}
fan_only
{% endif -%}
# solar page4
- obj: "p4b41" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.relay_inverter_1") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("switch.relay_inverter_1", "on") else "\uE335" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.relay_inverter_1"
- obj: "p4b43" # temperature label on all pages
properties:
"text": '{{ states("sensor.pv_power_3") }}W'
- obj: "p4b45" # temperature label on all pages
properties:
"text": '{{ states("sensor.tacsolar_power") }}W'
- obj: "p4b47" # temperature label on all pages
properties:
"text": '{{ states("sensor.power_compteur") }}W'
- obj: "p4b49" # temperature label on all pages
properties:
"text": '{{ states("sensor.battery_state_of_charge_2") }}%'
# weather section
- obj: "p5b14" # Icon
properties:
"src": "{{ 'L:/w-128-' + states('weather.openweathermap') + '.png' if not is_state('weather.openweathermap','unavailable') }}"
- obj: "p5b15" # Current date (adjust format to your needs)
properties:
"text": >
{%- if not is_state('weather.openweathermap','unavailable') %}
{%- set day = (states.weather.openweathermap.last_changed).strftime('%w') %}
{%- set days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] %}
{{- days[ day | int -1 ] }} {{ (states.weather.openweathermap.last_changed).strftime('%m. %d. ') }}
{% endif -%}
- obj: "p5b16" # Current temp (you can use your own outdoor temp sensor if you have one)
properties:
"text": "{{ state_attr('weather.openweathermap','temperature') |string + '°C' if not is_state('weather.openweathermap','unavailable') }}" # or "{{ states('sensor.your_own_temp_sensor') if not is_state('sensor.your_own_temp_sensor','unavailable') else '--' }}°C"
- obj: "p5b17" # Current weather condition
properties:
"text": >
{% if is_state('weather.openweathermap','clear-night') -%}
Clear night
{% elif is_state('weather.openweathermap','cloudy') -%}
Cloudy
{% elif is_state('weather.openweathermap','fog') -%}
Fog
{% elif is_state('weather.openweathermap','hail') -%}
Hail
{% elif is_state('weather.openweathermap','lightning') -%}
Lightning
{% elif is_state('weather.openweathermap','lightning-rainy') -%}
Thunderstorms
{% elif is_state('weather.openweathermap','partlycloudy') -%}
Partly cloudy
{% elif is_state('weather.openweathermap','pouring') -%}
Pouring rain
{% elif is_state('weather.openweathermap','rainy') -%}
Rainy
{% elif is_state('weather.openweathermap','snowy') -%}
Snowy
{% elif is_state('weather.openweathermap','snowy-rainy') -%}
Snowy-rainy
{% elif is_state('weather.openweathermap','sunny') -%}
Sunny
{% elif is_state('weather.openweathermap','windy') -%}
Windy
{% elif is_state('weather.openweathermap','windy-variant') -%}
Windy
{% elif is_state('weather.openweathermap','exceptional') -%}
Exceptional
{% elif is_state('weather.openweathermap','unavailable') -%}
(not available)
{% else -%}
{{ states('weather.openweathermap') }}
{% endif -%}
- obj: "p5b10" # tab dots - MAKE SURE YOU UPDATE THIS ONE!!
event:
"changed":
- service: openhasp.command
target:
entity_id: openhasp.your_plate
data:
keyword: p5b19.text
parameters: >
{% if val == 0 %}
{{ "#000000 \u2022# #909090 \u2022#" | e }}
{%-elif val == 1 %}
{{ "#909090 \u2022# #000000 \u2022#" | e }}
{% endif %}
- obj: "p5b21" # Forecast time +1h
properties:
"text": >
{%- if not is_state('weather.openweathermap','unavailable') %}
{%- set update = states('sensor.date') %}
{%- set midnight = now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp() %}
{%- set event = as_timestamp(strptime(state_attr('weather.openweathermap','forecast')[1]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set delta = ((event - midnight) // 86400) | int %}
{%- if delta == 0 %}
Today
{%- elif delta == 1 %}
Tomorrow
{%- endif %}
{{- event | timestamp_custom(" %-I %p") }}
{%- endif %}
- obj: "p5b22" # Forecast temp +1h
properties:
"text": "{{ state_attr('weather.openweathermap','forecast')[1]['temperature'] if not is_state('weather.openweathermap','unavailable') else '-' }}"
- obj: "p5b23" # Forecast condition +1h
properties:
"src": >
{%- if not is_state('weather.openweathermap','unavailable') %}
L:/w-32-{{ state_attr('weather.openweathermap','forecast')[1]['condition'] }}.png
{%- endif %}
- obj: "p5b31" # Forecast time +2h (using Dawn/Morn etc instead of Today/Tomorrow)
properties:
"text": >
{%- if not is_state('weather.openweathermap','unavailable') %}
{%- set hour = as_timestamp(strptime(state_attr('weather.openweathermap','forecast')[3]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) | timestamp_custom("%-H") | int %}
{%- if 4 <= hour < 6 %}
Dawning
{%- elif 6 <= hour < 9 %}
Morning
{%- elif 9 <= hour < 12 %}
Forenoon
{%- elif 12 <= hour < 18 %}
Afternoon
{%- elif 18 <= hour < 23 %}
Evening
{%- elif 23 <= hour or hour < 4 %}
Night
{%- endif %}
{{- " " + hour |string + " o'clock" }}
{%- endif %}
- obj: "p5b32" # Forecast temp +2h
properties:
"text": "{{ state_attr('weather.openweathermap','forecast')[3]['temperature'] if not is_state('weather.openweathermap','unavailable') else '-' }}"
- obj: "p5b33" # Forecast condition +2h
properties:
"src": >
{%- if not is_state('weather.openweathermap','unavailable') %}
L:/w-32-{{ state_attr('weather.openweathermap','forecast')[3]['condition'] }}.png
{%- endif %}
- obj: "p5b41" # Forecast time +4h
properties:
"text": >
{%- if not is_state('weather.openweathermap','unavailable') %}
{%- set update = states('sensor.date') %}
{%- set midnight = now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp() %}
{%- set event = as_timestamp(strptime(state_attr('weather.openweathermap','forecast')[6]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set delta = ((event - midnight) // 86400) | int %}
{%- if delta == 0 %}
Today
{%- elif delta == 1 %}
Tomorrow
{%- endif %}
{{- event | timestamp_custom(" %-I %p") }}
{%- endif %}
- obj: "p5b42" # Forecast temp +4h
properties:
"text": "{{ state_attr('weather.openweathermap','forecast')[6]['temperature'] if not is_state('weather.openweathermap','unavailable') else '-' }}"
- obj: "p5b43" # Forecast condition +4h
properties:
"src": >
{%- if not is_state('weather.openweathermap','unavailable') %}
L:/w-32-{{ state_attr('weather.openweathermap','forecast')[6]['condition'] }}.png
{%- endif %}
- obj: "p5b51" # Forecast time +8h
properties:
"text": >
{%- if not is_state('weather.openweathermap','unavailable') %}
{%- set update = states('sensor.date') %}
{%- set midnight = now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp() %}
{%- set event = as_timestamp(strptime(state_attr('weather.openweathermap','forecast')[12]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set delta = ((event - midnight) // 86400) | int %}
{%- if delta == 0 %}
Today
{%- elif delta == 1 %}
Tomorrow
{%- endif %}
{{- event | timestamp_custom(" %-I %p") }}
{%- endif %}
- obj: "p5b52" # Forecast temp +8h
properties:
"text": "{{ state_attr('weather.openweathermap','forecast')[12]['temperature'] if not is_state('weather.openweathermap','unavailable') else '-' }}"
- obj: "p5b53" # Forecast condition +8h
properties:
"src": >
{%- if not is_state('weather.openweathermap','unavailable') %}
L:/w-32-{{ state_attr('weather.openweathermap','forecast')[12]['condition'] }}.png
{%- endif %}
- obj: "p5b61" # Forecast date +1d
properties:
"text": >
{%- if not is_state('weather.bessamorel','unavailable') %}
{%- set now = as_timestamp(strptime(state_attr('weather.bessamorel','forecast')[0]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set day = now | timestamp_custom("%w") %}
{%- set days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] %}
{{ days[ day | int -1 ] }}{{- now | timestamp_custom(" %d") }}
{%- endif %}
- obj: "p5b62" # Forecast temp min +1d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[0]['templow'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b63" # Forecast temp max +1d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[0]['temperature'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b64" # Forecast condition +1d
properties:
"src": >
{%- if not is_state('weather.bessamorel','unavailable') %}
L:/w-32-{{ state_attr('weather.bessamorel','forecast')[0]['condition'] }}.png
{%- endif %}
- obj: "p5b71" # Forecast date +2d
properties:
"text": >
{%- if not is_state('weather.bessamorel','unavailable') %}
{%- set now = as_timestamp(strptime(state_attr('weather.bessamorel','forecast')[1]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set day = now | timestamp_custom("%w") %}
{%- set days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] %}
{{ days[ day | int -1 ] }}{{- now | timestamp_custom(" %d") }}
{%- endif %}
- obj: "p5b72" # Forecast temp min +2d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[1]['templow'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b73" # Forecast temp max +2d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[1]['temperature'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b74" # Forecast condition +2d
properties:
"src": >
{%- if not is_state('weather.bessamorel','unavailable') %}
L:/w-32-{{ state_attr('weather.bessamorel','forecast')[1]['condition'] }}.png
{%- endif %}
- obj: "p5b81" # Forecast date +3d
properties:
"text": >
{%- if not is_state('weather.bessamorel','unavailable') %}
{%- set now = as_timestamp(strptime(state_attr('weather.bessamorel','forecast')[2]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set day = now | timestamp_custom("%w") %}
{%- set days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] %}
{{ days[ day | int -1 ] }}{{- now | timestamp_custom(" %d") }}
{%- endif %}
- obj: "p5b82" # Forecast temp min +3d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[2]['templow'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b83" # Forecast temp max +3d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[2]['temperature'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b84" # Forecast condition +3d
properties:
"src": >
{%- if not is_state('weather.bessamorel','unavailable') %}
L:/w-32-{{ state_attr('weather.bessamorel','forecast')[2]['condition'] }}.png
{%- endif %}
- obj: "p5b91" # Forecast date +4d
properties:
"text": >
{%- if not is_state('weather.bessamorel','unavailable') %}
{%- set now = as_timestamp(strptime(state_attr('weather.bessamorel','forecast')[3]['datetime'], '%Y-%m-%dT%H:%M:%S%z', default='2020-01-00T00:00:00+00:00')) %}
{%- set day = now | timestamp_custom("%w") %}
{%- set days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] %}
{{ days[ day | int -1 ] }}{{- now | timestamp_custom(" %d") }}
{%- endif %}
- obj: "p5b92" # Forecast temp min +4d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[3]['templow'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b93" # Forecast temp max +4d
properties:
"text": "{{ state_attr('weather.bessamorel','forecast')[3]['temperature'] if not is_state('weather.bessamorel','unavailable') else '-' }}"
- obj: "p5b94" # Forecast condition +4d
properties:
"src": >
{%- if not is_state('weather.bessamorel','unavailable') %}
L:/w-32-{{ state_attr('weather.bessamorel','forecast')[3]['condition'] }}.png
{%- endif %}