Page 1 sur 1

[LUA] Automation de volets roulants

Publié : 16 juin 2022, 17:12
par bl34
Bonjour,
Je partage le script que j'utilise pour l'automation de mes volets Profalux, voir description ci-dessous.
Je l'ai appelé pompeusement 'BioClim' mais finalement il porte bien son nom vu les fortes chaleurs qu'on a en ce moment.

C'est mon premier script en LUA. J'ai essayé quelques trucs pour apprendre et il y a certainement moyen de faire plus élégant mais bon ça marche pas mal.

Si vous êtes intéressé vous trouverez le code sur Github : https://github.com/Git-Bruno/Domoticz-scripts (encore un essai pour moi !).

Enjoy !

Description de l'automation 'BioClim' :
---------------------------------
Le script d'automation 'BioClim' permet de contrôler l'ouverture ou la fermeture de volets au lever/coucher du soleil et en fonction de tranches horaires configurables.
Le mode d'automation des volets est choisi par des Selector switches (Virtual Switch) à créer dans Domoticz.

- Mode 'Manuel'. Arrêt de l'automation.

- Mode 'Jour/Nuit'. Ouverture/Fermeture (ou On/Off) au lever/coucher de soleil.
Ouverture (On): l'ordre 'On' est envoyé à l'heure du lever du soleil + TIME_DAY_OFFSET
avec une heure minimum définie par TIME_MINIMUM.
Fermeture (Off): l'ordre 'Off' est envoyé à l'heure du coucher du soleil + TIME_NIGHT_OFFSET.

- Mode 'BioClim'. Mode Jour/Nuit ET fermeture partielle des volets par plages horaires.
Optionnellement le niveau d'ouverture peut être modifié en fonction de la température extérieure
Le mode 'BioClim' est validé pour le printemps et l'été.

L'automation 'BioClim' est désactivée si :
- Le switch virtuel 'AUTOMATION_SWITCH est 'Off'. Ce switch est optionnel.
- Le switch virtuel 'SECURITY_SWITCH' est activée. Ce switch est optionnel.

Script testé avec la configuration suivante :
--------------------------------------
- Domoticz 2022-1 sur Raspberry PI 3B+.
- Coordinateur Zigate V2 Niveau 320.
- Pluging Domoticz-Zigbee 6.1.004.
- Volets Profalux avec motorisation type MOCT-xxxx.

Re: [LUA] Automation de volets roulants

Publié : 17 juin 2022, 19:52
par Neutrino
Beau boulot !
C'est comme ça que doit fonctionner la domotique. Toute seule comme une grande :)

Re: [LUA] Automation de volets roulants

Publié : 19 juin 2022, 20:18
par Soupeaulait
Bonjour, je débute dans l'utilisation de Domoticz.
J'ai récemment réussi à intégrer mes volets Profalux.
Je voulais tester votre script qui me semble très intéressant.

Je bute sur un point : quelles commandes insérer dans les actions du switch selector ?

Merci

Re: [LUA] Automation de volets roulants

Publié : 20 juin 2022, 18:40
par bl34
Bonjour,
Pas besoin d'indiquer d'action dans la définition des switches virtuels, il suffit de définir un nom pour les niveaux 0,10 et 20 pour chaque switch.
Dans mon cas j'ai défini 2 groupes de volets et donc 2 switches pour les contrôler séparément.
switch_virtuel_Domoticz.jpg
switch_virtuel_Domoticz.jpg (32.49 Kio) Consulté 2031 fois
En revanche , dans le fichier Automation_Config.lua, il faut indiquer le nom du ou des switches virtuels dans la table Group_OnOff et définir les constantes MODE_MANUAL, MODE_ONOFF, MODE_BIOCLIM avec le nom choisi pour chaque niveau dans le selector switch. Les noms des niveaux sont libres c.à.d que Manuel, Jour/Nuit et BioClim peuvent être replacés par Tata ,Titi et Toto mais , petite restriction, ces noms doivent être les mêmes pour tous les switches virtuels contrôlant un groupe de volets.
N'hésite pas si tu as d'autres questions.

Re: [LUA] Automation de volets roulants

Publié : 09 déc. 2022, 15:34
par bl34
Bonjour à tous,
Mise à jour de mon script d'automation de volets suite aux retours d'utilisateurs ..ma famille :-)

Ci-dessous un résumé des changements faits.

Mode BioClim
Support de 2 tables de définitions des paramètres BIOCLIM pour un mode 'Normal' ou 'Canicule'.
La sélection de la table est manuelle ou automatique en fonction de la température extérieure.
Le mode de sélection est géré par un selector switch virtuel optionnel.
Mode Jour/Nuit
- Choix du type de fermeture automatique:
  • Complète: fermeture totale
  • Partielle: fermeture à un pourcentage indiqué.
  • Scène: exécution d'une scène au moment de la fermeture, par exemple pour un pourcentage de fermeture final défini, par volet, dans une scène.
Le choix du type de fermeture est géré par un switch virtuel optionnel.
- Sélection de l'ouverture/fermeture d'un volet, ou groupe de volet Zigate, en préfixant le nom du volet par '-' ou '+' :
  • '-': Fermeture automatique seulement.
  • '+': Ouverture automatique seulement.
Fonctionnalité activée seulement si un capteur de température extérieur existe.

- Ouverture/Fermeture anticipée.
  • Ouverture des volets avant le lever du soleil, si la luminosité extérieure dépasse un seuil de luminosité.
  • Fermeture des volets avant le coucher du soleil, si la luminosité extérieure est inférieure à un seuil de luminosité.
La marge de temps pour l'ouverture/fermeture anticipée est paramétrable.
Fonctionnalité activée seulement si un capteur de luminosité extérieure existe.

- Suppression du mode 'Fermeture en 2 temps'.

Mode d'automation
Pour chaque groupe de volets le mode d'automation est choisi par des selector switches (Virtual Switch) à créer dans Domoticz.

Mode 'Manuel': Arrêt de l'automation.
Mode 'Jour/Nuit': Ouverture/Fermeture (ou On/Off) au lever/coucher de soleil.
L'heure d'ouverture et de fermeture peut être modulée automatiquement en fonction de la luminosité si un capteur optionnel de luminosité existe.
Mode 'BioClim': Fermeture partielle des volets selon des plages horaires.
Optionnellement le niveau d'ouverture peut être modulé automatiquement en fonction de la température extérieure si un capteur optionnel de température existe.
Un fonctionnement 'Normal' ou 'Canicule' permet d'utiliser une configuration adaptée en fonction de la température extérieure.
Mode 'Auto': Mode Jour/Nuit ET mode BioClim.

Divers
- Répétions des commandes 'On','Off' et 'Set_Level' pour bypass d'un problème de fermeture totale des volets Profalux
suite à une détection intempestive de blocage du volet.

Si vous êtes intéressé vous trouverez le code sur Github