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/

Projet Domotique

J’ai commandé chez domadoo un pack d’équipements divers permettant de plonger dans la domotique

Il y a un emetteur/recepteurs 433 Mhz RFXcom , 3 modules pour volets roulants, 1 douille pour lampe et un interrupteur sans fils

L’idée est de piloter les volets roulants, la lampe pour faire une simulation de présence, mais aussi ouvrir/fermer les volets depuis mon canapé.

En attendant de recevoir la commande de matériel j’ai installé sur un PC une debian et domoticz qui sont compatibles avec le rfxcomm et me semble très ouvert puisque pilotable par json, lua ..

Le soft existe pour Windows,Linux, une image raspberry PI est dispo

Des applications Android existent pour piloter l’ensemble.

L’installation est très bien documentée et très précise sur le site , bien que en anglais. http://www.domoticz.com/wiki/Install.txt

J’ai choisi l’install sur ma debian du raspberry

Quelques sudo apt-get install et svn checkout et compilation du bazar , 30 minutes après on a un domoticz en état, on le démarre via init.d

En utilisant l’ip de ma debian sur le port par défaut de domoticz 8080, l’interface se lance

Le premier aspect est plutôt agréable même si pas transcendant.

La suite pour le hard un peu plus tard

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

Video surveillance a base de raspeberry Pi : le son

Comment enregistrer du son ?

installer les outils alsa dont arecord, aplay, alsamixer

Pour enregistrer on a besoin du device

$arecord –list-devices

You should get output similar to this:

**** List of CAPTURE Hardware Devices ****
card 0: IXP [ATI IXP], device 0: ATI IXP AC97 [ATI IXP AC97]
Subdevices: 1/1
Subdevice #0: subdevice #0

This says that my integrated audio card is on card 0, device 0.

Next, try to record your speech at a rate higher than what you think your highest recording rate might be (replacing the numbers in hw:0,0 with your card and device number):

donc ma ligne de command est

arecord -f S16_LE -D hw:1,0 -c 2 -d 5 test.wav

il faudra donc modifier le motion.conf pour lancer arecord avec ces options lors d’un on_motion_detected par exemple

 

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

Video surveillance a base de raspberry pi et motion

 

Installation d’un système de videosurveillance à base de raspberry pi et  motion

 

J’ai décidé d’utiliser mon raspberry pour faire de la vidéo surveillance de ma maison en mon absence.

L’objectif est de pouvoir faire de la surveillance temps réel mais également lors de la détection de mouvements d’envoyer une alerte via twitter ou par e-mail et generer une vidéo.

Que faut ‘il  ? :

  1. Un raspberry
  2. Une carte SD
  3. une Webcam à la norme UCVIDEO de préférence pour eviter les problèmes de compatibilité.
  4. un accés à internet pour le raspberry
  5. un routeur configurable pour de la redirection de port/adresse

Comment fait on ? :

Phase 1 : Installation

installer une debian sur la sd du raspbery : de nombreux tuto sont dispo sur le net

installer motion (sudo apt-get install motion)

installer wput pour nous permettre d’envoyer la vidéo ou les images  par ftp

donner une ip fixe au raspeberry http://www.pihomeserver.fr/2013/05/24/raspberry-pi-home-server-donner-une-ip-statique-a-votre-machine/

comme j’ai décidé d’envoyer des tweets lors de la détection de mouvement  j’ai  installé le script ttytter pour faire ca en ligne de commande depuis motion.conf

installer ttytter http://www.floodgap.com/software/ttytter/ puis suivre les instructions de configuration

l’envoi de mail via exim (http://www.sbprojects.com/projects/raspberrypi/exim4.php)

connecter la webcam

Phase 2 : le paramètrage

Le fichier de config est motion.conf dans /etc/motion

lancer motion à la main (/etc/motion) et vérifier que tout se passe bien dans cet écran:2014-09-05 21_22_52

pas d’erreurs : on continue.

Sinon corrigez. Pour moi par exemple je ne pouvais pas dépasser 320×240 même si dans motion.conf je précisais 640×480 il m’a suffi de changer le mode V412 pour accéder à du 640×480 avec ma webcam hercules Twist

D’un autre coté si ces images doivent être consultées depuis un smartphone sans connexion 3G cela ne sert a rien de faire des images en 640×480

Phase 3 : les réglages

les images générées par motion sont accessibles via un navigateur : pour cela plusieurs chose à vérifier :

le port utilisé par motion pour la diffusion des images : 8081 par défaut (webcam_port 8081)

le paramétrage autorisant l’accès à distance : webcam_localhost on à passer à off

demander une identification lors de l’arrivée sur cette page :  control_authentication username:password

la qualité des jpg en % à été passée à 80 %  (webcam_quality 80)

donc sur un autre PC en tapant ipdemonraspberry:8081
Lire la suite

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