15. EXEMPLES ------------ 15.1 ajout d’un dispositif ^^^^^^^^^^^^^^^^^^^^^^^^^^ 15.1.1 Ajout d’un contact de porte supplémentaire ================================================= |image878| Dans Domoticz le dispositif est ajouté au plan : |image879| |image880| 15.1.1.1 Modifier l’image """"""""""""""""""""""""" - *On effectue (avec Notepad par exemple) une sauvegarde de l’image* |image881| - *Avec Inkscape, ouvrir et modifier l’image* |image882| - *Faire un copier/coller d’un dispositif existant ou importer une icone* |image883| |image884| - *Placer l’icône et renseigner l’ID* |image885| - *Pour la couleur* |image886| - *Sauvegarder l’image dans le fichier PHP d’origine, en supprimant la ligne XML* |image887| 15.1.1.2 Dans la Base de données SQL """""""""""""""""""""""""""""""""""" *Insérer le dispositif dans la table « dispositifs »* |image888| 15.1.1.3 Dans le fichier PHP de l’image """"""""""""""""""""""""""""""""""""""" *On ajoute un onclick pour l’affichage des propriétés* .. note:: avec Inkscape, il est possible de l’ajouter lors de la création de l’image si l’on a déjà choisi l’ID monitor. Ce n’est pas important, il faut ouvrir de toute façon cette image pour ajouter un cercle clignotant pour la gestion de la pile. .. code-block:: /config/pyscript/aldz.py le fichier python :darkblue:`aldz.py` : .. code-block:: #!/usr/bin/env python3 -*- coding: utf-8 -*- x='0' priority=0 Voir le § :ref:`13.6.2 émission SMS` pour des explications concernant le script sms_dz.py (utilisé aussi par Domoticz) 15.1.2.3 Utilisation du bouton dans io.broker """"""""""""""""""""""""""""""""""""""""""""" .. important:: J'utilise les mêmes scripts python décrits précédemment aussi python3 et pip(si besoin) doivent être installés. Sous debian 12 , pour verifier la version installée à l'installation: .. code-block:: python3 --version pour installer pip: .. code-block:: apt install python3-pip -y Des modules doivent aussi avoir été installés: .. code-block:: import requests , time ,json, os, chardet, shutil from periphery import Serial import importlib Sous dbian 12, il faut au préalable créer un environnement virtuel; ici je ke crée dans le répertoire /opt/python dans lequel j'ai déjà installeé les scripts .. code-block:: apt install python3-venv python3 -m venv env source env/bin/activate |image1512| Sous debian 12 periphery peut être installé avec apt ou avec pip; si il est installé avec apt il devra tout de même être installé dans l'environnement. .. code-block:: apt-get install python3-periphery |image1511| |image1513| 15.1.2.3.1 script sms_dz modifié ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ce script a été écrit pour Domoticz aussi les répertoires utilisés peuvent être différent sous io.broker |image1514| 15.1.2.3.2 script js dans io.broker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. important:: le moteur de script JS doit être installé |image1515| le script : .. code-block:: var sos ='zigbee2mqtt.0.0xa4c138be9958ad84.emergency'/*sos*/; var sos_state = String(getState(sos).val); on({id: sos/*emergency*/}, function (obj) { if(sos_state == 'true') { const fs = require('fs'); var txt = "sos"; fs.writeFile('/opt/python/aldz.py', '#!/usr/bin/env python3 -*- coding: utf-8 -*-\nx="'+txt+'"\npriority=1', (err) => { if (err) throw err; console.log('erreur');}); } }); |image1516| 15.1.2.3.3 script systemd pour le démarrage automatique ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C'est également le même script que pour Domoticz en adaptant le répertoire utilisé. .. code-block:: [Unit] Description=commande iob par sms After=multi-user.target [Service] Type=idle ExecStart=/usr/bin/python3 /opt/python/sms_dz.py > /root/sms_dz.log 2>&1 [Install] WantedBy=multi-user.target Pour lancer un service au démarrage, utilisez la commande enable : .. code-block:: systemctl enable sms_dz.service .. note:: ne démarrer sms_dz que sur un seul system domotique 15.1.2.4 Utilisation du bouton dans Monitor """"""""""""""""""""""""""""""""""""""""""" |image119| Dans admin/config.php .. code-block:: define('ON_SOS',true);// bouton sos page accueil, le disositif dit être enregistré dans SQL Les valeurs du dispositif enregistrées dans la BD monitor: |image132| L'mage du bouton dans le plan intérieur : |image133| Extrait du SVG concernant le SOS: .. code-block:: Le style: .. code-block:: 15.2 Ajout d'une commande ON-OFF ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A partir d'une prise ce courant Zigbee pour alimenter le seche-serviette de la SDB. |image498| La prise Zigbee dans Domoticz: |image499| La prise Zigbee dans Home Assistant |image505| L'image SVG du seche-serviette: |image607| On possède maintenant les élément pour enregistrer la prise dans la base SQL: |image506| On ajoute le dispositif sur le MUR de Commandes , entre les balises