Bonjour,
Après maintenant quelques semaines sous HA, je tente d’intégrer des choses comme Vigicrue et remonter la hauteur d’une rivière pour me prévenir en cas de crue, par une alerte.
Le problème est que je crois que je bloque dès le début…
J’ai récupéré sur
La structure des réponses sont différentes, donc tu ne peux pas utiliser le même « value_template ».
Si tu ouvres les url dans ton navigateur, tu peux voir la structure:
Bonjour,
Je cherche à faire la même chose sans plus de succès.
J’ai une question préalable: a quel endroit du configuration.yaml doit-on mettre le code?
Je comprends qu’il s’agit d’un template. Si je mets le code dans :
template:
- sensor:
- platform: rest
...
J’ai un message d’erreur qui me dit:
Invalid config for ‹ template › at configuration.yaml, line 130: required key ‹ state › not provided Invalid config for ‹ template › at configuration.yaml, line 132: ‹ platform › is an invalid option for ‹ template ›, check: sensor->10->platform Invalid config for ‹ template › at configuration.yaml, line 133: ‹ scan_interval › is an invalid option for ‹ template ›, check: sensor->10->scan_interval Invalid config for ‹ template › at configuration.yaml, line 134: ‹ resource › is an invalid option for ‹ template ›, check: sensor->10->resource Invalid config for ‹ template › at configuration.yaml, line 135: ‹ value_template › is an invalid option for ‹ template ›, check: sensor->10->value_template
Invalid config for ‹ template › at configuration.yaml, line 130: ‹ platform › is an invalid option for ‹ template ›, check: sensor->10->platform Invalid config for ‹ template › at configuration.yaml, line 130: required key ‹ state › not provided Invalid config for ‹ template › at configuration.yaml, line 133: ‹ scan_interval › is an invalid option for ‹ template ›, check: sensor->10->scan_interval Invalid config for ‹ template › at configuration.yaml, line 134: ‹ resource › is an invalid option for ‹ template ›, check: sensor->10->resource Invalid config for ‹ template › at configuration.yaml, line 135: ‹ value_template › is an invalid option for ‹ template ›, check: sensor->10->value_template
Dans le code que j’ai partagé, si tu remplace le « Q » par « H » après « grandeur hydro », il me semble que tu as la hauteur.
Il faut aussi, je pense, modifier le calcul pour l"unité.
Tu peux essayer ça pour voir:
- platform: rest
name: Hauteur Calavon
scan_interval: 1200
resource: https://hubeau.eaufrance.fr/api/v1/hydrometrie/observations_tr?code_entite=X343401201&size=1&pretty&grandeur_hydro=H&fields=date_obs,resultat_obs,continuite_obs_hydro
value_template: "{{ ((value_json['data'][0]['resultat_obs']) | int / 1000 | round(3) ) }}" # mm en m
unit_of_measurement: "m"
Merci @Giga77 et @Gilles2
Les 2 fonctionnent !
Pour celui avec vigicrue, il prend la première valeur donc celle d’il y a 30 jours…
C’est le classement des données qui veut ca je suppose, c’est sur 30 jours glissants.
Merci beaucoup, je vais pouvoir mettre une alerte en route et éteindre domoticz !
Oui, le fichier Vigicrue est peu pratique avec la dernière info à la fin du fichier. S’il y a un nombr efixe de mesures, il est peut-être possible de pointer sur cette mesure.
Le fichier que je propose est plus simpls car il n’a que la dernière mesure.
Bonjour, je vous remercie pour tout ce travail.
Je souhaite le reproduire, mais je ne comprend pas comment récupérer le numéro de tronçon / station. Comment faire pour avoir l’url de la ressource qui correspond à mon tronçon ?
Merci d’avance !
Bonjour @Yoth ,
As-tu regardé ce tuto : Suivi des cours d’eau (hacf.fr)
Tu devrais trouver ton bonheur. N’hésite pas à revenir vers moi si tu n’y arrives pas.
Bonjour,
Sur mon installation j’ai ajouté dans sensor.yaml ces lignes :
- platform: rest
name: Hauteur Calavon
scan_interval: 600
resource: https://hubeau.eaufrance.fr/api/v1/hydrometrie/observations_tr?code_entite=X343401201&size=1&pretty&grandeur_hydro=H&fields=date_obs,resultat_obs,continuite_obs_hydro
value_template: "{{ ((value_json['data'][0]['resultat_obs']) | int / 1000 | round(3) ) }}" # mm en m
unit_of_measurement: "m"
Puis je récupère ensuite dans les entités le sensor fraichement créé : « sensor.hauteur_calavon » avec la dernière valeur.
La valeur à modifier ici est l’ID de l’emplacement de la mesure soit X343401201 qui correspond chez moi à l’emplacement le plus proche.
Bonjour,
Je rebondis sur le sujet, est ce normal que les données ne soient conservées que 10 jours sur ce dispositif ? Je regardais l’historique et ca va du 17 au 27 mars ?!
Normalement tout est conservé, non ?
Non, ç’est le contraire, normalement l’historique est conservé 10 jours max, sauf pour certains types de capteur.
Fais des recherches « recorder » et « state_class » sur le forum.
Et regarde ça aussi : Long-term Statistics
il faut définir le state_class de ton sensor sur « measurement » pour qu’il puissent être stocké dans les long term statistics, au delà des 10j de ton recorder…
un extrait de mon sensor.yaml, il te manque juste une ligne pour les long term stat:
# recuperation de la hauteur d'eau du Touch à Plaisance du Touch
- platform: rest
name: Hauteur Touch Plaisance
unique_id: hauteur_touch_plaisance
scan_interval: 300
resource: https://hubeau.eaufrance.fr/api/v1/hydrometrie/observations_tr?code_entite=O196431001&size=1&pretty&grandeur_hydro=H&fields=date_obs,resultat_obs,continuite_obs_hydro
value_template: "{{ (value_json['data'][0]['resultat_obs']) | int / 1000 }}" # mm en m
unit_of_measurement: "m"
state_class: measurement
- platform: rest
name: Debit Touch Plaisance
unique_id: debit_touch_plaisance
scan_interval: 300
resource: https://hubeau.eaufrance.fr/api/v1/hydrometrie/observations_tr?code_entite=O196431001&size=1&pretty&grandeur_hydro=Q&fields=date_obs,resultat_obs,continuite_obs_hydro
value_template: "{{ ((value_json['data'][0]['resultat_obs']) | int / 1000 ) }}" # l en m3/s
unit_of_measurement: "m³/s"
state_class: measurement