blink(1) : Des notification Domoticz en couleurs !

blink

Dans la série des objets connectés et connectables, voici le module blink(1) de la société thingm http://blink1.thingm.com/

Ce module USB est un indicateur lumineux programmable en couleur, luminosité mais aussi motifs lumineux.

Issu d’un projet Kickstarter, Open source, il est compatible avec de multiples langages et OS  (Mac, Windows, Linux), liens avec IFTTT, processing , extension chrome et bien plus.

L’appli Windows est très complète en permettant des liens IFTTT, sur le matériel, sur la réception de mail, un mode serveur (c.f plus bas).

Nous allons voir la mise en place et le lien avec Domoticz dans cet article.

Merci a Domadoo pour le prêt de ce matériel,  http://www.domadoo.fr/fr/informatique/2861-blink1-mk2-indicateur-led-rgb-usb.html

Une autre lecture d’un test du Blink(1) http://www.maison-et-domotique.com/55484-test-du-blink-un-petit-dongle-pour-des-notifications-lumineuses/

Le prix d’une trentaine d’euros en fait un gadget abordable et fun.

L’objectif ici n’est pas de faire un tuto sur l’utilisation de blink(1) mais sur sa mise en place sur le raspberry et les liens avec Domoticz.

Nous n’utiliserons ici que les outils en ligne de commande.

Installation des outil blink(1)

Nous allons récupérer l’ensemble des outils blink pour les différents langages et système d’exploitation supportés par blink(1). Vous pourrez ensuite sans doute supprimer quelques dossiers inutiles (Java, Windows …)

Donc

sudo apt-get install libusb-1.0-0-dev
git clone https://github.com/todbot/blink1.git
cd blink1/commandline
make
sudo ./blink1-tool --on  

La dernière instruction permet d’allumer la clé blink(1)

Nous avons donc à notre disposition maintenant un outil en ligne de commande nommé blink1-tool qui permet de piloter l’objet.

En tapant sudo ./blink-tool vous obtenez la liste, fort longue, des commandes utilisables.

Un exemple :

sudo ./blink-tool --red
sudo ./blink-tool --yellow
sudo ./blink-tool --blue

Simplifions l’utilisation.

Afin d’éviter le sudo préalable à toutes les commandes on doit affecter le matériel dans udev.

Allez dans le dossier /linux de votre installation blink

Puis on copiera le fichier 51-blink1.rules dans /etc/udev/rules.d

# Copy this udev with "
sudo cp 51-blink1.rules /etc/udev/rules.d/

puis un

sudo udevadm control --reload-rules

Retirez et reinserez le blink

Repassez dans le dossier commandline et tapez maintenant directement

./blink-tool --red

Raccourcissons la ligne de commande.

Notre outil blink-tool se trouve dans blink/commandline, cela signifie que l’appel devra toujours être blink1/commandline/blink1-tool –red

Ce qui sera rapidement fastidieux, simplifions aussi cela en créant un alias nommé ‘pouet’  🙄

alias pouet='/home/pi/blink1/commandline/blink1-tool'

Ainsi la commande pouet –red devient l’équivalent de

/home/pi/blink1/commandline/blink1-tool --red

Afin que cette commande persiste au reboot du pi, placez la ligne d’alias dans .bash_aliases. http://doc.ubuntu-fr.org/alias.

Créez le fichier .bash_aliases dans /home/pi

Puis placez y l’alias.

alias pouet='/home/pi/blink1/commandline/blink1-tool'

déconnectez vous, reconnectez vous de votre session ssh.

en ligne de commande un pouet –green fonctionnera.

Pour une utilisation de cet alias au sein de scripts shell il faudra placer en tête du script un

source ~/.bash_aliases
shopt -s expand_aliases

afin de pouvoir bénéficier de nos alias du fichier ./bash_aliases

Exemple de script utilisant blink(1)

Ce script récupère la valeur d’un switch et bascule la couleur du blink(1) en fonction de l’état Open/Close.

#!/bin/bash
source ~/.bash_aliases
shopt -s expand_aliases

