Jeedom : Temporisation d'un équipement

Vous allez tout savoir. Je ne prends jamais ma douche à la même heure, il est donc impossible de programmer le chauffage de la salle de bain avec un agenda. Mais en général j’anticipe un peu ma douche, je me dis me dis que je vais bientôt aller la prendre car je ne vais pas tarder à sortir. Bref, l’objectif est donc de passer un sèche serviettes en marche forcée, ou en mode confort, pendant une ou deux heures. Certains vont me dire de bouger mon cul et d’aller appuyer sur le bouton idoine du sèche serviettes, et ils auront raison car la majorité de ces appareils en sont équipés, et c’est le cas du mien. Mais l’idée ici est que la démonstration soit générique et s’applique à n’importe quel équipement.

S’il est possible d’utiliser un smartphone ou n’importe quel bouton poussoir reconnu dans Jeedom, pour la démonstration je vais utiliser un gadget que j’ai sous la main, le bouton multiclic de Aquara de Xiaomi qui communique avec Jeedom grâce à la ZiGate et le plugin qui va bien (je dis « qui va bien » pour ne pas réemployer le mot « idoine » car ça ferait deux fois, mais en fait ce plugin ne va pas toujours bien, il s’améliore toutefois de versions en version).

Sur ce bouton on peut récupérer 3 valeurs : 2, 3 ou 4 clics. Pourquoi pas 1 seul ou 5, ne me demandez pas, c’est ainsi ! Donc grâce à un virtuel, je vais récupérer ces 3 états et en faire des informations binaires

Ensuite je vais créer un scénario qui sera provoqué par un évènement sur un de ces 3 états. Si Multiclics=2 je déclenche mon scénario. Il est des plus simples, avec une ACTION qui passe le thermostat de la salle de bain en mode Confort suivi d’un bloc DANS qui le repassera en mode Eco dans 120 minutes. Le bloc DANS étant une commande secondaire qui va s’exécuter dans 120 minutes contrairement à sleep ou wait qui laisserait le scénario actif pendant 120 minutes ce qui consommerait de la CPU à ce que j’ai compris, voire provoquerait une erreur.

Variantes

On peut également associer à cette action la grande vitesse de la VMC, je ne l’ai pas fait car elle est déjà gérée par l’hygrométrie. Par contre je pensais à utiliser les 3 valeurs des clics pour lancer 3 temporisations différentes.

 

Lampe Xiaomi Mijia

On sort un peu de l’IT pour du beau. Ceux qui me connaissent savent que je suis sensible à ce qui est beau, d’ailleurs cet aspect-là y est sûrement pour quelque chose dans mon choix Unifi… Mais revenons au beau d’aujourd’hui. J’ai donc acheté cette lame parce que je la trouvais belle sans pour autant me préoccuper du fait qu’il s’agissait également d’un objet connecté. Elle est conforme à ce que j’attendais, le reste est un plus.

De base il y a un seul bouton qui permet de gérer l’intensité et le ON/OFF. Si on veut aller plus loin il faut installer l’application Yeelight sur son smartphone et on a accès aux différentes programmations horaires possibles, un mode qui vous avertit qu’il est temps de faire une pause, ainsi que le réglage des températures de blanc et une tripotée de préréglages que l’on pourra personnaliser. Il faut donc un compte MI, et c’est également ce compte qui fera la liaison avec les assistants vocaux.

La lampe est donc reconnue par Alexa qui rend possible la commande vocale de tous les réglages (ON/OFF, variation et température de blancs), chose possible également avec Google Home qui fait toutefois l’impasse sur la température de blancs. Rien à dire, que ce soit avec l’application de base ou les assistants vocaux, on branche et tout fonctionne en quelques minutes et ça donne envie d'investir dans des ampoules de la même marque.

Sous Jeedom, si tant est que ça soit vraiment utile, il est possible en activant le mode développeur de gérer la lampe directement avec le plugin WiFILight2. Vu que c’est du direct IP ça risque toutefois de renter en conflit avec l’application de base et les assistants vocaux qui eux fonctionnent de consort. Il doit également être possible de la gérer plus proprement avec la passerelle Mi Home, mais je n’avais pas envie ce soir de parler chinois !

En conclusion pour une cinquantaine d’euros (voire moins sur les sites chinois) on a une belle lampe qui éclaire bien, avec un design que je trouve très réussit. Soit le prix moyen d’une telle lampe sur le marché. Le fait que ce soit aussi un objet connecté est la cerise sur le gâteau, libre à chacun d’utiliser ces fonctionnalités !

Jeedom : Gérer les coupures EdF

Etre informé d’une coupure électrique peut sauver le contenu d’un congélateur lors d’une absence. Dès lors faisons fonctionner la domotique. Il existe un micro module pour ça, l’ITS23 d’InterTechno (la doc est ici) qui fonctionne avec une pile et que l’on pourra associer à Jeedom via un RFPlayer ou un RFXCom. Il doit également être possible de gérer les coupures avec les retours des onduleurs, mais j’ai préféré gérer ça de façon indépendante.

