Lien Tasker et Domoticz

Dans la série « Cause toujours tu m’intéresses » et après la découverte de Jarvis voyons ici comment faire parler notre périphérique Android grâce à l’appli Tasker, cela paraitra basique pour nombre d’entre vous mais je n’avais pas encore fait de topo détaillé sur la liaison entre un Domoticz et Tasker, alors…

Nous avions évoqué Tasker dans un article précédent https://easydomoticz.com/domoticz-et-tasker/

J’aimerais ici décrire complètement le processus de récupération de valeurs entre les 2 systèmes. Le but étant de mettre à disposition dans  Tasker une valeur de Domoticz afin d’en faire un widget, une synthèse vocale ….

Nous procèderons par une interrogation de Domoticz via son API dont nous retirerons la valeur souhaitée que nous placerons dans une variable Tasker pour un usage ultérieur.

Prérequis

Coté Domoticz.

Vous devez tout d’abord aller chercher dans votre Domoticz l’IDX du périphérique qui vous intéresse.

Je vais prendre ici exemple d’une sonde de température nommée « Extérieur »

Rendez vous dans « Réglages » puis « Dispositifs » , recherchez votre matériel, puis dans la première colonne, se trouve le fameux IDX.

valeur_idx
On voit ici que ma sonde porte l’IDX 230.

L’étape suivante est d’interroger Domoticz pour le matériel 230 via une URL JSON.

Toute la doc est sur le Wiki Domoticz à cette adresse Wiki Domoticz.

Ouvrez un navigateur Internet  et tapez dans la barre d’adresse (pas dans la recherche , hein)  http://votre_ip_Domoticz:8080/json.htm?type=devices&rid=le_numero_IDX_noté_plus_haut

Et il s’affiche une page Web comme celle si

tasker_dz_api

On l’on retrouve entre autre, la variable Data contenant la température et l’unité et la variable Temp contenant juste la valeur numérique.

Mais on voit qu’il y a  aussi plein d’autres données que l’on pourrait extraire pour d’autres besoins (date de mise a jour, signal level (niveau de signal pour les émetteurs radio) )….

Je souhaite ici en utiliser plusieurs, la date de mise à jour (LastUpdate); la température sans son unité et le Status (OK)

Tasker

Nous allons tout d’abord créer des tâches Tasker afin d’interroger Domoticz via son API par un http GET, utiliser un bout de code Javascript pour retirer les valeurs qui nous intéressent, afficher et faire dire ces valeurs.

De façon plus pragmatique il faudra plusieurs variables Tasker, une dans laquelle nous stockerons l’IDX à interroger, puis d’autres dans lesquelles nous irons placer nos valeurs Domoticz et plusieurs actions au sein de cette tâche.Lire la suite

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

Imperihome, une nouvelle version NodeJS

Objectif :

Installer la dernière version de MyDomoAtHome version NodeJs pour Domoticz. Cette version rend obsolète les autres versions et sera celle qui sera maintenue à long terme.

Rappel  :

Imperihome est une application pour smartphone  et tablettes Android/Ios qui s’intègre nativement à bon nombre de systèmes de domotique  (Domoticz, Sonos, Kodi) et autres objets connectés du marché via une API génerique.

Paramétrable, souple et en régulière évolution vous trouverez dans le google store une version gratuite limitée à 2 pages d’équipements et une version version payante.

Les liens sur le site ImperiHome http://www.evertygo.com/imperihome

Screenshot_2014-11-11-10-17-25

Contrairement à d’autres applis existantes (Andromoticz par exemple), ImperiHome est multiplateforme domotique.

Le but de cet article est donc de décrir l’installation d’une passerelle entre notre Domoticz et l’appli Android/Ios afin de permettre le pilotage via smartphone.Cette passerelle agira comme une interface entre Domoticz et Imperihome et vice versa.

Il y a donc un Client (ImperiHome), une Passerelle nommée MyDomoAtHome (mdah) pour les intimes, un Serveur (notre Domoticz). La Passerelle est un Web serveur REST avec son propre IP:port qui sera différent de celui existant déjà pour Domoticz.

Voila quelques screens tirés du wiki anglais de Domoticz.

Imperihome screen 1

Imperihome screen 2
Screenshot_2013-10-12-18-55-05_framed_id23

Possibilités

Lire la suite

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

Domoticz et Tasker

Beaucoup d’entre vous connaissent et utilisent l’ appli Android nommée Tasker qui permet d’ automatiser des tâches sur son téléphone/tablette Android.

