Bonjour,
je dispose d’une station météo Bresser 5in1. Le fabricant a supprimé du firmware «pro weatherlink» la possibilité d’utiliser une url custom pour l’envoi des données. On est donc limité à l’envoi vers wunderground et weathercloud. La fonction ne semble pas juste masquée dans l’interface web de config, mais bien virée du firmware (il me faudrait le code source d’une page config d’une station ayant l’url custom pour chopper le nom des variables et tenter une injection de code, mais c’est un autre sujet).
J’ai donc fait un script shell (mais qui pourrait se faire aussi en php) qui permet de récupérer depuis wunderground les infos de n’importe quelle station disponible, dès lors qu’on en connait l’identifiant. J’utilise les données publiques de leur site web, ce qui évite de payer un accès API chez weathercloud. Je n’ai pas détecté de limites temporelles pour obtenir ces données, j’ai testé avec un rythme de 1 accès par 5mn (la météo chez moi ne change pas si vite, ma station envoie toutes les 10 ou 15 minutes, il me semble)
J’ai les infos en json ou en xml, au choix, unités SI ou US au choix également. La seule dépendance coté soft, c’est curl, et il faut évidement un accès internet. Le script n’est pas obligatoirement sur la machine Jeedom, il peut tourner sur n’importe quel machine linux et probablement aussi sur Mac tant qu’on a bash et curl.
Pour intégrer ces données dans Jeedom, je pourrais me créer un virtuel, ajouter une par une toutes les infos, relever leurs ID et faire en sorte que mon script remplisse ces ID. Sauf que si je veux rajouter une autre station ou l’installer sur un autre jeedom, il me faut recommencer et ce n’est pas super portable.
Du coup, je me dis que ce serais plus simple de me reposer sur un plugin existant dont je n’aurais qu’à appeler l’URL depuis mon script via un cron régulier. Mais je ne connais pas le format attendu. @lunarok, pouvez-vous me fournir la liste des paramètres attendus par votre plugin pour que je simule l’envoi ? Est-ce qu’il crée automatiquement la station selon son code ou faut-il le faire au préalable ? Gère-t-il plusieurs stations ?
Mon script pourrait rendre «compatible» avec le plugin PWS pas mal de stations météo, dès lors qu’elle sont compatibles wunderground.
Exemple de données que mon script extrait (ici en json):
{"observations":[{"stationID":"IBIHOR1","obsTimeUtc":"2021-01-12T12:56:06Z","obsTimeLocal":"2021-01-12 13:56:06","neighborhood":"Bihorel","softwareType":null,"country":"FR","solarRadiation":null,"lon":1.117325,"realtimeFrequency":null,"epoch":1610456166,"lat":49.456165,"uv":null,"winddir":null,"humidity":96.0,"qcStatus":1,"metric":{"temp":9.5,"heatIndex":9.5,"dewpt":9.0,"windChill":9.5,"windSpeed":2.7,"windGust":2.7,"pressure":1019.64,"precipRate":null,"precipTotal":null,"elev":0.0}}]}
Je peux aussi extraire toutes les données journalières (je vais pas les mettre ici, trop de données), ou des résumé de la journée:
{"summaries":[{"stationID":"IBIHOR1","tz":"Europe/Paris","obsTimeUtc":"2021-01-12T13:04:54Z","obsTimeLocal":"2021-01-12 14:04:54","epoch":1610456694,"lat":49.456165,"lon":1.117325,"solarRadiationHigh":null,"uvHigh":null,"winddirAvg":null,"humidityHigh":96.0,"humidityLow":90.0,"humidityAvg":94.6,"qcStatus":1,"metric":{"tempHigh":9.6,"tempLow":6.2,"tempAvg":7.4,"windspeedHigh":17.9,"windspeedLow":0.0,"windspeedAvg":6.0,"windgustHigh":24.8,"windgustLow":0.0,"windgustAvg":6.6,"dewptHigh":9.0,"dewptLow":4.9,"dewptAvg":6.6,"windchillHigh":9.6,"windchillLow":3.6,"windchillAvg":6.6,"heatindexHigh":9.6,"heatindexLow":6.2,"heatindexAvg":7.4,"pressureMax":1024.38,"pressureMin":1019.30,"pressureTrend":-0.36,"precipRate":null,"precipTotal":null}}]}