Aller au contenu

Piloter L'enregistrement Des Caméras Avec Synology Surveillance Station


Messages recommandés

Posté(e)

comme tu as l'air tu champion làdedans également, installe-le et tu deviens notre volontaire chinois pour trouver la source du bug d'authentification ?

MERCI

Pour ton info, je remets (EN ATTACHEMENT) le debug.

DebugSurveillance.txt

J'ai fait comme le maître a dit : utilisateur dédié

Posté(e)

Jojo ton problème d'authentification c'est le même que moi.... je pense que c'est un bug de DSM qui n'aime pas les connexions/déconnexions trop fréquentes.

Comme je disais, je pense qu'il faudrait conserver le SID pendant toute sa durée de vie, et dès que DSM l'expire, alors on repasse par l'auth pour obtenir un nouveau SID. Celui-ci serait conservé dans une variable globale (ou un label du VD).

Posté(e)

faut surtout maitriser LUA sur HC2 là, du classique sur ce forum :)

et vu que tu maitrises des fonctions inédites de conversion héxa, je suis sur que tu peux y arriver aussi ;)

Posté(e)

pour la conversion hexa, j'ai fait une simple recherche sur google de 2 min.

J'étais déjàen train de regarder le code et d'essayer de trouver où on utilisait ce fameux SID.

Si tu savais me donner le n° de ligne dans le premier bouton et dans le main loop, je regarderai

Posté(e)

rebonjour à  tous,

 

comme évoqué juste avant la suppression du blocage ip m a permis d avancer mais je suis confronté à  une autre erreur dans la partie List :

 

[ERROR] 07:20:14: line 104: attempt to concatenate field 'model' (a nil value)

 

Ca me met ok pour enable / disable mais failed pour start/stop
 
Comme la détection des cameras est en auto avec la v4 de ce dv dois je faire qq chose au niveau des id pour les faire apparaitre dans le dv ? faut il toujours également utiliser le toolkit évoqué en bas de tuto pour compléter les éléments de la boucle ?
 
Merci de votre aide
Posté(e)

Etrange, il semble que l'API de DSM ne renvoie pas le modèle de ta caméra.

Essaye de remplacer la ligne 104 par ceci et donne moi le résultat :

Message(nil, nil, true, '<span style="color:green;">Found camera <b>'..jsonTable.data.cameras[i].name..'</b> ID=<b>'..jsonTable.data.cameras[i].id..'</b> Vendor=<b>'..(jsonTable.data.cameras[i].vendor or "")..'</b> Model=<b>'..(jsonTable.data.cameras[i].model or "")..'</b> Enabled=<b>'..tostring(jsonTable.data.cameras[i].enabled)..'</b> address='..jsonTable.data.cameras[i].host..'</span>')

Quand le bouton LIST fonctionnera, cela alimentera le label CAMERAS de ton module virtuel, ce qui devrait permettre à  tous les autres boutons de fonctonner correctement.

 

A noter que pour un usage standard il n'est nullement besoin de cliquer sur le bouton LIST, car la Main Loop le fait automatiquement au démarrage du module virtuel.

Par conséquent, le bouton LIST est surtout utile si on ajoute une caméra en cours de route sur le Syno.

 

Pour finir, si ton bouton LIST ne fonctionne toujours pas, ou que tu souhaites limiter l'usage des boutons ENABLE/DISABLE/START/STOP à  une caméra en particulier, tu peux modifier la variable cameras dans chacun de ces boutons, comme décris dans le tuto de la première page (me dire si ce n'est pas clair...)

Posté(e)

Salut Lazer,

J'ai commencé àregarder le code pour le process d'identification via SID.

Modifier suivant tes recommandations est complexe, surtout que tu as faits 3000 tests.

Je crains qu'il faille revoir le processus d'authentification, ce qui est loin d'être une mince affaire : ça me fait peur.

En écrivant ces lignes je me demande si on ne pourrait pas vérifier ton hypothèse de demande de clé SID trop fréquente en allongeant la période de vérification qui est maintenant à90s.

Si je passe à1000s et que j'observe toujours le problème, c'est que ce n'est pas ça. S'il n'y a plus le problème, c'est que ton intuition était bonne, et ça vaut la peine de revoir le code dans ce sens.

Qu'en penses-tu ?

Posté(e)

Ton analyse est tout à  fait pertinente et tu comprends maintenant pourquoi je n'ai pas déjà  fait cette modification !

 

Au sujet de ta remarque d'allongement du délai, j'y avais effectivement pensé, c'est pour cela que li module que j'ai partagé utilise 90s et non pas 60s.... cela m'avait permis de réduire la fréquence d'apparition du bug.

Par contre je n'ai jamais eu le courage de tester plusieurs durées jusqu'à  trouver celle qui ferait potentiellement disparaitre le bug. T'es motivé ? 1000s c'est peut être un peu abusif, mais on pourrait commencer par 300s (5 minutes)

Posté(e)

Mon objectif n'était pas de trouver la fréquence qui posait problème (si c'était la fréquence qui était la cause) mais de confirmer que c'était la fréquence qui était la cause.

D'où mon idée de passer à1000s, et si après 1 nuit ou 24h je n'ai pas d'erreur, on a confirmation de la cause. Ensuite "il n'y a plus qu'a" ...

Je viens de mettre à300s et on verra

Posté(e)

Avec mes 600s, le bug apparait en moyenne une fois par heure (mais pas toujours exactement au même moment....)

Ca donne quoi de ton coté Jojo ?

Posté(e)

Et pourquoi ne pas enregistrer le sid dans une variable, tenter une connexion avec ce sid en fixe et si erreur de permission exécuter un script qui redemande le sid et le mets àjour dans la variable ? Comme ça il y a demande de nouveau sid uniquement quand ce dernier a expiré.

Envoyé de mon iPhone en utilisant Tapatalk

Posté(e)

Ok désole. En ce qui me concerne mon script avec sid en dure fonctionne sans soucis... Jusqu'au prochain changement de sid...

Envoyé de mon iPhone en utilisant Tapatalk

Posté(e)

Oui c'est bien le souci du statique.... le sid change àchaque fois que tu reboote le Syno. Et certainement qu'il change aussi de temps en temps, j'imagine qu'il y a un délai d'expiration (plusieurs jours, semaines, mois, je ne sais pas)

Posté(e)

bon, même avec 3000s d'intervalle ça plante.

Donc la cause n'est pas la fréquence des requêtes.

En analysant de plus prêt le fichier log (voir attachement), il me semble avoir trouvé la vrai cause  :60:  :60:

Ton avis m'intéresserait Lazer.

Posté(e)

je suis vos tribulations depuis un petit moment.

J'ai le même problème d'erreur d'authentification avec l'appli officielle qui nécessite bien souvent de recommencer cette étape.

Posté(e)

C'est évident pourtant : cela dépend de l'âge du capitaine  :yes:

 

Plus sérieusement, on aura toujours l'erreur, et on ne pourra pas l'éviter. 

Je proposerais de si erreur de réessayer une deuxième fois dans la foulée, sans tout changer

×
×
  • Créer...