nasmanu Posté(e) le 16 janvier 2015 Partager Posté(e) le 16 janvier 2015 merci pour le partage Gaetan, le python ce n'est pas pas tasse de thé, heureuseuement que tu as mis les variables je vais essayé de tester cela ce week-end sinon, Einsteinium, partage aussi le tiens, je suis curieux de voir comment tu as fais. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 16 janvier 2015 Partager Posté(e) le 16 janvier 2015 @Gaetan Cambier & Einsteinium : avez-vous pu avancer sur le sujet ? Effectivement, il y a yb problème du ping quand le smartphone est en veille, je ne saisie pas bien comment passer outre cela avec le wget.... Merci attention, ca ne fonctionnera que si on laisse le wifi toujopurs allumé, il y a pas de miracle, si tu demande à ton gsm de coupé le wifi des que tu eteind l'ecran par example, ca n'ira pas moi j'ai eu le problème avec un xperia Z3 compact ou après 5 minutes en veille, ne repondait plus au ping, mais toujours à un wget (pourquoi, ca c'est autre chose, j'ignore ou est l'economie reelle ou le problème) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 16 janvier 2015 Partager Posté(e) le 16 janvier 2015 Bon, comme promi, voila le script, facile d'utilisation, et redigé en ... PYTHON alors au programme, il surveille les ip predefini (autant d'ip que l'on veut) avec un delai donné (5 sec) et permet de lancer une commande lorsque : plus aucune ip ne repond des qu'au moin une ip est présente sur le reseau vu les caractéristiques : on peut : soit activer la videosurveillance qd plus personne n'est là ou l'inverse ; activer la videosurveillance dès que 1 personne est présente tout depend le but que l'on veut en faire voila le script : # Parametres a modifier ###### program_enable = "python ./cam_enable.py 1" program_disable = "python ./cam_enable.py 0" delai = 5 ip = [ '192.168.1.60', '192.168.1.61', '192.168.1.62' ] number_check = 3 DEBUG = True ############################## import urllib2 import time import os enable = 2 status = [] nb = len(ip) if number_check < 2 : number_check = 2 for i in range(0, nb) : status.append(1) while True: to_disable = 0 to_enable = 0 for i in range(0, nb) : try: urllib2.urlopen("http://" + ip, timeout = 1) except urllib2.URLError as e: if str(e.reason) != '[Errno 111] Connection refused' : if status > 0 : status -= 1 else : to_enable += 1 else : if status < number_check : status += 1 else : to_disable += 1 time.sleep(delai) if DEBUG : print ip + ' ' + str(status) + ' ' + str(e.reason) if enable != 1 and to_enable == nb : if DEBUG : print "Launch Enable Program" os.system(program_enable) enable = 1 if enable != 0 and to_disable != 0 : if DEBUG : print "Launch Disable Program" os.system(program_disable) enable = 0 if DEBUG : print 'enable : ' + str(enable) + ' to_enable : ' + str(to_enable) + ' to_ disable : ' + str(to_disable) exit alors, il y a 6 varilables program_enable = le programme appelé qd plus aucune ip ne repond (par defaut le programme python pour piloté la camera) program_disable = le programme appelé qd au moin une ip répond (par defaut le programme python pour piloté la camera) delai = delay entre 2 check si les ip sont presentes ip = liste des adresse IP number_check = nombre de chck par ip avant de changé d'état (minimum = 2; default = 3) DEBUG affiche des info de debug pour les test (True / False) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 16 janvier 2015 Partager Posté(e) le 16 janvier 2015 Bon ba besoin que je dépose le miens en bash, mais alors yahouuuu le python je déteste toujours autant, l'équivalent en bash ma pris 20 courtes lignes ^^' Tu devrais mettre sa dans un topic à part gaetant ;-) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nasmanu Posté(e) le 20 janvier 2015 Partager Posté(e) le 20 janvier 2015 c'est top, après quelques tests, tout fonctionne bien c'est vraiment génial bien penser a changer le numéro de port 'http://127.0.0.1:5000/webapi/' par celui configuré sur le NAS pour le script cam_enable.py merci beaucoup 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 20 janvier 2015 Partager Posté(e) le 20 janvier 2015 vu ta remarque, j'ai remonter la variable "base_url" près des variable à modifier ca peut aussi etre utile de la modifier si on utilise le script sur une autre machine dans ce cas, c'est l'ip a changé 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nasmanu Posté(e) le 20 janvier 2015 Partager Posté(e) le 20 janvier 2015 oui c'est bien avec ta modif. sinon, en re-testant les scripts j'aurais deux questions : 1. comment je fais pour laisser s'exécuter le script en arrière plan dans le syno ? (actuellement je testais via la console SSH) 2. hier soir je m'en suis pas rendu compte, mais en fait mais le script établit une connexion a surveillance station toutes les X secondes pour activer/désactiver l'appli même si l'état n'as pas changé. N'est-il pas possible de lui dire, si état inchangé, alors tu ne fais rien ? => script moins lourd pour le syno car moins d'actions ? et surtout Mode parano ON // j'ai activé l'envois d'un mail a chaque connexion d'un user au NAS pour être sur que mon compte user qui a les droits admin ne soit pas utilisé alors que ce n'est pas moi qui en est à l'origine (en cas de piratage) // Mode parano OFF Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 20 janvier 2015 Partager Posté(e) le 20 janvier 2015 (modifié) de la console ssh, tu le lance avec nohup et en terminant le commande par &, après la seule solution pour l'arreter c'est le kill ou l'ajouter au demarrage du syno le script ne se connecte pas à surveillance station sauf en cas de changement d'etat, toute les x seconde il verifie une ip et après, si jamais c'est confirmer qu'il faut activer ou desactiver, il apelle le programme cam_enable.py il peut rester des heure sans le lancer, tant qu'il y a pas un changement d'etat (c'est à cela que sert la variable $enable du script d'ailleur) Modifié le 20 janvier 2015 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nasmanu Posté(e) le 20 janvier 2015 Partager Posté(e) le 20 janvier 2015 ok merci beaucoup pour la commande, c'est parfait de plus ca m'a permis de voir les process du nas, j'en avais plusieurs en cours de ton scripts, d'ou mon soucis je pense, j'ai tout killé, le fonctionnement semble comme tu l'as décris. maintenant, on verra après une journée pour avoir un vrai test grandeur nature. dernière question normalement, je dépose le script ou afin qu'il soit exécuté et surtout pas supprimé en cas de maj et donc de reboot du NAS ? j'ai vu un post sur Internet qui disait opt/etc/init.d avec la création d'un fichier, mais ca me parait un peu obscure... merci encore pour ton aide 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 20 janvier 2015 Partager Posté(e) le 20 janvier 2015 (modifié) Dernièrement, je l'ai simplement Ajouter au /etc/rc.local le fichier n'est pas modifier. N'oublie pas le & a la fin de la commande autrement le nas restera calle dans le script au reboot Le script en lui même, j'ai créé un dossier partagé avec Modifié le 20 janvier 2015 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
phil_riehl Posté(e) le 23 janvier 2015 Partager Posté(e) le 23 janvier 2015 Hello, Je ne suis pas un pro des scripts. Pour pouvoir activer/désactiver automatiquement Surveillance Station en fonction de la présence ou non de 2 téléphones, je suppose donc qu'il faut: 1. Installer le package Python sur le NAS Par contre ensuite je ne vois comment installer et lancer sur le Syno les 2 scripts (on/off Surveillance Station et detection téléphone) Quelle est la procédure? Merci d'avance 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 23 janvier 2015 Partager Posté(e) le 23 janvier 2015 salut, en fait, python est deja inclu au dsm, pas besoin de la version de synocommunity, ca fonctionne tel quel pour l'endroit a placer sur le syno, n'importe quel dossier dans l'absolu, chez moi, j'ai créer un dossier partagé avec mes scripts et donc, ils sont tous dedans pour lancer les script, en ssh tout simplement : python /path/to/script.py (ctrl-c pour quitter) et pour le lancer au demmarage du syno, une fois que cela fonctionne correctement il suffit d'ajouter la ligne suivante au /ect/rc.local : python /path/to/script.py & ne pas oublier le & sans quoi il y aura des soucis 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
phil_riehl Posté(e) le 24 janvier 2015 Partager Posté(e) le 24 janvier 2015 Merci Gaetan pour ces infos tres utiles. Phone_detect marche nickel En ce qui concerne cam_enable_py, les caméras sont bien trouvées (je vois bien l adresse ip des caméras), mais par contre les caméras ne se désactivent pas quand je désactive le wifi du téléphone (aucun message d'erreur') alors que je passe bien dans la bouclé de désactivation.dans cam_enable.py J'ai du rater une étape je pense,mais je ne trouve pas d'ou vient le probleme :-( 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 24 janvier 2015 Partager Posté(e) le 24 janvier 2015 à la main, en ssh quand tu tape : python cam_enable.py 0 çà te désactive la caméra ou pas ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
phil_riehl Posté(e) le 26 janvier 2015 Partager Posté(e) le 26 janvier 2015 Ben justement non. J'ai ajouté des traces dans le script cam_enable et donc je vois qu'on passe bien dans la phase init puis login pour désactivation de la camera, mais au final la caméra n'est pas désactivée et pas de message d'erreur. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 26 janvier 2015 Partager Posté(e) le 26 janvier 2015 en fait, c'est bizarre, car en cas d'erreur (si l'api ne renvoie pas success), j'ai mis un print du message d'erreur ce qui voudrait dire que l'api renvoie success mais ne desactive pas la camera ce que tu peux faire pour etre sur c'est à la ligne 20 avant "return j" ajouter un print de j (c'est la reponse de l'api au format json) ainsi tu aura toute les reponses et on saura ce qui va pas et pourquoi pas poster les reponses ici, je comprendrai p-e ce qui va pas 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
kagou Posté(e) le 26 janvier 2015 Partager Posté(e) le 26 janvier 2015 Bonjour, QUESTION : Qu'est ce qui, pour vous, motive le besoin de démarrer-arreter l'enregistrement des caméras en fonction de votre présence ou pas ? - Raisons Techniques ? (limiter l'occupation disques/saturation des files systems ?) - Raisons Ethiques ? (Qua votre femme ne vous voit pas manger avec les doigts quand elle n'est pas là ?) Tech: Avec la gestion des quotas disque par cam que permet SS c'est qque chose qui me semble sous contrôle non ? Eth : Un pb survient quasiment toujours "sans prévenir" que vous soyez là ou pas...exemple, vous êtes dans le jardin et un cambrioleur rentre par la baie vitrée du salon que vous avez laissée ouverte...mais comme vous êtes a portée wifi, donc SS est OFF...Aie....mon beau système de vidéo surveillance n'a servi à rien...(ca c'est une reflexion directe de Madame.. ) ATTENTION: je ne critique aucunement la réalisation des scripts que vous avez faites (c'est même plutôt sympa et mériterait une integrations dans les tools du système); je me demande juste "pourquoi faire cela"....vous avez surement d'excellentes raisons, mais je n'arrive pas à les identifier... Merci de vos lumières et si ca se trouve je vais y venir... A+ K. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cayou2000 Posté(e) le 26 janvier 2015 Partager Posté(e) le 26 janvier 2015 je pensais pareil, t'oublie ton tel à la maison et c'est le jour choisi pour un cambriolage (avec du culot ils prennent pas le nas mais prennent le tel et tu as un beau blanc pendant leur intervention ;-) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
phil_riehl Posté(e) le 27 janvier 2015 Partager Posté(e) le 27 janvier 2015 Gaetan Voici le resultat: apparemment la valeur de json est Success...pourtant la camera n'est pas désactivée et continue à enregistrer... Quand le wifi fonctionne INIT JSON: {u'data': {u'sid': u'Usid value'}, u'success': True} LOGIN JSON: {u'data': {u'total': 2, u'cameras': [{u'status': 0, u'name': u'Cam2', u'ownerDsId': 0, u'recStatus': 0, u'enabled': True, u'host': u'IP1', u'privilege': 15, u'id': 2}, {u'status': 0, u'name': u'Cam 1', u'ownerDsId': 0, u'recStatus': 0, u'enabled': True, u'host': u'IP2', u'privilege': 15, u'id': 4}], u'offset': 0}, u'success': True} JSON: {u'success': True} DESACTIVATION CAMERA JSON: {u'success': True} LOGOUT Et voici ce que j'obtiens quand je coupe le Wifi INIT JSON: {u'data': {u'sid': u'Usid value'}, u'success': True} LOGIN JSON: {u'data': {u'total': 2, u'cameras': [{u'status': 0, u'name': u'Cam2', u'ownerDsId': 0, u'recStatus': 0, u'enabled': True, u'host': u'IP1', u'privilege': 15, u'id': 2}, {u'status': 0, u'name': u'Cam 1', u'ownerDsId': 0, u'recStatus': 0, u'enabled': True, u'host': u'IP2', u'privilege': 15, u'id': 4}], u'offset': 0}, u'success': True} JSON: {u'success': True} ACTIVATION CAMERA JSON: {u'success': True} LOGOUT 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 27 janvier 2015 Partager Posté(e) le 27 janvier 2015 (modifié) question p-e bete, mais tu as 2 camera : tu ne te trompe pas de camera en testant ? 0 = cam2; 1 = cam1 le programme se base pas sur leur id (qui apparemment est incrémenter à chaque ajout/suppression de camera) mais a leur ordre dans l'api (en y pensant, j'ai jamais tester avec 2 camera (pas le materiel chez moi pour le faire), mais je suppose qu'elle arrivent toujours dans le meme ordre) Modifié le 27 janvier 2015 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
phil_riehl Posté(e) le 27 janvier 2015 Partager Posté(e) le 27 janvier 2015 Cam2 et Cam1 sont des noms que j'ai attribué moi même et donc je ne pense pas que cela puisse poser problème. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 9 février 2015 Partager Posté(e) le 9 février 2015 Modification du script cam_enable.py : modification ligne 40 : avant : sid = ret['data']['sid'] après : sid = '"' + ret['data']['sid'] + '"' Raison : Erreur 105 aléatoire (quand le sid commence par un chiffre apparemment) a++ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Wangzi Posté(e) le 9 mars 2015 Partager Posté(e) le 9 mars 2015 Bonsoir, Je n'ai malheureusement pas lu l'intégralité des échanges, pas le temps ce soir Aussi ne m'en veuillez pas si j'ai loupé des choses... Moi ce qui m'intéresse, c'est de désactiver facilement les notifications quand je suis présent ou quand je le souhaite (mais pas les enregistrements et donc les caméras). Pensez vous que ce soit possible et si oui, comment? En vous remerciant, 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 10 mars 2015 Partager Posté(e) le 10 mars 2015 (modifié) ben, il y a pas de moyen simple de desactiver les notification à la demande Modifié le 10 mars 2015 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
amemo06 Posté(e) le 11 mars 2015 Partager Posté(e) le 11 mars 2015 Salut Kagou, perso, je suis très interréssé par ces scripts. Un peu moins par l'activation quand un device (telephone) est dans la zone. Je vais plutot m'orienter vers une activation/desactivation d'une cam pour une durée précise. eg: 1 h, Pour répondre à la question du pourquoi. Ben une des cam surveille un des coté du domicile. Mais c'est aussi le coté terrasse, bronzage, ... La petite famille n'est pas très heureuse d'avoir en permanence l'oeil de sauron sur eux. Perso, ca ne me dérange pas vu que je diffuse pas les enregistrements... Mais bon, faut ménager les susceptibilités. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.