Aller au contenu

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


Lazer

Messages recommandés

pour info :

$SYNO_API = array
(
'v6' => array(
'LIST' => '/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&method=List&version=1&additional=device,video',
'ENABLE' => '/webman/3rdparty/SurveillanceStation/cgi/camera.cgi?action=cameraEnable&UserId=1024&idList=',
'DISABLE' => '/webman/3rdparty/SurveillanceStation/cgi/camera.cgi?action=cameraDisable&UserId=1024&idList=',
'START' => '/webapi/SurveillanceStation/extrecord.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=2&action=start&cameraId=',
'STOP' => '/webapi/SurveillanceStation/extrecord.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=2&action=stop&cameraId=',
'STATUT' => '/webapi/SurveillanceStation/camera.cgi?api=SYNO.SurveillanceStation.Camera&method=GetInfo&version=1&cameraIds=',
),
'v7' => array(
'LIST' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=List&version=1',
'ENABLE' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=Enable&version=3&cameraIds=',
'DISABLE' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=Disable&version=3&cameraIds=',
'START' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=2&action=start&cameraId=',
'STOP' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalRecording&method=Record&version=2&action=stop&cameraId=',
'STATUT' => '/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetInfo&version=2&cameraIds=',
)
);

l'authentification n'a pas changée. 

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Cela fait 4 heures que je me prends la tête avec mon Syno, et heureusement que j'ai eu le courage de vous lire jusqu'au bout.

Ma version de DSM est DSM 5.1-5022 Update 5 et de Surveillance station 7.0-3762.

Mon problème :

J'ai pu démarrer l'enregistrement via HC2 et Synology.

Mais je ne peux plus l'arrêter :angry: : même en direct via la Synology (j'ai du désactiver la caméra pour arrêter l'enregistrement), et ce malgré un débug du bouton stop qui dit que l'enregistrement est arrêté, mais le main loop continue de faire parfaitement son job, car lui aussi détecte qu'on est en mode enregistrement.

 

Docteur, ce serait la version de l'API qui serait la cause ?

Lien vers le commentaire
Partager sur d’autres sites

@Jojo,

 

j'ai eu le même problème, et comme dit Lazer, lol j'avais faillit péter un boulon, c'est la détection de mouvement qui me re activait les cameras, du coup, j'ai positionner des zones de détections, plus de problèmes.

Lien vers le commentaire
Partager sur d’autres sites

"il n'y a pas de mystère, il n'y a que des conneries" ...

 

Après avoir tout essayé (stop détection par caméra, stop détection par syno, arrêt de SS et redémarrage, ...)

Je me suis dit qu'il ne restait plus qu'une chose à  faire : déinstaller SS et tout refaire => je fais des screenshots de ma config, et je vois que dans le schedulling des enregistrements, il était programmer pour enregistrer en continu !

 

Bête jojo

 

Mais bon, soit, ça marche impeccable. Merci à  tous

Lien vers le commentaire
Partager sur d’autres sites

c'était une bonne nouvelle, mais depuis il refait des siennes, il enregistre de nouveau en continu  :angry:

Mais il faut que je trouve. Il y a un truc.

 

