jojo Posté(e) le 16 juin 2015 Signaler Posté(e) le 16 juin 2015 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é
Lazer Posté(e) le 16 juin 2015 Auteur Signaler Posté(e) le 16 juin 2015 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).
jojo Posté(e) le 16 juin 2015 Signaler Posté(e) le 16 juin 2015 on ne soutraiterait pas ton idée à Zorgonaute84 qui semble maîtriser ?
Lazer Posté(e) le 16 juin 2015 Auteur Signaler Posté(e) le 16 juin 2015 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
famillepique Posté(e) le 16 juin 2015 Signaler Posté(e) le 16 juin 2015 Bravo Zargonaute84, ç était bien le blocage ip !! Ça marche pour activer et désactiver Par contre j ai rien dans list, normal ?
jojo Posté(e) le 16 juin 2015 Signaler Posté(e) le 16 juin 2015 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
Lazer Posté(e) le 16 juin 2015 Auteur Signaler Posté(e) le 16 juin 2015 recherche "sid" tout simplement dans le code source.
famillepique Posté(e) le 17 juin 2015 Signaler Posté(e) le 17 juin 2015 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
Lazer Posté(e) le 17 juin 2015 Auteur Signaler Posté(e) le 17 juin 2015 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...)
famillepique Posté(e) le 17 juin 2015 Signaler Posté(e) le 17 juin 2015 Merci Lazer, c est top ça fonctionne !!
Lazer Posté(e) le 17 juin 2015 Auteur Signaler Posté(e) le 17 juin 2015 Cool, bon j'ajouterai cette amélioration àla prochaine version du module.
jojo Posté(e) le 17 juin 2015 Signaler Posté(e) le 17 juin 2015 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 ?
Lazer Posté(e) le 17 juin 2015 Auteur Signaler Posté(e) le 17 juin 2015 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)
jojo Posté(e) le 17 juin 2015 Signaler Posté(e) le 17 juin 2015 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
Lazer Posté(e) le 17 juin 2015 Auteur Signaler Posté(e) le 17 juin 2015 oui ok parfait alors bon du coup j'ai mis 600, donc pareil on verra demain si ça change qqch.
jojo Posté(e) le 17 juin 2015 Signaler Posté(e) le 17 juin 2015 j'ai déjàune erreur après 30 min, je passe à3000s
Lazer Posté(e) le 18 juin 2015 Auteur Signaler Posté(e) le 18 juin 2015 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 ?
Zorgonaute84 Posté(e) le 18 juin 2015 Signaler Posté(e) le 18 juin 2015 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
Lazer Posté(e) le 18 juin 2015 Auteur Signaler Posté(e) le 18 juin 2015 Oui c'est exactement ce qu'on disait hier
Zorgonaute84 Posté(e) le 18 juin 2015 Signaler Posté(e) le 18 juin 2015 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
Lazer Posté(e) le 18 juin 2015 Auteur Signaler Posté(e) le 18 juin 2015 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)
jojo Posté(e) le 18 juin 2015 Signaler Posté(e) le 18 juin 2015 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 Ton avis m'intéresserait Lazer.
PITP2 Posté(e) le 18 juin 2015 Signaler Posté(e) le 18 juin 2015 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.
Lazer Posté(e) le 18 juin 2015 Auteur Signaler Posté(e) le 18 juin 2015 Jojo, tu peux préciser ta pensée ? J'avoue qu'àla vue de ton log, je ne vois rien de vraiment nouveau.
jojo Posté(e) le 18 juin 2015 Signaler Posté(e) le 18 juin 2015 C'est évident pourtant : cela dépend de l'âge du capitaine 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
Messages recommandés