Script transfert Caméras vers FTP et MAIL

Discussion et échanges de scripts pour la box eedomus

Script transfert Caméras vers FTP et MAIL

Messagepar influman » 23 Fév 2015 17:04

Récemment, j'ai acheté une petite caméra d'intérieur Edimax 3116W.
Après avoir fouillé l'API de fond en comble, je n'ai trouvé, depuis l'eedomus, que les moyens de :
- activer/désactiver la détection
- changer le FTP de destination
- allumer/éteindre la led

il n'y a pas moyen de lancer soi-même le transfert vers le FTP...étrange mais bon..c'est comme ça.

Du coup, la seule solution trouvée est un script qui récupère une capture et la transfere sur le FTP à la demande.
Je vous le mets donc à disposition ici :J https://mon-partage.fr/f/fXVaHNaB/

Dans ce fichier, il vous faut au préalable paramétrer :
- tous les liens de snapshot de vos caméras, avec IP:port distante ou ip:port locale en fonction d'où se trouve votre serveur de scripts php, et les user mots de passe respectifs
- le nombre de caméras
- tous les serveurs FTP. Vous pouvez en mettre d'autres que ceux d'eedomus si vous en avez des propres.
- le nombre de serveur FTP
- le serveur FTP centralisateur (votre serveur perso) : c'est celui par défaut lorsqu'on ne spécifie pas de serveur.

Plusieurs utilisations :
- Pour envoyer une capture de la caméra 1 vers son ftp eedomus 1 correspondant, l'appel est camftp.php?numcam=1&numftp1=1
- Pour envoyer une capture de la caméra 1 vers son ftp eedomus 1 correspondant ainsi que sur un autre ftp propre en même temps (le 3), l'appel est : camftp.php?numcam=1&numftp1=1&numftp2=3
- Pour envoyer une capture de toutes les caméras vers le ftp centralisateur, l'appel est : camftp.php sans argument ou camftp.php?numcam=99

ATTENTION
Si vous voulez plusieurs captures d'un coup (lors d'une intrusion par exemple), je conseille de le gérer via des appels successifs au script via une macro eedomus.
Cependant, le script le gère en rajoutant les paramètres "nbsnap" (nombres de captures) et "updelay" (intervalles en secondes entre deux captures). Le problème c'est que le script dure le temps de nbsnap x updelay secondes avant de se terminer.

PRE-REQUIS
Sur le serveur PHP, il y a souvent un blocage par défaut de l'envoi des données vers le FTP destinataire. Dans ce cas, la connexion passe, ainsi que le login, mais pas le transfert : erreur "Can't build data connection". Le fichier de destination est alors vide.
Sur le NAS Synology qui traite ce script, j'ai réglé ce blocage en laissant passer le port 20 (en tant que source) sur le firewall.

Pour s'affranchir de ce script, peut-être que l'équipe eedomus pourrait nous intégrer un moyen d'automatiser le transfert vers le ftp respectif des caméras, via un état canal complémentaire utilisable en macro et règles.
Dernière édition par influman le 27 Fév 2015 14:13, édité 1 fois.
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script transfert Caméras vers FTP

Messagepar anne-marie » 23 Fév 2015 19:24

Super! Merci pour le partage Influman :)
Je ne suis pas trop copine avec les scripts mais va bien falloir que je m'y mette :D
Netatmo - Nabaztag2 - Karotz - Mirror - caméras IP - Zwave - RFXCOM - zigate - ecodevice - Enocean - orvibo - connexoon- google Home - Echo - yeelight etc....
anne-marie
 
Messages : 2456
Inscription : 19 Fév 2014
Localisation : 77

Re: Script transfert Caméras vers FTP

Messagepar influman » 23 Fév 2015 21:36

Comment ça Anne-Marie, tu n'as toujours pas de NAS Synology avec plein de scripts domotique et le stockage de tes caméras ? Tu descends dans mon estime :D
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script transfert Caméras vers FTP

Messagepar anne-marie » 24 Fév 2015 07:12

Et non... :roll: J'ai juste investi dans un raspberry qui pour l'instant décore mon bureau :lol: :lol:
Netatmo - Nabaztag2 - Karotz - Mirror - caméras IP - Zwave - RFXCOM - zigate - ecodevice - Enocean - orvibo - connexoon- google Home - Echo - yeelight etc....
anne-marie
 
Messages : 2456
Inscription : 19 Fév 2014
Localisation : 77

