La Geek Attitude

A la recherche de solutions pour améliorer le quotidien


Poster un commentaire

Contrôle des démons dans Jeedom

Pendant des recherches effectuées dans le forum de Jeedom, je suis tombé sur un sujet bien intéressant et je voulais le partager.

Il arrive que les démons utilisés par les plugins de Jeedom s’arrêtent. Le voir sur le dashboard serait bien pratique et pouvoir les redémarrer, ce serait encore mieux.

Un petite astuce donnée par magicgg91 sur le forum va nous permettre de le faire. Comment?

En utilisant le plugin Jeelink qui permet de contrôler d’autres jeedom, on lui donne comme cible son jeedom.

Grâce à celà, il sera possible de voir l’état des démons mais également l’état du Jeedom, d’effectuer un redémarrage de ce dernier, des démons en question et même lancer un backup.

Voici le lien du forum où j’ai trouvé l’information: ICI

 


Poster un commentaire

Arduidom, j’avance…

Suite à la migration vers la v3.0 de Jeedom, le plugin Arduidom ne semble plus poser de problèmes à la Jeedom SMART comme sous la version 2.4.6

Je suis donc reparti dans mes essais pour utiliser ma carte Arduino Uno R3 pour suivre ma consommation d’eau grâce au capteur CNY70.

N’ayant pas encore ce composant à disposition, je me suis rabattu sur un autre me permettant d’utiliser un signal d’entrée, à savoir le touch sensor, présent dans un starter kit.

Je dois dire que l’opération est très simple sauf qu’il m’a fallu un certain temps et des fouilles sur le forum de Jeedom pour trouver l’erreur que j’avais commise… Vous verrez plus bas.

Voici les étapes:

  • Montage électronique du sensor sur le banc d’essai et connexion (ou directement) à la carte Arduino

Ici le schéma montre une connexion sur le port 2 mais j’ai utilisé le port 3.

  • Configuration de la carte dans le plugin Arduidom.

Il est important de bien forcer le migrage des données, de télécharger la version 127 du sketch et de le téléverser sur la carte. Pour ma part, j’ai téléchargé le sketch à partir de la configuration du plugin mais j’ai téléversé ce dernier à partir de mon PC. On sauvegarde et on redémarre le deamon.

  • Configuration des pin d’entrées: Entrée digitale configurée pour la PIN 3

  • Création d’un équipement pour le compteur d’eau.

  • Création de la commande pour récupérer le signal venant du touch sensor ainsi que l’assignation de la pin d’entrée. 

Ici, on crée une commande info, de type binaire pour la PIN3 avec le nom qu’on veut. Ici, j’ai mise litrage.

  • Configuration avancée de la commande pour incrémenter 3 variables pour stocker la consommation d’eau.

C’est sur point que je me suis fait avoir, je n’avais pas rempli le champ plus de (min) et la commande n’était pas exécutée.

  • Création d’un virtuel permettant l’affichage de ces variables dans le dashboard ainsi que l’historisation des valeurs.

  • Création d’un scénario pour la remise à zéro des variables en fonction du jour.

Après avoir suivi ces différentes étapes, il suffit de tester en posant son doigt sur le sensor, vérifier que la led TX clignote bien à ce moment-là ( elle clignotera 2 fois, un première fois pour envoyer une donnée binaire 1 et une seconde fois quand le doigt est éloigné) ainsi que les variables sont bien incrémentées.

Il ne restera donc plus qu’à remplacer le sensor par le CNY70 (je vous ferai part du schéma) et adapter si nécessaire cette petite procédure.


Poster un commentaire

Migration Jeedom V3.0: expérience, suite…

Je suis du genre tête de mule et cela m’a vraiment frustré de ne pas pouvoir passer à cette version 3 pour deux plugins qui ne sont pas à jour….

J’ai donc fouillé sur le forum et j’ai trouvé des informations intéressantes qui m’ont permis de contourner le problème pour ces deux plugins.

