Nouveau système de notification

La version 2404 de Domoticz introduit une nouvelle gestion des notifications liées aux interrupteurs, capteurs, etc.

Le système de notification à été étendu en fonctionnalités et services puisque on peut dorénavant envoyer, pour un même événement,  plusieurs types de notification (mail,sms,http…) mais également paramétrer le contenu des messages de notification.

Examinons cela en précision.

Les notifications : rappels.

Quelques petits rappels : ce sont des messages, principalement destinés à nos smartphones, qui peuvent être envoyés au changement d’état d’un dispositif Domoticz (basculement d’un interrupteur, température supérieure à, inférieure à… ).

Plusieurs systèmes de notification sont disponibles que ce soit pour Iphone (Prowl et PushOver) ou pour Android (Mma, Pushover) et même pour Windows Phone (!) via Pushalot.

Ces services nécessitent  une inscription, les versions ‘free’ ne permettent de recevoir que X notifications par jour, variable suivant les fournisseurs.

L’utilisation de ces services est paramétrable dans le menu « Réglages/Paramètres/Notifications ».

Notifications_Domoticz

Vous pouvez depuis ici accéder aux sites web des fournisseurs de service puis copier/coller les clés d’utilisation qu’ils vous ont octroyées.

Concernant l’utilisation des notifications, les boutons « Notification » permettent de définir les critères d’alerte et depuis la version 2404, bien plus.

En effet, jusqu’à la version 2404, une seule notification pouvait être envoyée.

Maintenant plusieurs services peuvent être contactés pour une même notification, on peut envoyer des SMS par le biais de Clickatell, le contenu des messages envoyés est configurable.

Un lien nous renvoie vers clickatell ou 10 messages sms nous sont offerts, sinon c’est 5.1 centime le SMS (pour la France) une fois le compte ouvert.

Les champs HTTP Personnalisés/Action servent à pouvoir appeler un script ou une url en lui donnant des paramètres.

Ainsi imaginez que je veuille contacter un site web nommé messms.com qui nécessite une url de ce type :

https://www.messms.com/pushurl.php?username=mon_user_name&password=#mon_password&apikey=#ma_cle_secrete&from=#le_nom_de_l’emetteur&to=#le_numero_a_contacter&message=#mon_message

En remplissant comme suit ce formulaire , les champs FIELD1,2,3,4 et TO,MESSAGE sont remplacés par leur correspondance lord de l’envoi de la notification.

notifs2

Donc si votre fournisseur favori de SMS vous donne une url spéciale pour envoyer vos SMS , le paramétrage se fait ici dans le champ URL et les champs FIELD1234 permettre de définir vos user/password …

Si vous avez un autre système à la maison qui dialogue via http, envoyez lui vos notifications par ce biais.

Ce système permet aussi de passer des valeurs à un de vos propres scripts pour peu que celui gère correctement le passage de paramètres.

notifs

Voyez ici que le script home/pi/domoticz/scripts/envsms.sh est appelé et Domoticz « lui donne à manger » FIELD1,FIELD2, MESSAGE que le script utilise suivant sa logique. (Il y a bien 3 / après script:, ce n’est pas une erreur)

Le script ressemble à cela :

#!/bin/sh
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=#FIELD1&pass=#FIELD2&msg=#MESSAGE"

il appelle l’url free ici par exemple et lui passe les 3 variables FIELD1,2;MESSAGE

N.B

En bas de l’écran de configuration des notifications il y a un paramétrage qui permet de définir la fréquence d’envoi des messages de notification afin d’éviter d’être  bipé en permanence par la température de son aquarium.

Par défaut une notification survenant sur un interrupteur est envoyée directement, alors que les capteurs attendront 12h pour vous renvoyer une nouvelle alerte.

notif_intervalles

Gérer les notifications

Sur chaque dispositif on peut assigner des notifications.

notif

L’écran suivant permet d’ajouter autant de notification et de moyen de les envoyer.

ajout_notif

Ainsi on voit ici que si la température est supérieure à 22 , j’envoie un email et une notification via nma (Android) avec le message « Température sup a 22 » et lorsque on est a 28 ° idem plus un sms clickatell avec le message « Temperature sup a 28 ».

Les notifications sur les switches sont configurables de la même manière.

Voila encore une joli avancée qui va nous éviter quelques scripts shell et python 😛

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

Rallonger la durée de vie d’une carte SD

Du toujours excellent Korben, je vous propose cette lecture concernant le raspberry et les cartes SD

http://korben.info/raspberry-pi-allonger-la-duree-de-vie-de-vos-cartes-sd.html

D’autres articles concernant le même sujet trainent ici https://easydomoticz.com/preserver-la-sd-card-en-utilisant-une-cle-usb/

