Mon problème
*Bonjour tout le monde,
Je lance une bouteille à la mer, depuis plusieurs jours je cherche la solution concernant mon problème sur le sujet,
En effet, j’ai récupéré le code ci-dessous depuis le blog de Sigalou que j’ai ajouté dans mon fichier template.yaml:
binary_sensor:
# Vacances aujourd'hui / demain #
# Vacancces aujourd'hui
- name: vacances scolaires aujourd hui
unique_id: binary_sensor.vacances_scolaires_aujourdhui
state: |-
{% set aujourdhui = now().strftime('%Y-%m-%d')%}
{% if aujourdhui < states.sensor.vacances_scolaires.attributes["start_date"] or aujourdhui > states.sensor.vacances_scolaires.attributes["end_date"] %}
false
{% else %}
true
{% endif %}
# Vacances demain
- name: vacances scolaires demain
unique_id: binary_sensor.vacances_scolaires_demain
state: |-
{% set demain = (as_timestamp(now()) + (24*3600)) | timestamp_custom('%Y-%m-%d', True) %}
{% if demain < states.sensor.vacances_scolaires.attributes["start_date"] or demain > states.sensor.vacances_scolaires.attributes["end_date"] %}
false
{% else %}
true
{% endif %}
Et je rencontre ce message dans mon journal,
Logger: homeassistant.components.template.template_entity
Source: components/template/template_entity.py:478
Integration: Template (documentation, issues)
First occurred: 08:51:59 (2 occurrences)
Last logged: 08:51:59
TemplateError('UndefinedError: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'start_date'') while processing template 'Template<template=({% set aujourdhui = now().strftime('%Y-%m-%d')%} {% if aujourdhui < states.sensor.vacances_scolaires.attributes["start_date"] or aujourdhui > states.sensor.vacances_scolaires.attributes["end_date"] %} false {% else %} true {% endif %}) renders=4>' for attribute '_state' in entity 'binary_sensor.vacances_scolaires_aujourdhui'
TemplateError('UndefinedError: 'homeassistant.util.read_only_dict.ReadOnlyDict object' has no attribute 'start_date'') while processing template 'Template<template=({% set demain = (as_timestamp(now()) + (24*3600)) | timestamp_custom('%Y-%m-%d', True) %} {% if demain < states.sensor.vacances_scolaires.attributes["start_date"] or demain > states.sensor.vacances_scolaires.attributes["end_date"] %} false {% else %} true {% endif %}) renders=4>' for attribute '_state' in entity 'binary_sensor.vacances_scolaires_demain'
J’ai également récupéré ce code que j’ai copié dans mon fichier sensors.yaml:
# Vacances Scolaires #
# https://www.home-assistant.io/integrations/rest
# https://pon.fr/home-assistant-vacances-scolaires/
# https://github.com/papo-o/home-assistant-config/blob/master/integrations/vacances_scolaires.yaml
# vous avez une seule chose à personnaliser, l'academie
# {% set location = 'Limoges' %}
# liste des académies : 'Corse', 'Polynésie', 'Nouvelle Calédonie', 'Guyane', 'Aix-Marseille',
# 'Amiens', 'Besançon', 'Bordeaux', 'Clermont-Ferrand', 'Créteil', 'Dijon', 'Grenoble', 'Lille',
# 'Limoges', 'Lyon', 'Montpellier', 'Nancy-Metz', 'Nantes', 'Nice', 'Orléans-Tours', 'Paris',
# 'Poitiers', 'Reims', 'Rennes', 'Strasbourg', 'Toulouse', 'Versailles', 'Mayotte', 'Réunion',
# 'Martinique', 'Saint Pierre et Miquelon', 'Wallis et Futuna', 'Caen', 'Rouen', 'Guadeloupe', 'Normandie'
# https://help.opendatasoft.com/apis/ods-search-v1/#search-api-v1
- platform: rest
scan_interval: '00:30:00'
name: vacances_scolaires
json_attributes_path: "$.records[0].fields"
json_attributes:
- start_date
- end_date
- description
resource_template: |-
{% set location = 'Rouen' %}
{% set rows = '1'%}
{% set aujourdhui = now().strftime('%Y-%m-%d')%}
{% set dayOfYear = now().strftime('%j') %}
{% set year = now().strftime('%Y') | int %}
{% set lastYear = year - 1 %}
{% set nextYear = year + 1 %}
{% if dayOfYear > '244' %}
{% set schoolYear = (year | string) + "-" + (nextYear | string) %}
{%- else -%}
{% set schoolYear = (lastYear | string) + "-" + (year | string) %}
{%- endif %}
https://data.education.gouv.fr/api/records/1.0/search/?dataset=fr-en-calendrier-scolaire&facet=start_date&facet=end_date&rows={{rows}}&refine.location={{location}}&sort=-end_date&q=end_date%3E={{aujourdhui}}
value_template: |-
{% set aujourdhui = now().strftime('%Y-%m-%d')%}
{% for record in value_json.records -%}
{% if aujourdhui >= record.fields.start_date and aujourdhui <= record.fields.end_date %}
{%- if record.fields.description %}{{record.fields.description}} jusqu'au {{ as_timestamp(record.fields.end_date) | timestamp_custom('%d-%m-%Y') }} {% endif %}
{% else %}
{%- if record.fields.end_date > aujourdhui and record.fields.description %} prochaines : {{record.fields.description}} {{ as_timestamp(record.fields.start_date) | timestamp_custom('%d-%m-%Y') }}{% endif %}
{% endif %}
{%- endfor %}
Merci pour vos retours,
Bonne journée à tous, au plaisir,
*
Ma configuration
System Information
version |
core-2023.9.3 |
installation_type |
Home Assistant OS |
dev |
false |
hassio |
true |
docker |
true |
user |
root |
virtualenv |
false |
python_version |
3.11.5 |
os_name |
Linux |
os_version |
6.1.45 |
arch |
x86_64 |
timezone |
Europe/Paris |
config_dir |
/config |
Home Assistant Community Store
GitHub API |
ok |
GitHub Content |
ok |
GitHub Web |
ok |
GitHub API Calls Remaining |
4970 |
Installed Version |
1.33.0 |
Stage |
running |
Available Repositories |
1299 |
Downloaded Repositories |
4 |
Home Assistant Cloud
logged_in |
false |
can_reach_cert_server |
ok |
can_reach_cloud_auth |
ok |
can_reach_cloud |
ok |
Home Assistant Supervisor
host_os |
Home Assistant OS 10.5 |
update_channel |
stable |
supervisor_version |
supervisor-2023.09.2 |
agent_version |
1.5.1 |
docker_version |
23.0.6 |
disk_total |
30.8 GB |
disk_used |
6.3 GB |
healthy |
true |
supported |
true |
board |
ova |
supervisor_api |
ok |
version_api |
ok |
installed_addons |
Terminal & SSH (9.7.1), Studio Code Server (5.11.0) |
Dashboards
dashboards |
2 |
resources |
2 |
views |
19 |
mode |
storage |
Recorder
oldest_recorder_run |
1 octobre 2023 à 18:20 |
current_recorder_run |
3 octobre 2023 à 08:51 |
estimated_db_size |
5.34 MiB |
database_engine |
sqlite |
database_version |
3.41.2 |
___