J’ai donc modifié le fichier php localisé dans le répertoire Desktop/php et j’ai suivi ces instructions:

  • mettre col-lg-10 à la place de col-lg-12
  • supprimer  » bootstrapSwitch »

Maintenant, mes deux plugins fonctionnent parfaitement.

J’ai récupéré les widgets et sauvegardé les commandes pour chaque équipement et tout semble actuellement être en ordre, hormis une erreur SQL au redémarrage mais qui s’est réglée par un reboot supplémentaire.

Il me reste à comprendre l’erreur que j’ai quand je tente d’envoyer un rapport de mes valeurs historisées par mail et avancer le plugin Arduidom sous cette v3.

A suivre…


Poster un commentaire

Migration Jeedom v3.0: expérience

J’ai tendance à toujours vouloir être à la page mais pour la domotique, je me tempère un maximum pour ne pas avoir de problèmes avec madame si plus rien ne fonctionne.

Après avoir un peu attendu, j’ai tenté le passage à la v3.0 car le rapport mensuel des vues est une fonction que je voulais au départ développer via un plugin mais j’ai abandonné l’idée en sachant que cela allait être intégré dans cette version.

J’ai d’abord fait l’installation de cette v3 sur une machine virtuelle pour y charger un backup de la 2.4.6.

Après cette restauration, j’ai donc désactivé tous les plugins, forcé la mise à jour de la v3 et celle de tous les plugins dans un second temps. Suite à cela, la réactivation des plugins a été effectuée et j’avais toujours accès à Jeedom.

Confiant, j’ai donc entrepris la mise à jour de la Jeedom SMART en v3 en suivant la même méthode. Désactivation des plugins, update du core, des plugins et réactivation.

A priori, tout semblait être OK…. Sauf que plusieurs plugins ne fonctionnaient pas. Il faut dire que je n’ai pas revérifié l’ancienneté de chacun. Certains, fait en version 2.3 ou 2.4 fonctionnaient parfaitement… Sauf que 2 plugins, télécommande free and freeSMS sont toujours estampillé v1.2 et impossible de les ouvrir ou de recréer de nouveaux équipements.

Je vais donc de ce pas écrire un petit mot sur le forum afin de savoir si ces plugins seront mis à jour pour la v3.

J’ai quand même pu essayer la fonction d’envoi de rapport. Elle a fonctionné sur l’environnement de test mais pas sur la SMART.

J’avais également perdu les widgets pour l’état de mes volets.

J’espère pouvoir refaire l’essai quand les plugins problématiques seront disponibles pour la v3… En attendant, je suis revenu sur le 2.4.6 en restaurant le backup et forcé l’installation de quelques plugins dont le Zwave.

Mais là, encore une mauvaise surprise, j’ai perdu les commandes de plusieurs plugins comme HarmonyHub où j’ai du supprimer les équipements et recommencer la configuration. Le plugin Widget avait perdu son icône. J’ai effacé le plugin pour le recréer et je ne l’ai plus dans le Market…. Il va falloir s’en passer.

Voilà comment s’occuper une après-midi à tenter de ne pas se faire disputer parce que plus rien ne fonctionne.

 


Poster un commentaire

Arduidom VS Jeeduino

Après la lecture des quelques premiers chapitres du livre Arduino pour les nuls, l’application de quelques exercices et quelques composants brûlés, j’ai voulu passer un peu de temps pour comprendre l’interface entre Jeedom et l’arduino utilisant la connexion USB.

Je n’ai pas réussi à arriver à mes fins car les deux plugins permettant la gestion des entrées et sorties de l’arduino n’ont pas fonctionnés.

J’ai tout d’abord testé Jeeduino et première déception, après l’activation du plugin et la configuration, le z-wave, bien que son statut semblait ok, plus aucune commande ne fonctionnait.

Je suis donc passé au second qui est Arduidom. J’étais assez confiant car l’installation et la configuration s’étaient bien passées grâce à une petite vidéo trouvée sur le net et j’avais même réussi à allumer une LED via Jeedom et la sortie digitale.

J’ai vite déchanté quand j’ai vu brusquement la température du processeur monter en flèche et que l’activité du CPU était à 100%.

