Présentation de l’installation météo

J’ai plusieurs fois parlé des informations météo utilisées par le système domotique, mais je n’ai jamais vraiment présenté l’installation.

J’utilise donc une station météo semi professionnelle, qui peut être raccordée à un ordinateur, le plus souvent via un port série ou un port Usb. C’est la condition sine qua non si on veut pouvoir récupérer les informations sur l’ordinateur. C’est un peu plus cher que les stations météo généralement utilisées, mais l’utilité derrière ne sera pas la même !

 

I. Matériel

 

Personnellement, je suis équipé d’une station La Crosse Technology WS2307, que j’ai pu avoir pour une centaine d’euros.

 

WS2357330

 

Cette station est fournie avec plusieurs capteurs, dont un capteur de température et d’humidité extérieur, une jauge de pluie, et un anémomètre (pour la direction et la vitesse du vent).

Très complète, donc, cette station permet de relever ces informations:

  • Température Intérieure
  • Hygrométrie Intérieure
  • Prévision Météo
  • Pression Atmosphérique
  • Température Extérieure
  • Hygrométrie Extérieure
  • Point de rosée
  • Vitesse et Direction du vent
  • Windchill (température ressentie)
  • Précipitations

II. Installation

 

Afin de récupérer des données fiables, il faut correctement positionner les capteurs. En parcourant le web, on trouve de nombreux avis divergeant sur le sujet, certains préconisant une installation à hauteur d’homme (pour receuillir les informations réellement ressenties par une personne), d’autres préférant une hauteur d’environ 10m de haut (pour les informations sur la vitesse et la direction du vent).

Pour ma part, l’anémomètre est fixé sur le mat de mon antenne TV, qui doit être à environ 7-8m de haut.

 

IMG_1105

IMG_1108

 

Cela me permet de recueillir des informations suffisamment fiables, aucun obstacle ne venant perturber le vent qu’il peut y avoir (pas de voisinage trop prêt, ni d’arbres à cette hauteur).

La sonde de température / humidité, ainsi que le receuilleur de précipitations, ont été placés à la base du toit:

 

IMG_1107

IMG_1106

 

Ce côté de la maison est la plus grosse partie de la journée à l’ombre (une sonde exposée au soleil transmettra des informations erronées, car on parle toujours de température à l’ombre), et le recueilleur de précipitations est placé à un endroit où il ne peut pas hériter des précipitations d’autres éléments (eau qui tombe du toit, des arbres, etc…). Le tout reste à une hauteur facilement atteignable pour la maintenance (le recueilleur de pluie devant être nettoyé de temps à autre).

Ces capteurs peuvent être reliés entre eux par fréquence radio, mais j’ai opté pour une liaison filaire, cela permettant une transmission des infos plus régulière, et surtout une alimentation par la station météo (des piles sont nécessaires dans les capteurs si on utilise la transmission radio). Les cables passent simplement dans les combles et redescendent dans le garage jusqu’à l’armoire de brassage, où se situe la station météo, reliée au serveur domotique par un cable série.

 

III. Logiciel

 

J’utilisais au début le logiciel Heavy Weather fourni avec la station météo. Ce logiciel était assez lourd en mémoire, et très limité dans ses fonctions.

J’utilise maintenant depuis quelques mois le logiciel Cumulus, que j’ai présenté ici en détail, je ne reviendrai donc pas dessus. Disons simplement que ce logiciel permet de récupérer les informations de la station météo, et de les communiquer à divers sites web, comme Wunderground.

Ce logiciel génère également un petit fichier texte, que j’utilise pour afficher les informations météo dans l’interface de Homeseer.

Pour cela, j’utilise un petit script vbs qui est exécuté toutes les 30 min:

 

[sourcecode language= »vb »]
Option Explicit
#include ..\lib\framework_domotics.vbs
#include local-parameters.inc

Sub main

