Alors oui, vous allez me dire que je suis un boulet que j’ai pas lu le blog etc…
Mais je suis bloqué et je ne sais pas comment modifier mon code.
J’explique, j’ai des sensors meteo pour alimeter un cadre eink, tout marchait bien jusqu’à la dernière mise à jour.
Sauf que là je ne sais pas comment résoudre le souci
Ma configuration
Core2024.4.1
Supervisor2024.03.1
Operating System12.1
Interface utilisateur20240404.1
Voici les erreurs:
* Template variable error: None has no element 4 when rendering '{{ state_attr('weather.maison', 'forecast')[4].condition }}'
* Template variable error: None has no element 4 when rendering '{{ state_attr('weather.maison', 'forecast')[4].temperature }}'
* Template variable error: None has no element 5 when rendering '{{ state_attr('weather.maison', 'forecast')[5].condition }}'
* Template variable error: None has no element 5 when rendering '{{ state_attr('weather.maison', 'forecast')[5].temperature }}'
Voici mon code qui du coup ne marche plus
- platform: template
sensors:
# Capteur pour la condition météo actuelle
weather_condition_now:
friendly_name: "Condition Météo Actuelle"
value_template: >
{% set cond_now = states('weather.maison') %}
{% if states('sun.sun') == 'below_horizon' %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
# Capteurs pour les conditions météo futures
# Condition Météo Future 0
weather_condition_future_0:
friendly_name: "Condition Météo Future 0"
value_template: "{{ state_attr('weather.maison', 'forecast')[0].condition }}"
weather_temperature_future_0:
friendly_name: "Température Météo Future 0"
value_template: "{{ state_attr('weather.maison', 'forecast')[0].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 1
weather_condition_future_1:
friendly_name: "Condition Météo Future 1"
value_template: "{{ state_attr('weather.maison', 'forecast')[1].condition }}"
weather_temperature_future_1:
friendly_name: "Température Météo Future 1"
value_template: "{{ state_attr('weather.maison', 'forecast')[1].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 2
weather_condition_future_2:
friendly_name: "Condition Météo Future 2"
value_template: "{{ state_attr('weather.maison', 'forecast')[2].condition }}"
weather_temperature_future_2:
friendly_name: "Température Météo Future 2"
value_template: "{{ state_attr('weather.maison', 'forecast')[2].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 3
weather_condition_future_3:
friendly_name: "Condition Météo Future 3"
value_template: "{{ state_attr('weather.maison', 'forecast')[3].condition }}"
weather_temperature_future_3:
friendly_name: "Température Météo Future 3"
value_template: "{{ state_attr('weather.maison', 'forecast')[3].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 4
weather_condition_future_4:
friendly_name: "Condition Météo Future 4"
value_template: "{{ state_attr('weather.maison', 'forecast')[4].condition }}"
weather_temperature_future_4:
friendly_name: "Température Météo Future 4"
value_template: "{{ state_attr('weather.maison', 'forecast')[4].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 5
weather_condition_future_5:
friendly_name: "Condition Météo Future 5"
value_template: "{{ state_attr('weather.maison', 'forecast')[5].condition }}"
weather_temperature_future_5:
friendly_name: "Température Météo Future 5"
value_template: "{{ state_attr('weather.maison', 'forecast')[5].temperature }}"
unit_of_measurement: '°C'
L’intégration met.no marche toujours:
Merci d’avance
Salut,
l’attribut forecast
, vient dêtre supprimer depuis la 2024.4.0.
Va falloir te créer des templates sensors, pour récupérer les données dans un attribut forecast.
regarde ce post:
Salut,
j’ai créer ces Templates, pour la suppression du forecast demain ( 2024.4.0 ). Comme ca j’ai refais mes capteurs météo pour mes ESP et suis prêt pour la 2024.4.0.
template:
- trigger:
- platform: state
entity_id: weather.xxxxx #entité météo france
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.xxxxx
response_variable: daily
sensor:
- name: Weather Forecast Jour XXXX
…
T’es au top
Tu peux me faire un exemple sur un de mes sensors stp?
weather_condition_future_0:
friendly_name: "Condition Météo Future 0"
value_template: "{{ state_attr('weather.maison', 'forecast')[0].condition }}"
weather_temperature_future_0:
friendly_name: "Température Météo Future 0"
value_template: "{{ state_attr('weather.maison', 'forecast')[0].temperature }}"
unit_of_measurement: '°C'
T’es template se base sur les jours ? ou heure ?
edit:
je vais te faire par jours et heures. Tu doit créer un template sensor ( mais le nouveua format ):
template:
- trigger:
- platform: time_pattern
hours: /1
- platform: homeassistant
event: start
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.maison
response_variable: daily
sensor:
- name: Weather Forecast Jour Maison
unique_id: weather_forecast_jour_maison
state: "{{ daily['weather.maison'].forecast[0].condition }}"
attributes:
forecast: "{{ daily['weather.maison'].forecast }}"
- trigger:
- platform: time_pattern
hours: /1
- platform: homeassistant
event: start
action:
- service: weather.get_forecasts
data:
type: hourly
target:
entity_id: weather.maison
response_variable: hourly
sensor:
- name: Weather Forecast Heure Maison
unique_id: weather_forecast_heure_maison
state: "{{ hourly['weather.maison'].forecast[0].condition }}"
attributes:
forecast: "{{ hourly['weather.maison'].forecast }}"
dans tes templates actuelle tu changera juste l’entité weather.maison
pas la nouvelle du template sensor.weather_forecast_jour_maison
.
Alors tu va avoir un problème, tu utilise des templates sensors ( ancien format ) qui n’a pas d’option trigger
. Obliger de faire avec le nouveau format de template.
mais je me pose la question de savoir si l’ancien et nouveau format peuvent cohabiter.
ancien format.
sensor:
- platform: template
sensors:
nouveau format
template:
le 0 sur les heures à venir
Les autres les jours
Je t’es fais pour les deux, sur le post précédent.
Max_DL:
- platform: template
sensors:
# Capteur pour la condition météo actuelle
weather_condition_now:
friendly_name: "Condition Météo Actuelle"
value_template: >
{% set cond_now = states('weather.maison') %}
{% if states('sun.sun') == 'below_horizon' %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
# Capteurs pour les conditions météo futures
# Condition Météo Future 0
weather_condition_future_0:
friendly_name: "Condition Météo Future 0"
value_template: "{{ state_attr('weather.maison', 'forecast')[0].condition }}"
weather_temperature_future_0:
friendly_name: "Température Météo Future 0"
value_template: "{{ state_attr('weather.maison', 'forecast')[0].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 1
weather_condition_future_1:
friendly_name: "Condition Météo Future 1"
value_template: "{{ state_attr('weather.maison', 'forecast')[1].condition }}"
weather_temperature_future_1:
friendly_name: "Température Météo Future 1"
value_template: "{{ state_attr('weather.maison', 'forecast')[1].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 2
weather_condition_future_2:
friendly_name: "Condition Météo Future 2"
value_template: "{{ state_attr('weather.maison', 'forecast')[2].condition }}"
weather_temperature_future_2:
friendly_name: "Température Météo Future 2"
value_template: "{{ state_attr('weather.maison', 'forecast')[2].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 3
weather_condition_future_3:
friendly_name: "Condition Météo Future 3"
value_template: "{{ state_attr('weather.maison', 'forecast')[3].condition }}"
weather_temperature_future_3:
friendly_name: "Température Météo Future 3"
value_template: "{{ state_attr('weather.maison', 'forecast')[3].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 4
weather_condition_future_4:
friendly_name: "Condition Météo Future 4"
value_template: "{{ state_attr('weather.maison', 'forecast')[4].condition }}"
weather_temperature_future_4:
friendly_name: "Température Météo Future 4"
value_template: "{{ state_attr('weather.maison', 'forecast')[4].temperature }}"
unit_of_measurement: '°C'
# Condition Météo Future 5
weather_condition_future_5:
friendly_name: "Condition Météo Future 5"
value_template: "{{ state_attr('weather.maison', 'forecast')[5].condition }}"
weather_temperature_future_5:
friendly_name: "Température Météo Future 5"
value_template: "{{ state_attr('weather.maison', 'forecast')[5].temperature }}"
unit_of_measurement: '°C'
du coup j’ai tout refait, mais je me heurte à un truc con…
Je ne retrouve plus aucun des sensors corrigés nulle part, tu peux m’aider (déso)
template:
- sensor:
- name: "Conso corrigée"
unique_id: "conso_corrigee"
unit_of_measurement: "Wh"
state: "{{ (states('sensor.shellyem_34945470f4ca_channel_2_power') | float * 1.08) | round(0) }}"
attributes:
device_class: energy
icon: mdi:gauge
state_class: total_increasing
- name: "Jour de la Semaine"
unique_id: "jour_de_la_semaine"
state: "{{ now().strftime('%A') }}"
- name: "Jour du Mois"
unique_id: "jour_du_mois"
state: "{{ now().day }}"
- name: "Mois Actuel"
unique_id: "mois_actuel"
state: "{{ now().strftime('%B') }}"
- name: "Poubelle Normale"
unique_id: "poubelle_normale"
state: >
{% set start_date = as_timestamp(strptime('2024-02-27', '%Y-%m-%d')) %}
{% set current_date = as_timestamp(now()) %}
{% set days_since_start = ((current_date - start_date) / 86400) | int %}
{% if now().weekday() == 1 and days_since_start % 14 == 0 %}
'À sortir'
{% else %}
'Pas aujourd'hui'
{% endif %}
- name: "Poubelle Végétaux"
unique_id: "poubelle_vegetaux"
state: >
{% if now().weekday() == 3 %}
'À sortir'
{% else %}
'Pas aujourd'hui'
{% endif %}
- name: "Énergie cumulée aujourd'hui"
unique_id: "cumulated_energy_today"
unit_of_measurement: "kWh"
state: "{{ (states('sensor.shellyem_34945470f4ca_channel_2_energy') | float / 1000) }}"
attributes:
device_class: energy
- name: "Texte Weather"
unique_id: "texte_weather"
state: "{{ state_attr('weather.metno', 'condition') }}"
- name: "Noms des Chauffages"
unique_id: "noms_des_chauffages"
state: "{{ states('sensor.chauffages_actifs_text') }}"
- name: "Chauffage Actif"
unique_id: "heating_active"
state: >
{{ (states('sensor.chambre_de_bebe_heating')|int > 0) or
(states('sensor.bureau_heating')|int > 0) or
(states('sensor.chambre_de_nell_heating')|int > 0) or
(states('sensor.chambre_des_garcons_heating')|int > 0) or
(states('sensor.chambre_des_parents_heating')|int > 0) or
(states('sensor.cuisine_heating')|int > 0) or
(states('sensor.entree_heating')|int > 0) or
(states('sensor.salon_heating')|int > 0) }}
- name: "Nombre de Chauffages Actifs"
unique_id: "nombre_chauffages_actifs"
unit_of_measurement: "chauffages"
state: >
{{ [states('sensor.chambre_de_bebe_heating')|int,
states('sensor.bureau_heating')|int,
states('sensor.chambre_de_nell_heating')|int,
states('sensor.chambre_des_garcons_heating')|int,
states('sensor.chambre_des_parents_heating')|int,
states('sensor.cuisine_heating')|int,
states('sensor.entree_heating')|int,
states('sensor.salon_heating')|int] | select('gt', 0) | list | count }}
attributes:
icon: mdi:radiator
- name: "Conso totale"
unique_id: "conso_totale"
unit_of_measurement: "Wh"
state: "{{ states('sensor.shellyem_34945470f4ca_channel_2_power') | float + states('sensor.shellyem_34945470f4ca_channel_1_power') | float }}"
attributes:
device_class: energy
icon: mdi:gauge
state_class: total_increasing
- name: "Energie renvoyée au réseau"
unique_id: "renvoi_reseau:"
unit_of_measurement: "Wh"
state: "{{ states('sensor.shellyem_34945470f4ca_channel_2_energy_returned') }}"
attributes:
device_class: energy
icon: mdi:gauge
state_class: total_increasing
- name: "Nombre de lumières allumées"
unique_id: "nombre_lumieres_on"
state: "{{ states.light | selectattr('state', 'eq', 'on') | rejectattr('attributes.friendly_name','search','all') | list | count }}"
- name: "Solaire Beem Total"
unique_id: "solaire_beem_total"
unit_of_measurement: 'watts'
state: "{{ states('sensor.beem1_ch1_power') | float + states('sensor.beem2_ch1_power') | float }}"
- name: "Solaire Voltalia Total"
unique_id: "solaire_voltalia_total"
unit_of_measurement: 'watts'
state: "{{ states('sensor.arriere_cuisine_ch1_power') | float + states('sensor.arriere_salon_ch1_power') | float }}"
- name: "Température SPA"
unique_id: "temperature_spa"
unit_of_measurement: '°C'
state: "{{ state_attr('climate.spa', 'current_temperature') }}"
- name: "Prix corrigé"
unique_id: "conso_prix_corrigee"
unit_of_measurement: '€'
state: "{{ states('edf_tempo_prix_actuel') | float / 100 }}"
attributes:
device_class: monetary
icon: mdi:cash-lock
- name: "Tempo Demain"
unique_id: "tempo_demain"
state: "{{ states('sensor.tempo_demain') }}"
- name: "Tempo Aujourd'hui"
unique_id: "tempo_aujourdhui"
state: "{{ states('sensor.tempo_aujourdhui') }}"
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.maison
response_variable: daily_forecast
sensor:
# Capteur pour la condition météo actuelle
- name: Weather Condition Now Maison
unique_id: weather_condition_now
state: >-
{% set cond_now = daily_forecast['weather.maison'].forecast[0].condition %}
{% if is_state('sun.sun', 'below_horizon') %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[0].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[0] }}"
# Capteurs pour les conditions météo futures (de Future 0 à Future 5)
- name: Weather Condition Future 0 Maison
unique_id: weather_condition_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].condition }}"
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[1].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Condition Future 1 Maison
unique_id: weather_condition_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].condition }}"
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[2].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
- name: Weather Condition Future 2 Maison
unique_id: weather_condition_future_2
state: "{{ daily_forecast['weather.maison'].forecast[3].condition }}"
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[3].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[3] }}"
- name: Weather Condition Future 3 Maison
unique_id: weather_condition_future_3
state: "{{ daily_forecast['weather.maison'].forecast[4].condition }}"
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[4].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[4] }}"
- name: Weather Condition Future 4 Maison
unique_id: weather_condition_future_4
state: "{{ daily_forecast['weather.maison'].forecast[5].condition }}"
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[5].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[5] }}"
- name: Weather Condition Future 5 Maison
unique_id: weather_condition_future_5
state: "{{ daily_forecast['weather.maison'].forecast[6].condition }}"
attributes:
temperature: "{{ daily_forecast['weather.maison'].forecast[6].temperature }}"
forecast: "{{ daily_forecast['weather.maison'].forecast[6] }}"
Je vais manger, je regarde après.
bon appetit et merci
Je précise c mon fichier sensors.yaml
le nouveau format template, ne ce mets pas dans sensor:
, mais template:
.
si tu veut utiliser un template.yaml, rajoute la ligne template: !include template.yaml
dans ton configuration.yaml.
Tu créer un fichier template.yaml dans /config/ et colle le code dedans. Ne mets pas template:
au début:
- sensor:
- name: "Conso corrigée"
unique_id: "conso_corrigee"
unit_of_measurement: "Wh"
state: "{{ (states('sensor.shellyem_34945470f4ca_channel_2_power') | float * 1.08) | round(0) }}"
attributes:
device_class: energy
icon: mdi:gauge
state_class: total_increasing
ta fais des erreus, icon:
, device_class
et state_class
sont au même niveau que state
. Pas besoin de mettre atributes.
attributes:
device_class: energy
icon: mdi:gauge
state_class: total_increasing
correction:
- sensor:
- name: "Conso corrigée"
unique_id: "conso_corrigee"
unit_of_measurement: "Wh"
state: "{{ (states('sensor.shellyem_34945470f4ca_channel_2_power') | float * 1.08) | round(0) }}"
device_class: energy
icon: mdi:gauge
state_class: total_increasing
Max_DL
Avril 7, 2024, 10:52
11
ok j’ai migré du coup la météo dans template:
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.maison
response_variable: daily_forecast
sensor:
# Capteur pour la condition météo actuelle
- name: Weather Condition Now
unique_id: weather_condition_now
state: >-
{% set cond_now = daily_forecast['weather.maison'].forecast[0].condition %}
{% if is_state('sun.sun', 'below_horizon') %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[0] }}"
# Capteurs pour les conditions météo futures (de Future 0 à Future 5)
- name: Weather Condition Future 0
unique_id: weather_condition_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Condition Future 1
unique_id: weather_condition_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
- name: Weather Condition Future 2
unique_id: weather_condition_future_2
state: "{{ daily_forecast['weather.maison'].forecast[3].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[3] }}"
- name: Weather Condition Future 3
unique_id: weather_condition_future_3
state: "{{ daily_forecast['weather.maison'].forecast[4].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[4] }}"
- name: Weather Condition Future 4
unique_id: weather_condition_future_4
state: "{{ daily_forecast['weather.maison'].forecast[5].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[5] }}"
- name: Weather Condition Future 5
unique_id: weather_condition_future_5
state: "{{ daily_forecast['weather.maison'].forecast[6].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[6] }}"
# Capteurs pour les températures futures (de Future 0 à Future 5)
- name: Weather Temperature Future 0
unique_id: weather_temperature_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Temperature Future 1
unique_id: weather_temperature_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
- name: Weather Temperature Future 2
unique_id: weather_temperature_future_2
state: "{{ daily_forecast['weather.maison'].forecast[3].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[3] }}"
- name: Weather Temperature Future 3
unique_id: weather_temperature_future_3
state: "{{ daily_forecast['weather.maison'].forecast[4].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[4] }}"
- name: Weather Temperature Future 4
unique_id: weather_temperature_future_4
state: "{{ daily_forecast['weather.maison'].forecast[5].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[5] }}"
- name: Weather Temperature Future 5
unique_id: weather_temperature_future_5
state: "{{ daily_forecast['weather.maison'].forecast[6].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[6] }}"
Il retrouve bien mes entités mais …
Ca déclenche toutes les heures, attends 13h00.
rajoute ce trigger, pour être tranquille quand tu rédémarre:
- trigger:
- platform: time_pattern
hours: /1
- platform: homeassistant
event: start
Edit:
j’avais pas vu , ta fais une erreur. c’est - sensor:
au lieu de sensor:
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.maison
response_variable: daily_forecast
### ERREUR indexion
sensor:
# Capteur pour la condition météo actuelle
- name: Weather Condition Now
unique_id: weather_condition_now
state: >-
{% set cond_now = daily_forecast['weather.maison'].forecast[0].condition %}
{% if is_state('sun.sun', 'below_horizon') %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[0] }}"
# Capteurs pour les conditions météo futures (de Future 0 à Future 5)
- name: Weather Condition Future 0
unique_id: weather_condition_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Condition Future 1
unique_id: weather_condition_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.maison
response_variable: daily_forecast
- sensor:
# Capteur pour la condition météo actuelle
- name: Weather Condition Now
unique_id: weather_condition_now
state: >-
{% set cond_now = daily_forecast['weather.maison'].forecast[0].condition %}
{% if is_state('sun.sun', 'below_horizon') %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[0] }}"
# Capteurs pour les conditions météo futures (de Future 0 à Future 5)
- name: Weather Condition Future 0
unique_id: weather_condition_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Condition Future 1
unique_id: weather_condition_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
Max_DL
Avril 7, 2024, 11:02
14
mille millions de mercis, j’ai tout refait grace à ta précieuse aide et tout marche:
- sensor:
- name: "Conso corrigée"
unique_id: "conso_corrigee"
unit_of_measurement: "Wh"
state: "{{ (states('sensor.shellyem_34945470f4ca_channel_2_power') | float * 1.08) | round(0) }}"
device_class: energy
icon: mdi:gauge
state_class: total_increasing
- name: "Jour de la Semaine"
unique_id: "jour_de_la_semaine"
state: "{{ now().strftime('%A') }}"
- name: "Jour du Mois"
unique_id: "jour_du_mois"
state: "{{ now().day }}"
- name: "Mois Actuel"
unique_id: "mois_actuel"
state: "{{ now().strftime('%B') }}"
- name: "Poubelle Normale"
unique_id: "poubelle_normale"
state: >
{% set start_date = as_timestamp(strptime('2024-02-27', '%Y-%m-%d')) %}
{% set current_date = as_timestamp(now()) %}
{% set days_since_start = ((current_date - start_date) / 86400) | int %}
{% if now().weekday() == 1 and days_since_start % 14 == 0 %}
'À sortir'
{% else %}
'Pas aujourd'hui'
{% endif %}
- name: "Poubelle Végétaux"
unique_id: "poubelle_vegetaux"
state: >
{% if now().weekday() == 3 %}
'À sortir'
{% else %}
'Pas aujourd'hui'
{% endif %}
- name: "Énergie cumulée aujourd'hui"
unique_id: "cumulated_energy_today"
unit_of_measurement: "kWh"
state: "{{ (states('sensor.shellyem_34945470f4ca_channel_2_energy') | float / 1000) }}"
device_class: energy
- name: "Texte Weather"
unique_id: "texte_weather"
state: "{{ state_attr('weather.metno', 'condition') }}"
- name: "Noms des Chauffages"
unique_id: "noms_des_chauffages"
state: "{{ states('sensor.chauffages_actifs_text') }}"
- name: "Chauffage Actif"
unique_id: "heating_active"
state: >
{{ (states('sensor.chambre_de_bebe_heating')|int > 0) or
(states('sensor.bureau_heating')|int > 0) or
(states('sensor.chambre_de_nell_heating')|int > 0) or
(states('sensor.chambre_des_garcons_heating')|int > 0) or
(states('sensor.chambre_des_parents_heating')|int > 0) or
(states('sensor.cuisine_heating')|int > 0) or
(states('sensor.entree_heating')|int > 0) or
(states('sensor.salon_heating')|int > 0) }}
- name: "Nombre de Chauffages Actifs"
unique_id: "nombre_chauffages_actifs"
unit_of_measurement: "chauffages"
state: >
{{ [states('sensor.chambre_de_bebe_heating')|int,
states('sensor.bureau_heating')|int,
states('sensor.chambre_de_nell_heating')|int,
states('sensor.chambre_des_garcons_heating')|int,
states('sensor.chambre_des_parents_heating')|int,
states('sensor.cuisine_heating')|int,
states('sensor.entree_heating')|int,
states('sensor.salon_heating')|int] | select('gt', 0) | list | count }}
icon: mdi:radiator
- name: "Conso totale"
unique_id: "conso_totale"
unit_of_measurement: "Wh"
state: "{{ states('sensor.shellyem_34945470f4ca_channel_2_power') | float + states('sensor.shellyem_34945470f4ca_channel_1_power') | float }}"
device_class: energy
icon: mdi:gauge
state_class: total_increasing
- name: "Energie renvoyée au réseau"
unique_id: "renvoi_reseau:"
unit_of_measurement: "Wh"
state: "{{ states('sensor.shellyem_34945470f4ca_channel_2_energy_returned') }}"
device_class: energy
icon: mdi:gauge
state_class: total_increasing
- name: "Nombre de lumières allumées"
unique_id: "nombre_lumieres_on"
state: "{{ states.light | selectattr('state', 'eq', 'on') | rejectattr('attributes.friendly_name','search','all') | list | count }}"
- name: "Solaire Beem Total"
unique_id: "solaire_beem_total"
unit_of_measurement: 'watts'
state: "{{ states('sensor.beem1_ch1_power') | float + states('sensor.beem2_ch1_power') | float }}"
- name: "Solaire Voltalia Total"
unique_id: "solaire_voltalia_total"
unit_of_measurement: 'watts'
state: "{{ states('sensor.arriere_cuisine_ch1_power') | float + states('sensor.arriere_salon_ch1_power') | float }}"
- name: "Température SPA"
unique_id: "temperature_spa"
unit_of_measurement: '°C'
state: "{{ state_attr('climate.spa', 'current_temperature') }}"
- name: "Prix corrigé"
unique_id: "conso_prix_corrigee"
unit_of_measurement: '€'
state: "{{ states('edf_tempo_prix_actuel') | float / 100 }}"
device_class: monetary
icon: mdi:cash-lock
- name: "Tempo Demain"
unique_id: "tempo_demain"
state: "{{ states('sensor.tempo_demain') }}"
- name: "Tempo Aujourd'hui"
unique_id: "tempo_aujourdhui"
state: "{{ states('sensor.tempo_aujourdhui') }}"
- trigger:
- platform: time_pattern
hours: /1
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.maison
response_variable: daily_forecast
sensor:
# Capteur pour la condition météo actuelle
- name: Weather Condition Now
unique_id: weather_condition_now
state: >-
{% set cond_now = daily_forecast['weather.maison'].forecast[0].condition %}
{% if is_state('sun.sun', 'below_horizon') %}
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
{% else %}
{{ cond_now }}
{% endif %}
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[0] }}"
# Capteurs pour les conditions météo futures (de Future 0 à Future 5)
- name: Weather Condition Future 0
unique_id: weather_condition_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Condition Future 1
unique_id: weather_condition_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
- name: Weather Condition Future 2
unique_id: weather_condition_future_2
state: "{{ daily_forecast['weather.maison'].forecast[3].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[3] }}"
- name: Weather Condition Future 3
unique_id: weather_condition_future_3
state: "{{ daily_forecast['weather.maison'].forecast[4].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[4] }}"
- name: Weather Condition Future 4
unique_id: weather_condition_future_4
state: "{{ daily_forecast['weather.maison'].forecast[5].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[5] }}"
- name: Weather Condition Future 5
unique_id: weather_condition_future_5
state: "{{ daily_forecast['weather.maison'].forecast[6].condition }}"
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[6] }}"
# Capteurs pour les températures futures (de Future 0 à Future 5)
- name: Weather Temperature Future 0
unique_id: weather_temperature_future_0
state: "{{ daily_forecast['weather.maison'].forecast[1].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[1] }}"
- name: Weather Temperature Future 1
unique_id: weather_temperature_future_1
state: "{{ daily_forecast['weather.maison'].forecast[2].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[2] }}"
- name: Weather Temperature Future 2
unique_id: weather_temperature_future_2
state: "{{ daily_forecast['weather.maison'].forecast[3].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[3] }}"
- name: Weather Temperature Future 3
unique_id: weather_temperature_future_3
state: "{{ daily_forecast['weather.maison'].forecast[4].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[4] }}"
- name: Weather Temperature Future 4
unique_id: weather_temperature_future_4
state: "{{ daily_forecast['weather.maison'].forecast[5].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[5] }}"
- name: Weather Temperature Future 5
unique_id: weather_temperature_future_5
state: "{{ daily_forecast['weather.maison'].forecast[6].temperature }}"
unit_of_measurement: '°C'
attributes:
forecast: "{{ daily_forecast['weather.maison'].forecast[6] }}"
et du coup…
tout remarche
1 « J'aime »
Pense a mettre ton sujet en résolue
bentou
Avril 7, 2024, 11:13
16
c’est quel écran que tu as ?
j’ai un 7.5" v2
et il passe du noir au gris instantanément lors du refresh …
display:
- platform: waveshare_epaper
id: eink_display
cs_pin: 15
dc_pin: 27
busy_pin: 25
reset_pin: 26
reset_duration: 2ms
model: 7.50inv2
rotation: 270°
update_interval: never
Salut,
aucune politesse le 3ème âges
1 « J'aime »
bentou
Avril 7, 2024, 11:18
18
Tu pense que mon écran a déjà des cheveux gris ???
update_interval (Optional , Time ): The interval to re-draw the screen. Defaults to 1s
, use never
to only manually update the screen via component.update
.
comment tu actualise l’écran ?
dans la doc dans l’exemple ta c’est option full_update_every: 30
non, ce que @WarC0zes voulait dire, c’est que être a la retraite n’empêche pas le bonjour ni le merci…
1 « J'aime »