Est-ce lié à la SMART ou à autre chose? Peut-être aurais-je des informations sur le forum de Jeedom.

Quoi qu’il en soit, il est fortement possible que j’envisage une solution indépendante avec un shield WiFi et tenter l’envoi de requêtes http pour mettre à jour un virtuel dans jeedom pour récupérer les informations que l’arduino récupère par les entrées analogiques.


Poster un commentaire

Mes premiers pas d’Arduiniste.

Comme mentionné dans plusieurs articles précédemment, la domotique, c’est bien…. Mais quand on achète plein de modules pour ajouter un peu de confort et faire des économies d’énergie, c’est tout aussi bien…

Mais après avoir fait le tour de ce que je voulais faire dans ma maison, un vieux rêve est revenu au premier plan depuis mon entrée dans le monde de la domotique: l’électronique et la programmation de cartes.

Ceci a été réactivé par l’envie de domotiser mon compteur d’eau à moindres frais. Un de mes collègues du bureau a commencé une ébauche de solution en utilisant une carte Arduino et un capteur CNY70 mais n’a pas encore écrit de code pour transmettre les infos… Juste que la LED TX clignote quand le capteur détecte un changement d’état.

Quand il m’a mis le bébé dans les mains pour faire un premier test pour confirmer que c’était fonctionnel avec mon compteur, j’ai eu envie d’assouvir ma curiosité en achetant un kit de démarrage… Mais à vrai dire, en voyant tous ces composants, n’ayant jamais fait d’électronique et étant une bille en électricité, je n’ai pas de suite sauté le pas.

C’est en tombant sur le livre de John Nussey, Arduino pour les nuls, rapidement commandé, que la machine s’est mise en route.

Après avoir installé l’IDE d’Arduino, lu les deux premiers chapitres du livre et suivi les instructions d’installation fournies dans le kit, me voilà fin prêt pour m’y plonger.

Mon but premier restant toujours d’interfacer mon compteur d’eau avec Jeedom pour contrôler ma consommation d’eau mais peut-être aurai-je d’autres idées que je mettrai en application. Commençons d’abord par le chapitre 4 pour simplement faire clignoter une LED, on verra le reste après…

A suivre.


Poster un commentaire

Jarvis@Home v2, la suite.

J’ai un peu attendu avant d’écrire cet article car quelques versions ont été nécessaires pour stabiliser Jarvis@Home v2 Beta.

La prochaine arrivée, d’ici deux semaines au plus tard, de notre seconde princesse n’arrange rien au fait que j’ai de moins en moins de temps à consacrer à ma domotique… Et également à mes autres passions dont la musique.

J’ai testé cette version sur mon téléphone que j’utilise au quotidien avant de la deployer sur ceux qui sont dédiés au pilotage par la voix de Jeedom. Dès qu’elle a été 100% compatible avec la configuration v1 (nécessitant quand même quelques petites adaptations de configuration) et suffisamment stable , je les ai migré.

La fonction majeure que j’attendais avec impatience était la gestion du volume via des options supplémentaires dans la requête HTTP pour effectuer le TTS. Je voulais pouvoir faire des notifications vocales en fonction de différents éléments de ma domotique… Par exemple, si ma fille fait sa sieste (grâce à l’utilisation du plugin mode), je veux que le volume soit plus bas que le niveau utilisé habituellement.

Comme déjà expliqué dans mon article précédent, la v2 a pour nouveauté de fonctionner avec un serveur web sur le téléphone, toute la configuration est présente sur le périphérique et accessible par votre navigateur préféré. Il est donc possible de créer des interactions directement dans l’application sans utiliser celles de Jeedom et définir la requête HTTP nécessaire à l’exécution de la commande dans Jeedom (ou tout autre logiciel de domotique).

Pour utiliser la v2 comme la v1, il faut utiliser la configuration Jarvis V1, mettre le mot-clé si ce n’est pas Jarvis, définir la requête HTTP dans la notification de status situé dans les settings dont le lien est situé en haut à droite côté application.