Re: Script transfert Caméras vers FTP

Messagepar Madoma73 » 24 Fév 2015 15:15

branche-le, tu auras une décoration lumineuse et tu pourras même y mettre quelques scripts :mrgreen:
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Script transfert Caméras vers FTP

Messagepar anne-marie » 24 Fév 2015 19:06

:lol: :lol: :lol:
Bande de moqueurs!
Netatmo - Nabaztag2 - Karotz - Mirror - caméras IP - Zwave - RFXCOM - zigate - ecodevice - Enocean - orvibo - connexoon- google Home - Echo - yeelight etc....
anne-marie
 
Messages : 2456
Inscription : 19 Fév 2014
Localisation : 77

Re: Script transfert Caméras vers FTP

Messagepar influman » 27 Fév 2015 14:12

Nouvelle version avec ajout de l'envoi des captures par mail :
https://mon-partage.fr/f/s7TjK4Q9/

Pré-requis :
Dans le fichier php, il faut paramétrer le mail destinataire.
Côté serveur php, il faut paramétrer le serveur smtp. Sur mon Nas Synology, j'ai testé avec succès en associant mon compte gmail (procédure intégrée de google) comme smtp dans Configuration>Notification>Email et un destinataire gmail.com. Le code ne fonctionne pas pour d'autres client/serveur que gmail pour le moment...
Avant d'écraser votre ancien fichier php, pensez à copier vos paramètres existants de caméras et ftp.

Utilisation :
Envoi de la caméra 1 par mail sans ftp : camftp.php?numcam=1&getmail=1
Envoi de la caméra 1 par mail et ftp : camftp.php?numcam=1&numftp1=1&getmail=1
Envoi de toutes les caméras dans un seul mail avec envoi au serveur ftp centralisateur : camftp.php?getmail=1

En cumulant FTP + Mail, il y aura sans doute 1s d'écart dans les images transmises entre le FTP et le MAIL
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script transfert Caméras vers FTP et MAIL

Messagepar zebess » 04 Mai 2016 12:46

J'ai cette erreur sur un nas syno:

Warning: fopen(http://...@80.17.24.78:80/snapshot.cgi): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in /volume1/web/camftp.php on line 147 Warning: ftp_fput() expects parameter 3 to be resource, boolean given in /volume1/web/camftp.php on line 149 Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/camftp.php on line 150 Warning: fopen(http://...@IP.IP.IP.IP:PORT/snapshot.cgi): failed to open stream: operation failed in /volume1/web/camftp.php on line 147 Warning: ftp_fput() expects parameter 3 to be resource, boolean given in /volume1/web/camftp.php on line 149 Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/camftp.php on line 150 1

// Snapshot Cameras possibles
$snapshot = array( // Pas d'espace dans le noms, utilisez l'underscore
1 => array("name" => "Camera_Veranda", "url" => "http://admin:motdepass@80.17.24.78:80/snapshot.cgi"),
2 => array("name" => "Camera_Jardin", "url" => "http://xxxx:yyyyyy@IP.IP.IP.IP:PORT/snapshot.cgi"),
);
$cammax = 1; // mettre le nombre total de caméras du tableau $snapshot
//*
// Serveurs FTP cibles
$ftp = array(
1 => array("server" => "camera.eedomus.com", "user" => "camera345474", "pwd" => "S7fdg1eC", "path" => ""),
2 => array("server" => "camera.eedomus.com", "user" => "cameraXXXXXX", "pwd" => "YYYYYYYY", "path" => ""),
3 => array("server" => "IP.IP.IP.IP", "user" => "userXXX", "pwd" => "passwordYYY", "path" => "cameras"));
//*
$ftpmax = 1; // mettre le nombre total de serveurs ftp du tableau $ftp
$ftpcentral = 1; // mettre le numéro du serveur ftp centralisateur dans le tableau $ftp
//*
$mail_dest = "contact@free.fr"; // adresse email du destinataire
$mail_from = "Notification Eedomus";


J'ai oublié d'enlever quelques chose?

Qud vous dites:
Sur le NAS Synology qui traite ce script, j'ai réglé ce blocage en laissant passer le port 20 (en tant que source) sur le firewall.
-> vous sortez le ftp du syno vers le port 20 au lieu de 21? ou bien vous avez ouvert de l'extérieur le port 20 vers le syno?


J'ai testé avec un ftp local mais ça passe pas mieux:
Warning: fopen(http://...@192.168.1.100:80/snapshot.cgi): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in /volume1/web/camftp.php on line 174 Warning: ftp_fput() expects parameter 3 to be resource, boolean given in /volume1/web/camftp.php on line 175 Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/camftp.php on line 176 1
zebess
 
Messages : 94
Inscription : 17 Déc 2015

Re: Script transfert Caméras vers FTP et MAIL

Messagepar influman » 04 Mai 2016 21:02

Bonjour,

dans le menu Panneau de configuration / Sécurité / Pare-Feu du Syno,
Cliquer sur Modifier les règles
Dans la fenêtre qui s'ouvre, sélectionner LAN dans la liste.
Faire Créer, Personnalisé, Port Source 20 à autoriser.

Je ne sais pas si c'est ça ton pb, mais autant l'éliminer.

A+
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script transfert Caméras vers FTP et MAIL

Messagepar zebess » 05 Mai 2016 10:07

Bonjour,

Je n'ai aucune regle de parefeu,du coup j'en ai créé deux: sortant et entrant port 20 mais l'erreur est la meme :-\
il faudrait avoir un tuto un peu plus complet de mise en place sur synology... j'ai deja un site qui tourne dessus et j'ai le complément perl de mis ... mais es suffisant pour ton script?!
Bonne journée.

Sébastien
zebess
 
Messages : 94
Inscription : 17 Déc 2015

Re: Script transfert Caméras vers FTP et MAIL

Messagepar influman » 12 Mai 2016 00:31

je n'ai malheureusement franchement pas fait grand chose sur le syno à part tout activer au niveau php et mettre le port 20 en source autorisée.

Pour le php, dans le menu principal, va sur webstation,
- dans les paramètres généraux, j'ai PHP 5.6 avec Apache 2.2.
- dans les paramètres php, j'ai quasiment tout de coché, y compris FTP

that's it
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script transfert Caméras vers FTP et MAIL

Messagepar zebess » 12 Mai 2016 19:30

Dans panneau de configuration, services web, parametre php, je n'ai pas ftp.
"dans les paramètres généraux, j'ai PHP 5.6 avec Apache 2.2" -> qu'appel tu paramètres généraux? panneau de configuration ou c'est autre chose?

merci.
Pièces jointes
Capture.JPG
Capture.JPG (31.65 Kio) Consulté 23325 fois
zebess
 
Messages : 94
Inscription : 17 Déc 2015

Re: Script transfert Caméras vers FTP et MAIL

Messagepar influman » 12 Mai 2016 22:55

Tu ne dois pas avoir la dernière version du DSM mais peu importe.
Déjà, check "Activer Display errors...",
ainsi tu auras sans doute un message plus clair quand tu as un pb php.

Ensuite, regarde dans "Selectionner PHP extension", c'est là-dedans que l'extension FTP doit être ajoutée.
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script transfert Caméras vers FTP et MAIL

Messagepar darkwinter » 06 Sep 2016 14:17

Bonjour, chez moi le script fonctionne presque bien c'est à dire :

Envoi image sur ftp eedomus OK
Envoi image sur ftp perso (serveur syno) OK
Envoi email OK mais la pièce jointe est systématiquement vide (je vois bien le fichier en pièce jointe mais 0 octets).

Je précise que sur les 2 ftp, pas de pb les images sont lisible et elles font environ 150 ko.

Une idée éventuellement?
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Script transfert Caméras vers FTP et MAIL

Messagepar zebess » 06 Sep 2016 15:44

tu as essayé sur une autre adresse email?
zebess
 
Messages : 94
Inscription : 17 Déc 2015

Re: Script transfert Caméras vers FTP et MAIL

Messagepar darkwinter » 08 Sep 2016 07:00

Bonne remarque: en changeant l'email cela fonctionne :

e-mail gmail => OK
E-mail sur serveur exchange => Fonctionne pas (doit avoir une autre syntaxe à rajouter dans le script pour exchange).

A noté quand même que les photos via le système de notification eedomus (envoyer les images des caméras sur boites emails fonctionne avec un email sous serveur exchange).

A mon avis doit pas manquer grand chose pour que cela passe soit exchange.
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Script transfert Caméras vers FTP et MAIL

Messagepar zebess » 08 Sep 2016 07:40

Peut être que c'est bloqué par l'antispam d Exchange car il repère un script dans le format de l'email et le refuse.
zebess
 
Messages : 94
Inscription : 17 Déc 2015


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)