Faisons ici un petit tour d’horizon de cette  appli pour ceux qui ne la connaitraient pas

Depuis quelques semaines vous avez recyclé un vieux téléphone Android qui fait maintenant plate-forme d’ envoi de sms grâce à cet article concernant les sms alors voyons ici comment transformer ce téléphone en capteurs capable d’envoyer des données vers Domoticz via Tasker.

 

Prérequis

 

Le logiciel Tasker permet de récupérer tout ce qui se passe sur votre appareil Android et d’en faire quelque chose.

Par exemple : Si le Wifi est off alors on le passe à On, si on se situe dans tel lieu alors on envoie un sms automatique, si on dit Ok Google allume la musique …

Un lien de lecture ici http://techno-bidouille.com/android-exploitez-vos-capteurs/  ou l’auteur utilise tout d’abord un logiciel nommé sensors pour savoir de quel capteurs est équipé son téléphone/tablette Android.

Tasker : Les bases

Ici , pas question de faire un cours complet de Tasker , plein de tutos existent.

Le minimum à savoir est que la décomposition dans Tasker est la suivante

Le profil Tasker  est basé sur un évènement : « si il est telle heure », « si mon wifi est off », « si l’appli X se lance » ….

Et lorsque un profil est exécuté il lance une tâche.

Une Tâche  est un ensemble d’actions à réaliser suivant le profil.

Sachez qu’il y a des scènes qui sont des interfaces graphiques Tasker, des variables que l’on peut stocker, plein de choses avec lesquelles on peut jouer.

Tasker : En pratique

Commencez par créer un profil basé sur les heures.

Décochez  la case « De » et la case « Jusqu’a » puis cochez en bas « Répéter » toutes les X minutes à votre volonté.

Attention : pour valider il faut faut utiliser la flèche « Retour » en haut à gauche.

Donc nous avons un truc (profil) qui déclenche toutes les 5 minutes.

Créons une tâche. Nommons la puis associons lui UNE action

Je vous conseille au début afin de connaitre tous les capteurs utilisables sur votre Android, soit d’installer l’appli Sensors soit de faire une tache Alerte/Popup qui affiche la valeur en question (les capteurs en rouge ne sont pas accessibles).

Ici j’illustre le fait de lancer une popup, le TEXTE de ma popup sera le niveau de batterie de mon téléphone, en cliquant sur le petit crayon gris en bout de ligne en face du TEXTE que je veux afficher :Tasker2

 

j’obtiens la liste des variables utilisables.

Tassker1

Je choisis donc « Niveau de batterie »

Validez puis remarquez que les valeurs des capteurs se nomment %TEMP, %HUMIDITY, %BATT, ainsi de suite.

Ce qui va nous être utile pour la suite lors de l’envoi vers Domoticz.

L’envoi des données vers Domoticz

J’ai honte, mais il s’avère que Deennoo sur le forum à traité de cette partie avant moi, aussi vais je vous renvoyer vers ses explications

https://easydomoticz.com/forum/viewtopic.php?f=7&t=1008

 

Bonne lecture et n’hésitez pas à poser vos questions dans le forum.

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

Une 2eme plateforme SMS à base de téléphone Android puis évolution vers le pilotage SMS de Domoticz

C’est le deuxième article sur le sujet des SMS et de Domoticz.

Il est le copié/collé (pas tout à fait quand même) d’un article précédent https://easydomoticz.com/une-plateforme-sms-a-laide-dun-vieux-telephone-android-pour-domoticz/ , la seule différence est le changement de l’appli du téléphone Android.

Ce changement permet de pouvoir réutiliser un script Lua réalisé par Vil1driver sur le forum , référence ici https://easydomoticz.com/forum/viewtopic.php?f=17&t=596 permettant le pilotage de Domoticz VIA l’envoi de SMS (oui, oui c’est possible)

Vil1driver c’est basé sur une appli Android (SMS Gateway Ultimate) et moi sur une autre SMS Gateway (tout court)).

Je vais donc détailler ici l’utilisation d’une autre gateway SMS pour Android puis nous verrons comment utiliser le script Lua au sein de Domoticz afin de donner des ordres via SMS dans un autre article.

Repartons donc à la découverte de l’envoi de SMS depuis Domoticz.

Introduction