Côté Jeedom, les scripts pour le TTS gérés par le plugin du même nom doivent être revu car le format a changé pour permettre de gérer plusieurs options dont le volume. J’ai splitté le seul que j’avais pour faire du TTS en trois pour avoir 3 niveaux sonores différents.

Je vous invite à visiter le site web du concepteur qui a effectué un travail monstrueux pour avoir plus détails même si une série d’exemples est présente dans le menu API.

Dès que je peux, je testerai les autres fonctions avec mon téléphone.

En dehors de Jarvis@Home, je dois encore recevoir des sondes de température pour les ajouter dans les chambres et gérer les réversibles, avancer sur l’utilisation d’une carte Arduino pour récupérer la consommation d’eau. S’ajoutera aussi la gestion de la piscine (éclairage, temps de filtration en fonction de la température) si mon projet d’en construire une se concrétise.

Je pense également parler dans un prochain article de mon utilisation des modules BroadLink RM-Mini et du petit projet d’une pièce à imprimer en 3D.

Et pour finir, voilà que cela fait 72 jours que ma Jeedom SMART tourne sans broncher et sans bugs…


6 Commentaires

Premiers pas de développeur

Voilà maintenant quelques semaines qu’une idée me taraude l’esprit car j’ai un besoin que Jeedom ne comble pas pour le moment: l’exportation par mail d’une représentation graphiques des données historisées. Je voudrais que chaque premier du mois, Jeedom m’envoi un mail avec les graphiques de mes équipements pour les commandes choisies.

Mon but est de pouvoir consulter mes historiques en dehors de Jeedom, de les stocker quelque part mais également de ne pas garder à vie toutes les valeurs pour ne pas remplir la base de données.

N’ayant pas eu de retour sur un post que j’ai mis sur le forum de Jeedom, j’ai tenté de trouver une solution par moi-même.

La première a été de directement plonger dans la documentation pour développer un plugin… J’ai vite déchanté car, certes, je connais un peu le PHP mais j’ai du mal à rentrer dans la logique qu’il faut suivre pour réaliser un tel développement.

J’ai donc tenté une autre approche qui est de créer un script utilisable dans le plugin script de Jeedom pour générer du code HTML qui pourrait être stocké dans une variable et ensuite être transmis par mail via une scénario. Sur ce coup, je me sentais un peu plus confiant mais fallait-il d’abord trouver les bons outils pour générer des graphiques.

J’ai donc installé un Jeedom de dev sur une machine virtuelle sous Debian Jessie ainsi que PhpMyAdmin et je me suis lancé dans l’aventure. Après avoir écumé quelques sites, je suis tombé sur une librairie javascript permettant assez facilement la création de graphiques: CanvasJS.

La version d’essai est totalement utilisable et montre simplement un petit message qui en informe l’utilisateur.

J’ai donc utilisé le plugin Monitoring pour historiser les températures du processeur du Jeedom de Prod, de mon Raspberry PI3 où tourne un serveur Plex et enfin le serveur virtuel sur lequel mon environnement de test fonctionne.

J’ai du changer les droits d’accès du répertoire /var/www/html pour me permettre d’y créer un répertoire et y mettre mon fichier php ainsi que la librairie CanvasJS. Mon premier jet, développer tout à fait en dehors de Jeedom, ressemble à ceci:

Grahps.jpg

Les valeurs sont condensées à des jours précis car je n’ai pas laissé tourner ma machine virtuelle constamment. Je vais peut-être penser à restaurer un backup de mon serveur de prod pour avoir plus de données. Au final, cela rend exactement ce que je voudrais.

Hormis le code PHP que je suis en train de peaufiner pour dynamiquement pouvoir créer un graphique de ce type sur base de l’ID de la commande, je me pose déjà des questions pour l’après:

  • Comment donner accès à la base de données à mon script? Actuellement, j’ai mis en dur le login et mot de passe. Peut-être existe-t-il une class ou un fichier php à inclure pour directement accéder à la base de données.
  • Comment écrire le résultat de l’exécution du script, à savoir du code HTML, dans une variable pour l’envoyer ensuite par mail en utilisant le plugin Mail?

