[Tuto] Domotique : créer des événements dans Domoticz
Je vous ai proposé, il y a déjà quelques semaines, un tuto sur la mise en place de scénarios dans Domoticz. Sachez que les scénarios ne sont pas le seul moyen de réaliser des actions automatiques avec ses équipements domotiques. Il est, en effet, possible de créer des événements dans Domoticz. Il est donc temps pour moi de vous expliquer comment fonctionnent ces événements et comment les créer.
Présentation des événements dans Domoticz
Domoticz propose une façon assez sympa de créer des événements, en s'appuyant sur Blockly, le langage de programmation visuel de Google. Si vous ne connaissez pas Blockly, il s'agit d'un langage se présentant sous la forme d'un puzzle et permettant de glisser-déposer des éléments, avec des opérateurs, afin d'obtenir un programme. Ce langage se veut intuitif et permet aux non programmeurs de pouvoir composer eux-mêmes leur programme.
Création d'événements dans Domoticz
Maintenant que vous avez une vague idée de ce qu'est blockly, on va pouvoir passer aux choses sérieuses pour créer des événements avec nos divers modules domotiques, à travers Domoticz. Pour commencer, connectez vous sur votre système Domoticz. Dans le menu horizontal, cliquez à droite sur le bouton Réglages puis sélectionnez Plus d'options. Cliquez enfin sur Événements.
Vous arrivez alors sur une page presque vide. À gauche se trouve un menu qui vous donnera accès aux divers éléments qui pourront constituer votre "puzzle". Au milieu, il s'agit de votre espace de travail dans lequel vous pouvez glisser-déposer et relier les divers composants. Enfin, à droite, vous avez accès à la gestion de vos événements (création, suppression etc).
On va donc commencer par créer ensemble un événement. En premier lieu, on va cliquer sur Control et on va glisser l'un des deux contrôles proposés sur l'espace de travail.
Il va maintenant falloir que je positionne une condition au niveau du If. Imaginons qu'on veuille effectuer une action lorsque la température est inférieure à 18°. Il va falloir utiliser un opérateur logique pour comparer la température à la valeur 18. Il faut donc se rendre dans Logic et ajouter l'opérateur dont on a besoin.
Dans cet opérateur, on va pouvoir insérer nos éléments. La température sera récupérée depuis une sonde température. On retrouvera celle-ci dans la partie Devices. Puis, on doit indiquer une valeur pour la comparaison.
Notre condition de départ est définie. Il va ensuite falloir assigner une action à cette condition. Ici, on va dire que je souhaite m'envoyer un mail. Pour cela, il faut se rendre dans l'onglet message et prendre l'élément voulu. Puis, il ne reste plus qu'à remplir les champs.
Bien sûr, dans le cadre d'une installation domotique complète, on pourrait en plus déclencher le chauffage, par exemple. Vous imaginez alors tout ce que vous pouvez faire. Cela va ici bien au delà des scénarios.
Et si vous êtes vraiment un acharné, vous pouvez même ajouter des scénarios dans les événements !! Ceux-ci sont accessibles via le menu Devices (situé à gauche) puis Scene/groups.
Je suis conscient que cela peut paraître bien obscur comme ça dans un article, mais c'est vraiment très facile à mettre en oeuvre ! Je ne peux que vous recommander d'essayer, vous verrez, c'est un vrai jeu d'enfant.
Une fois que vous avez terminé votre "construction", donnez lui un nom à droite via le champ Event Name, cochez la case Event active pour activer l'événement et cliquez sur le bouton Save ! Si vous voulez revenir sur un événement déjà créé, il vous suffit de cliquer sur son nom dans la partie Saved Events à droite. Celui-ci s'affichera alors. Si vous effectuez des modifications, n'oubliez pas de sauvegarder !
Voilà, c'est déjà la fin de ce tuto. Il ne vous reste plus qu'à vous lancer pour créer vos propres événements dans Domoticz.
Partager la publication "[Tuto] Domotique : créer des événements dans Domoticz"
Bonjour,
Excellent tutoriel. Je ne connaissais pas cet aspect de Domoticz car je gère tout par script. D'ailleurs j'ai deux questions :
- actuellement dans une vieille maison où malheureusement les fils pilotes ne sont pas câblés donc pas de thermostat possible, je gère mes 7 chauffages par script time 10min chacun avec thermostat virtuel et sonde température. Est-ce que gérer tout ceci par évènement est réalisable et surtout va-t'il alléger un peu le système ?
- peut'on faire des additions avec le système d'évènement du genre "Thermostat + 0,5" ?
Merci pour tes lumières 🙂
Salut Michael,
N'ayant pas mis de pilotage de chauffage en place, je ne pourrais pas trop te répondre.
Les blockly doivent être traduits derrière dans un langage de scripting, donc j'imagine que tu peux sans doute essayer... Sans activer l'événement, teste déjà de voir si tu peux construire ton événement.
Pour la question de l'addition, j'ai pas compris ce que tu me demandes o_O
Merci pour ta réponse.
J'ai testé et ça fonctionne. Par contre je souhaite mettre en place un hystérésis de -0.5 et +0.5 pour que le chauffage se mette en route à 17.5 et s’arrête à 18.5 pour un thermostat à 18 histoire d'éviter que le chauffage ne fasse que s'allumer et s'éteindre.
Donc dans mon script actuel je fais : valeur du thermostat + 0.5 et valeur du thermostat -0.5. Comme ça j'ai toujours un hystérésis si je change la valeur du thermostat.
Bonsoir
Bravo pour votre tuto!
Par contre je ne vois pas où est sauvegardé le script et donc je ne sais ps quoi remplir dans le champ action de l'interrupteur.
Pouvez vous m'aider?
Merci d'avance
CRISTIGOU
Bonjour,
J'ai fait des événements Blockly, j'ai donné un nom, j'ai coché activé et j'ai fait save ! Et c'est fonctionnel.
De quel champ action parles-tu ?
Merci pour l'info, je pensais qu'il fallait remplir le champ action dans l'interrupteur.
Je viens de me rendre compte que c'est inutile.
Bonjour, pourquoi l'ensemble des devices existants n'apparaissent pas dans la liste des devices dans le menu "event" svp?
Cordialement.
Bonjour Antoine ? Quels devices n'apparaissent pas ?
Bonjour,
sympa votre tuto .... mais comment utilise t-on un événement. Ca se passe où l'utilisation?
Dans l'attente, merci.
Cordialement
Bonjour Patric,
Je ne comprends pas trop ta question. Le but est des événements est d'avoir des actions automatiques. Par exemple, un capteur change d'état, lancement automatique de telle action...
Bonjour Sandstorm,
voilà, une fois que l'on a construit l'événement, donné un nom, coché la case activée et cliqué sur save, on a un événement avec son nom dans la partie droite de l'écran. Maintenant que fait-on? L'événement se lance tout seul en arrière plan dans Domoticz ou faut-il faire une manip spéciale dans Domoticz pour l'utiliser ?
A ce stade, je ne comprends pas très bien son utilisation. Un petit exemple serait bienvenu.
Patric
Oui cela se lance tout seul à partir du moment où l'événement est Activé, c'est le principe.
Pour l'exemple... il est dans mon article...
Bonjour et merci pour ce tuto.
Le problème c'est que lorsque le capteur de temp declanche l'événement il lance bien le script' je reçois le mail mais comme ce capteur envoi une info toutes les 30sec j'ai une boite mail submergée.
Y a t il un truc pour que le script blocky envoie le mail qu une seule fois?
Merci
Cela depend peut être de tes capteurs. Perso je reçois des notifications lorsque la température extérieur descend sous les 10 degré, mais je reçois l'info qu'une seule fois. J'utilise pour cela la partie "notification du capteur de température (dans l'onglet température)
Bonjour,
je suis débutant dans la réalisation des évènements et des scripts sous domoticz. Lorsque je clique sur Configuration, plus d'option, évènements, j'ai un écran différent de celui que vous indiqués. l se compose de deux fenêtres, celle de gauche est appelée "Mes scripts" celle de de droite plus grande avec 3 boutons :Liste des évèneménts, nom du script et +. Puis, en dessous, un bandeau donnant les boutons suivants : ON, OFF, Nom du script, Trigger, Device (liste déroulante), import, export, sauvegarder, supprimer.
J'ai composé un évènement simple d'allumage d'une lampe suite à détection par un KERUI en positionnant sur OFF. Après sauvegarde, affichage de désactivé en rouge devant le titre du script dans la fenêtre de gauche. Si je sauvegarde après avoir mis sur ON le rouge disparait. De plus, le script ne fonctionne pas alors que les 2 interrupteurs concernés fonctionnent bien.
J'ai progressé dans l'utilisation des nouvelles fenêtres de gestion d'évènements et j'ai réussit à créer un événement permettant de déclencher l'allumage d'une lampe d'éclairage d'une pièce lors de la présence d'une présence et pour une durée fixée au préalable.
J'ai utilisé un détecteur KERUI. J'ai noté que la rfxcom doit être programmée pour supporter le mode Lighting4. Le module dispose de 3 états : Alarme (Alarm), en mouvement (motion) et Normal. Seuls les 2 derniers sont utilisable à distance sous domoticz.
Merci et peut-être que ces expériences pourront servir à d'autres.
Bonjour Janoanet,
Désolé je n'ai meme pas eu le temps de te répondre. Content que tu aies trouvé toi même la solution.
Merci de ton retour!
++
bonjour
merci pour ce tuto, mais je bloque. Je suis sur la V4.10. J ai crée un "selector switch" à partir d'un capteur virtuel. J ai donc plusieurs niveau par exemple "haut". Ce que je vois sur mon log de cet interupteur.
Je crée un evenement si mon "device" = "haut" set .... vers un autre device.... mais rien de ne se passe. (meme avec un "write to log "ok")
je ne sais pas si j ai été clair mais je n'arrive pas à avoir un opérateur logique sur un bouton "vrituel"
merci
Bonjour ! As tu essayé avec des scénarios ? --> https://www.justegeek.fr/tuto-domotique-creer-scenarios-domoticz/
Dommage c'est trop ancien, j'en suis à la version 2021.1
et ça ne ressemble pas du tout a cette description.
Reste à trouver quelque chose de récent ...