Nouveau service sms pour les utilisateurs de Free Mobile: Envoyer des SMS depuis Domoticz

Free Mobile vient de lancer un service de notification via SMS pour ses abonnés, le bonheur pour notre plateforme de domotique préférée.

On peut donc maintenant envoyer des sms directement depuis Domoticz (ou autres) en appelant une simple url https

Le principe est d’activer le service SMS chez Free qui donne alors un password  lié à votre identifiant Free mobile puis on obtient une url de la forme

« https://smsapi.free-mobile.fr/sendmsg?user=000000pass=xxxxxxxxx&msg=Hello%20World%20! »

Voyons comment en profiter avec notre DOMOTICZ préféré et faire envoyer des sms suivant nos besoins

Du coté de chez Free

Connectez vous à votre espace abonné avec votre identifiant

2014-06-18 09_33_53-Free Mobile - Bienvenue dans votre Espace Abonné

 

C’est cet identifiant qui sera utilisé par la suite pour l’envoi des sms.

Choisissez le forfait sur lequel vous voulez activer le service. puis allez dans « Options/Gerer »2014-06-17 20_43_49-Free Mobile - Bienvenue dans votre Espace Abonné2014-06-17 20_45_14-Free Mobile - Bienvenue dans votre Espace Abonné

 

Activez les notifications SMS

2014-06-17 20_45_29-Free Mobile - Bienvenue dans votre Espace AbonnéConfirmez l’activation puis vous obtenez alors une clé liée à votre forfait (cette clé change à chaque activation/désactivation du service SMS)

2014-06-17 20_49_23-Free Mobile - Bienvenue dans votre Espace Abonnéle petit i deux lignes au dessus de ce code vous donne DIRECTEMENT l’URL à utiliser vous n’aurez qu’a y changer le message , faites un copier de la ligne commençant par https

2014-06-17 20_50_08-Free Mobile - Bienvenue dans votre Espace AbonnéPour vérifier si tout est correct , copiez collez cette url dans votre navigateur et après quelques secondes vous devez recevoir un SMS.

Maintenant voyons cela dans Domoticz

Coté Raspberry-Domoticz

La première idée qui vient serait de faire un action on/action off depuis le switch concerné

2014-06-18 10_05_22-Domoticz

or il s’avère que DOMOTICZ ne supporte pas le https  ici

On peut utiliser le mode « Blocks » de Domoticz (merci à bricolo44)

Rendez vous dans « Plus d’options » puis « Evenements » créez alors votre block comme suit :

2014-06-24 17_00_47-Domoticz

 

Puis pensez à l’activer avec la case à cocher à gauche

Une autre façon de faire et de passer par 2 scripts bash directement lancés par le contact lui meme.

nous ferons donc 2 scripts bash un pour l’état on , l’autre pour l’etat off

Le script pour le ON : smson.sh
#!/bin/sh
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=monid_ci_dessus&pass=celui_ci_dessus&msg=Porte Garage Ouverte !!"

Le script pour le OFF : smsoff.sh
#!/bin/sh
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=monid_ci_dessus&pass=celui_ci_dessus&msg=Porte Fermée"

Le -k dans curl est INDISPENSABLE pour éviter la verification des certificats SSL.

Ces 2 scripts sont à créer dans home/pi/domoticz/scripts/ (pas ailleurs)

Faites un chmod +x sur chacun d’entre eux

Lancez les à la main par un ./smson puis ./smsoff pour vérifier que tout est correct et que vous recevez les SMS en question.

Dans Domoticz allez sur le composant à gérer puis dans le « Editer »

2014-06-18 13_57_08-Domoticz Dans les action ON et Off placez l’appel à vos 2 scripts

script:///home/pi/domoticz/scripts/smson.sh

et

script:///home/pi/domoticz/scripts/smsoff.sh

IL Y A BIEN 3 /

2014-06-18 13_46_42-Domoticz

Validez et testez, enjoy

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

raspberry et DHT11

Cet article est ABSOLUMENT, COMPLETEMENT PERIME, OBSOLETE, HS.

NE L’UTILISEZ PAS,

je le conserve par attachement sentimental.

Un nouveau tuto est ici https://easydomoticz.com/?p=3824 qui utilise un nouvelle bibliothèque Adafruit fonctionnelle.

Alors ouste !


Voyons ici comment connecter un capteur de température et de % d’humidité DHT11 à notre Raspberry. la procédure est identique pour un DHT22.

  • Mon expérience de la lecture, des plus délicates de ce composant avec un Raspberry, me fait vous conseiller de ne pas utiliser ce composant avec votre Raspberry, tournez vous vers des Ds18b20 de Dallas pour la température ou alors installez un Arduino dédié au DHT11 car  la lecture y fonctionne bien mieux.
  • We noticed that both examples has a chance to lose data. This is because Raspberry Pi is not running at a real-time system, the delay in the program is not accurate enough, and sometimes that leads to a failure of transmission. Because C is a lower level language, it controls the GPIO pin in a more direct way, so the example in C has less chance to fail.As a work around, we can run the program for several times can pick the correct result.  This should also be possible to be done programmatically.
  • En français : Notons que les deux exemples ont des chances de perdre des données. C’est parce que le Raspberry n’a pas de système temps réel, les délais dans les programmes ne sont pas assez précis, ce qui provoque des incidents de transmission. Parce que le C est un langage de plus bas niveau et contrôle les GPIO de façon plus directe, le programme C aura moins de change d’échouer.
  • En solution de contournement nous pouvons lancer ce programme plusieurs fois en espérant avoir un résultat correct.

