Page 1 sur 1

Script shell en cas d"ecriture sur un DD

Publié : 02 juin 2016, 07:54
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

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

Publié : 02 juin 2016, 20:30
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 !!

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

Publié : 03 juin 2016, 14:03
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 ...

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

Publié : 03 juin 2016, 19:41
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

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

Publié : 03 juin 2016, 20:14
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"

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

Publié : 03 juin 2016, 20:38
par lclem
ppppfffff merci pour la qualite de cette reponse.

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

Publié : 03 juin 2016, 21:21
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