Calaos, Home Automation Forum
Bouton FLIC et Node-RED - Printable Version

+- Calaos, Home Automation Forum (https://calaos.fr/forum)
+-- Forum: Utilisation - Installation - Configuration (https://calaos.fr/forum/forumdisplay.php?fid=4)
+--- Forum: Systèmes Externes (https://calaos.fr/forum/forumdisplay.php?fid=7)
+--- Thread: Bouton FLIC et Node-RED (/showthread.php?tid=705)



Bouton FLIC et Node-RED - Arnaud - 05-19-2017

Bonjour,

Un mot pour vous partager une double mise en oeuvre:
 
Le bouton bluetooth FLIC: www.flic.io 
C'est un petit bouton, de bonne qualité, relié en bluetooth avec un appareil. Il gère le simple clic, double click et l'appuie long... ça tombe bien, Calaos aussi  Big Grin
Ayant un Rpi avec bluetooth dans la maison, c'est lui qui est associé dessus. 

L'autre chose, est node-red d'IBM. C'est un serveur node.js bien pratique pour l'IoT, traiter et réaliser des actions en fonction d'évènements de façon assez simple, sans programmation si ce n'est quelques lignes. Il tourne sur le Rpi également.
-> http://nodered.org/

Ca tourne ici depuis plusieurs mois sans problème, vraiment super contant !

Voici quelques exemples:

La gestion du bouton FLIC avec:
- 1 click: on/off les spots du salon
- appuie long et relache bouton: variateur des spots salon
- 2 click: on/off d'une prise électrique DMX sur laquelle est branchée une lampe

[Image: img1.jpg]

Ici, il récupère chaque heure, la moyenne de pluviométrie depuis 24h de la station Netatmo et l'envoie sur une variable dans Calaos.

[Image: img2.jpg]

Ici, chaque 15mn le RPI ping le serveur Calaos et m'envoie une notification Pushingbox/Prowl sur le smartphone si ça ne répond pas.

[Image: img3.jpg]



Ici, chaque soir il récupère les informations d'un capteur bluetooth de plante Mi Flora: température, humidité, nutriment, luminosité de la plante. Ca m'envoie par notification Prowl la stat du jour avec une alerte s'il manque quelque chose. 

[Image: img4.jpg]


Et le plus gros flow ici.
C'est le boitier CurrentCost EnviR branché en USB sur le RPI dont:
- il récupère en temps réel les consommations électriques (globale maison et 3 points précis). Environ 2 remontées par secondes. 
- Envoie toutes les valeurs sur Xively.com pour avoir des courbes de consommations
- Envoie le général de la maison à une variable de Calaos
 

[Image: img5.jpg]

Voila, je suis fan de Node-Red, il y a pas mal de flow déjà créés pour faciliter l'intégration d'éléments externes comme la Netatmo, le CurrentCost EnvirR, le Flic, etc... 
La librairie est ici: https://flows.nodered.org/

Pour le bouton Flic, je ne l'ai que depuis 2 jours donc encore peu de recul. 


Si ça peut vous être utile !


RE: Bouton FLIC et Node-RED - raoulh - 05-19-2017

Vraiment pas mal tout ca Smile

Petite question, pour les Mi flora, j'en ai 2 qui trainent sur mon bureau (et que j'ai pas encore mis en route) t'as fait comment pour les faire marcher? Il faut passer par leur app chinoise sur le telephone? Tu fais comment pour les faire marcher sur le rpi?


RE: Bouton FLIC et Node-RED - Arnaud - 05-19-2017

Alors pour le Mi Flora, c'est en bluetooth avec l'iPhone pour l'app et le Rpi pour la domotique.

Sur l'iphone, j'ai juste l'App qui est mi chinoise mi anglais, avec les icones on arrive quand même à bien comprendre.  En général quand une mise à jour sort elle est en chinois, les gens râlent et genre deux semaines après elle sort en anglais.

Après côté Rpi, c'est un peu plus complexe:
- un scripte python qui récupère les info du Mi Flora et l'export en texte. J'ai ajouté une mise en forme json dans le shell directement. Script lancé en cron chaque soir.
- Le node-red à heure fixe va lire le json pour lire les valeurs et envoyer les alertes.

Script Shell:
cd /home/pi/Documents/MiFlora/miflora-master
#date >> ./date.txt
python3 ./calaos_miflora.py > ../MiFlora-output.txt
echo "{" > ../MiFlora-output.json
awk -F ":" '{ print "\""$1"\":""\""$2"\"," }' ../MiFlora-output.txt >> ../MiFlora-output.json
echo "\"foo\":0}" >> ../MiFlora-output.json

Le scripte py est dispo sur le net.

Et dans node-red, le flow "Fabrique texte PushingBox avec Alarme" (visible sur l'image) c'est un de ceux qui contient le plus de code, ça ne va pas chercher bien loin:


msg.payload.xively="Temp:" + msg.payload.Temperature +", Humidite:" + msg.payload.Moisture +"%(16), Nutriment:" + msg.payload.Conductivity +"(500), Batterie:" + msg.payload.Battery +". ";

if (msg.payload.Temperature < 16 || msg.payload.Temperature > 30) // Valeurs arbitraires
{ msg.payload.xively = msg.payload.xively + "ALERTE Temperature. "; }

if (msg.payload.Moisture < 25 ) // Valeur à affiner 25%
{ msg.payload.xively = msg.payload.xively + "ALERTE humidite faibles. "; }

if (msg.payload.Conductivity < 500 ) // 500 valeur de l'App.
{ msg.payload.xively = msg.payload.xively + "ALERTE Nutriments faibles. "; }

if (msg.payload.Battery < 10) // Valeur arbitraire - Prévoir acheter une pile
{ msg.payload.xively = msg.payload.xively + "ALERTE batterie faible. "; }

return msg;


Ca pourrait être mieux intégré, mais bon.. une fois en place ça ne bouge plus. 


RE: Bouton FLIC et Node-RED - Arnaud - 05-19-2017

Peut être utile  Big Grin Big Grin Big Grin Big Grin


Simple flow which controls a Tesla Models S electric car
https://flows.nodered.org/flow/48778e2b3c2f90c155b8

Tongue


RE: Bouton FLIC et Node-RED - Arnaud - 05-22-2017

Il semblerait que l'installation du Flic est "un peu" cassé le Bluetoothd utilisé par le Mi Flora.. bon... voilà voilà :-(


RE: Bouton FLIC et Node-RED - Kent1 - 05-22-2017

Super !!!! Merci Arnaud !


RE: Bouton FLIC et Node-RED - Arnaud - 05-27-2017

Une subtilité qui n'est pas neutre, le "driver" Linux des boutons Flic est exclusif sur le contrôleur Bluetooth ! C'est pour ça que dés que j'active le service Flic ça me plante les Xiaomi Mi Flora.

Je viens de commander un Rpi3 pour avoir un bluetooth on-board en plus du dongle usb que j'ai déjà...

A suivre.