Dans l’article précédent, je vous ai présenté la manière de monter un microdule Qubino pour commander le fil pilote de vos radiateurs électriques, et ainsi mettre un peu d’intelligence dans la gestion de la température de vos pièces. Nous avons également raccordé à notre Domoticz un thermostat SRT321 qui nous donne la température mesurée.
Maintenant, nous allons passer à la vitesse supérieure, avec le contrôle intelligent de ces beaux micromodules qui, pour le moment, sont assez peu user-friendly, en intégrant le thermostat, le contrôle de chauffe et les scripts de pilotage.
Nous allons donc :
- Créer un widget sur notre écran Domoticz pour visualiser la température remontée par le thermostat SRT321.
- Créer un interrupteur virtuel qui nous permettra de commander nos trois radiateurs à la fois.
- Mettre en place des scripts qui, en fonction de la température courante, vont envoyer ou stopper l’ordre à chauffer.
Le paramétrage du thermostat SRT321
Ce thermostat fonctionne sur piles. Suite à notre dernier article, il est convenablement raccordé et vu par notre Domoticz.
Nous allons donc créer un widget « Température » : Dans le menu Setup / Devices, clic sur l’icône verte (qui chez moi est bleue vu que le device est déjà utilisé), entrer le nom « convivial » du device, par exemple le nom de la zone dans laquelle se trouve votre thermostat.
Un nouveau widget atterrit dans Domoticz dans la section « Temperature » et affiche la température de votre thermostat . Magie.
Création d’un interrupteur virtuel
Il ne m’a pas été possible de trouver un quelconque moyen simple de contrôler finement la puissance de variation envoyée à nos trois variateurs Qubino, et ainsi envoyer par exemple un ordre « CONFORT 2 » sur les trois radiateurs à la fois. Cela étant, ces modes vont être pris en charge par Domoticz donc les modes ECO, CONFORT ou SUPER MEGA PENARD, on s’en fiche un peu hein.
Dans le mode de fonctionnement que je propose, les radiateurs électriques fonctionnent selon deux états :
- Mode patate (la molette de mes trois radiateurs est réglée à fond, cela outrepasse le thermostat intégré des 3 radiateurs).
- Eteint.
Nous allons donc créer un interrupteur virtuel pour contrôler ce que j’appelle « l’ordre à chauffer ».
Rendez-vous dans Domoticz / Devices :
- Entre le nom de votre device virtuel
- Choisissez le type « Dummy ».
- Data timeout : Disabled.
- Cliquez sur « Add ».
Notre device virtuel est créé.
Maintenant prenez la direction de l’onglet « Switches ». Cliquez sur « Manual Light / Switch » puis paramétrez votre interrupteur virtuel, qui sera rattaché à votre matériel virtuel « Virtual HW – Mode Radiateurs », comme suit :
Profitez-en pour modifier l’apparence de votre nouvel interrupteur virtuel, cliquez sur « Edit » et modifiez l’icône :
Voilà, c’est mieux 🙂
Nous avons donc maintenant à ce stade :
- Un Domoticz qui lit la température remontée par le thermostat.
- Des modules Qubino « Fil Pilote » qui reçoivent leurs ordres de Domoticz.
- Un interrupteur virtuel qui ne sert… à rien !
Les scripts LUA
Les scripts LUA permettent de contrôler très finement la manière dont Domoticz agit avec son environnement. On peut attacher un script LUA à un device (par exemple je clique sur le bouton de ma télécommande, boum, ça déclenche le script « bouton ON »).
Pour la petite histoire, le langage LUA n’est pas propre à Domoticz. Le LUA ressemble beaucoup au C/C++, donc si vous connaissez l’un de ces langages, vous ne devriez pas être très perturbé.
Dans Domoticz, les scripts LUA sont stockés dans <domoticz_directory>/scripts/lua :
Il existe deux types de scripts Domoticz :
- Les scripts associés à des devices.
- Les scripts exécutés toutes les minutes.
Pour ce premier script, nous allons donner un peu d’intelligence à notre interrupteur virtuel créé précédemment.
script_device_Chauffe_Radiateurs_Sejour.lua
Nous allons créer un script associé à notre interrupteur virtuel. Celui-ci enverra un ordre à chauffer aux trois radiateurs, en transmettant aux modules Qubino l’ordre qui va bien. Ce script sera attaché au device créé précédemment et nommé « Chauffe_Radiateurs_Sejour ». L’association entre le device et le script dépend directement du nom du script : script_device_<devicename>.lua.
-- -- Qubino Fil pilote -- Script attache au device "Chauffe_Radiateurs_Sejour" -- Controle des trois modules Qubino Fil pilote.
-- Rappel Qubino fil pilote : -- 0-10% : Arret total -- 11-20% : Hors Gel -- 21-30% : Eco -- 31-40% : Confort - 2°C -- 41-50% : Confort - 1°C -- 51-100% : Confort -- -- Dans notre mode de fonctionnement, on utilise seulement 0-10 (ARRET) et 51-100 (CONFORT) --
commandArray = {} if (devicechanged['Chauffe_Radiateurs_Sejour'] == 'On') then print('Ordre CHAUFFE zone sejour'); commandArray['Radiateur Sejour - Nord'] = 'Set Level 99' commandArray['Radiateur Sejour - Sud'] = 'Set Level 99' commandArray['Radiateur Sejour - Fenetre'] = 'Set Level 99' end
if (devicechanged['Chauffe_Radiateurs_Sejour'] == 'Off') then print('Ordre STOP CHAUFFE zone sejour'); commandArray['Radiateur Sejour - Nord'] = 'Set Level 1' commandArray['Radiateur Sejour - Sud'] = 'Set Level 1' commandArray['Radiateur Sejour - Fenetre'] = 'Set Level 1' end return commandArray
Ce script sera appelé par Domoticz à chaque changement d’état de l’interrupteur virtuel Chauffe_Radiateurs_Sejour. Avec la commande deviceChanged, on récupère l’état du switche virtuel (‘ON’ / OFF’). On teste donc cette valeur à chaque déchement du script.
Selon l’état de l’interrupteur, on envoie un ordre ‘Set Level X’ à nos trois modules Qubino (qui sont vus dans Domoticz comme des variateurs). Cet ordre est soit « Set Level 1 » (Arrêt total), soit « Set Level 99 » (Confort). L’argument passé à la fonction commandArray doit être exactement le nom des devices tels qu’ils apparaissent dans Domoticz :
La commande « print » quant à elle, permet d’envoyer des messages dans les logs Domoticz. On peut maintenant tester que tout fonctionne bien.
Ouvrez une nouvelle fenêtre dans laquelle vous afficherez les logs Domoticz (menu Setup / Logs), et activez l’interrupteur virtuel.
Ca marche ! Le script, sur activation de l’interrupteur virtuel, envoie les ordres aux modules Qubino. Si votre script n’est pas reconnu ou s’il comporte des erreurs, vous devriez les voir ici. Vous pouvez vérifier également que votre radiateur fonctionne parfaitement ici, en contrôlant les voyants allumés.
Votre script