Je viens de recevoir la ZIBASE, tant attendu. La première nécessité est de raccorder le poêle à granulés, une sonde de température et mes volets roulants électriques situés plein sud...
Raccorder le poêle à granulé pour pouvoir le démarrer à distance en fonction de la sonde de température dans le salon…
Jusqu’à présent, les volets roulants n’avaient que des commandes individuelles. Depuis, après l’ajout de 3 modules CH54751 de chez Chacon, je les commande à distance, automatise leur ouverture/fermeture à des heures précises de la journée, et je peux à tout moment les commander globalement depuis ma tablette ou mon Smartphone.
Dans un prochain article, nous verrons toute la programmation en détail, mais tout d'abord, je voudrais revenir sur un principe de base, si vous vous lancez dans la domotique, DOCUMENTER.
Documenter ce que vous faites ! On ne le fait jamais, pas envie, pas le temps, on pense s’en souvenir, mais quand il faut modifier quelque chose 2 ans plus tard, et savoir si une variable est libre ou non, attention les dégâts et les comportements imprévisibles si on se mélange, et pas de plate-forme de debug pour vraiment suivre le code et s’en sortir…
Voici par exemple le document d’analyse que j’ai écrit avant même de recevoir ma Zibase :
Il faut bien sûr faire vivre le document au fur et à mesure de la mise en place de l’installation. ( ça déjà changé trois fois.... depuis sa création)
1. Définition des besoins
1.1 Monitoring
Remonter les informations des sondes (température, vent, UV, pluie, piscine…)
Remonter les informations sur la consommation électrique
Remonter les informations sur la température du congélateur
Remonter les informations sur la piscine
1.2 Actions
Allumer et éteindre des lumières
Monter et descendre les volets
Ouvrir et fermer le portail
Commuter des appareils, modules (chauffage)
Mise sous alarme, surveillance,…
Gérer les fonctionnalités de simulation de présence
Lancer une commande via la localisation GPS (ouverture portail) : geoLoc
Lancer une commande via reconnaissance vocale Karotz : appli Karotz Zibase
Lancer une commande via reconnaissance vocal smarthone : domoVoice
1.3 Alertes
Alertes des capteurs de présence et d’effraction
Alerte de température du congélateur
Alerte de température de piscine
Alerte de vent
Alerte de coupure de courant
Alerte incendie
Alerte inondation
2. Modules et capteurs actuels
2.1 Les actionneurs type lampes
a. Éclairage Allée arrière AM12W Code : - -
b. Éclairage Allée entrée AM12W Code : - -
c. Salon CH54524 Code : - -
d. Salle à manger CH54524 Code : - -
e. Eclairage Terrasse AM12W Code : - -
f. Chambre Gwen LW11 Code : - -
g. Chambre Sylvain LW11 Code : - -
h. Chambre Auréliane LW11 Code : - -
i. ambiance salon CH54524 Code : - -
j. Spot Piscine AM12W Code : - -
2.2 Les actionneurs type appareils
a. Alimentation Poêle CH54795 Code : G1
b. Sirène PH7208 Code : - -
c. Volets roulants salon CH54751 Code : A16
d. Volets roulants SàM CH54751 Code : A14
e. Volets roulants ch gwen ZMNHCA2 Code : - -
f. Volets roulants ch aure ZMNHCA2 Code : - -
g. Volets roulants cuisine1 CH54751 Code : A15
h. Volets roulants cuisine2 ZMNHCA2 Code : - -
i. Volets roulants ch sylvain ZMNHCA2 Code : - -
j. Volets roulants ch parent ZMNHCA2 Code : - -
k. Volets roulants garage ZMNHCA2 Code : - -
l. Volets roulants wagon-lit ZMNHCA2 Code : - -
m. Portail UM7206 Code : - -
n. Robinet thermostatique Auréliane 014G0013 Code : OS439159310
o. Robinet thermostatique Gwénaelle 014G0013 Code :
p . Robinet thermostatique Sylvain 014G0013 Code :
q . Robinet thermostatique SE Parents 014G0013 Code :
p . Robinet thermostatique Salle salon 014G0013 Code :
2.3 Les sondes
a. Temp salle-salon THGR810 ID : OS4196989697
b. Temp ch auréliane ZMNHCA2 ID :- -
c. Temp ch Sylvain ZMNHCA2 ID :- -
d. Temp ch Gwenaêlle ZMNHCA2 ID :- -
e. Temp Intérieur THR128 ID : - -
f. Temp Extérieur THGR810 ID : - -
g. Temp Congélateur THR128 ID : - -
h. Ensoleillement UV UVN800 ID : - -
i. Pluviomètre PCR800 ID : - -
j. Conso Electricité CM119 ID : - -
k. Temp piscine THWR288N ID : - -
l. Vent WGR800 ID : - -
2.4 Les détecteurs
a. Porte Entrée STM250 Code : - -
b. Fenêtre ch parent DS90 Code : - -
c. Fenêtre ch sylvain DS90 Code : - -
d. Fenêtre ch gwen DS90 Code : - -
e. Fenêtre ch auré DS90 Code : - -
f. Porte Fen Salon STM250 Code : - -
g. Porte Fen SàM STM250 Code : - -
h. Fenêtre cuisine DS90 Code : - -
i. Porte Fen cuisine STM250 Code : - -
j. Porte cuisine DS90 Code : - -
k. Porte Terrasse STM250 Code : - -
l. Fenêtre Wagon-lit DS90 Code : - -
m. Porte garage DS90 Code : - -
n. Détecteur de fumée FGSS001 Code : - -
o .Détecteur d'inondation FGFS001 Code : - -
2.5 Les télécommandes
a. Interrupteurs muraux X10 SS13 Code : - -
b. Télécommande bene A KR21 Code : - -
c. Télécommande stef A KR21 Code : - -
d. Télécommande confort DI-O Code : - -
3. Les variables
3.1 Principes des variables
Pour gérer les comportements attendus, il est nécessaire de mémoriser certaines informations dans la Zibase. Les variables le permettent.
- 3.1.1 Variables V…
Ces variables sont accessibles pour stocker des valeurs librement
Variables V0 à V14 : pour stocker des valeurs, volatiles, remises à 0 à chaque initialisation.
Variables V15 à V31 : sauvegardées
- 3.1.2 Variable I…
Ces variables sont accessibles surtout pour lire les valeurs des sondes, capteurs, actionneurs.
Variables I0 à I4 : utilisées pour fournir les informations lues sur une sonde ou capteur
Variables I5 à I6 : ???
Variables I17 à I19 : raison du déclenchement pour une source multiple d’action : I17: type, I18: MSB ID, I19: LSB ID.
Variables I10-I41 : disponibilité pour le calculateur des états des actionneurs
- 3.1.3 Variables S…
Ces variables sont des variables systèmes et sont accessibles pour lire certaines valeurs gérées par la Zibase. Attention, a priori ne pas écrire dans ces variables !
Variables S : variables systèmes
Variable S4 : Variable indiquant le jour en cours (1 à 31)
Variable S5 : variables indiquant le mois en cours (1 à 12)
Variable S10 : État "jour" = 1 ou "nuit" = 0
Variable S13 : État du système d'alarme d'instance 0 (0:Off , <>0:Armé)
Variable S14 : État du système d'alarme d'instance 1 ETC...
Note : Il y a aussi les calendriers variables.
Note 2 : dans Actions->Calculer, mise à disposition de l’affichage des variables dans le suivi des activités à des fins de debug, à ne pas laisser !
3.2 Identification des variables I17 à I19 pour un capteur
Lors d’une action déclenchée par une source multiple de capteurs, il peut être utile de savoir lequel a déclenché l’action.
Il suffit simplement de créer un scénario de test qui sera déclenché par le module pour lequel on souhaite obtenir les valeurs de I17, I18 et I19, ces variables stockant la raison du déclenchement pour une source multiple d’action : I17: type, I18: MSB ID, I19: LSB ID.
Et le suivi des activité avec le mode debug nous donne les variables.
3.3 Spécification des variables
Dans mon cas les variables définies pour gérer la maison sont les suivantes :
Pour les fonctionnalités de surveillance et de simulation de présence
V18 : pour savoir si la maison est sous surveillance ou non : 1 = surveillance
V19 : pour savoir si la maison est occupée ou non : 1 = présence
V20 : pour savoir si le portail est ouvert : 1 = ouvert
S10 : pour savoir s’il fait jour ou nuit : 1 = jour
Pour les sondes, mémoriser les valeurs et gérer une éventuelle alarme
V0 : pour stocker la valeur de la température chambre Sylvain
V1 : pour stocker la valeur de la température chambre Gwenaëlle
V2 : pour stocker la valeur de la température chambre Auréliane
V3 : pour stocker la valeur de la température salle-salon
V4 : pour stocker la valeur de la température du congélateur
V5 : pour stocker la valeur de la température de la piscine (en degré =>/10 !)
V6 : pour stocker la valeur de la température extérieure (en degré =>/10 !)
V7 : pour stocker la valeur de la température haut ballon solaire (en degré =>/10 !)
V8 : pour stocker la valeur de la température basse ballon solaire (en degré =>/10 !)
V9 :
V10 :
V11 :
V12 : pour stocker la valeur d’indice UV
V14 : pour stocker l’humidité
V15 : consigne température jour
V16 : consigne température nuit
V45 : pour stocker la valeur régissant les conditions idéales
V52 : ticket T°C salle au dessus de 18°C
V53 : ticket T°C salle en dessous de 17°C
Pour suivre la consommation de courant et mémoriser une coupure
V13 : variable pour stocker la consommation de courant
V17 : variable pour mémoriser une coupure de courant
Pour gérer l’état des piles et batteries
V46 : variable pour mémoriser l’état des piles des capteurs de porte
V47 : variable pour mémoriser la valeur I/O d’un capteur
Note : dans Actions->Calculer, il est possible d’activer la mise à disposition de
l’affichage des variables dans le suivi des activités à des fins de debug, à ne pas
laisser !