Vous voyez donc que la lecture des DHT n’est pas, loin s’en faut, facile et reproductible.

L’exemple de script shell ci dessous tente de contourner les problèmes de lecture en interrogeant plusieurs fois le DHT jusqu’a obtenir un résultat de température. Cette méthode surcharge le Raspbery, parfois jusqu’a saturation du CPU.

Ces précautions étant prises et pour les téméraires, voici l’explication de la mise en place.

Merci de ne pas utiliser les commentaires pour dire « Ca marche pas, ça marche pas bien » , vous êtes prévenus.

Un DHT 111

 

Connexion d’un DHT11 au raspberry

    Câblage

  • 1 du DHT au 3.3 V,
  • 2 du DHT au gpio que vous voulez,
  • 3 rien,
  • 4 GND

Entre 1 et 2 une résistance 4.7K Ohm-10 K

300px-RaspberryPiDHT11

http://www.wurst-wasser.net/wiki/index.php/RaspberryPi_Humidity_and_Temperature_Sensor

Lire la suite

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

Raspberry et Teleinfo, la partie Domoticz

Suite a l’article précédent voici le 2eme  chapitre  consacré à la récupération des infos dans Domoticz.

Chapitre 2 : Teleinfo et Domoticz

On a vu dans le chapitre précedent que le GPIO etait relié au ttyAMA0 et que on avait fait un lien vers un /dev/ttyUSB20 par un  sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20

Dans Domoticz , ajouter un matériel , dans la liste déroulante choisir « TELEINFO EDF USB » puis le /dev/ttyUSB20

 

Il apparait alors dans « Configuration » « Periphériques »  sous le nom P1 smart Meter – Energy

 

Cliquez sur la flèche verte tout au bout à droite  pour l’ajouter et lui donner un nom

Voila ce compsant apparait dans l’onglet « Mesures »

 

A partir de la on peut avec « Log » faire de joli graphiques 2014-09-05 21_40_07Attention : La version Stable 1860 comporte des bugs d’affichage des courbes, des infos affichées …. Pour corriger cela , passez en version Beta comme expliqué ici , cela devrait ensuite se résoudre.

 

 

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

domoticz et script twitter

Depuis quelques jours je cherche a envoyer un tweet lors du changement d’état d’un contact avec le ttytter de floodgap via un script lua.

Cela ne fonctionne absolument pas et impossible de savoir si cela provient de domoticz ou de ttyter.

J’ai changé de script twitter pour utiliser celui ci http://360percents.com/posts/command-line-twitter-status-update-for-linux-and-mac/

attention  make sure that you:

– Enter a correct username and password,
– Have CURL with SSL support installed,
– Have read/write permissions in current directory.
– Run it with “bash” and not with “sh”.

en ayant modifié les #REQUIRED PARAMS

username= »twitteruser »

password= »xxxxx »
tweet= »il y a du courrier dans la boite a lettre ! » #must be less than 140 chars

sans oublier le chmod +x

toujours sans succès, jusqu’à ce que je place l’appel de ce script DIRECTEMENT dans les propriétés de mon contact dans le champ « On Action »

 

2014-09-05 21_31_54

et Victoire !

2014-09-05 21_32_42!!

Attention : Evitez les accents français (àéèê…) dans la variable tweet.

J’espère que ceci pourra aider  Tom23mj et d’autres.

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

Domoticz et lua : appeler une commande shell

L’objectif est de pouvoir déclencher une action liée à l’OS depuis domoticz

On peut bien sur utiliser les Events en mode blocs de Domoticz pour des actions telles que l’envoi de mail, l’ouverture fermeture d’un autre périphérique domoticz.

dooropenlighton.PNG

, lecture http://www.domoticz.com/wiki/Events

 

Mais  parfois on a besoin de taper dans des fonctions plus basses de l’OS, déclencher un script bash, envoyer un tweet…

Dans mon cas lorsque le contact de porte s’ouvre je veux déclencher motion pour faire de la capture vidéo.

Il faut utiliser les scripts lua de domoticz.

Rien de trés compliqué, le wiki de domoticz sur les Events est assez détaillé.

Domoticz range ses scripts lua dans /domoticz/scripts/lua

Ces scripts basés sur des devices DOIVENT se nommer script_device_lenomdemonperipherique.lua

Ici j’ai un périphérique nommé ‘contact porte’

mon script se nomme script_device_contact_porte_actif.lua

print(‘switch vient de passer a on’)

commandArray = {}
if (devicechanged[‘contact porte’] == ‘On’) then
os.execute (‘/etc/init.d/motion start’)
end
return commandArray

il faut toujours mettre un if (devicechanged[‘contact porte’] == ‘etat qui vient de changer’) en tête du script pour s’assurer de déclencher les actions au bon moment.

Le moment crucial de ce script est le os.execute (‘la commande shell’) qui permet donc d’exécuter tout ce que l’on veut pour peu que les droits soient bien appliqués.

Bien sur il faut aussi refaire un autre script dans l’autre sens pour arrêter l’action avec un if (devicechanged[‘contact porte’] == ‘Off’) ….

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