Une question récurrente des utilisateurs Domoticz est l’envoi de SMS depuis notre système favori, voyons ici les possibilités qui nous sont offertes, leurs avantages et leurs inconvénients.

  • Free permet à ses utilisateurs l’envoi gratuit de SMS vers leur propre numéro, mais on est donc limité à un seul numéro (c.f cet article). L’inconvénient est d’avoir un forfait téléphonique Free et on doit utiliser l’api http:// de Free dépendante d’une connexion Internet.
  • On peut aussi utiliser la plateforme SMS Clickatell, surtout depuis son inclusion native dans Domoticz, ou d’autres (OVH) mais radins comme nous sommes, le coût nous freine rapidement.

Partant de ce constat j’ai cherché une autre solution.

Le postulat de base est :

  • le moins cher possible avec des coûts prévisibles et planifiables (un forfait fixe),
  • pas de trucs dans le cloud (je ne veux pas dépendre de ma connexion internet pour cela).

Sachant que j’ai un vieux téléphone Android dans un placard, qu’un forfait à 2 euros chez Free ne me parait pas prohibitif, l’idée vient rapidement d’utiliser le téléphone pour envoyer nos SMS. Il nous faut donc un logiciel sur le téléphone capable d’envoyer des SMS et d’être piloté depuis l’extérieur (Raspberry/Domoticz).

Quelques recherches sur le Google Play nous amènent vers le logiciel SMS gatewaySMS Gateway Ultimate qui possède une interface qui écoute sur http pour envoyer les SMS.

D’autres fonctions sympathiques existent dans cette appli (SMS vers Http que nous utiliserons plus tard, mail vers SMS, SMS vers mail…)

L’appli SMS GATEWAY Ultimate SMSGUltimate

Après installation depuis le Google Play , le lancement de l’appli donne cela:

Lire la suite

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

une plateforme SMS à l’aide d’un vieux téléphone Android pour Domoticz

Une question récurrente des utilisateurs Domoticz est l’envoi de SMS depuis notre système favori, voyons ici les possibilités qui nous sont offertes, leurs avantages et leurs inconvénients.

  • Free permet à ses utilisateurs l’envoi gratuit de SMS vers leur propre numéro, mais on est donc limité à un seul numéro (c.f cet article). L’inconvénient est d’avoir un forfait téléphonique Free et on doit utiliser l’api http:// de Free dépendante d’une connexion Internet.
  • On peut aussi utiliser la plateforme SMS Clickatell, surtout depuis son inclusion native dans Domoticz, ou d’autres (OVH) mais radins comme nous sommes, le coût nous freine rapidement.

Partant de ce constat j’ai cherché une autre solution.

Le postulat de base est :

  • le moins cher possible avec des coûts prévisibles et planifiables (un forfait fixe),
  • pas de trucs dans le cloud (je ne veux pas dépendre de ma connexion internet pour cela).

Sachant que j’ai un vieux téléphone Android dans un placard, qu’un forfait à 2 euros chez Free ne me parait pas prohibitif, l’idée vient rapidement d’utiliser le téléphone pour envoyer nos SMS. Il nous faut donc un logiciel sur le téléphone capable d’envoyer des SMS et d’être piloté depuis l’extérieur (Raspberry/Domoticz).

Quelques recherches sur le Google Play nous amènent vers le logiciel SMS gateway, qui possède une interface qui écoute sur http pour envoyer les SMS. D’autres fonctions sympathiques existent dans cette appli (mail vers SMS, SMS vers mail…)

Attention : un autre article concernant les SMS est disponible ici avec une autre appli Android, cette appli permettra de faire plus de choses comme du pilotage de Domoticz par envoi de SMS , veuillez plutôt vous référer à ce lien https://easydomoticz.com/une-plateforme-sms-a-laide-dun-vieux-telephone-android-pour-domoticz-2/

L’appli SMS GATEWAY

Après installation depuis le Google Play , le lancement de l’appli donne cela:

sms_gateway_1

Utilisons le bouton settings pour effectuer la configuration.

sms_gateway_2.

Il nous faut cocher « Listen for Http send SMS command », le « Enable logging on SDCARD » est pas mal lors des tests.

Une fois que tout marchera bien il faut cocher le « Prevent CPU sleep mode » et le « Start Gateway…. » pour lancer tout cela automatiquement et décocher « Enable loggin on SDCARD ».

Puis utilisons le bouton « Http Settings » de ce même écran.

sms_gateway_3

On trouve ici le port Http sur lequel écoutera l’appli SMS Gateway et un mot de passe pour protéger l’envoi de requêtes SMS.

On voit plus bas la requête http qu’il faudra appeler vers cette appli pour lancer des SMS, elle est du type http://adresseipdutelephone:port/sendsms?phone=numero_de_telephone&text=message_du_sms&password=le_password_configuré_dans_l’appli