Attention, ce micro module a deux modes de fonctionnement, activation quand le contact est fermé ou activation quand le contact est ouvert, cela joue pour le poussoir qu’il gère en parallèle mais également pour le sens des codes émis. Et c’est là que ça se complique car de fait à la reprise électrique il s’associera automatiquement aux prise Chacon qui elles aussi redémarrent et au départ sont toujours en mode association. Donc il s’associe sans que l’action soit voulue et ensuite les allume et les éteint. Avant de comprendre cet effet de bord je me suis bien cassé la tête à comprendre ce qui faisait allumer des lampes lors de chaque reprise électrique… Il va donc falloir contourner cet inconvénient avant de mettre en service nos scénarios.

On choisit la position O (activation quand le contact est ouvert), ce qui va provoquer le passage en position ON des objets Chacon associés. Dans notre cas ce n’est pas grave car ces objets sont éteints lors d’une coupure électrique, donc sans incidence, sauf que c’est un peu déroutant pendant les tests. On aura donc un OFF lors de la reprise électrique et là on pourra toujours compenser avec un scénario associé (de toutes façons un Chacon est toujours OFF lors de son branchement / alimentation).

On associe l’ITS23 à Jeedom, ici via le RFPlayer, et on obtient deux infos qui vont nous intéresser. Une Info Numérique que l’on va nommer Coupure Alim qui retournera 1 si coupure et reviendra à 0 lors de la reprise, et une autre Info Textuelle que l'on nommera Alerte EdF et qui retournera ON si coupure et OFF lors de la reprise.

 

En allant dans la configuration avancée (la petite roue crantée à côté du bouton tester) de ces deux valeurs on va pouvoir configurer des actions. Comme on ne peut configurer qu’une action par valeur, on va se servir des deux, j’utilise la valeur OFF de Alerte EdF pour envoyer un sms notifiant la coupure, et la valeur 0 de Coupure Alim. pour envoyer une notification de reprise et lancer un scénario sur reprise, avec un délai afin de pallier au micro coupures.

Pour l’instant je ne me sert pas de la valeur du poussoir, mais on pourrait imaginer que cet équipement pourrait servir à autre chose…

Jeedom : Recycler sa ZiBase

La ZiBase avait pour elle une fonctionnalité très intéressante : ses voyants. Ces 5 leds pouvaient s’activer par scénario et ainsi apporter une information visuelle instantanée. Sous Jeedom il n’y a pas de voyants et j’avoue que ça manque. Alors j’ai cherché des afficheurs, il y a bien sur des choses toutes faites comme Lametric qui vaut un bras ou des solutions DIY qui imposent le fer à souder, ce dont je n’ai pas envie. Et puis en réfléchissant je me suis dit qu’il devait être possible de recycler la ZiBase désormais éteinte, puisqu’on peut la commander via une url… Et que de toute façon il était inutile de la coller sur le boncoin !

Préparation

Coté ZiBase

La première chose à faire de la nettoyer. En effet si on la rebranche il y a des chances que s’exécutent des scénarios qui vont interférer avec l’actuel Jeedom. Un reset me parait hasardeux car c’est un produit non maintenu et il y a des chances pour que ça ne redémarre pas. Il faut donc supprimer à la main tous les scénarios et tous les actionneurs. Et clairement s’armer de patience car ça prend un temps de fou, c’est là que l’in se rend compte combien elle était lente…

Ensuite on va créer 15 nouveaux scénarios dont le seul but sera d’allumer, faire clignoter ou éteindre chacune des 5 leds. Coté ZiBase c’est tout, et comme ces scénarios sont stockés en local, même si les serveurs Zodianet s’arrêtent un jour ils seront persistants.

Coté Jeedom

Ici on va créer 5 scripts avec le plugin idoine (on en fait un et on duplique). Ces scripts auront pour but de lancer les requêtes http locales vers la ZiBase.

Une fois ces scripts créés il n’y aura plus qu’à s’en servir, dans un thermostat par exemple, ou quand je chauffe j’allume une led, et quand je ne chauffe plus j’éteins la led. Ou dans un scénario ou tout autre usage libre à votre imagination.

That’s all folks !

Jeedom : Tuya via IFTTT

 

L’objectif est de pouvoir commander dans Jeedom des équipements Tuya comme (Konyks par exemple, mais on en trouve à foison sur Amazon ou les sites chinois à bien moins cher). Ces objets connectées WI-FI ne sont pas pilotables en local, on va donc biaiser en passant par IFTTT. Le prérequis est bien sur un compte IFTTT et y avoir associé son compte Tuya SmartLife (lié aux applications : TuyaSmart, Smartlife ou encore Konyks (ce soint des OEM Tuya), ou autre comme eWlink pour Sonoff) en ajoutant le service SmartLife à IFTTT (Google est votre ami…).

