Détection de Présence basée sur IP

Issu d’un article du wiki de Domoticz et comme le sujet court sur le forum depuis quelque jours, je vous propose ma traduction de l’article en question concernant la détection de présence basée sur une IP.

images Alarme

 

Objectif

Ce script activera un switch virtuel lorsque un périphérique IP sera présent dans votre réseau et l’inactivera dès que ce périphérique IP aura disparu du réseau. Vous pouvez utiliser cela pour savoir si une personne (et surtout son téléphone) arrive dans votre réseau (cela nécessite une IP fixe sur le smartphone)

Cela est utilisable également pour savoir si votre NAS, Serveur … est up ou down.

Bien sur on pourra déclencher les événements classiques (action on , action off,scripts ..)

Lire la suite

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

Domoticz lua scripts et télécommande

Heureux possesseur d’une télécommande DI.O Chacon compatible rfxcomm et pour faire suite à l’article précédent sur les scripts lua, quel ne fut pas mon bonheur lorsque je vis apparaître dans domoticz, tous les ID de ma télécommande 16 canaux au même titre que n’importe quel autre périphérique.

Cela peut sembler logique et normal aux spécialistes mais cela m’a étonné et enthousiasmé.

Et donc c’est super car maintenant je peux lancer un script de backup d’un site web par l’appui d’une touche de la télécommande depuis mon canapé …

J’ai donc passé à ON les canaux non attribués de la télécommande un par un.

J’ai retrouvé dans domoticz mes  périphériques, que j’ai nommé telco11,telco12 ….

puis un script dans /domoticz/scripts/lua  nommé script_device_telco16_is_on.lua et contenant qq chose comme

print(‘telecommande 16 vient de passer a on’)

commandArray = {}
if (devicechanged[‘telco16’] == ‘On’) then
os.execute (‘ curl -s -i – H « mon_url_qui_va_bien’)
end
return commandArray

 Que du bonheur.

Bon certes on peut faire la même chose via l’interface graphique de Domoticz  mais c’est moins fun.

 

periph_ajout

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/