Remarquez sur la copie d’écran que sur mon téléphone l’adresse IP est de la forme fe80::50cc… .

Bien que cela ressemble à une adresse IPV6, je n’ai pas pu l’utiliser par la suite, j’ai donc utilisé l’adresse IPV4 fournie à ce téléphone par ma box, et j’ai également passé le téléphone en ip fixe pour éviter tout changement intempestif au cours du temps. (Passer un téléphone Android en ip fixe c.f. ici http://www.androidpit.fr/comment-configurer-adresse-ip-statique-android)

Il ne nous reste plus qu’a activer la passerelle SMS en appuyant sur « Start »

sms_gateway_4

Le dialogue avec la passerelle SMS.

On a vu qu’il suffit d’une simple requête http pour piloter l’appli. N’importe quel langage sachant faire http pourra donc utiliser cette appli.

J’ai crée un script python afin d’envoyer un SMS à plusieurs téléphones et d’avoir des messages passés en paramètres.

Exemple : si j’appelle ce script smsgateway.py et que depuis Domoticz dans un action on /action off j’appelle script:///home/pi/domoticz/scripts/smsgateway.py ALERTE, le SMS que je recevrai sera « ALERTE ».

Si on n’indique pas de message, il y a un message par défaut dans le script que vous pouvez changer (Message de Domoticz).

action_sms_gateway

On configure dans le script les numéros de téléphone entre ‘ et séparés par des , puis les ip, port et mot de passe de l’appli SMSGATEWAY.

N.B : Si vous n’avez pas mis de mot de passe dans SMSGATEWAY, laissez vide password_sms_gateway comme cela

password_sms_gateway=''
Ce script nécessite la présence de la bibliothèque requests : sudo pip install requests pour l’installer.

Si vous avez du python 3 installé sur votre machine, remplacez la première ligne par

#!/usr/bin/python3

sinon :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# il faut le module requests
# sudo pip install requests

import requests
import os
import sys


#~~~~~~~~~~Numeros de telephone a contacter~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phones=['06511121314','0612131415']

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#~~~~~~~~~~ Parametres SMS Gateway  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ip_sms_gateway='192.168.1.66'
port_sms_gateway='9090'
password_sms_gateway='toto'

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


if len(sys.argv)==1:
	message='message de Domoticz'
else:
	message = sys.argv[1]


def send_sms (tel,message,password):
    requetesms='http://'+ip_sms_gateway+':'+port_sms_gateway+'/sendsms'
    payload = {'phone':tel, 'text': message, 'password':password_sms_gateway}
    r = requests.get(requetesms, params=payload)
#    print (r.url)


for tel in phones:
    #print (tel)
    send_sms(tel,message,password)

Voila quelques semaines que je surveille congélateurs, températures extérieures, vitesse du vent  par ce moyen et cela fonctionne rapidement et sans anicroches.

Utilisation avec les notifications http de Domoticz.

Un utilisateur émérite du forum (Vil1driver) à attiré mon attention sur le fait que l’on peut gérer l’envoi par les notifications http internes à Domoticz. Merci à lui.

Voyons la mise en place de cela.

Tout d’abord dans la partie paramétrage des notifications nous allons faire appel  à notre script en lui passant comme paramètre #MESSAGE

Le champ « Url » contient donc script:///home/pi/domoticz/scripts/smsgateway.py « #MESSAGE »

(il y a bien 3 / après script:)

notification http Domoticz

notification http Domoticz

Puis ensuite depuis le dashboard principal Domoticz et dans chaque matériel, utilisons les Notifications comme suit :

En cliquant sur « Notification, on peut introduire une règle qui nous alerrtera.

On choisit l’état (On/Off) pour un interrupeteur pour lequel on veut être alerté ou la température audessus/audessous de laquelle on veut des SMS (bien entendu on peut mettre plusieurs condition par le bouton ajouter) , il y aura plusieurs SMS envoyés.

On laisse juste coché Notifications Http, on indique le message a recevoir dans le champ « Message personnalisé » et c’est gagné.

Ici un exemple d’alerte sur e basculement d’un switch.

notif_http2

Ici la gestion d’une alerte de température trop basse ou le message envoyé par SMS est temperature_basse

notif_http_temp

Avantages/Inconvénients.

Avantages : le recyclage d’un vieux matériel, le prix de la config, son évolutivité.

Inconvénient : il faut garder le téléphone allumé 24/24 et 7/7

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