Sur IFTTT on crée une applet +this et on cherche Webhooks que l’on sélectionne :

 

On lui donne ensuite un nom Prise_Halogene_ON (sans espaces et sans accents) + Create trigter et on clique sur +that et on cherche SmartLife et on choisit Turn on :

Et on choisit ensuite dans la liste la prise que l’on souhaite allumer par cette action, on crée Create action et on valide sur la page suivante ou se trouve également l’option permettant de recevoir une notification sur l’application mobile. Sur la page suivante on fait un check. Ensuite on va sur Services / Webhooks et on clique sur le bouton documentation en haut à droite et on arrive sur la page qui va nous permettre d’obtenir la commande curl. Il suffit alors d’insérer le nom de notre commande dans le champ {event} pour obtenir en bas la ligne de commande que l’on utilisera dans Jeedom. J’ai volontairement coupé car c’est ici qu’il y a la clé secrète… On peut ici également tester que notre prise s'allume bien !

Utilisation avec Jeedom

La solution retenue ici est Jeedom, mais ça peut fonctionner dans n’importe quel système sachant envoyer une commande curl. Dans ce cas d'usage le plugin IFTTT ne sert à rien (j'ai perdu un peu de temps à le comprendre, il sert en fait à commander Jeedom via IFTTT). On va utiliser le plugin SCRIPT et créer un équipement activé mais non visible que l’on nommera par exemple IFTTT Prise Tuya. On ajoute deux commandes de type Script + Action que l’on nommera Prise_Halogene_ON (ou Prise ON, ça n’a pas de rapport avec le nom IFTTT) et dans la requête on crée un script (bouton vert) dans lequel on colle notre ligne curl. On fait pareil pour OFF et on sauvegarde.

Ensuite on passe au plugin VIRTUEL dans lequel on va créer notre interrupteur virtuel. On ajoute un équipement, on le nomme, on l’active et on le rend visible. On crée le ON, le OFF comme sur la capture et on sauvegarde ce qui nous crée une commande d’info que l’on configure en Binaire et que l’on nomme Etat.

On clique sur la petite roue à dent à droite du ON pour configurer le type générique, ici une prise et la commande vers le script que l’on a créé précédemment. On refait pour le OFF et pour l’Etat on choisit Prise Etat en type générique. C’est aussi ici que l’on va choisir l’icône qui apparaîtra sur la commande dus Dashboard. La configuration du type générique prend son importance par exemple avec des applications externes comme Imperihome.

Voilà c’est terminé.

On peut maintenant utiliser cet équipement dans n’importe quel scénario ou commande. L’inconvénient de cette solution est qu’elle passe par Internet + IFTTT + le cloud Tuya. Un plugin Jeedom, qui comme sous d’autres solutions domotique, utiliserait les API Tuya serait le bienvenu. Cela simplifierait l’usage, mais surtout on gagnerait en réactivité et on serait plus synchro avec l’application mobile Tuya. L’idéal serait que cet hypothétique plugin sache parler aux équipements en local. Des bricolages de type RE existent pour les ampoules (plugin WIFI-Light2), mais cette solution est tributaire des changements possibles des spécifications de Tuya, et je ne pense pas que Tuya, dont l’objectif est de proposer un écosystème cloud aidera dans ce sens...

Sources

https://www.planete-domotique.com/blog/2018/08/01/prises-konyks-ifttt/
https://www.planete-domotique.com/blog/2015/09/22/connectez-ifttt-a-votre-serveur-domotique/

Jeedom : SSL avec Cloudflare

Pour sécuriser un site en SSL il y a plusieurs façons de faire, comme je l’avais expliqué ici. Si on passe outre les modèles payants, Let’s Encrypt qui impose l’ouverture du port 80 pour son renouvellement, il nous reste la passerelle OVH qui ne permet pas facilement une sécurisation de bout en bout. On va voir aujourd’hui comment utiliser l'alternative Cloudflare pour sécuriser de bout en bout en utilisant le certificat qu’ils fournissent gratuitement et qui ont la bonne idée d’avoir une durée de vie très longue (auto-renouvellement pendant 15 ans). Ce tuto est fait pour Jeedom sur Debian, mais on peut tout à fait utiliser cette technique sur un autre serveur, IIS sur Windows par exemple.

L’utilisation de Cloudflare sous-entend que le DNS du domaine soit géré par le Cloudflare. Ça peut paraître gênant mais au final c’est pas mal du tout car leurs DNS sont pratique et des plus rapides, notamment en réplication. Quand on va créer un domaine sur Cloudflare, celui-ci va aspirer notre ancienne configuration DNS et en créer une copie. Il n’y aura plus ensuite qu’à se laisser guider pour changer les serveurs de nom sur son registrar (Gandi, OVH, etc…), ce qui peut prendre un peu de temps avant d’être activé.

Une fois le domaine géré par Cloudflare il y a deux onglets qui nous intéressent ici, DNS et Crypto (allez fouiller car il y a plein d’autres choses intéressantes à explorer).

