Mon premier script Lua dans Domoticz : Les fondations

Nous avons vu précédemment https://easydomoticz.com/point-scripts-lua/ quels sont les principes de fonctionnement des script Lua au sein de Domoticz, voyons dans cet article les premières base de la rédaction de scripts puis nous prendrons un exemple que nous allons dérouler et complexifier de bout en bout afin de voir quelques instructions.

Les bases des scripts : Avoir les idées claires

idees

Avant toute chose, il faut que vous ayez les idées claires concernant les actions que vous devez réaliser, prenez un papier et un crayon et écrivez en français ce que vous devez faire.

Partant du fait que je possède un capteur de luminosité, des volets roulants que j’ai tous rassemblés dans un groupe (une scène au sens Domoticz)  pour pouvoir les commander tous ensemble, je voudrais que lorsque la luminosité descend en dessous de 170 et que il est plus de 17h30, fermer tous les volets.

 

Ce qui pourrait commencer à se traduire par :

  • A chaque fois que la valeur de mon capteur de luminosité change

je regarde si elle est inférieure a 170

ET si

il est plus de 17H30

ALORS

je passe le groupe des volets à ON

Ce qui signifie qu’il nous faut un script basé sur les devices puisque je cherche à déclencher tout cela lorsque la luminosité change, il faudra récupérer la valeur de notre capteur , la comparer à un seuil, aller chercher l’heure actuelle la comparer à un seuil horaire, puis passer le groupe de volets à ON.

N.B : il y a un petit bug de conception car une fois que les volets vont être fermés, si j’allume puis éteint la lumière de mon salon, la luminosité va changer, il sera plus de 17h30 et on tentera de fermer les volets alors qu’ils le sont déjà.

Lire la suite

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Domoticz et Tasker

Beaucoup d’entre vous connaissent et utilisent l’ appli Android nommée Tasker qui permet d’ automatiser des tâches sur son téléphone/tablette Android.

Faisons ici un petit tour d’horizon de cette  appli pour ceux qui ne la connaitraient pas

Depuis quelques semaines vous avez recyclé un vieux téléphone Android qui fait maintenant plate-forme d’ envoi de sms grâce à cet article concernant les sms alors voyons ici comment transformer ce téléphone en capteurs capable d’envoyer des données vers Domoticz via Tasker.

 

Prérequis

 

Le logiciel Tasker permet de récupérer tout ce qui se passe sur votre appareil Android et d’en faire quelque chose.

Par exemple : Si le Wifi est off alors on le passe à On, si on se situe dans tel lieu alors on envoie un sms automatique, si on dit Ok Google allume la musique …

Un lien de lecture ici http://techno-bidouille.com/android-exploitez-vos-capteurs/  ou l’auteur utilise tout d’abord un logiciel nommé sensors pour savoir de quel capteurs est équipé son téléphone/tablette Android.

Tasker : Les bases

Ici , pas question de faire un cours complet de Tasker , plein de tutos existent.

Le minimum à savoir est que la décomposition dans Tasker est la suivante

Le profil Tasker  est basé sur un évènement : « si il est telle heure », « si mon wifi est off », « si l’appli X se lance » ….

Et lorsque un profil est exécuté il lance une tâche.

Une Tâche  est un ensemble d’actions à réaliser suivant le profil.

Sachez qu’il y a des scènes qui sont des interfaces graphiques Tasker, des variables que l’on peut stocker, plein de choses avec lesquelles on peut jouer.

Tasker : En pratique

Commencez par créer un profil basé sur les heures.

Décochez  la case « De » et la case « Jusqu’a » puis cochez en bas « Répéter » toutes les X minutes à votre volonté.

Attention : pour valider il faut faut utiliser la flèche « Retour » en haut à gauche.

Donc nous avons un truc (profil) qui déclenche toutes les 5 minutes.

Créons une tâche. Nommons la puis associons lui UNE action

Je vous conseille au début afin de connaitre tous les capteurs utilisables sur votre Android, soit d’installer l’appli Sensors soit de faire une tache Alerte/Popup qui affiche la valeur en question (les capteurs en rouge ne sont pas accessibles).

Ici j’illustre le fait de lancer une popup, le TEXTE de ma popup sera le niveau de batterie de mon téléphone, en cliquant sur le petit crayon gris en bout de ligne en face du TEXTE que je veux afficher :Tasker2

 

j’obtiens la liste des variables utilisables.

Tassker1

Je choisis donc « Niveau de batterie »

Validez puis remarquez que les valeurs des capteurs se nomment %TEMP, %HUMIDITY, %BATT, ainsi de suite.

Ce qui va nous être utile pour la suite lors de l’envoi vers Domoticz.

L’envoi des données vers Domoticz

