Aller au contenu

Activer/d


Sylar

Messages recommandés

@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)

Lien vers le commentaire
Partager sur d’autres sites

Bon, comme promi, voila le script, facile d'utilisation, et redigé en ... PYTHON :P

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)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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é par Gaetan Cambier
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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é par Gaetan Cambier
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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 :-(

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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... :D

A+

K.

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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é par Gaetan Cambier
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 1 mois après...

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,

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.