et la https://easydomoticz.com/preserver-la-carte-sd-episode-ii-booter-sur-usb/

Bonne lecture

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

Domoticz : Intégrer les données qualité de l’air en dehors de Paris

Edit du 11/01/2017 : Comme indiqué dans les commentaires l’adresse http://www.lcsqa.org/surveillance/indices/prevus/jour/xml/ ne répond plus. Ce qui suit est donc inexploitable.

Si vous avez des infos sur les endroits ou on peut degoter les indices de qualité d’air, faites en part dans les commentaires.


Après l’article concernant l’intégration des données de qualité de l’air à Paris grâce à Airparif,  voyons comment intégrer la qualité de l’air à Domoticz pour d’autres villes que la capitale.

Un commentaire d’ Emmanuel Pierre nous indiquait l’existence d’un script perl permettant d’intégrer la qualité de l’air depuis le site lcsqa.org : Laboratoire Central de Surveillance de la Qualité de l’Air pour de nombreuses viles Françaises.

Bonjour,

Le même script en perl mais qui permet de récupérer ces données pour une ville de France:

https://github.com/empierre/domoticz/blob/master/AIQ-LCSQA.pl

 

Un commentaire du mois de juin de Nam nous propose un script Lua dont vous trouverez le code plus bas dans l’article.

Le site lcsqa.org  met à notre disposition une API interrogeable par le nom de la ville.

On peut visualiser sur cette carte http://www.lcsqa.org/surveillance/indices/cartographie les indices et récupérer le nom de la ville qui nous intéresse en cliquant dessus..

ou sous forme de liste complété pour une date précise http://www.lcsqa.org/surveillance/indices/liste?date_indice=2015-04-19

Le paramétrage de Domoticz.

Il faut créer dans Domoticz 5 capteurs virtuels « Qualité de l’air » correspondant aux indices partiels et global : indice global, No2, So2,O3, pm10  et noter leur idx respectifs.

Le script Perl

Il nécessite la bibliothèque XML:Simple et JSON :  installez les par

sudo apt-get install libjson-perl libdatetime-perl libwww-perl libxml-simple-perl

Modifiez la partie ci dessous pour la faire correspondre à votre configuration

#A adapter à votre configuration:
my $domo_ip="192.168.0.28";
my $domo_port="8080";
my $agglomeration="PARIS";
my $dz_ind=211;
my $dz_o3=220;
my $dz_no2=221;
my $dz_so2=222;
my $dz_pm10=219;

A noter : Les valeurs des polluants restent souvent à 0 , on ne récupère  que l’indice global.

Le script Lua

Edit du 19/10/2015: suppression du script Lua

Il reste toutefois dans les commentaires de ce billet au cas ou une bonne volonté aurait envie de corriger/refaire un script correct.

 

Ça y est nous avons tous nos indices de pollution comme les parisiens !!

Mais chez nous, pas de pollution !!!

frankreich_bordeaux_aussicht

Merci à Empierre pour son travail.

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

Domoticz prend l’air de Paris avec Airparif

« Atmosphère, atmosphère. Est ce que j’ai une gueule d’atmosphère » nous disait notre Domoticz à l’instar d’Arletty  dans Hotel du Nord.

Faisons donc prendre l’air à Domoticz en récupérant depuis le site de Airparif.com les mesures de pollution de la capitale.

pollution parisienne

Nous récupérons depuis une API airparif, 4 valeurs d’indice de pollution (indice global, NO2, O3 et pm10: qui sont les particules )

Un programme python est disponible sur le forum dans la section des scripts https://easydomoticz.com/forum/viewtopic.php?f=17&t=436

I – Prérequis

Ce script utilise 4 widgets Pourcentage qu’il faudra créer en tant que capteurs virtuels pourcentages dans le matériel
Dans la liste des périphériques il faudra les nommer avec la flèche verte (global, no2, o3, pm10) et noter leurs idx respectifs

Ce script nécessite le module python requests.

Pour l’installer

sudo apt-get install python-setuptools puis 
sudo pip install requests

Une fois téléchargé puis recopié sous le nom que vous voulez en .py , faites un chmod +x sur ce fichier

Ouvrez le et
Modiifez vos IP et ports, les éventuels user/password

puis affectez les idx de vos périphériques pourcentage virtuels dans cette partie du script :

periph_idx={'dz_indice_global': 52,
            'dz_no2' : 53,
            'dz_o3' : 54,
            'dz_pm10' : 55
            }

On lance ce script par ./le_nom_choisi.py
On le place dans un crontab -e à la fréquence voulue

Vous pouvez télécharger le script ici :

https://easydomoticz.com/scripts/airparif.py

 

Et pour les plus jeunes d’entre vous voici la vidéo de Hotel du Nord avec Arletty et son mythique « Atmosphère, Atmosphère »

 

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/