Interruption estivale

Ce petit message pour vous informer que l’activité du blog va passer en mode « vacances » même si vous avez tous remarqué que le rythme de publication s’est notablement ralenti depuis le début de l’année en raison de changements professionnels.

Bien entendu, le forum reste ouvert pour accueillir vos échanges.

Reprise des activités en Septembre sur un rythme que j’espère plus soutenu.

Encore une fois un grand merci à tous les lecteurs et contributeurs du forum.

Bon été à tous et bonnes vacances pieds dans l’eau :

vacances

ou  pas :

Résultat de recherche d'images pour "photo saint jacques compostelle mesetta"

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

Prévision de pluie pour Domoticz

Météo France propose un service bien pratique et qui de nombreuses fois m’a prouvé son efficacité lors de sortie sportives : le fameux « Va t’il pleuvoir dans l’heure ». http://www.meteofrance.com/previsions-meteo-france/previsions-pluie

Ainsi vous saurez pour une ville donnée si vous avez la malchance de voir tomber la pluie dans l’heure qui suit et ainsi vous éviter un inutile arrosage du jardin ou une ballade humide.

A force de chercher j’ai trouvé l’API en question chez Météo France. :mrgreen:

L’API

  • Récupérer le code insee de votre ville ici  (ce n’est pas le code postal!) ajoutez y le chiffre 0 à la fin

sinon rendez vous ici avec le nom de votre ville tout au bout.

http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/pluie/search/ma_ville_

  • Récupérer les prévisions via url

http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/330210

la réponse est du JSON , je ne sais pas tout en lire mais l’essentiel est

Un script bash + un switch virtuel

Je vais donc créer un switch virtuel qui passera à ON que si de la pluie est annoncée, une notification est associée à ce passage à ON

Après interrogation du site web, récupérons donc le contenu de niveauPluieText par utilisation de JQ  jdont l’installation est expliquée ici, supprimons les caractères indésirables de texte horaire, de ‘[‘ ‘]’ et espaces.

Dans ce script changez vos ip de votre Domoticz et votre CODE INSEE.

Dans la ligne curl http://192.168…..’ modifiez idx=215 par votre idx de votre switch virtuel.

Il faudra bien entendu lancer toutes les heures le script via crontab pour mettre à jour le widget

Attention !

L’extension utilise une API non documentée (à ma connaissance) de Météo France, cette extension peut donc cesser de fonctionner à tout moment. :)

Et hop, rangez vos parapluies

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

IPX800 V4, lien avec Domoticz

 

 

 

ipx800v4

Depuis quelques semaines j’ai un ipx800 V4  sous la main et passé la phase de prise en main de celui-ci, je n’ai pu m’empêcher de le relier à notre Domoticz.

Pour ceux qui ne connaîtraient pas :

Principales fonctions:

  • 8 entrées digitales tout ou rien (contact sec). Extensible à 56.
  •  8 sorties relais sur contact  270 V/10A  extensible à 56.
  •  4 entrées analogiques 10 bits.
  •  128 entrées + 128  sorties librement configurables. Mode Virtual IO ©.
  • 32 entrées analogiques virtuelles 16 Bits. Mode Virtual IO ©
  • 32 Ping Watchdog (détection de périphériques réseaux par PING ICMP).
  • 32 Périphériques Enocean. ( Nécessite l’extension X-ENO ).
  •  16 Compteurs d’impulsions incrémental / décrémental et pas configurable.
  •  255 Scènes sur 512 canaux DMX.(Nécessite l’extension X-DMX).
  •  255 horloges programmables pour déclencher des actions uniques ou à chaque seconde, minute, heure, jour , mois.
  •  Notifications GET et POST sécurisées: Cryptage des pushs en TLS (HTTPS).
  •  Envoi d’émails sécurisés vers 1 à 4 utilisateurs différents.
  •  Support du Dyn-Dns.
  •  Mise à l’heure par serveur NTP et/ou Horloge interne avec sauvegarde en cas de coupure réseau ou de courant.
  •  Gestion fuseaux horaire et changement d’heure été/Hiver.
  •  Moteurs de scénarios GX© : Logique combinatoire ET / OU / NOT.
  •  8 Tableaux de bord responsives personnalisables par  widgets.
  •  Editeur Javascript pour personnaliser et créer ses propres widgets.
  •  Sources de données configurable  JSON et XML.
  •  Controle des lampes LED RGBW Mi-Light.

 