Dim astrBuffer
Dim tabLines
Dim tabValues
Dim astrDevices
Dim astrConfig
Dim atabDv
Dim astrNbDv
Dim i, l
Dim astrDevice
Dim astrparam1
Dim ligne, section, parametre, valeur

WriteLog G_FOLDER_NAME, G_SCRIPT_EVT, G_TIV_INF, "Launching " & G_FOLDER_NAME & " script", G_LOG_FILE
If CheckDevices(G_FOLDER_NAME, G_FILE_INI, G_STATUS_EXIST) Then
astrDevices = hs.GetINISetting("COMMON","DEVICES","", G_FILE_INI)
astrConfig = hs.GetINISetting("COMMON","CONFIG","..\scripts\config\", G_FILE_INI)
atabDv = Split(astrDevices, G_SEP)
astrNbDv = UBound(atabDv)
astrBuffer = loadfile("C:\Program Files\Cumulus\realtime.txt",False)

‘RÈcupÈration des infos de la station mÈtÈo LaCrosse
If (astrBuffer <> "") Then
tabLines = Split(astrbuffer,chr(13))
tabValues = split(tablines(ubound(tabLines)-1),chr(32))
End if

‘Correction des points en virgules
i = 0
While (i < = ubound(tabvalues))
tabvalues(i) = replace(tabvalues(i), ".",",")
i = i+1
Wend

‘DÈtermination de la saison en cours en fonction de la date du jour
if (DateDiff("d", date(), "20/03/" &amp;amp;amp; year(date())) > 0) then tabValues(0) = "Hiver"
if (DateDiff("d", date(), "20/03/" &amp;amp;amp; year(date())) =< 0) then tabValues(0) = "Printemps"
if (DateDiff("d", date(), "21/06/" &amp;amp;amp; year(date())) =< 0) then tabValues(0) = "EtÈ"
if (DateDiff("d", date(), "22/09/" &amp;amp;amp; year(date())) =< 0) then tabValues(0) = "Automne"
if (DateDiff("d", date(), "21/12/" &amp;amp;amp; year(date())) =< 0) then tabValues(0) = "Hiver"

‘Affectation des valeurs rÈcupÈrÈes aux bons devices
i = 0
While (i < = CInt(astrNbDv))
astrDevice = hs.GetINISetting("DEVICE", "HC", "", astrConfig & atabDv(i)) & _
hs.GetINISetting("DEVICE", "DC", "", astrConfig & atabDv(i))
astrparam1 = hs.GetINISetting("DEVICE", "PARAM1", "", astrConfig & atabDv(i))
If (astrparam1 = "PREVISION") Then
setDevice astrDevice, tabValues(1), "", ""
ElseIf (astrparam1 = "TENDANCE") Then
setDevice astrDevice, tabValues(18), "", ""
ElseIf (astrparam1 = "TEMPERATUREINTERIEURE") Then
setDevice astrDevice, tabValues(22) &amp; "∞C", "", tabValues(22)*100
ElseIf (astrparam1 = "TEMPERATUREEXTERIEURE" and tabValues(2)<>"—") Then
setDevice astrDevice, tabValues(2) &amp; "∞C", "", tabValues(2)*100
ElseIf (astrparam1 = "HUMIDITEINTERIEURE") Then
setDevice astrDevice, tabValues(23) &amp; "%", "", tabValues(23)*100
ElseIf (astrparam1 = "HUMIDITEEXTERIEURE" and tabValues(6)<>"—") Then
setDevice astrDevice, tabValues(3) &amp; "%", "", tabValues(3)*100
ElseIf (astrparam1 = "VITESSEVENT" and tabValues(5)<>"—") Then
setDevice astrDevice, tabValues(5) &amp; " km/h", "", tabValues(5)*100
ElseIf (astrparam1 = "DIRECTIONVENT" and tabValues(11)<>"—") Then
setDevice astrDevice, tabValues(11), "", ""
ElseIf (astrparam1 = "PRECIPITATIONJOUR" and tabValues(9)<>"—") Then
setDevice astrDevice, tabValues(9) &amp; " mm", "", tabValues(9)*100
ElseIf (astrparam1 = "PRESSION") Then
setDevice astrDevice, tabValues(10) &amp; " hpa", "", tabValues(10)*100
ElseIf (astrparam1 = "PRECIPITATIONHEURE" and tabValues(47)<>"—") Then
setDevice astrDevice, tabValues(47) &amp; " mm", "", tabValues(47)*100
ElseIf (astrparam1 = "TEMPERATURERESSENTIE" and tabValues(24)<>"—") Then
setDevice astrDevice, tabValues(24) &amp; "∞C", "", tabValues(24)*100
ElseIf (astrparam1 = "POINTDEROSEE" and tabValues(4)<>"—") Then
setDevice astrDevice, tabValues(4) &amp; "∞C", "", tabValues(4)*100
ElseIf (astrparam1 = "SAISON") Then
setDevice astrDevice, tabValues(0), "", ""
Else
WriteLog G_FOLDER_NAME, G_SCRIPT_EVT, G_TIV_INF, "PARAM1 is unknown for " &amp; astrDevice, G_LOG_FILE
End if
i = i+1
Wend
Else
WriteLog G_FOLDER_NAME, G_SCRIPT_EVT, G_TIV_SEV, "Expected Device is unknown !", G_LOG_FILE
End if
WriteLog G_FOLDER_NAME, G_SCRIPT_EVT, G_TIV_INF, "End of the script", G_LOG_FILE

End sub

[/sourcecode]

Vous trouverez dans le zip ci joint le module complet, car celui ci fonctionne avec le framework de domotic, très pratique pour développer de nouveaux modules dans Homeseer à l’aide de quelques scripts.
Ce script permet d’afficher cela dans Homeseer:
Image 1
Les informations météo étant maintenant dans Homeseer, il est très facile de les faire lire par le système:
[sourcecode language= »vb »]hs.Speak "Il fait actuellement " hs.DeviceValue("W26")/100 " degrés dehors, avec un taux d’humidité de "  hs.DeviceValue("W27")/100  " pour cent. La température dans la maison est de "  hs.DeviceValue("^8")/10  " degrés"[/sourcecode]
ou encore de les afficher sur l’écran tactile via HSTouch:

2009-08-31_175433

Enfin, il est bien sûr possible d’utiliser ces informations pour faire réagir le système, chose qu’il me reste à configurer chez moi. Par exemple, si vitesse du vent > 40 km/h, alors fermeture du store banne de la terrasse. Ou encore s’il pleut, fermeture automatique des volets. Etc…

IV. Prévisions météo

 

Pour les prévisions, je n’ai rien inventé, Domotic avait déjà développé un petit module qui se charge de récupérer la météo sur le site Yahoo. Vous le trouverez ici.
Une fois installé, cela permet d’avoir ces informations dans Homeseer:
Image 2
Des informations un peu plus succintes, mais qui peuvent par exemple permettre de gérer l’arrosage automatique du jardin: si de la pluie est annoncée pour J+1, alors on n’arrose pas aujourd’hui.

V. Conclusion

 

Vous l’aurez compris, pour un budget relativement léger, il est possible de récupérer des informations météo qui peuvent être très utiles au système domotique. Pour ma part, la récupération d’informations fonctionne parfaitement chez moi, il ne me reste plus qu’à les utiliser. Quand j’aurai assez de moyens pour acheter le store banne électrique, automatiser les volets, et mettre en place l’arrosage automatique :D

Tags :

4 Commentaires

      Laisser un commentaire

      Ne ratez plus aucune news !

      Inscrivez vous à notre newsletter, et recevez chaque mois toute l'actualité du blog pour ne plus rien louper: actualité, guides, tutoriaux, concours !

      Merci pour votre inscription !