Recuperer detection de mouvement camera par FTP

Bonjour,
je souhaiterais utiliser la technique de @lamor dans ce sujet https://forum.jeedom.com/viewtopic.php?f=91&t=30864&sid=7475c06672d6f4b66bf268fb97e61b8d&start=40 pour recupérer la detection de mouvement de ma camera reolink 420.
J’ai installé Pure-FTPd sur un raspberry pi 3 mais je ne sais pas comment configurer Pure-FTPd pour envoyer le script.
Merci pour votre aide

1 « J'aime »

Hello, aujourd’hui tu peux utiliser le plugin jeexplorer qui te permet depuis le panel web d’éditer ou de rajouter des fichiers de ton jeedom

Cdt
Thibaut

Salut,

Il ne fallait pas mettre le tag plugin-camera, cela n’a rien à voir avec le sujet…

Bonjour,

Ce n’est pas clair.
je ne pense pas que tu aies un problème pour envoyer le fichier (si tu as installé le tool c’est qu’à priori tu sais t’y connecter en ssh et faire quelques actions); ce qui est le problème auquel @Thibaut_T répond.
Mais est ce que ton problème est que mettre comme config ou comment copier / appliquer cette config sur ton pi ?

Ps: j’ai retiré le tag

Bonsoir,
j’ai bien installé Pure-FTP en suivant le tuto de ce lien Raspberry Pi Documentation - Remote Access par contre je ne comprends pas comment modifier le fichier UPLOADSCRIPT et ou mettre le fichier script content #!/bin/bash
curl ‘https://IPdeJeedom/core/api/jeeApi.php?apikey=APIduPlugInCamera&type=camera&id=IDdeLaCommande&value=1’ au niveau du raspberry

Bonsoir @Thibaut_T, pureftp est installé sur un raspberry tiers j’ai une jeedom smart.
merci

Je vais t’avouer que je ne peux pas plus t’aider car je ne connais pas le fonctionnement de la caméra en question ni de la raison de ces manip

Cdt
Thibaut

En fait j’utilise l’envoi de la detection de mouvement de ma camera pour envoyer un fichier en ftp vers mon raspberry sur pure-ftp. Cette partie fonctionne. Ce que je ne sais pas faire c’est configurer pure-ftp pour envoyer le script apres l’arrivé du fichier detection de mouvement vers jeedom (virtuel ou ajout d’une commande dans la camera dans le plugin camera (d’ou le tag plugin camera)).
merci

Bonjour, je peux aider si tu veux.

Si tu as installé pure-ftpd et qu’il fonctionne. C’est a dire que tu reçois bien les fichiers de la part de la caméra, tu as fait le plus dur.

Pour que pure-ftpd appelle un script a chaque upload il faut créer le fichier CallUploadScript avec yes à l’intérieur dans /etc/pure-ftpd/conf

Ensuite, il faut editer /ect/default/pure-ftpd-common et ajouter :

uploadscript=/home/laguinch/uploadscript.sh

Remplacer la chemin et le nom de ton script apres le =
Et c’est tout. Ne pas oublier de changer les droit de ton script pour qu’il soit executable.
Pour le contenu du script, voir mon message,

curl ‹ https://IPdeJeedom/core/api/jeeApi.php?apikey=APIduPlugInCamera&type=camera&id=IDdeLaCommande&value=1 ›

Qui permet de passer la commande de détection de jeedom à 1 et donc tu peux déclencher des scenarii avec.
tu peux aussi demander un envoi de mail ou autre, et également ajouter de supprimer les fichiers.

1 « J'aime »

Cela a tout de même a voir avec le sujet car on utilise la partie api du plugin camera.

curl ‹ https://IPdeJeedom/core/api/jeeApi.php?apikey=APIduPlugInCamera&type=camera&id=IDdeLaCommande&value=1 ›

@laguinch il faut aussi modifier cette ligne en mettant l’ip de ton jeedom et la clé de ton plugin camera.

Bonjour @lamor merci pour ta réponse je vais essayer de configurer ça.
Et oui je suis preneur de la solution pour supprimer le fichier afin de ne pas surcharger le raspberry.
merci

il suffit d’ajouter dans ton script, la commande suppression, exemple :

