Domoticz: Atelier 5 du 17/01/20: programmation des événements + Blocky

Atelier Domoticz #5  Crepp

Au cours de cet atelier nous allons nous approprier Domoticz afin d’utiliser la programmation des événements et notamment le Blocky

  • Matériel nécessaire

Raspberry

  • Raspberry Pi configuré: Domoticz installé, adresse IP fixe connue
  • Alimentation du raspberry
  • Cable ethernet pour relier le RPI au switch/routeur

Un Routeur/Switch

  • Un routeur 
  • Alimentation du routeur

Arduino et antenne RF

  • un Arduino contenant le programme RF Link
  • cable usb reliant l’Arduino au RPI
  • Un module de reception 433 mhz et son connecteur
  • Un module d’emission 433 mhz et son connecteur
  • 6 jumpers male femelles
  • Le socle de l’arduino imprimé 3D
  • L’equerre de fixatiton des connecteurs 433 Mhz imprimée 3D
  • 2 antennes en cuivre
  • 2 kits de supports d’antenne
  • 2 câbles reliant les récepteurs et émetteurs aux antennes

Ordinateur portable personnel

  • Etat des lieux après 4 séances.

Afin de bien commencer l’année 2020, je vous propose de faire un état des lieux de vos avancées et dans la prise en main de la box domotique et de son utilisation à travers 10 questions 

(rassurez-vous le but n’est pas de récolter des cookies sur vous pour établir votre profil d’acheteur potentiel à la Google, l’idée est d’apporter de l’accompagnement là où il y a besoin au différents membres de l’atelier) :

Etat des lieux OUI NON Pas tout à fait
1) J’ai tous les composants proposés dans le tutorial et ma box domotique est câblée avec un RPI, un Arduino Méga, un récepteur, un émetteur et un récepteur ainsi que les antennes associées.
2) J’arrive à me connecter à Domoticz à distance via un PC
3)  Je parviens à capter au moins une sonde de température/humidité
4) Je sais afficher l’historique des températures sous forme de courbes
5) Je parviens à me connecter à distance à mon RPI pour changer l’heure (SSH ou VNC)
6) Je parviens à configurer une prise connectée, à l’allumer et l’éteindre à distance via Domoticz
7) Chez moi, ma box domotique est branchée en permanence
8) Chez moi, je capte un ou plusieurs capteurs (sonde de température, humidité, energie..) 
9) Chez moi, je capte un ou plusieurs actionneur (prise connectée, porte de garage, volet roulant)
10)  J’ai écrit un programme (Blockly ou Python) permettant de lier au moins un capteur et un actionneur pour une utilisation quotidienne.

  2) Surveiller la température du Raspberry avec Domoticz

(Très bon tuto réalisé par Michel !)

Il suffit d’effectuer les étapes suivantes :

1/ Sélectionner le menu ‘Réglages’ :

2/ Choisir le menu ‘Matériel’ :

3/ Enter un nom de périphérique, puis au niveau Type sélectionner ‘Motherboard Sensors’ et cliquer sur ‘Ajouter’.

4/ Maintenant aller dans le menu ‘Réglages’ puis ‘Dispositifs’ :

5/ Domoticz permet de monitorer différents éléments, l’espace disque, la mémoire utilisée, le pourcentage d’utilisation processeur et surtout la température du Chipset du Raspberry.

6/ On va monitorer la température, pour cela il suffit de cliquer sur la flèche verte concernant le capteur de température afin d’ajouter le dispositif :

7/ Vous pouvez définir un nom de dispositif et cliquer sur ‘Ajouter un dispositif’.

8/ Maintenant si vous allez dans le menu ‘Températures’, vous voyez apparaitre votre dispositif :

9/ Il est possible de configurer les notifications, par exemple si la température du Chipset atteint 50°C j’envoie un mail :

10/ En cliquant sur ‘Log’, vous affichez des graphiques :

  • 2) Création d’événements

Maintenant que nous accédons aux prises connectées (voir tuto séance N°4), nous allons maintenant commander une prise pour que celle-ci s’allume à heure fixe.

Pour cela nous utilisons les prise Electro Dépots

Une fois la prise connectée configurée.

Directement dans le menu de cette prise, cliquez sur Planning :

Vous arrivez sur la page suivante : 

  • Les informations principales à renseigner sont celles entourées en rouge, à savoir : le Type d’événement, l’heure et l’action.

Exercice d’application : configurez l’une des prises connectées et programmez là pour qu’elle s’allume pendant 5 mn (en indiquant une heure de départ 2mn après l’heure actuelle)

  • 3) Présentation des événements Blockly dans Domoticz

Domoticz propose une façon assez visuelle de créer des événements, en s’appuyant sur Blockly, le langage de programmation par block 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 via Blockly

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

Nous allons 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 nous allons écrire dans le log un message.

Nommer votre script en pensez bien à le sauvegarder

Aller dans le log (Menu réglage, sous menu : Log)

Attendez quelques minutes que la sonde transmette la température et vous devriez voir apparaitre le message.

Exercice d’application : Programmer en Blockly une prise (sur laquelle vous brancherez un ventilateur par exemple) et écrivez une code en Blockly afin d’activer cette prise lorsque la température d’une sonde est supérieure à 25°C.