Sur DNS on va créer un enregistrement A (et AAAA si on veut être compatible IPV6) qui va pointer sur l’IP publique de notre serveur (ou un CName vers un DynDNS, je n’ai pas testé mais ça peut marcher, auquel cas ça deviendrait intéressant pour ceux qui n’ont pas d’IP fixe).

Ensuite on passe sur Crypto et on va créer un certificat que l’on prendra soin de récupérer (attention à bien stocker également la clé privée en .key). Voilà, pas besoin de CSR, le certificat est un willcard, ce qu’il veut dire qu’il pourra être utilisé pour d’autres sous-domaines (jeddom.domaine.tld, cam.domaine.tld …). C’est possible car son usage est conditionné par le transit via Cloudflare qui joue un rôle de reverse proxy. Donc ce certificat n’est pas utilisable (quoique...) sans Cloudflare et il ne sert qu’à sécuriser le flux entre Cloudflare et votre serveur.

Il suffira alors d’installer le certificat, facile sous IIS après une conversion en PFX, là c’est mon monde et j’ai l’habitude. Sous Jeedom, donc le couple Linux et Apache, j’ai un peu plus tâtonné car je ne suis pas dans mon domaine de compétence, mais Google est mon ami et j’ai fini par trouver en compilant plusieurs sources.

Activer SSL et installer le certificat sur le serveur Jeedom

Il va falloir se connecter en « root » sur le serveur Jeedom. Pour y parvenir il faut commencer par autoriser le SSH sur le user « root ». J’utilise BitWise SSH Client, mais on trouve d’autres alternatives et ce n’est pas très important. 

  • Login en SSH avec l’utilisateur « pi » + le mot de passe « raspberry » que vous avez j’espère changé au début de l’installation..
  • Edition du fichier de configuration avec la commande « sudo nano /etc/ssh/sshd_config.
  • Ici on change la ligne #PermitRootLogin without-password (ou un autre attribut) en en PermitRootLogin yes.
  • On ferme (ctrl + X) et on sauvegarde (Y) + validation.
  • Enfin on active avec sudo /etc/init.d/ssh restart.

On en profite pour changer le mot de passe « root » avec sudo passwd root (idem pour le user « pi » si on ne l’a pas fait).

On se déconnecte et on se reconnecte avec le user « root ».

A l’aide du gestionnaire de fichiers on va copier le certificat et sa clé privée quelque part (dans /etc/apache2 pour cet exemple).