result=$(curl -s "http://192.168.1.82:8080/json.htm?type=devices&rid=35"| jq -r .result[].Status)

if [ $result = "Open" ]
 then
 pouet --blue
elif [ $result = "Closed" ]
 then 
 pouet --red
fi

Remarquez que l’on utilise jq pour lire les données JSON de Domoticz. Un autre article y fait référence.

Dans le cas ou vous désireriez afficher plusieurs couleurs consécutives il faudra passer par la construction de « pattern ».

Une autre idée (mauvaise) est de faire une boucle infinie

 while [ 1 ] ; do
 pouet -q -l 2 --red 
 pouet -q -l 1 --blue
 sleep 0.5
 pouet -q -l 1 --red
 pouet -q -l 2 --blue
 sleep 0.5
 done

l’inconvénient est que cela s’exécute sans fin en mémoire et au bout de X boucles comme celle ci, la saturation mémoire approche.

 

Voila, ce tuto touche à sa fin, il nous aura permis de découvrir la mise en place, sans forcement rentrer dans les arcanes, de blink(1), je vous laisse jouer avec les

blink1-tool  --playpattern "10,#ff00ff,0.1,0,#00ff00,0.1,0"

 

N.B. Il existe une librairie python pour piloter le blink et un mode « serveur », je n’ai pas réussi à utiliser ni l’un ni l’autre (problèmes de compilation sur la Raspberry).

Si vous avez des infos à ce sujet, n’hésitez pas à donner vos solutions dans les commentaires.

 

Blink(1), Windows & Domoticz

Si vous utilisez et connectez le blink(1) sous Windows, le logiciel Blink(1) propose un mode serveur qui permettra en appelant quelques URL de faire clignoter votre blink comme bon vous semble , documentation ici https://github.com/todbot/blink1/blob/master/docs/app-url-api.md

Le port 8934 du PC est utilisé, il faut aussi penser à lancer le logiciel au démarrage du PC et le laisser allumé 24/24.

Blink(1)_Control

Et ainsi une url

http://ip_de_mon_pc_windows:8934/blink1/fadeToRGB?rgb=%23FF00FF&time=6&ledn=2

lancée depuis Domoticz vers mon Pc windows colore la clé 2 (Celle du dessous (B)) en magenta.

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

Support des Thermomètres NEST

Résultat de recherche d'images pour "nest away"

 La version Beta 2480 apporte le support des thermostats NEST AWAY

Bonne nouvelle non ?

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

Etats de périphériques au démarrage de Domoticz

Lors d’un arrêt inopiné et du redémarrage de Domoticz certains périphériques (entrées, sorties: GPIO de façon générale) se retrouvent dans un état X alors que le fonctionnement correct est Y : un switch est Off alors que son état devrait être On.

Un script Lua permet de forcer l’état de TOUS les périphériques à l’état qu’ils avaient précédemment (last state).Script qui est une script_time déclenché toutes les minutes.

Sauf que certains périphériques tels que les capteurs z-wave n’aiment pas que l’on leur force un état alors qu’il ne sont que emetteurs. On a alors l’erreur

2015-04-04 10:11:03.801 Error: OpenZWave: Internal Node ValueID not found! NodeID: 9 (0x09), instanceID: 0"

toutes les minutes et le périphérique en question n’est pas utilisable.

J’ai donc commis un script python destiné à remettre certains équipements précis à On ou Off et uniquement ceux mentionnés dans le script.

Le détail des opérations peut être trouvé sur le forum ici

https://easydomoticz.com/forum/viewtopic.php?f=17&t=456

Bon démarrage

demarrage

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

RFLINK : Un Module 433Mhz Arduino MEGA : Partie 2 : le lien avec Domoticz

A la suite de l’article décrivant le montage électronique du module Rflink dont le rôle est de gérer un ensemble de protocoles 433Mhz, je vous propose ici, toujours avec  la participation de Deennoo de voir la partie inclusion au sein de Domoticz.

Un petit rappel de présentation :