Si certains ont déjà travaillés sur ce type de projet, cela m’intéresse histoire de ne pas réinventer la roue. Si je me lance dans quelque chose d’inédit, une aide ne serait pas de refus pour, à terme, peut-être créer un vrai plugin permettant via une interface type « ajout d’équipement » dans jeedom, ce serait encore mieux.

EDIT du 28/05/2017: Je n’avais pas bien vu les conditions d’utilisation de cette libraire et il semble qu’on ne puisse pas l’utiliser plus de 60 jours. J’ai donc cherché une autre solution et un nouvel article sera rédigé avec le nouveau choix: Chart.js


Poster un commentaire

Jeedom arrose mon jardin, v2

Comme prévu, le Miplant de Xiaomi est arrivé. J’en ai donc profité pour revoir un peu le fonctionnement de l’arrosage vu que je peux connaître le taux d’humidité.

Il faut dire que j’ai eu un peu de mal à trouver le placement idéal pour le MiPlant dans le jardin car, malgré l’achat d’une antenne SENA, la porte est limite à l’extérieur.

Après plusieurs jours, j’ai fini par trouver le bon placement et un bon compromis entre qualité d’émission/réception et position stratégique par rapport aux zones d’arrosage.

Exit la vérification de la saison ainsi que du jour pour uniquement me baser sur deux éléments: le taux d’humidité remonté par le MiPlant et la température Max du lendemain remontée par le plugin Weather.

Etant développeur à mes heures, j’ai également cherché à simplifier mes scénarii et je n’en ai plus que deux. Pour rappel dans mon article précédent, j’avais créé un scénario par temps d’arrosage.

Je n’en ai plus que deux. Un qui met à jour une variable qui contient le temps d’arrosage en secondes et un pour l’exécution de l’arrosage.

tempo_arrosage.jpg

Je vérifie si le taux d’humidité est inférieur à 20%. Si c’est le cas, je teste des tranches de températures et je définis un temps d’arrosage pour chacune. Si ce n’est pas le cas, je mets la valeur de la variable à 0.

Pour le scénario de programmation des vannes, je vérifie si la valeur de la variable n’est pas 0 et qu’aucune vanne est en train d’arroser. Je m’envoie un mail pour m’informer que l’arrosage a commencé.

prog_arrosage.jpg

J’ai toujours un scénario qui n’est actif que quand je suis absent et qui lance l’arrosage à heure fixe. Dans le cas de présence dans le maison, c’est lorsque je vais me coucher que l’arrosage se met en route si les conditions sont réunies… Histoire de ne pas me faire arroser si on reste tard dans le jardin.


Poster un commentaire

Jeedom et mon MCZ

Une de mes grandes frustrations dans la domotisation de ma maison est la gestion du chauffage.

Mes sèches serviettes et les réversibles sont contrôlés, les premiers avec un module fibaro et les seconds avec le broadlink RM mini. Ces derniers sont partiellement en pilotage automatique mais c’est le temps qui me manque pour creuser et optimiser au max.

Mon soucis est le poêle à granulés qu’il est impossible d’interfacer avec Jeedom directement. 

J’ai quand même tenté de trouver une solution pour faire un système hybride.

Tout d’abord, l’allumage, la gestion de la température et l’arrêt du poêle est faite par la télécommande du poêle. Cette dernière allume le poêle à 6h30 du matin et éteint à 21h00 si la température n’est pas satisfaisante.

Dans Jeedom, deux scénarii sont utilisés:

Le premier pour activer le wallplug 30 minutes avant l’allumage par la télécommande si la température mesurée par l’oeil de Sauron est en dessous de la température souhaitée.

Le second pour l’arrêt, 45 minutes après la commande stop exécutée par la télécommande du poêle. Cela pour permettre à ce dernier de bien s’arrêter.

Ce système me permet de ne pas m’occuper du chauffage et devoir anticiper les changements de température, surtout au printemps où un retour du froid peut arriver.