et une présentation ici http://blog.domadoo.fr/2016/02/16/a-decouverte-de-carte-ipx800v4-de-cge-electronics/

Il nous intéresse ici de savoir que l’IPX possède une API permettant de le contrôler par passage de commandes dans une URL.

Pour peu que vous ayez ouvert un compte chez gce vous pouvez récupérer les mises à jour de l’ipx et la documentation qui nous apprends que pour utiliser l’IPX via JSON ou M2M, il faut y autoriser l’utilisation de l’API.

Dans le menu ip_de_votre_ipx/admin/m2m.htm il suffit d’activer l’API et de donner un code d’accès (1234 par exemple).

ipx800_api

Puis ensuite la doc de l’api est assez bien faite pour mettre en place le pilotage et l’interrogation facilement

Sachant que l’ipx 800 à 192.168.1.74 comme adresse ip et que ma clé API est 1234.

Pour activer le Relai 01
http://192.168.1.74/api/xdevices.json?key=1234&SetR=01

Pour le repasser  à 0
http://192.168.1.74/api/xdevices.json?key=1234&ClearR=01

Pour incrémenter le Compteur 02 de +2
http://192.168.1.74/api/xdevices.json?key=1234&SetC02=+2

Ces url de pilotage pourront être facilement liées à un switch Domoticz par les action ON/ action OFF pour que celui-ci pilote l’ipx.

ipx_http

On peut aussi grouper les commandes dans un seul appel d’URL de cette façon :

http://IPX800_V4/api/xdevices.json?key=apikey&SetR=01,02,03,04,05,06,07,08 » qui met les 8 relais de l’IPX800V4 à 1.

Pour récupérer des données on utilise Get=R pour relais ou Get=VA pour les virtuelles ou Get=C pour les compteurs

http://192.168.1.74/api/xdevices.json?key=1234&Get=C
renvoie un pavé de valeurs en JSON contenant toutes les valeurs des compteurs.

Exemple :

{
« product »: « IPX800_V4 »,
« C1 »: 0,
« C2 »: 26,
« C3 »: 0,
« C4 »: 0,
« C5 »: 0,
« C6 »: 20,
« C7 »: 0,
« C8 »: 0,
« C9 »: 19050,
« C10 »: 0,
« C11 »: 0,
« C12 »: 0,
« C13 »: 0,
« C14 »: 0,
« C15 »: 0,
« C16 »: 0
}

Il est ensuite facile d’extraire les valeurs recherchées via jq/python ou autres, ici jq dont l’installation est détaillée ici http://easydomoticz.com/manipuler-les-donnees-json-de-domoticz-en-shell/

me renverra bien ma valeur attendue pour le compteur 2

Voila, au final une intégration simple et fonctionnelle rapidement sans prise de tête.

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

Envoyer des email depuis le Raspberry

Etonnant, mais depuis le temps que je parle ici d’envoyer des tweets, des sms jamais il n’a été question d’envoyer des mails depuis la ligne de commande. 😯

Réparons cet oubli avec sSMTP dont l’installation est bien décrite ici http://www.pihomeserver.fr/2015/08/13/envoyer-un-email-depuis-votre-raspberry-pi/   et  https://doc.ubuntu-fr.org/ssmtp qui nous permettra d’utiliser un SMTP (de google) mais d’autre fournisseurs sont semble t’il utilisables à condition d’adapter les ports/TLS.

Installation.

Sur la page citée plus haut , il faudra juste faire précéder les instruction d’un sudo.

Dans le fichier de configuration, placez dans la ligne  hostname=mon_serveur_domotique.com par exemple.

puis modifiez le etc/hosts en conformité, ceci afin d’éviter les erreurs d’envoi de mail.

Testez par echo Bonjour | mail -s « test » votre_adresse_mail@xyz.com

Utilisation.

  • Pour envoyer un simple message :

  • Pour envoyer le contenu d’un fichier dans le message :

 

  • Pour envoyer un fichier en pièce jointe :