rm -f /dossier/ftp/*

1 « J'aime »

Bonjour @lamor j’ai commencer à faire les modifis concernant le script mais ca ne fonctionne pas je pense que je me trompe dans les chemins d’acces. Je vais etre absent 1 semaine et ne pourrai pas m’en occuper mais je rééssayerai des que je rentre et referai un topo bien détaillé afin de voir ou sont mes erreurs.
Merci

@lamor j’ai enfin pu me remettre sur mon probleme. Je bute en fait sur le chemin d’accès de mon script. voila ce que j’ai renseigné dans pure-ftpd-common :

# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl
UPLOADSCRIPT=/script/uploadscript.sh

  • le contenu du fichier uploadscript.sh

curl ‘https://10.0.0.30/core/api/jeeApi.php?apikey=core/api/jeeApi.php?apikey=3$ikey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&type=cmd&id=2080&value=1’
rm -f /FTP/Entree/*
rm -f /FTP/Parking/*

  • voici les differents dossier mon RPI

pi@raspberrypi:~ $ dir
ddclient-3.7.3
Downloads
ngrok
script dosier ou est le fichier uploadsript.sh
ddclient.tar.gz
FTP dossier ou sont stockées les vidéos
Pictures
Templates
Desktop
MagPi
pi_stretch_motion_4.2.2-1_armhf.deb
Videos
Documents
Music
Public

Et encore une question est il possible de remttre ensuite la detection à 0 ou faut il le faire grace à un scenarion dans jeedom ?

merci

Je pense qu’il y a en effet un soucis de chemin.

Sous linux, la commande est « ls » pour lister, mais dir fonctionne un peu pareil.

Par contre si tu tapes cette commande directement comme tu as fait la, tu listes le dossier home de ton utilisateur « pi » et non le /

Donc le chemin vers ton script et tes video n’est pas /FTP/ et /script/ mais /home/pi/FTP/
et /home/pi/script/

Autre chose, est ce que le paquet curl est bien installé sur ta machine ?

Pour ce qui est de remettre la détection à 0, cela se règle dans la commande « motion » de ton équipement jeedom.
Valeur retour d’état
Durée avant retour d’état (min)

@lamor bonjour,
ca ne fonctionne toujours pas.

  • j’ai installer curl sudo apt-get install php-curl

  • j’ai modifier les chemin d’acces das le fichier uploadscript.sh qui se trouve dans le dossier script avec normalement chemin d’acces /home/pi/

curl ‘https://10.0.0.30/core/api/jeeApi.php?apikey=XXXXXXXXXXXXXX$DxOvUGL67qsrYyYpxkYX9Hd0Ki&type=cmd&id=2200&value=1’
rm -f /home/pi/FTP/Entree/*
rm -f /home/pi/FTP/Parking/*

  • voici le fichier pure-ftpd-common

Configuration for pure-ftpd

(this file is sourced by /bin/sh, edit accordingly)

STANDALONE_OR_INETD

valid values are « true » or « false »

Any change here overrides the setting in debconf.

VIRTUALCHROOT=false

UPLOADSCRIPT: if this is set and the daemon is run in standalone mode,

pure-uploadscript will also be run to spawn the program given below

for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or

pure-uploadscript(8)

example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl

UPLOADSCRIPT=/home/pi/script/uploadscript.sh

if set, pure-uploadscript will spawn running as the

given uid and gid

UPLOADUID=
UPLOADGID=

  • le fichier CallUploadScript

yes

normalement le fichier uploadscript a les bonnes permissions
sudo chmod 777 ./uploadscript.sh
pi@raspberrypi : ~/script $ ls -l uploadscript.sh
-rwxrwxrwx 1 pi pi 131 mars 25 14:36 uploadscript.sh

si je tape : curl ‹ http://10.0.0.30/core/api/jeeApi.php?apikey=3gdAY2TUFQu9eZeZNwCx1GDxOvUGL67qsrYyYpxkYX9Hd0Ki&type=cmd&id=2200&value=1 ›
pi@raspberrypi : ~ $ curl ‹ http://10.0.0.30/core/api/jeeApi.php?apikey=3gdA
Y2TUFQu9eZeZNwCx1GDxOvUGL67qsrYyYpxkYX9Hd0Ki&type=cmd&id=2200&value=1 ›
voila ce qui s’affiche
0pi@raspberrypi : ~ $

merci

ps : j’ai supprimé le S de https pour le passer en http

j’avance doucement j’ai recréé une nouvelle commande ma camera dans jeedom et maintenant j’arrive à changer la valeur en tapant curl ‹ https://#ipjeedom#/core/api/jeeApi.php?apikey=#apikey#&type=camera&=cmd&id=2204&value=1 ›

mais lorsque j’execute mon fichier uploadscript j’ai ces erreurs :
pi@raspberrypi : ~ $ script/uploadscript.sh

script/uploadscript.sh: ligne 1: fin de fichier (EOF) prématurée lors de la recherche du « ’ » correspondant
script/uploadscript.sh: ligne 4: erreur de syntaxe : fin de fichier prématurée

ps: j’ai avancé un peu en retapant correctement la ligne curl ‹ http://… ›
l’info arrive bien sur la commande mvt de la caméra.

mais voici le nouveau message d’erreur concernant la suppression des fichiers
pi@raspberrypi : ~ $ script/uploadscript.sh

rm: impossible de supprimer ‹ /home/pi/FTP/Entree/2020 ›: est un dossier
rm: impossible de supprimer ‹ /home/pi/FTP/Parking/2020 ›: est un dossier

Hello,

Ce n’est pas php-curl, qu’il faut installer, mais curl
sudo apt install curl

Fait un test en ligne de commande si ca fonctionne, par exemple :
$>curl 'https://www.google.fr'

Tu devais avoir une réponse dans le terminal sous forme du code source de la page.

pour etre sur des chemin tu peux aussi dans le terminal faire un ls
$>ls -l /home/pi/scipt/

Ensuite faut voir si ton script est bien appelé. Jette un oeil sur les log de pureftpd

curl est bien installé du coup et comme dit plus haut la commande fonctionne manque juste à supprimer l’ereur de suppression des fichiers
rm: impossible de supprimer ‹ /home/pi/FTP/Entree/2020 ›: est un dossier
rm: impossible de supprimer ‹ /home/pi/FTP/Parking/2020 ›: est un dossier

Oh pardon, je n’avais pas vu ton message suivant ! Je répondais au premier.