Comme tu travailles sur une version "améliorée", je me permet de te soumettre quelques idées, qui sont peut-être déjà  prises en compte, mais comme je n'ai pas pu tout tester :

  1. Je voulais faire une paire de bouton Start/Stop par caméra (je suppose que c'est déjà  ok)
  2. Je rajoute un label avec le nom de la caméra, et ce serait bien, caméra par caméra, d'afficher son status : Disable/Enable/Recording
  3. Le main loop lui surveille si au moins 1 des caméras est en mode record.
  4. Avec l'ajout de Enable/Disable des caméras, je le ferais bien également par caméra (icône de la caméra avec une croix rouge ?)
  5. donc si on démarre un recording, on devrait d'abord faire enable (si elle est disale)
  6. Si le main loop pouvait également surveiller si Enable/Disable et afficher l'icône Disable si une des caméras est disable, et l'icône recording si aucune caméra disable et au moins 1 en recording

Je n'en demande pas trop j'espère ? Voilà  donc ma FSP (functional spec) si je peux me permettre

Lien vers le commentaire
Partager sur d’autres sites

@jojo

 

Pour la prochaine version :

 

1. Tu peux le faire manuellement en copiant/collant le code dans une paire de nouveaux bouton et en modifiant juste la variable 'camera'. Il est trop compliqué d'automatiser ça, car il faut faire un virtual device capable de s'auto-modifier en ajoutant ses propres boutons.

2. Pas prévu.... mais même problème que précédemment : le module virtuel doit s'auto-modifier pour cela, pas évident.
3. Oui ça fonctionne comme ça :)
4. Les boutons Enable/disable sont prévus, et voir le point n°1 pour la gestion individuelle des caméras
5. Pas prévu.... je vais voir si je peux ajouter ça
6. Oui ça fonctionne comme ça :)

Lien vers le commentaire
Partager sur d’autres sites

Merci Lazer.

Copier des boutons et leur code, c'est dans mes compétences. Maintenant que j'ai tout réglé au niveau de mon Syno (c'était une corruption dans la définition des caméras : delete et add à  nouveau, et c'est ok  :) ). Et donc j'ai validé que l'on pouvait dupliqué les boutons  :60:

Evidemment l'auto modification du code d'un VD, je n'avais même pas oser y penser. Ce serait éventuellement pour Steven ou Krikroff...

Je pensais à  beaucoup plus simple :

définir au début du main loop une table avec le n° de la camera et l'id du label pour son status

local labels = {
 3 = "LabCam1",
 5 = "LabCam2", }

et ton code remplirait le status adéquat pour chaque caméra dans une autre table simitaire.

et à  la fin on affiche le tout ?

Le plus dur me semble ton code où tu dois aller rechercher les infos sur le Syno, le reste me semble à  notre portée ...

Lien vers le commentaire
Partager sur d’autres sites

En fait, l'auto modification de VD a déjà  été fait.... je crois de mémoire que c'est une télécommande Samsung trouvée sur le forum officiel. Le code est "ouf", il va charger les icones sur son serveur web, et tout et tout.... un sorte de module qui s'auto-installe. Bref, faut avoir du temps à  y passer.

 

En fait, ma nouvelle version détecte tout seul les caméras, stocke ça dans un label, et s'en sert dans les autres boutons :

- si tu ne paramètres pas la variable 'cameras' des autres boutons, alors il prend la liste des caméras détectées

- si tu paramètres la variable 'caméras' des autres boutons, alors il ne travaille que sur les caméras de ton choix....ce qui te permet de copier/coller les boutons.

 

Il me reste juste à  travailler sur la partie de la main loop, car j'ai des déconnexions de temps en temps. Mais déjà  elle est super stable, aucun plantage en plusieurs semaines malgré des Net.Fhttp et json.decode en pagaille, même en v3 :)

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Synology vient de sortir DSM 5.2

Maintenant que ton module fonctionne chez moi, est-ce que je peux appuyer le bouton "upgrade" du Synology, ou bien je risque que plus rien ne fonctionne ?

Lien vers le commentaire
Partager sur d’autres sites

Facile : tu appuies sur le bouton, et tu nous fais un retour :P

 

Sachant que Nico sur le topic dédié à  Xpenology vient de nous dire d'attendre avant de faire la mise à  jour, je ne peux pas tester.

 

Mais bon, ceci dit, il n'y a pas de raison que ça ne fonctionne pas, normalement le code s'adapte parfaitement aux évolutions de l'API.

Lien vers le commentaire
Partager sur d’autres sites

oui je te filerai déjà  la nouvelle version en privé si ça déconne, normalement elle est plus robuste (y'a des tests/vérifications de partout)

 

EDIT : bon bah voilà , merci PITP2 :)

Modifié par Lazer
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...