Gestion du chauffage – RFS10 – HS – HSTouch

Voici tout d’abord la page de gestion d’HSTouch :

Selon l’appui sur un bouton ou l’autre, un mode s’enclenche et désactive les autres modes.
Les 4 boutons sous HSTouch correspondent à 4 Events sous homeseer dépendant de 4 variables correspondantes. Un peu compliqué? mais non dans la pratique c’est beaucoup plus simple!

Préparation :

Créer 4 Devices dans homeseer (cliquez sur status – puis Add Device )

ModeConge – Status Only – M1
ModeAbsent – Status Only – M2
ModeMatin – Status Only – M3
ModeSoir – Status Only – M4

Créer 4 Events correspondant :

Mode Conge – Action Run script : ModeConge.txt
Mode Absent – Action Run script : ModeAbsent.txt
Mode Matin – Action Run script : ModeMatin.txt
Mode Soir – Action Run script : ModeSoir.txt

Explication :

Quand je clique sur le bouton Mode Congé dans HStouch, cela exécute l’event Mode Congé sous homeseer qui contient ce script :

sub main()

if hs.IsOff(« M1 ») then ‘on vérifié que Mode Congé ne soit pas déjà actif sinon c est inutile

hs.SetDeviceStatus « M1 » , 2 ‘ on active le device mode congé

if hs.IsOn(« M2 ») then
hs.SetDeviceStatus « M2 » , 3 ‘ on désactive le device mode absent
end if

if hs.IsOn(« M3 ») then
hs.SetDeviceStatus « M3 » , 3 ‘ on désactive le device mode matin
end if

if hs.IsOn(« M4 ») then
hs.SetDeviceStatus « M4 » , 3 ‘ on désactive le device mode soir
end if

end if
end sub

Dans HStouch il suffit d’associer l’image à droite du bouton au device ModeConge avec en propriétés de celle-ci :

status tracking normal : Homeseer devices – ModeConge
StatusImages : on ajoute un image pour le MatchStatus à ON qui correspond à la boule lumineuse allumée et une autre pour le MatchStatus à OFF qui correspond à l’image de la boule lumineuse éteinte.

Donc à l’exécution, à chaque clic sur la bouton la boule lumineuse s’allume ou s’éteint.

Il suffit de répéter les scripts et actions pour les 4 boutons ( 4 scripts pour 4 events)

Ce qui donne au final, qu’un seul mode ne peut être activer et selon celui-ci nous allons créer un autre event « Gestion du Chauffage » avec comme paramètres :

Trigger : Device Value Change – (on reprends la sonde de température de la pièce principale, dans mon cas Salon Température qui correspond à la sonde oregon ]8 dans HS) – change to – any value.

Action – Run script – chauffage.txt qui contient :

Sub main()

‘ ### Déclaration des variables

Dim Consigne

Dim Confort
Dim Eco

Dim Chauffage
Dim Etat_Chauffage
Dim Mode_chauffage
Dim Sonde_oregon
Dim temph
Dim Theure
Dim sonde

‘ ### LES PARAMETRES

Consigne = 20
Confort = Consigne
Eco = Consigne – 3
sonde = « ]8 »

‘ ### Heure Actuelle au format
temph = Split(Time, « : »)
‘ Heure et minute ex: 15:36:00 = 1536
Theure= temph(0) & temph(1)
Theure= CDbl(Theure) + 0001 – 0001 ‘corrige bug

‘ ### MODE DU CHAUFFAGE SUIVANT LS MODES

‘ Mode congé
if hs.IsOn(« M1 ») then

If (Theure > 2200) Then ’22h00
Mode_chauffage = « ECO »
Elseif (Theure > 700) Then ‘7h00
Mode_chauffage = « CONFORT »
Else
Mode_chauffage = « ECO »
End If
end if
‘ Mode absent
if hs.IsOn(« M2 ») then
Mode_chauffage = « ECO »
end if
‘ Mode Travail 6/14
if hs.IsOn(« M3 ») then

If (Theure > 2230) Then ’22h30
Mode_chauffage = « ECO »
Elseif (Theure > 1430) Then ’14h30
Mode_chauffage = « CONFORT »
Elseif (Theure > 700) Then ‘7h00
Mode_chauffage = « ECO »
Elseif (Theure > 500) Then ‘5h00
Mode_chauffage = « CONFORT »
Else
Mode_chauffage = « ECO »
End If

End if
‘ Mode Travail 14/22
if hs.IsOn(« M4 ») then

If (Theure > 2300) Then ’23h00
Mode_chauffage = « ECO »
Elseif (Theure > 1800) Then ’18h00
Mode_chauffage = « CONFORT »
Elseif (Theure > 1310) Then ’13h10
Mode_chauffage = « ECO »
Elseif (Theure > 800) Then ‘8h00
Mode_chauffage = « CONFORT »
Else
Mode_chauffage = « ECO »
End If
end if

‘ ### On récupère la température de la sonde

Sonde_oregon = (hs.DeviceValue (sonde) / 10) ‘ sur les sondes oregon division par 10
hs.WriteLog « Info », Sonde_oregon

‘ ### Sélection de la température suivant le mode
Select Case Mode_chauffage
Case « ECO »
Chauffage = Eco
Case « CONFORT »
Chauffage = Confort
End Select

‘ ### DEMARAGE DU CHAUFFAGE
If (Sonde_oregon < chauffage) and hs.DeviceValue(« A5″) = 2 Then
hs.setdevicevalue »A5 », « 2 »
hs.WriteLog « Info », « chauffage allumé »
End If

‘ ### ARRET DU CHAUFFAGE
If (chauffage <= Sonde_oregon) and hs.DeviceValue(« A5″) = 2 Then
hs.setdevicevalue »A5 », « 3 »
hs.WriteLog « Info », « chauffage éteint »
End If

End Sub

Et voilà c’est terminé !

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s


%d blogueurs aiment cette page :