RFLink (http://rflink.sourceforge.net/) est un outil OPENSOURCE/DIY a base d’Arduino Mega qui permet de sniffer et d’envoyer des trames Radio Frequence en 433 MHZ de différents protocoles.

C’est un très bon complément au RFXTRX de RFXCOM.

Les termes Rfxcom/Rfxtrx étant marques déposées par leur propriétaire ne seront pas utilisées ici.

Il a été crée par la Stuntteam, une équipe de développeurs néerlandais passionnés de domotique qui a travaillé auparavant sur Nodo (http://www.nodo-domotica.nl/).

Il est rendu compatible avec Domoticz depuis la bêta  2.2336.

La version stable 2.2344 comporte le support de Rflink.

Il est impératif d’utiliser une carte ARDUINO MEGA, la taille des programme est trop importante pour d’autres modèles d’Arduino.

1 – RFLink dans l’Arduino MEGA

  1. Vous téléchargez le ZIP a cette adresse :  http://sourceforge.net/projects/rflink/?source=typ_redirect
  2. une fois téléchargé il faut le décompresser dans un emplacement de votre choix.
  3. Ouvrez ensuite le dossier dans lequel vous avez tout décompressé puis lancez RflinlLoader.exe
  4. Sélectionnez le rflink.cpp.hex
  5. Choissiez le port Série auquel l’arduino est connecté
  6. Cliquez sur « Programm » et attendez la fin
Mon camarade Deenno nous à fait de jolis slides détaillant l’utilisation de cet outil, en voici le lien https://drive.google.com/file/d/0BwZyGxESbZNpMktucENVWDRXWUU/view.

2 – Branchement au Raspberry

Il est important d’avoir une bonne alimentation électrique pour le RPI (5v 2 Ampères).

  • Vous branchez votre ArduinoMega et son câble Usb a l’une des prises USB du PI.
  • Rendez vous sur la page Matériel de Domoticz :
  • Créez votre nouveau matériel : Rflink Gateway USB. (si cette option n’apparait pas , lisez ici)

rfllin_domoticz

Lire la suite

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

RFLINK : Un Module 433Mhz Arduino MEGA : Partie 1 : le matériel

Grâce à la complicité de mon ami Deennoo, je vous propose cet article qui devrait faire du bruit dans les chaumières, puisque il s’agit ni plus ni moins de confectionner un module compatible avec les protocoles 433Mhz en mode « C’est moi qui l’ai fait ! »

rfl_rxtx
ArduinoMega rf2

Présentation

RFLink (http://rflink.sourceforge.net/) est un outil OPENSOURCE/DIY a base d’Arduino Mega qui permet de sniffer et d’envoyer des trames Radio Frequence en 433 MHZ de différents protocoles basés sur cette fréquence.

RFLink se fait donc passer pour un équipement autre et il est donc reconnu comme tel dans Domoticz.

C’est un très bon complément (pour ne pas dire plus) au RFXTRX de RFXCOM.

Les termes Rfxcom/Rfxtrx étant marques déposées par leur propriétaire ne seront pas utilisées ici.

Le Rflink  fonctionne comme les modèles précédemment cités en embarquant les protocoles les plus populaires..

Il a été crée par la Stuntteam, une équipe de développeurs néerlandais passionnés de domotique qui a travaillé auparavant sur Nodo (http://www.nodo-domotica.nl/).

Il est rendu compatible avec Domoticz depuis la bêta  2.2336.

La version stable 2344 de Domoticz intègre Rflink nativement.

Grâce a des Plug Ins en langage C, Il permet de décoder et de piloter les appareils suivants : (liste exhaustive à ce jour (25/03/15)  mais en constante et rapide évolution.

Prises et interupteurs RF

  • Klik Aan Klik Uit (Code Wheel) (Send + Receive)
  • Princeton PT2262 / MOSDESIGN M3EB / Domia Lite / Klik-Aan-Klik-Uit / Intertechno)
  • CoCo Technologies / Cogex / D-IO (Chacon) / Nexa / Düwi Terminal
  • Klik Aan Klik Uit (Automatic Code Learning) (Send + Receive)
  • Home Easy (Code Wheel) (Send + Receive)
  • Flamingo FA500R/S/DSS/WD (Automatic Code Learning) (Send + Receive)
  • SilverCrest 91210/60494 RCS AAA3680
  • Mumbi M-FS300
  • Unitec 48110 EIM 826 / 48111 EIM 821
  • Elro Home Comfort AB600 (Send + Receive)
  • Intertek Eurodomest 972080(Automatic Code Learning) (Send + Receive)
  • Blyss (Send + Receive)
  • Conrad RSL2 (Receive only)
  • Kambrook RF3399/RF3405/RF3672/RF3689/RF4471R (Receive only)
  • X10 RF switches (Send + Receive)

Capteurs Meteo :

  • Alecto V1:
  • Alecto WS3500, SilverCrest, Otio SHT-10, Otio SHT-20
  • Auriol H13726, Ventus WS155, Hama EWS 1500, Meteoscan W155/W160
  • Alecto WS4500, Ventus W044, Balance RF-WS105
  • Alecto V2: (868 Mhz! A donc besoin d’un )
  • ACH2010, DKW2012
  • Alecto V3:
  • WS1100, WS1200
  • Cresta/Hideki:
  • Hideki, TFA Nexus, Mebus, Irox, Irox-Pro X, Honeywell, Cresta TE923, TE923W, TE821W,
  • WXR810, DV928, Ventus W906, HomeWizard Rain meter
  • Mebus:
  • Mebus Outdoor Sensor
  • Stacja Pogody WS-9941-M
  • UPM/Esic:
  • UPM, Esic, Emos, DVM, Clas Ohlson, Dickson
  • WT260,WT260H,WT440H,WT450,WT450H,WDS500,RG700
  • LaCrosse:
  • Lacrosse TX3-TH Thermo/Humidity, Lacrosse TX4
  • WS7000-15: Anemometer, WS7000-16: Rain precipitation, WS2500-19: Brightness Luxmeter,
  • WS7000-20: Thermo/Humidity/Barometer
  • Auriol:
  • Z31743, Z31055A, Rubicson
  • Oregon V1/2/3:
  • THC238, THC268, THN132N, THWR288A, THRN122N, THN122N, AW129, AW131, THGR268, THGR122X,
  • THGN122N, THGN123N, THGR122NX, THGR228N, THGR238, WTGR800, THGR918, THGRN228NX, THGN500,
  • THGR810, RTGR328N, THGR328N, Huger BTHR918, BTHR918N, BTHR968, RGR126, RGR682, RGR918, PCR122
  • THWR800, THR128, THR138, THC138, OWL CM119, cent-a-meter, OWL CM113, Electrisave
  • UVN128, UV138, UVN800, Huger-STR918, WGR918, WGR800, PCR800, WGTR800, BTHG968

Commande de Volets / Store

  • Kaku ASUN650

Detecteurs de mouvement et d’ouverture de porte :

  • Low Budget Chinese PIR
  • Ajax Chub Varel PIR

Dectecteur Incendie:

  • Mertik G6R H4T1 / Dru

Detecteurs de fumée:

  • KD101 (Send + Receive)
  • Flamingo FA20RF (Send + Receive)

Carillons:

  • SelectPlus (200689103 – Black – Datecode:0614), 1 by One, Delta (O00 QH-0031) (Send + Receive)
  • SelectPlus (200689101 – White – Datecode:0914) (Send + Receive)
  • Byron SX (Send + Receive)
  • Plieger York (Receive) Note that when the Plieger button is detected as Conrad RSL2, you need to use the button on the inside to change the address code of the Plieger.

Nodo Slave Sensors:

  • Temperature, Humidity, UV, barometric Pressure, OpenTherm and any other kind of Nodo sensor you want to include.

On voit bien que pour l’instant le nombre de périphériques supportés est bien moindre que ceux du RfxTrx, mais l’équipe de développement travaille à ajouter de nouvelles compatibilités tous les jours. Et puis, comme c’est open source, libre a vous de développer vos propres Plug Ins pour les protocoles qui ne sont pas encore reconnus et de les partager dans la communauté. 😆

Lire la suite

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