Après de longues recherches, je viens enfin de réussir à intégrer les données de ma station Davis Vantage Pro2 https://www.davisinstruments.com/solution/vantage-pro2/ dans Jeedom (Cela pourra aussi fonctionner pour d'autres stations telles que des Oregon...)
Et cela grâce à un logiciel libre qui tourne sous linux : WEEWX http://www.weewx.com/. A priori très léger et peu gourmand, il peut tourner sur un RPI3. Pour ma part, je l'ai installé sur un NUC virtualisé avec Proxmox sur une machine virtuelle sous Débian 9, de 512 à 1024Mo de mémoire, 1 CPU et 1 coeur et enfin 16Go d'espace disque.
Je n'expliquerai pas ici l'installation de WEEWX car on trouve pas mal de tutos sur le net, il faut aussi installer APACHE car WEEWX crée des fichiers de site internet.
Lorsque le station est raccordée et transmet bien ces données à WEEWX, je vais faire générer un ficher XML par WEEWX.
Pour cela il faut éditer le fichier suivant
Code : Tout sélectionner
/etc/weewx/skins/Seasons/skin.conf
Code : Tout sélectionner
[[[Jeedom]]]
template = jeedom.xml.tmpl
Il faut maintenant créer ce fichier jeedom.xml.tmpl sous cette forme :
Code : Tout sélectionner
<?xml version = "1.0" encoding="UTF-8" standalone="yes" ?>
<weewx>
<time>$current.dateTime</time>
<tempExt>$current.outTemp.formatted</tempExt>
<MaxTempExt>$day.outTemp.max.formatted</MaxTempExt>
<HeureMaxTempExt>$day.outTemp.maxtime</HeureMaxTempExt>
<MinTempExt>$day.outTemp.min.formatted</MinTempExt>
<HeureMinTempExt>$day.outTemp.mintime</HeureMinTempExt>
<windChill>$current.windchill.formatted</windChill>
<indChaleur>$current.heatindex.formatted</indChaleur>
<pointRosee>$current.dewpoint.formatted</pointRosee>
<humExt>$current.outHumidity.formatted</humExt>
<pression>$current.barometer.formatted</pression>
<tendancePression>$trend.barometer.formatted</tendancePression>
<vitVent>$current.windSpeed.formatted</vitVent>
<dirVent>$current.windDir.formatted</dirVent>
<compasVent>$current.windDir.ordinal_compass</compasVent>
<vitMaxVent>$day.wind.max.formatted</vitMaxVent>
<HeureVitMaxVent>$day.wind.maxtime</HeureVitMaxVent>
<DirMaxVent>$day.wind.gustdir.formatted</DirMaxVent>
<Precipitation>$day.rain.sum.formatted</Precipitation>
<TauxPrecipitation>$current.rainRate.formatted</TauxPrecipitation>
<TauxMaxPrecipitation>$day.rainRate.max.formatted</TauxMaxPrecipitation>
<HeureTauxMaxPrecipitation>$day.rainRate.maxtime</HeureTauxMaxPrecipitation>
<UV>$current.UV</UV>
<UVMax>$day.UV.max</UVMax>
<HeureUVMax>$day.UV.maxtime</HeureUVMax>
<tempInt>$current.inTemp.formatted</tempInt>
<humInt>$current.inHumidity.formatted</humInt>
</weewx>
Il faut copier ce fichier sous le même répertoire que celui du skin modifié ci-dessus.
A partir de cet instant, WEEWX va générer à chaque réception de données un fichier "jeedom.xml".
Ce fichier sera copié sous le répertoire dédié par APACHE aux sites Internet. Pour ma part, il se trouve sous :
Code : Tout sélectionner
/var/www/html/weewx
Il suffit de créer autant de commande script que de données récupérées par le fichier XML en mettant les option suivantes : Type script : XML, Requête : le nom de la variable dans le fichier XML et enfin l'URL qui sera du type http://IPdelamachineWEEWX/weewx/jeedom.xml.
Penser aussi aux type d'info qui sont soit numérique soit autre.
J'espère que vous en ferez bon usage
Stéphane