J’ai honte, mais il s’avère que Deennoo sur le forum à traité de cette partie avant moi, aussi vais je vous renvoyer vers ses explications

https://easydomoticz.com/forum/viewtopic.php?f=7&t=1008

 

Bonne lecture et n’hésitez pas à poser vos questions dans le forum.

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Suivre les évolutions de Domoticz

Régulièrement on cherche les évolutions, les mises à jour apportées à Domoticz , je donne ici le lien vers le github officiel afin que vous puisiez consulter les modifs apportées.

https://github.com/domoticz/domoticz/commits/master

Les plus curieux pourront accéder aux modifications du code par un clic sur la ligne et se perfectionner en C++

Et sinon pour les moins courageux on a directement le fichier des modifs de façon condensée ici https://github.com/domoticz/domoticz/blob/master/History.txt

merci à Cha pour me l’avoir signalé

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Le point sur les scripts lua de Domoticz

Vous le savez logo_domoticzincorpore le langage Lua

au même titre que  wc

ou bien fc

Essayons, nous aussi, de jouer avec et de préciser les bases de l’utilisation de ces scripts qui parfois déroutent les débutants.

Il ne s’agit pas ici de faire un cours de lua mais de détailler l’intégration de ces scripts dans Domoticz.

La page source sur le wiki Domoticz https://www.domoticz.com/wiki/Events#Using_the_events_system

Généralités

Il en existe de 4 types différents basés sur les événements qui surviennent sur le matériel, le temps, les variables, le panel de sécurité. Par événement on entend toute modification qui survient.

Il est important de comprendre (et je le répéterai)  que TOUS les scripts événements se déclenchent à toute modification sur l’événement correspondant (changement d’état d’un des matériels, toutes les minutes, à chaque changement d’une variable).

 

  • Tous les scripts Lua se trouvent dans le dossier domoticz/scripts/lua
  • Ils finissent par l’extension .lua sinon ils ne sont pas exécutés par Domoticz
  • Pour nos amis modifiant les fichiers sous Windows, enregistrez les en UTF8 sans BOM (Notepad++)
  • Ils n’ont pas besoin d’être chmodés (pas de chmod +x, +777) chrgp … non plus
  • Les scripts ne sont pas lancés en tache de fond, il sont lancés par Domoticz et n’ont que 10 secondes pour faire leur boulot, passé ce temps Domoticz les tue. En vertu de quoi évitez les sleep (20), d’interroger des services web qui répondent trop lentement …
  • Les noms à utiliser à l’intérieur des scripts sont ceux donnés dans la colonne Nom des périphériques, respectez EXACTEMENT l’orthographe majuscules/minuscules/espaces/accent. Et pour ne pas être embêtés bannissez les espaces/accents/caractères bizarres (‘/&…) en renommant votre matériel
  • Les valeurs reçues des capteurs ne sont pas modifiables via Lua, utilisez JSON
  • Tous les script doivent contenir un bloc commandArray={} puis return commandArray contenant les instructions à effectuer

Lire la suite

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Dans le lab d’OVH : l’internet des objets et Runabove iot pour Domoticz : les graphiques

Suite de l’article concernant la mise en place de l’Internet of Things (iot) sur le lab OVH, je vais présenter ici un outil graphique permettant de représenter les données envoyées dans la base de données time series.

Rappel

Je voulais faire découvrir dans cet article une des dernières innovations issue du laboratoire de la société OVH. Il s’agit de IOT, time series , autrement dit une base de données pour l’internet des objets (Internet Of Things) que OVH nous met à disposition pour tester. Suivront des outils de reporting dans un avenir proche.

Ici nous allons installer nos propres outils graphiques.

Notez bien que ce iot paas time-series  est un produit de test chez OVH dont on ne connait pas la durée de vie. Pour l’instant c’est gratuit mais cela ne durera pas. Ne construisez donc rien de définitif basé la dessus pour l’instant.

Quel outil utiliser ?

N’étant pas (et loin de là) un spécialiste dans le domaine j’ai pris le premier outil dont l’abord n’était pas rébarbatif pour essayer de faire afficher mes données.

Le choix s’est donc porté sur grafana http://grafana.org/download/ dont des versions existent au format .deb, .tar et .zip pour Windows™.

Mise en place de la version Windows™.

  • Après avoir cliqué sur le lien de téléchargement, on obtient un fichier zip que l’on décompresse dans un dossier quelconque.
  • Il suffit de se rendre dans ce dossier puis dans \grafana-2.1.3\bin ou l’on trouve un grafana-server.exe que l’on lance.
  • Une fenêtre DOS (fenêtre noire avec des trucs dedans, pour les plus jeunes) s’ouvre.
  • Le serveur grafana est prêt.
  • Ouvre un navigateur web et allez à 127.0.0.1:3000

Lire la suite

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/