Le sujet du message est donné par ce qui suit le -s

C’est simple et ça nous évite postfix !

Afficher l'image d'origineAfficher l'image d'origine

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

DzVents pour Domoticz, les scripts n’ont jamais été plus faciles

Dernier épisode concernant dzVents, le parcours de quelques méthodes qui seront à utiliser dans le bloc execute

Les méthodes dzVents

  • email(subject, message, mailTo): Fonction. Envoi de email.
  • fetchHttpDomoticzData: Fonction. Ceci lance un script qui récupère les données Domoticz et les place dans les fichier dzVents.Ce fonctionnement est activé par le fichier dzVents_settings.lua. Si vous l’avez désactivé dans les settings il vous faudra appeler cette méthode.
  • log(message, [level]): Fonction. Envoie un message dans le log Domoticz avec le niveau de verbiage [level] qui peut être domoticz.LOG_INFO, domoticz.LOG_DEBUG or domoticz.LOG_ERROR. Dans le  dzVents_settings.lua vous pouvez préciser le niveau des messages qui doit s’afficher (1,2,3).
  • notify(subject, message, priority, sound): Fonction. Envoi d’une notification (Prowl). La priorité sera choisie entre  domoticz.PRIORITY_LOW, PRIORITY_MODERATE, PRIORITY_NORMAL, PRIORITY_HIGH, PRIORITY_EMERGENCY et peut même faire un son sur le Raspberry,voir ici plus bas
  • openURL(url): Fonction. l’appel d’une URL
  • setScene(scene, value): Fonction. Activez ou désactiver une scene Domoticz domoticz.setScene(‘My scene’, ‘On’). Cela supporte les timing voir ici .
  • sms(message): Fonction. Envoi d’un SMS si configuré dans Domoticz.
  • switchGroup(group, value): Fonction. Activation d’un groupe domoticz, la syntaxe est  domoticz.switchGroup(‘My group’, ‘Off’). Cela supporte les timing voir ici .

Iterateurs

dzVents apporte des itérateurs sur les 3 tables: devices, changedDevices et variables. Cela évite de recourir aux  pair() or ipairs() de Lua , les passionés liront le chapitre concerne en anglais ici https://github.com/dannybloe/dzVents

Sinon, pour illustrer:

Ou en filtrant sur les devices non mis à jours depuis 60 minutes :

Constantes

  • Pour mettre à jour les widget texte : ALERTLEVEL_GREY, ALERTLEVEL_GREEN, ALERTLEVEL_ORANGE, ALERTLEVEL_RED, ALERTLEVEL_YELLOW
  • Pour forcer les barometres à nuageux,nuageux pluvieux, stable ,etc,etc utilisez : BARO_CLOUDY, BARO_CLOUDY_RAIN, BARO_STABLE, BARO_SUNNY, BARO_THUNDERSTORM, BARO_UNKNOWN, BARO_UNSTABLE
  • Pour les critères d’hulmidté ; confortable,sec,normal,humide c’est : HUM_COMFORTABLE, HUM_DRY, HUM_NORMAL, HUM_WET
  • Les niveau de Log : LOG_DEBUG, LOG_ERROR, LOG_INFO.
  • Les priorités pour les messages,notifications sortants PRIORITY_LOW, PRIORITY_MODERATE, PRIORITY_NORMAL, PRIORITY_HIGH, PRIORITY_EMERGENCY
  • Le panneau de sécurité : SECURITY_ARMEDAWAY, SECURITY_ARMEDHOME, SECURITY_DISARMED.
  • Les sons des notifications : SOUND_ALIEN , SOUND_BIKE, SOUND_BUGLE, SOUND_CASH_REGISTER, SOUND_CLASSICAL, SOUND_CLIMB , SOUND_COSMIC, SOUND_DEFAULT , SOUND_ECHO, SOUND_FALLING , SOUND_GAMELAN, SOUND_INCOMING, SOUND_INTERMISSION, SOUND_MAGIC , SOUND_MECHANICAL, SOUND_NONE, SOUND_PERSISTENT, SOUND_PIANOBAR , SOUND_SIREN , SOUND_SPACEALARM, SOUND_TUGBOAT , SOUND_UPDOWN.

Lire la suite

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