Une station météo personnelle
Pour collecter, publier et automatiser
Publié le 21/09/2020 - Mis à jour le 01/06/2022 par Jean-Paul Figer
- Description et installation du matériel
- Configuration de la station météo
- Intégration des informations météo dans la domotique (version 2022)
- Intégration des informations météo dans la domotique (ancienne version)
mai 2022 ; J'ai beaucoup simplifié la connexion à Home Assistant en utilisant des améliorations fournies par Home Assistant et Ecowitt. Voir le détail dans le texte.
J'avais testé plusieurs solutions de station météo personnelle à moins de 200 €. Les résultats étaient très loin de mes attentes.
En effet, je souhaitais collecter des mesures pour les publier dans mon système domotique ou directement sur Internet. Ces systèmes étaient vendus avec un écran N&B peu lisible pour afficher les résultats sans aucune utilité dans mon cas. Il fallait aussi se connecter en USB pour extraire les données et les publier. De surcroît, la fiabilité n'était pas au rendez-vous et les pannes fréquentes au bout de quelques mois.
En 2020, j'ai enfin trouvé sur Amazon pour 100 € un équipement qui correspond à mon cahier des charges, c'est-à-dire : pas d'écran dédié, utilisation d'un téléphone mobile et publication des données directement en Wi-Fi.
Cet article décrit l'installation de la station ainsi que la manière de la connecter à un système domotique.
Description et installation du matériel
La station météo WALDBECK Halley WHT3 se compose de 3 parties:
- Un ensemble de capteurs extérieurs alimentés par 2 piles 1.5 V qui mesurent la température et l'humidité extérieure, la pression atmosphérique, les précipitations, la direction et la vitesse du vent, le rayonnement UV et la luminosité
- Un capteur intérieur pour mesurer la température et l'humidité intérieure
- Un pont Wi-Fi alimenté en 220 V qui transmet à des serveurs sur Internet les données des capteurs reçus par radio (100m maximum).
Configuration de la station météo
Il faut télécharger l'application mobile WS View pour configurer le pont en le connectant à des services sur Internet comme Ecowitt.net ou Wunderground. Ces deux services permettent de consulter les informations en temps réel et fournissent de nombreuses statistiques.
https://www.wunderground.com/dashboard/pws/ILLEDYEU19 (accès en lecture libre)
https://www.ecowitt.net/home/index?id=24342 (Il faut s'enregistrer sur le site ecowitt.net pour accéder aux informations)
https://www.wunderground.com/dashboard/pws/ILLEDYEU19 (accès en lecture libre)
https://www.ecowitt.net/home/index?id=24342 (Il faut s'enregistrer sur le site ecowitt.net pour accéder aux informations)
Intégration des informations météo dans la domotique (version 2022)
La précédente version intégrait les données météo locales sur un serveur local intermédiaire chargé de les publier en MQTT pour les rendre accessibles par la domotique. La nouvelle méthode élimine le serveur intermédiaire. Elle est devenue possible suite à deux améliorations :
L'opération se réalise maintenant par une liaison directe entre Home Assistant et les serveurs Ecowitt.net en 3 étapes et moins de 5 minutes.
- Fourniture gratuite d'une API REST par Ecowitt pour accéder en temps réel aux données stockées par votre station météo.
- Utilisation de l'intégration RESTful de Home Assistant qui permet d'appeler, à un fréquence donnée, une API Web pour mettre à jour une liste de capteurs.
L'opération se réalise maintenant par une liaison directe entre Home Assistant et les serveurs Ecowitt.net en 3 étapes et moins de 5 minutes.
- Génération des clés APPLICATION_KEY et API_KEY dans Ecowitt
et récupération de l'adresse MAC de votre station météo - Construire l'URI d'appel de l'API Ecowitt. La documentation est ici . Voici le lien que j'utilise
https://api.ecowitt.net/api/v3/device/real_time?application_key=APPLICATION_KEY&api_key=API_KEY2&mac=MAC&call_back=all&pressure_unitid=3&temp_unitid=1&rainfall_unitid=12&wind_speed_unitid=6
Vous pouvez tester dans un navigateur pour vérifier les résultats en JSON puis adapter les paramètres d'appel selon vos besoins - Ensuite dans Home Assistant, créer dans
configuration.yaml
l'intégration RESTfulrest:
comme cet exemple :rest: - scan_interval: 60 resource: https://api.ecowitt.net/api/v3/device/real_time?application_key=APPLICATION_KEY&api_key=API_KEY2&mac=MAC&call_back=all&pressure_unitid=3&temp_unitid=1&rainfall_unitid=12&wind_speed_unitid=6 sensor: - name: outdoor_temperature value_template: "{{ value_json.data.outdoor.temperature.value }}" device_class: temperature unit_of_measurement: "°C" - name: outdoor_humidity value_template: "{{ value_json.data.outdoor.humidity.value }}" device_class: humidity unit_of_measurement: "%" - name: wind_speed value_template: "{{ value_json.data.wind.wind_speed.value }}" unit_of_measurement: "m/s" - name: wind_dir value_template: "{{ value_json.data.wind.wind_direction.value }}" unit_of_measurement: "none" - name: indoor_temperature value_template: "{{ value_json.data.indoor.temperature.value }}" device_class: temperature unit_of_measurement: "°C" - name: indoor_humidity value_template: "{{ value_json.data.indoor.humidity.value }}" device_class: humidity unit_of_measurement: "%" - name: yeu_pressure_QNH value_template: "{{ value_json.data.pressure.relative.value }}" device_class: pressure unit_of_measurement: "hPa"
scan_interval
toutes les 60 secondes qui est aussi la fréquence utilisée par ma station météo pour mettre à jour le serveur Ecowitt.net. Vous pouvez ensuite utiliser ces capteurs dans l'intégration weather:
ou ailleurs.
Intégration des informations météo dans la domotique (ancienne version)
C'est la partie la plus intéressante de cette solution car elle va permettre d'intégrer dans la domotique les donnéess météo locales. Mon système domotique, basé sur Home Assistant, est décrit en détail ici. Il affiche déjà les informations fournies par des serveurs météorologiques mais il manque des informations locales plus précises comme la température et l'humidité à l'intérieur, les précipitations locales et les rafales de vent pour fermer automatiquement une banne par exemple. Il faut donc un serveur local pour publier et traiter les données locales. Sans surprise, j'ai utilisé un excellent logiciel Open Source Weewx sur un Raspberry PI. Un utilisateur a déjà réalisé un adaptateur (interceptor) pour recevoir les données du pont dans le logiciel Weewx et préparer les données statistiques. On peut aussi configurer weewx comme serveur pour fournir des statistiques sur-mesure (accès en IPv6 uniquement).
Un dernier composant weewx-MQTT permet de publier les informations météo weewx en MQTT ce qui en facilite l'intégration dans Home Assistant ou dans n'importe quel système qui accepte MQTT.
Ajoutez vos commentaires ci-après ou les envoyer à Jean-Paul Figer
Mots clés
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.