Script shell en cas d"ecriture sur un DD

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
lclem
Messages : 96
Inscription : 22 avr. 2015, 16:50

Script shell en cas d"ecriture sur un DD

Message par lclem »

Bonjour
lorsqu'elle detecte un mouvement ma camera enregistre l'image sur le DD du PI.
A chaque ecriture je voudrais activer un device virtuel de domoticz sauf que voila je ne sais pas programmer en shell et je ne trouve pas de tuto qui puisse m'aider.
Si l'un de vous peut me le faire....
Par avance merci
Rxfcom Somfy Oregon Chacon Imagintronix Z-stickGen5 Qubino HuaweiVodafone et divers gadget chinois (detecteur ouverture, inondation, mouvement,...)
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: Script shell en cas d"ecriture sur un DD

Message par Pyrrhus »

Je veux bien t'aider et je pense que tu as dédié un répertoire expres pour l'enregistrement des images. C'est du *jpg ? quel est le chemin de ton répertoire ?
Je pense à un script de détection de fichier de type *.jpg
Soit précis dans le comportement que tu désires:
- l'interrupteur passe-t-il à On (même s'il est déjà sur on) a chaque nouvel image ou seulement une fois même si d'autres images arrivent ?
- veux tu que l'interrupteur repasse tout seul à Off une fois que tu as reçus les notifications de "On" ? Dans ce cas, il faut prévoir un déplacement des fichiers dans un autre répertoire.
Même pour une idée qui semble simple, ben c'est jamais aussi court qu'on peut le croire !!
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Script shell en cas d"ecriture sur un DD

Message par rimram31 »

Le plus simple serait de voir si l'outil pour la caméra n'est pas capable aussi de déclencher un script sur un événement.

Sinon, je ne l'ai jamais utilisé sur pi mais incron peut permettre de faire exactement cela: surveiller l'activité sur des fichiers, répertoires ... et déclencher un script sur un événement: https://www.howtoforge.com/tutorial/tri ... th-incron/

Installer icron (apt-get) puis une entrée icrontab: <path> IN_CREATE <script> du user pi ou root (root a autoriser explicitement), chaque fois qu'un fichier sera créé dans le répertoire (path) le script sera appelé, il reçoit en paramètre ($$, $# ...) des infos sur l'événement qui a déclenché.

Mais si tu n'es pas très a l'aise avec les scripts, ce n'est peut-être pas un cadeau de te donner ce tuyau ...
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
lclem
Messages : 96
Inscription : 22 avr. 2015, 16:50

Re: Script shell en cas d"ecriture sur un DD

Message par lclem »

Bonsoir donc plus d'explications ...
J'ai installe pure-ftpd. J'ai activé le trigger calluploadscript qui a priori devrait lancer automatiquement un script à chaque upload. Maintenant il faudrait que j'envoi un message à domoticz pour mettre sur on un device virtuel "alarme camera". Mais a ce stade je seche. j"ai bien commencé à srcript mais en fait je ne sais pas changer la valeur du device
merci
Rxfcom Somfy Oregon Chacon Imagintronix Z-stickGen5 Qubino HuaweiVodafone et divers gadget chinois (detecteur ouverture, inondation, mouvement,...)
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: Script shell en cas d"ecriture sur un DD

Message par Pyrrhus »

Ah OK !
Alors la ligne a rajoutter au script pour mettre ton device sur "On" est:

Code : Tout sélectionner

curl -s "http://user:password@IP_DOMOTICZ:PORT/json.htm?type=command&param=switchlight&idx=TON_IDX&switchcmd=On"
avec
user: ton identifiant domoticz
password: ton mot de passe
IP_DOMOTICZ: l'IP de la machine qui héberge ton serveur domoticz, comme 192.168.x.x
PORT: le port de domoticz (8080 par défaut sauf si tu l'as changé)
TON_IDX: l'idx de ton device virtuel (Réglages > dispositifs pour le trouver)
Si tu as désactivé l'authentification de domoticz en réseau local, c'est:

Code : Tout sélectionner

curl -s "http://IP_DOMOTICZ:PORT/json.htm?type=command&param=switchlight&idx=TON_IDX&switchcmd=On"
Pour mettre l'interrupteur sur Off, copie la ligne de code en changeant juste "On" par "Off"
lclem
Messages : 96
Inscription : 22 avr. 2015, 16:50

Re: Script shell en cas d"ecriture sur un DD

Message par lclem »

ppppfffff merci pour la qualite de cette reponse.
Rxfcom Somfy Oregon Chacon Imagintronix Z-stickGen5 Qubino HuaweiVodafone et divers gadget chinois (detecteur ouverture, inondation, mouvement,...)
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: Script shell en cas d"ecriture sur un DD

Message par Pyrrhus »

De rien ! mais sache que ce que je t'ai montré est la base de la base :P
Je te conseille vivement de faire un tour sur https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
Comme ça si tu es amené à devoir controler domoticz en ligne de commande tu trouveras plus facilement la réponse !
C'est toujours

Code : Tout sélectionner

curl -s "la requete http"
sans oublier les guillemets
Répondre