Ensuite on va aller ajouter un serveur virtuel et dire à apache ou sont les certificats en ajoutant une section <VirualHost * :443> dans le fichier /etc/apache2/sites-enabled.conf (possible également depuis le gestionnaire de fichiers si on n'est pas fan de Nano).

<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog /var/www/html/log/http.error
SSLEngine      on
SSLCertificateFile        /etc/apache2/domain.tld.pem
SSLCertificateKeyFile     /etc/apache2/domain.tld.key
</VirtualHost>


On sauvegarde et on active le SSL avec un sudo a2enmod ssl. On peut aussi faire un apachectl configtest. En l’état ça ne doit nous retourner que l’erreur AH00558, ce qui veut juste dire qu’on n’a pas renseigné le bon hostname et qu’on l’attaque en local. Pas important dans notre usage.

On relance Apache avec systemctl reload apache2.

On se connecte pour tester depuis le PC avec « https://ip-du-pi » et on by-pass l’erreur qui est normale car un certificat est toujours lié à un domaine et non une iP. A ce stade on va renseigner nos infos dans Jeedom sur l’onglet « réseaux ». Mais là ça ne sert que d’information à Jeedom, par exemple pour appliquer la bonne config au client mobile.

Sur le routeur, le firewall ou là box on crée une règle qui va accepter une connexion externe sur le port 2053 et la renvoyer sur le port 443 de l’ip du Pi. Pourquoi 2053, simplement parce que Cloudflare n’accepte pas toutes les ports et qu’on va éviter d’utiliser le 443 (mais c’est possible).

Maintenant on va tester depuis l’extérieur (un mobile en 4G par exemple) et vérifier que la connexion est bien SSL de bout en bout.

That’s all folks !

Utiliser un certificat Cloudflare en local

Peut-on utiliser les certificats Cloudflare en dehors de leur DNS ? Par exemple pour l’installer sur des équipements locaux qui ne sont accessibles qu’en HTTPS (routeurs par exemple) et ne plus avoir les erreurs de sécurité des navigateurs. En fait la réponse est oui, mais il va falloir tricher un peu.

D’abord le certificat est lié au domaine, donc il ne fait plus appeler l’équipement par son IP mais par une url https://routeur.mondomain.tld . Pour y parvenir il faudra soit avoir un DNS interne et tricher en donnant à Cloudflare un CNAME local monrouteur.domain.local mais c’est contraignant), soit tricher avec le fichier HOSTS (et là je vous conseille cette petite merveille, Hostmanager), c’est parfait car en général cette utilisation ne concernera qu’une seule machine qui sert à l’administration.

Ensuite il faudra aussi truster le certificat RSA de Cloudflare que l’on trouvera ici. Sous Windows, par exemple, il faut le convertir en PKCS#7 (on peu aussi le faire en local avec OpenSSL) avant de l’importer dans les autorités trustées (On peut utiliser MMC + certificats, ou l'outil Digicert, ou encore Keystore Explorer qui fonctionne sur toutes les plateformes..

Et le tour est joué !

Sources :

 

Jeedom : Cloner la carte SD

Une plateforme Jeedom, même sur une Raspberry Pi reste un serveur qui reste faillible, surtout quand on le fait tourner sur une carte SD. Certains sont adeptes de montages sur SSD, d’une part un SSD n’est pas infaillible et d’autre part je préfère faire simple. On va donc explorer deux méthodes de clonage de notre fragile carte SD, étant entendu qu’en parallèle on fera bien sur des sauvegardes régulières (automatisées) de la configuration via Samba.

Clonage carte à carte

La première méthode va consister à cloner la carte SD vers une seconde carte SD insérée dans un adaptateur USB. Ça a l’avantage d’un redémarrage rapide en cas de crash, il suffit d’échanger la carte SD et de restaurer la dernière sauvegarde Samba. La configuration et l’exécution se font en SSH, il s’agit d’une exécution occasionnelle qui visera à garder sous le coude une carte SD avec une configuration stable.

git clone https://github.com/billw2/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin

Utilisation

On commence par arrêter les services.

cd rpi-clone
sudo service mysql stop
sudo service cron stop
sudo service apache2 stop
sudo service mariadb stop # j’ai parfois eu des erreurs quand je ne stoppait pas ce service.

Pour une copie SD vers USB (Ou sans -f ensuite pour faire juste une synchro, -v pour voir ce qu'il se passe...).

sudo rpi-clone sda -f

Redémarrage des services. (Personnellement à ce stade je préfère faire un « sudo reboot »)

sudo service mysql start
sudo service cron start
sudo service apache2 start
sudo service mariadb stop
sudo systemctl daemon-reload

On peut éventuellement ajouter un Cron si on laisse une carte en place…

Clonage vers un fichier image 

La seconde option consiste à créer une image de la carte SD vers un serveur NFS (Un Nas par exemple). On part du principe que le NAS est correctement configuré en NFS, la procédure pour Synology est ici.

On va commencer par tester les prérequis et notamment la présence du protocole NFS et de PV (Pipe Viewer) qui nous permettra de voir la progression du clonage lors de nos tests :

dpkg -l | grep nfs-common ou apt-get install nfs-common pour l’installer.
dpkg -l | grep pv ou apt-get install pv pour l’installer.

Le clonage

On commence par créer un point de montage

sudo mkdir /mnt/Backup_NAS

Ensuite il faut inscrire le montage dans fstab, ce qui va permettre le montage automatique du partage au démarrage du système et qui sera utile pour l’automatisation : « 

sudo nano /etc/fstab

Et on ajoute la ligne suivante :

IP du NAS:/volume1/Backup/Jeedom    /mnt/Backup_NAS    nfs    rw,user    0    0

On teste avec

sudo mount -a && sudo df

Et le montage distant doit apparaître. On peut aussi tester l’écriture avec

sudo mkdir /mnt/Backup_NAS/totofaitdubato

On va maintenant pouvoir lancer manuellement la création de notre première image, en prenant soin auparavant de stopper les services et bases :

sudo service mysql stop
sudo service cron stop
sudo service apache2 stop
sudo service mariadb stop # j’ai parfois eu des erreurs quand je n’arrêtais pas ce service #
sudo dd if=/dev/mmcblk0 bs=4M | sudo pv -treb | sudo dd of=/mnt/Backup_NAS/SD_Backup/Backup_SD_TEST.img && sync

L’image aura la taille de la carte SD, il est possible de la compresser, mais vu que cette opération est déjà très longue, je ne suis pas sûr que ça vaille le coup d’alourdir la tâche.

sudo dd if=/dev/mmcblk0 bs=4M | sudo pv -treb | sudo gzip -1 -| sudo dd of=/mnt/Backup_NAS/SD_Backup/Backup_SD_TEST.img && sync

Une fois le clonage de test effectué on va graver une nouvelle carte avec Etcher et la tester. Normalement cette carte peu remplacer celle d’origine.

Automatisation

Script + Cron + envoi de mail... (à venir...)

Sources 

https://github.com/billw2/rpi-clone
https://www.jeedom.com/forum/viewtopic.php?f=152&t=31252
http://astrolabo.com/2017/02/11/script-de-clonage-dune-carte-sd-vers-nas/
https://github.com/billw2/rpi-clone
https://domopi.eu/sauvegarde-de-la-carte-sd-du-raspberry-pi-sur-un-serveur-externe/

Jeedom : Retour d’état virtuel RFPlayer

 

Vue depuis le RFPlayer les équipements sont vus comme des génériques on/off. S’il est possible de les commander via un scénario ou un plugin, rien ne permet d’afficher leur état à l’écran et encore moins de faire remonter l’information dans Impérihome avec un seul Bouton qui les commande et indiquer leur état, et j’ai une nette préférence pour Impérihome par rapport à l’application mobile officielle de Jeedom.

Je prends l’exemple d'une prise Chacon Di-O, mais ça doit être transposable à d’autres équipements génériques. 

En premier lieu on va créer un afficheur virtuel, un peu comme on ferait un interrupteur virtuel. On commence par ajouter deux Commandes Virtuelles que l’on renseigne avec deux Etats « on avec 1 » et « off avec 0 ». On sauvegarde et s’affiche une ligne supplémentaire nommée Etat. On décoche l'affichage on et off inutile. A ce stade le Virtuel est créé.

Ensuite on il ne reste plus qu’à aller sur l’équipement Chacon dans les paramètres avancées de l’action « Allumer » + tab « Configuration » et d’ajouter une action après exécution de la commande vers le virtuel précédemment créé pour le positionner à « on ».

On répète ça pour l’action « Eteindre » et le tour est joué, on obtient un retour d’état sous la forme d’un voyant virtuel.

Pour faire remonter l’information et la commande dans Impérihome c’est un peu plus tordu. Si l’état 0 ou 1 est bien visible dans les équipements standards, il n’est pas possible ici de commander en même temps notre équipement. On va donc passer par le mode avancé. On ajoute un équipement en choisissant la commande « Rafraichir » de notre retour d’état virtuel, ensuite dans les paramètres on ajoute dans « statut » la commande « Etat » de notre retour d’état virtuel ainsi que les commandes « Allumer » et « Eteindre » dans les « actions ».

On sauvegarde et on rafraîchit sur le smartphone et on obtient un retour d’état dynamique à côté de la commande.

EDIT 1 : J'ai depuis trouvé une façon plus simple sans passer par la configuration avancée d'Impérihome et qui du coup est compatible avec le composant Jeedom d'Impérihome. Je termine mes tests et je mets ça à jour. Je me demande également s'il n'y a pas moyen de modifier l’équipement actionneur Chacon créé par le RFPlayer afin de lui intégrer ce retour d'état (toujours virtuel en ce sens qu'il ne vient pas du Chacon) sans passer par un virtuel de plus., mais là je sèche un peu après de nombreuses tentatives...

EDIT 2 : En fait il faudrait refaire le tuto car il y a plus simple. En deux mots, dans cette version l’actionneur principal était l’équipement Chacon et je le modifiais les options de allumer et éteindre pour lui dire de transmettre  les infos au virtuel. En fait il ne faut pas toucher à l’équipement Chacon, le mettre en invisible et l’actionner depuis le virtuel. Et quand dans un scénario ou une commande on veut faire ON ou OFF il faut agir toujours sur le virtuel. Pour que le virtuel remonte bien dans Imperihome il faut simplement configurer correctement les types génériques. Inutile donc de se servir du mode avancé d’Impérihome.

Jeedom : Thermostat et EJP ou Tempo

Disposer d'une solution domotique c'est aussi avoir pour objectif de réaliser quelques économies en étant un peu plus green et en acceptant de porter une laine les jours de grand froid. Un des arguments d'EdF était les abonnements EJP puis Tempo ou l'électricité est moins couteuse pendant toute l’année sauf pendant les périodes de pointe dites rouge ou le tarif devient exorbitant. Ces jours-là on évite de lancer les appareils qui sont de gros consommateurs, mais on va voir ici comment baisser automatiquement la température de quelques degrés afin de minimiser la facture.

On commence par créer un petit scénario qui va s’exécuter au lancement (provoqué #start#) et toutes les nuits (programmé 0 4 * * *).

Image

Ici on récupère l'info EJP ou Tempo en provenance du plugin EcoWatt2 et on crée des variables avec les valeurs que l'on souhaite obtenir selon que la journée soit classée rouge (tarif très fort) ou pas.

Ensuite on applique la variable dans le thermostat au mode idoine.

Image

Il faudra juste multiplier ces actions si on utilise des consignes différentes selon les pièces avec plusieurs thermostats.

Voilà 8-)

De la ZiBase à Jeedom

L'hiver approche et il est temps de se pencher à nouveau sur la gestion du chauffage. Depuis une dizaine d'année je gère mon chauffage électrique avec une centrale domotique ZiBase de première génération. Chaque année j'ai peur qu'elle rende l’âme, ce produit n'est plus maintenu et de plus elle est dépendante d'un serveur que les repreneurs de Zodianet ont eu la générosité de laisser en l'état, je doute toutefois qu'ils soient prêts à faire quelque chose si ces serveurs venaient à lâcher.

Je cherchais donc une solution de remplacement moderne et autonome, tout au moins autonome pour les parties vitales comme le chauffage. Après avoir longtemps exploré le marché, je me suis tourné vers Jeedom, pas tant par choix, mais plus par la possibilité d'installer cette solution sur un Raspberry et commencer à explorer. Ce n'est pas la solution la plus simple, mais c'est surement une des plus complète et ouvertes. Il n'y a pas que de bons cotés, l'un des plus désagréables étant la guerre de clans que l'on peu observer sur les communautés. Mais vu le temps que j'y ai investi, j'y suis et j'y reste pour un moment !

Je vais essayer ici de décrire mon approche, la transition depuis la ZiBase et ce que j'ai pu ou voulut récupérer.

Objectifs

Le chauffage électriques sur 6 zones avec divers scénarios.

  • Le plugin Thermostat est parfait
  • Les plugins Agenda, Présence et Mode permettent de gérer manuellement ou automatiquement en fonction de calendriers et d’évènements (j’ai des amis pour diner, périodes de vacances scolaires, etc…).
  • Le plus compliqué sera de choisir les sondes de température (et hygrométrie) les plus adaptées et les plus WAF.

Le chauffe-eau

  • Le mode nuit du chauffe-eau était géré par la ZiBase, il le sera avec le plugin idoine sous Jeedom. Reste à résoudre la problématique de la sonde à installer sur l’appareil.

La VMC

  • Je ne la gérais pas mais il doit être simple de la gérer via Jeedom à partir de l’hygrométrie de la salle de bain ou de la cuisine (article)

Simulation de présence

  • Pour l’instant, j’ai choisi de ne pas intégrer cette fonction à Jeedom mais de la gérer en autonome avec des prises WiFi et l’application Tuya.

Confort et éclairage

  • Idem, c’est facilement géré en autonome avec des ampoules ou des prises WiFi et l’application Tuya, la commande se faisant depuis un smartphone, une tablette ou mieux en vocal avec Google Home (Alexa possible, j’aime bien sa voix…). Bref, c’est plus naturel.
  • Donc il n’est pas utile pour l’instant de reporter ça dans Jeedom, sauf si on veut que certains équipements soient actifs quand les habitants sont présents. J’ai bon espoir de voir l’arrivée du plugin idoine. Ça reste possible en IFTTT, mais c’est un peu lent (2 sec environ)

Consommation des appareils énergivores

  • Les prises Konyks via Tuya gèrent la consommation, notamment en veille, et parfois ça fait peur. De plus elles permettent de gérer des scénarios de base et un minuteur (genre, j’allume le home cinéma et celui-ci s’éteindra dans deux heures, soit après que j’ai regardé mon film).
  • Comme pour l’éclairage, on n’encombre pas Jeedom pour l’instant avec ça.

Les coupures EDF

Pourquoi en utiliser plusieurs points de détection ? En province il y a souvent des coupures EdF (vent, orages, vétusté) mais aussi parfois des différentiels de section qui tombent (surement d’humidité quelque part). Et dans ce cas il est important de savoir ce qui s’est passé à distance afin de pouvoir faire intervenir et guider un proche afin de ne pas retrouver un congélateur perdu au retour de voyage.

  • Sur la ZiBase j’utilisais des micromodules InterTechno alimentés sur piles pour déclencher une action en cas de coupure EdF. Ça doit être réutilisable sous Jeedom via le RFPlayer.
  • Pour la partie informatique je devrais pouvoir récupérer les infos des onduleurs APC avec le plugin SNMP.
  • Notification SMS / Pushbullet et / ou action voire IFTTT

Alarmes

  • Le système d’alarme Visonic est autonome. C’est un principe minimal de sécurité.
  • Par contre la remonté des capteurs sur Jeedom peut être intéressante afin d’identifier ce qui a déclenché une alarme à distance, voire déclencher une action secondaire en cas d’intrusion.
  • Plus pratique, se servir des contacts d’ouverture pour désactiver un radiateur ou des capteurs de présence en temporisant pour réduire l’éclairage ou la climatisation (gadget en phase 2…)

Présence

  • Déterminer via la localisation du mobile la mise en route du chauffage ou climatisation. Il y a je crois un plugin pour ça…
  • Gérer l’éclairage extérieur à l’approche de la maison via le WiFi

Les logiciels

  • Jeedom
  • Application mobile Jeedom (je ne suis pas fan)
  • Application mobile ImpériHome (je m'en servait déja sur la ZiBase) via le plugin idoine dans Jeedom
  • Application mobile TuyaSmart

Le matériel

Serveur, box domotique

Jeedom est installé sur un Raspberry Pi3 et les dongles USB utiles. Evolution possible dans une VM VMWare ESXi.

Avant que l’on me pose la question je vais expliquer pourquoi  je n’ai pas utilisé de Z-Wave, qui est pourtant le protocole roi dans cet univers, protocole ayant eu le soutien de tous les boutiquiers de la domotique (maintenant remplacés par Amazon…). Bref, je n’en ai jamais utilisé sur la ZiBase et j’ai pu m’en passer. Et surtout c’est trop cher, le moindre module Z-Wave étant affiché à 50 €.

Sondes de température :

  • Oregon : j’en ai plusieurs, elles étaient reconnues par le ZiBase et elles fonctionnent correctement via la clé RFPlayer (125 €) et le plugin idoine. Inconvénient, elles sont moches et il faut refaire l’appairage à chaque changement de piles ce qui est une corvée à l’usage.
  • Xianomi et Xianomi Aquara en Zigbee (6/12 €) : Fonctionnement OK via la clé ZiGate (45 €) et le plugin idoine. En cas de longue distance on peut mailler avec une prise Zigbee. Ces sondes esthétiques et très discrètes ne transmettent les infos (température, humidité, pression) que s’il y a un changement d’état et / ou très aléatoirement s’il n’y a pas de changement. Le modèle carré (Aquara) semble plus volubile. A valider en période de chauffage.
  • Xianomi en Bluethoth 12/18 € : reconue par le plugin BLEA. Intervalle réglable. Elles sont très esthétiques. La portée est réduite avec le Bluetooth intégré au Pi mais ça devient correct (100 m²) avec une clé Bluetooth longue portée (UD100, 45 €). Test ici.

Présence

  • Capteurs d’alarme Visonic via le RFPlayer
  • Capteurs Xianomi via la ZiGate
  • BLEA + tag Nutt
  • WiFI via les smartphones

Notifications

  • SMS (Free API)
  • Pushbullet

Alarmes et sécurité

  • (voir présence)

Eclairages et appareils

  • Prise et ampoules Konyks ou Sonoff, WiFi via Tuya. Les prises Sonoff S26 permettent de gérer l'état à la mise sous tension, ce n'est pas le cas des prises Konyks ou c'est plus aléatoire.
  • Possible extention en Philips Hue, Osram, Ikea and co (Zigbee) via la ZiGate et son plugin

Actionneurs

  • IPX800 : pour l’instant j’ai une IPX800 v2.
    C’est une simple carte 8 relais qui me sert pour l’instant à actionner les radiateurs et le chauffe-eau. En sortie j’ai câblé des contacteurs de puissance Finder avec le bon pouvoir de coupure et de ne pas forcer sur les relais de la carte. L’intérêt de ces contacteurs est de disposer d’un bypass manuel et ainsi de pouvoir passer les équipements en manuel en cas de défaillance de la domotique. Les versions 3 et 4 de l’IPX800 n’ont pas d’intérêt dans mon cas.
  • Prises et modules Chacon : ils se pilotent via le RFPLayer, mais ça reste un protocole peu fiable.
    Etat aléatoire lors de la remise en tension après une coupure EdF, auquel cas il est gênant de retrouver la moitié des prises ON… Impossibilité également d’utiliser deux équipements proches, c’est by design. Donc mon aventure Chacon / DI-O est terminée.
  • X2D : Je n’utilisais qu’un seul module DeltaDore pour commander le sèche-serviettes et je dois pouvoir le gérer avec le RFPlayer.
    Cette solution permet de gérer le fil pilote, mais il est vrai que je pourrais le faire avec un jeu de diodes. A voir.
  • Prises et ampoules Zigbee : via fasable via la ZiGate et son plugin. J’ai une Osram qui me fait le maillage.
  • Prise et ampoules WiFi : via Tuya, plugin en devenir ? Pas d’urgence.

Réseau et Wi-Fi

  • Le réseau et le WiFi sont gérés depuis longtemps avec du matériel Unifi (AP AC Pro et USG). Le top ! Au-delà de cette solution qui reste un peu complexe pour un particulier je recommande Amplfi de chez Unifi ou la solution WiFi proposée par Google. Un bon réseau est une base impérative en domotique et généralement le WiFi proposé par les box est à oublier.

Vidéo surveillance

  • Caméras et PVR Unifi (je sais, je suis fan de cette marque) dans une VM VMWare. C’est géré à part de façon autonome.

Multimédia

Vidéo

  • Emby (j’y reviendrai dans un post à part) en remplacement de Kodi. Des box NVidia Shield et Xanomi sous Android TV ont remplacé les PI. Elles supportent également Netflix et Amazon Vidéo.
  • TV : Tuner réseau HDHome Run qui permet de recevoir les chaine sur les box Android TV et les autres devices (même si dans la pratique je ne regarde pas la TV). Ce n’est pas compatible Canal, ce n’est pas mon problème car je ne suis pas fan, mais le cas échéant il est toujours possible d’installer MyCanal ou Molotow sur les box.

Musique

  • Sonos dans toutes les pièces, certains équipements datent de 2005 et n’ont pas pris une ride. On ne change rien. Spotify et base locale de CD numérisés.