[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.

Domoticz : solution domotique Open Source

 

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.

Démo en ligne du langage Blockly

 

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.

Menu Réglages - Plus d'Options / É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).

La page d'accueil des événements

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.

Étape 01 : commencer par insérer un Controle, par exemple Si... Faire

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.

Étape 02 : on ajoute un opérateur logique pour contrôler, par exemple la valeur d'une température

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.

Étape 03 : on ajoute notre sonde de température, et la valeur de 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.

Étape 04 : on définit une action à exécuter : par exemple l'envoi d'un email

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.

 

Sandstorm

Ingénieur Systèmes passionné d'informatique et de High-Tech, Sandstorm a créé JusteGeek.fr en 2013. Il aime les geekeries en tout genre. "Si un produit s'allume c'est un bon point. S'il est connecté, c'est encore mieux !"

Vous aimerez aussi...

20 réponses

  1. Michael dit :

    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 🙂

    • Sandstorm dit :

      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

  2. Michael dit :

    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.

  3. CRISTIGOU dit :

    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

    • Sandstorm dit :

      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 ?

      • CRISTIGOU dit :

        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.

  4. Antoine dit :

    Bonjour, pourquoi l'ensemble des devices existants n'apparaissent pas dans la liste des devices dans le menu "event" svp?

    Cordialement.

  5. Patric dit :

    Bonjour,
    sympa votre tuto .... mais comment utilise t-on un événement. Ca se passe où l'utilisation?
    Dans l'attente, merci.
    Cordialement

    • Sandstorm dit :

      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...

  6. Patric dit :

    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

  7. malko dit :

    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

    • Sandstorm dit :

      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)

  8. Janoanet dit :

    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.

    • Janoanet dit :

      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.

  9. manuke dit :

    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

  10. Patrick GEOFFROY dit :

    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 ...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.