Forum Lifedomus

Version complète : Connecteur Synology Surveillance Station
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3
@grichka,
évidemment, ça fonctionne ! Eek-1e6fb 
MERCI donc, et j'ai enfin compris ce qui était expliqué dans la doc à ce sujet.

Et du coup, je pourrais peut-être créer une variable de type liste, pour pouvior utiliser dans DS le status de mes caméra. A voir.
Merci en tout cas de ton aide.
Impec tout ca, si vous avez réussi à implémenter la gestion des cam sous Surveillance Station .  Eek-1e6fb

@jojo, maintenant que tu es rodé avec JS, je te laisse me faire la même chose pour mon Qnap ?  Cool-1614
Donc @jojo ça donne quoi le code ? Et au niveau LD ça donne quoi ?
@moicphil,
Je ne connais pas Qnap.
Mais c'est quand-même grâce à @grinchka que j'y suis arrivé,
même s'il me reste encore beaucoup à faire pour terminer.
Si maître @grinchka est ok (et je je trouve le courage/le temps), je partagerais bien ma solution finale sous forme d'un tuto  avec tout et tout.

@pepite,
Voici le code JavaScript "final"

Citation :maxcameras = 4
obj = JSON.parse(trame)
if (typeof obj.data != "undefined") {
    // Update SID
    if (typeof obj.data.sid != "undefined") {
        Idsession = obj.data.sid
        ldprint ("ID : " + Idsession)
    // Status of cameras
    } else if (typeof obj.data.total != "undefined") {
        ldprint ("data.total (cameras) : " + obj.data.total)
        if (obj.data.total > maxcameras) {
            total = maxcameras
        } else {
            total = obj.data.total
        }
        ldprint ("total = " + total)
        for (i=0; i < total; i++) {
            ldprint ("data.cameras[" + i + "].id : " + obj.data.cameras[i].id)
            eval ("Cameras" + i + "_id = obj.data.cameras[" + i + "].id")
            ldprint ("data.cameras[" + i + "].name : " + obj.data.cameras[i].name)
            eval ("Cameras" + i + "_name = obj.data.cameras[" + i + "].name")
            ldprint ("data.cameras[" + i + "].recStatus : " + obj.data.cameras[i].recStatus)
            eval ("Cameras" + i + "_recStatus = obj.data.cameras[" + i + "].recStatus")
            ldprint ("data.cameras[" + i + "].enabled : " + obj.data.cameras[i].enabled)
            eval ("Cameras" + i + "_enabled = obj.data.cameras[" + i + "].enabled")
        }
    }
} else {
    ldprint ("else obj.data : " + obj.success)
}
success = obj.success
pour les automates, j'en ferai 3 :
  1. SS_actions : recording ON/OFF - enable/disable
  2. SS_SID_update : pour  générer un nouvel SID, si nécessaire
  3. SS_status : pour mettre à jour le status des caméras.
A titre personnel, je lance un nouveau SID à chaque action et je termine toujours par un logout. Je ne suis pas sûr qu'il soit bon de laisser trainer une session "ouverte".  Je ne sais pas si cela peut poser, par exemple, problème à l'accès à la Surveillance Station (portable, autre PC ...) si une session est déjà ouverte ?

Un jour, j'ai vu un fichier envoyé par un membre de l'équipe lifedomus (module météo ?), dont le téléchargement et l'installation te mettait tout en place (le Javascript, l'équipement universel, les commandes, les variables ...). Je trouverai cela intéressant mais je ne sais pas comment faire.
justement, ce que je fais, c'est ne PAS fermer les sessions sur SS.
J'avais constaté sur HC2, et déjà sur la LD, que SS n'aime pas fournir trop souvent des sid.

Donc mon automate fonctionnera en laissant la session ouverte, réutilisant l'ancien sic, et si ça ne fonctionne pas, il fait un logout, demande de nouveau SID et relance l'opération.
grâce à tous les conseils de @grichka, j'ai développé une solution 100% LD qui fonctionne pour :
  • activer / désactiver une caméra
  • démarrer / arrêter l'enregistrement d'une caméra
  • vérification toutes les 5 secondes du status des caméras (enabled/disabled/record ON/record OFF), sans passer par le planificateur
  • lister toutes les caméras présentes su SS, avec leur id et leur nom.
Y en a-t-ils(elles) qui seraient intéressé(es) par un tuto complet de la solution ? (Je ne le ferais que si il y a vraiment des candidat(e)s, car cela prendra BEAUCOUP de temps à le faire correctement)
Moi je serai super intéressé par ton tuto  Amen-1fb6
il est dans ma signature
Pages : 1 2 3