Comment créer un widget « Alerte »

Cocorico , la version 2134 contient, à l’initiative d’un de nos membres du forum, une nouvelle fonctionnalité : un widget spécial ALERTE.

Merci à Jackslayter pour l’idée et à Gizmocuz pour la réalisation dans la version 2134. Le thread originel est ici http://www.domoticz.com/forum/viewtopic.php?f=31&t=3972&p=26412#p26391

 

widget_vertwidget_jaune widget_gris

 Rôle

Ce composant affiche un texte et apparaît dans une couleur parmi 5 qui seront tous deux précisés via l’API JSON.

Il n’y a pas de notifications pour l’instant liée à ce composant.

 Configuration

Il faut dans le menu « Matériel », créer un virtual sensor et choisir le type « Alert ».

 

Config widget Alerte

Il apparaît dans les dispositifs, et il faut le « pousser » dans l’onglet « Mesures » par la flèche verte.

Dans l’onglet « Mesures » , renommez le à votre convenance.

Utilisation

Tout d’abord notez l’idx de ce composant (116) ici, 2eme colonne

domoticz IdxLa liste des couleurs disponibles est :

0 – gris
1 – vert
2 – jaune caca d’oie
3 – orange
4 – rouge

L’url à envoyer est de la forme :

http://IP:port/json.htm?type=command&param=udevice&idx=VOTRE-IDX&nvalue=VOTRE-COULEUR-DE-0-A-4&svalue=VOTRE-TEXTE-SANS-ESPACE

ainsi dans un navigateur

http://192.168.1.81:8080/json.htm?type=command&param=udevice&idx=116&nvalue=4&svalue="AMalibu"

affiche cela

Widget_alert

Edit du 30/11/2015 : Indéniablement le widget affiche maintenant (versions 2.3) le niveau de couleur en tant que level en plus du texte.

Alerte

N.B la commande curl lancée en ligne de commande ou dans un script shell  à BESOIN des \ avant chaque &

curl http://192.168.1.81:8080/json.htm?type=command\&param=udevice\&idx=116\&nvalue=4\&svalue="AMalibu"

 

Une commentaire de José indique que le texte de svalue peut contenir des espaces sous la forme %20

curl http://192.168.1.81:8080/json.htm?type=command\&param=udevice\&idx=116\&nvalue=4\&svalue="A%20Malibu"

Merci de l’info

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

Une API pour de la domotique

Sous ce titre un peu bizarre, ce cache un outil fort pratique et à la limite indispensable, que j’ai découvert avec mes amis du forum (merci à Jackslayter).

Il s’agit de domogeek.entropialux.com qui met à notre disposition un jeu d’API en ligne permettant de renvoyer une foule de choses utiles pour piloter notre domotique.

Comme :

  • savoir si en zone C on est en vacances !
  • sii nous sommes en Week End,
  • récupérer la géolocalisation d’une ville,
  • le tarif EJP EDF,
  • le tarif Tempo EDF,
  • la liste des fêtes du calendrier,
  • les levers et couchers du soleil,
  • l’état de vigilance Méteo France (jaune,rouge orange pour chaque risque) …

C’est parfaitement documenté, hyper clair, simple : le bonheur !

Principe

En appelant une simple url bien formatée on reçoit en retour la réponse attendue.

Exemple ici http://domogeek.entropialux.com/sun/brest/all/now

nous donne les caractéristiques du soleil à Brest pour now.

Magique !

Prérequis

Nous aurons donc besoin d’interroger une url , l’outil de prédilection se nomme curl, chaque langage à le sien, choisissez le votre: curl pour une interrogation en bash, php-curl pour des scripts en php, pyCurl en python …

apt-get install curl, apt-get install php5-curl,…

Description & Exemple d’utilisation

L’utilisation à laquelle nous pensons tout de suite est la récupération des tarifs Tempo EDF.

La documentation nous dit que

http://domogeek.entropialux.com/tempoedf/now nous renvoie ‘bleu’

que

http://domogeek.entropialux.com/tempoedf/tomorrow/json nous renvoie {« tempocolor »: « bleu »} pour la couleur de demain

concernant EJP l’appel de

/ejpedf/:zone/:date/:responsetype

Example usage:

   curl http://domogeek.entropialux.com/ejpedf/nord/today
   curl http://domogeek.entropialux.com/ejpedf/sud/tomorrow
   curl http://domogeek.entropialux.com/ejpedf/paca/today/json

avec

Field Type Description
zone String Donnez la Zone  {nord|sud|ouest|paca}
date String today or tomorrow {today|tomorrow}

nous renvoie True or False selon que l’on soit ou non en période EJP pour today ou tomorrow

La aussi on peut coller un /json à la fin pour avoir les accolades d’emballage JSON.

Exemple en bash

Un fichier contenant

#!/bin/bash
tempo=$(curl http://domogeek.entropialux.com/tempoedf/now)
if [ $tempo = « bleu » ]; then

fi

permettra ainsi de piloter des radiateurs en fonction de la couleur EDF

plus de détails sur la mise en place ici

Sur des réponses plus étoffées comme

{"dayduration": "9:17", "sunset": "17:41", "zenith": "13:02", "sunrise": "8:24"}

il faudra jouer avec les outils de chaine de caractère de votre langage pour récupérer les infos voulues.

Conclusion

l’API de Domogeek.fr est un outil indispensable bien documenté , clair et facile il nous évite de nombreux case tête.

L’auteur de cette API attends nos remarques et aide pour continuer à faire évoluer cet outil, n’hésitez pas si vous désirez aider à enrichir la bibliothèque.

Son blog ici vaut vraiment le détour.

chouette

 

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

Ajout d’un Texte dans un virtual sensor

La version >=2086 apporte une modification sympathique qui nous permet d’afficher un message de notre choix dans un composant virtuel spécial « Texte ».

Il suffit de créer un « Virtual Sensor » Texte dans la configuration comme d’habitude.

virtauldev-textePuis il faut le « pousser » dans les dispositifs par le flèche verte, le nommer… et noter son Idx dont nous aurons besoin pour la suite.

Il apparait dans l’onglet « Mesures »

Afin d’écrire un texte sur ce composant un petit :

http://IP:PORT/json.htm?type=command&param=udevice&idx=mon_idx&svalue=MONTEXTEAAFFICHER

fait passer le status à « MONTEXTEAFFICHER »

virtualtxtA nous de jouer pour tirer profit de cette évolution.

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