Aller au contenu

Surveillance Station Manager


Messages recommandés

Posté(e) (modifié)

Synology

Surveillance Station Manager

 

 

261586335_Sanstitre7.thumb.png.092d2b5d4c58238f21f373d2ccc4770b.png46935292_Sanstitre7.thumb.png.d721a0b2bca3b3d2f3ada2d62e92ab83.png

 

 

Préambule :

 

Après avoir étudier les différentes solutions suivantes de pilotage et gestion des notifications de Surveillance Station (SS) :

  • YAPUSS - Passerelle "Universelle" Surveillance Station de @sebcbien)
  • le VD Synology Surveillance Station de @Lazer
  • l'application DS CAM
  • l'application Surveillance Station disponible sur le NAS

 

J'ai trouvé qu'il me manquait sur ma HC2

  • La possibilité d'exploiter la fonction de présence au domicile disponible sur Surveillance Station (SS) avec :
    • la possibilité modifier ce statut et de l'intégrer dans les règles d'actions de Surveillance Station pour Activer/Désactiver les cameras, l'enregistrements, les notifications, ...) 
    • d'utiliser ce statut dans la HC2 pour déclencher des actions
  • la possibilités de piloter et d'avoir individuellement pour chacune des caméras un retour d'état sur :
    • Etat : Marche/Arrêt (SS ne visualisant plus le flux vidéo de la CAM)
    • Type de détection de mouvements (par la CAM, par Surv. Station, Détecteurs externes)
    • Enregistrement : Marche/Arrêt
    • Position PTZ de la CAM. Si la fonctionnalité est disponible sur la CAM
  • la possibilité d'indiquer à Surveillance Station de déclencher via les règles d'actions des enregistrements, snapshot, notifications (mail, push, sms) en fonction d'événements extérieurs (détecteurs de mouvements, ...).

 

Du coup, j'ai entrepris de capitaliser sur le travail de @Lazer sur son VD Surveillance Station, ainsi que son VD et Scène MusicCast et une nouvelle solution de management de Surveillance Station.

 

Le Projet :

 

L'idée générale étant de disposer sur nos HC2 d'une nouvelle solution de management des caméras sous Surveillance Station sous la forme :

  • d'un Virtual Device (VD) général qui done une vision d'ensemble de l'état des caméras et d'un pilotage globale de celles-ci
  • Un VD par caméra qui permet de piloter individuellement chaque caméra.
  • Une scène qui consolidera l'ensemble des actions de pilotage des caméras appelée depuis les VD par la fonction Call startScene() avec passage de paramètres.
    • à nommer Surv Station Manager

 

Les différentes fonctions et statuts disponibles sont les suivants :

  • A partir du VD général :
    • Modification du mode Présence/Absence au domicile.
      • Cela permet notamment de désactiver les notifications automatiques disponibles SS
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD.
    • Modification du mode Marche/Arrêt d'un coup toutes les caméras.
      • Cela permet de ne plus rendre visible le flux vidéo des caméras ni sous les plugins HC, ni sous l'application SS.
      • Cela permet de limiter l'atteinte à la vie privée des personnes présentes dans la maison.
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD.
    • Modification du mode Marche/Arrêt de l'enregistrement de toutes les caméras
      • A utiliser par exemple dès lors que votre HC2 détecte une intrusion ou à la demande depuis votre smartphone.
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD.
    • Déclencher la prise des snapshot (capture d'une photo) sur toutes les caméras d'un coup
      • Celles-ci sont stocker sur SS
    • Communiquer un événement externe à SS (Comme par exemple : une détection de mouvement, ouverture d'un ouvrant ou tout autre événement à votre convenance)
      • Celui-ci peut être repris dans la fonctionnalité de gestion de Règles d'Actions disponible sous SS.
      • Ces Règles d'Actions sont notamment utiles pour déclencher des notifications de type (SMS, Push, Mail) pour signaler un événement.
      • Vous avez jusqu'à 10 événements différents sont disponibles.
    • Le Nom et l'Identifiant de chacune des caméras disponible sur SS
    • L'indication de l'état de chacune des caméras :
      • Activée/Désactivée
      • En cours d'enregistrement
      • Le mode de détection en cours (soit : par la Caméra, par SS, par un événements externes)
    • Retour d'info sur les actions manuelles effectuées sur le VD.

 

  • A partir des VD individuel pour chaque caméra :
    • Modification du mode Marche/Arrêt de la caméra
      • Cela permet de ne plus rendre visible le flux vidéo des caméras ni sous les plugins HC, ni sous l'application SS.
      • Cela permet de limiter l'atteinte à la vie privée des personnes présentes dans la maison selon la zone couverte par la caméra. Ex. : Laisser l'activation des caméras extérieures ou d'un garage alors que celle celles à l'intérieur sont arrêtées
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD.
    • Modification du mode Marche/Arrêt de l'enregistrement de la caméra
      • A utiliser par exemple dès lors que votre HC2 détecte une intrusion sur une zone précise.
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le Statut remonte automatiquement sur le VD.
    • Déclencher la prise d'un snapshot (capture d'une photo) sur la caméra.
      • Celui-ci est stocker sur SS
    • Changer le mode de détection de la caméra soit par la Caméra, par SS, par un événements externes)
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. Le mode remonte automatiquement sur le VD.
    • Le Nom de la caméra définit dans SS
    • Un indicateur informant de la détection d'un mouvement soit par la Caméra ou Surveillance Station). En cours de développement.
    • Modification de la position PTZ de la caméra :
      • Jusqu'à 4 positions sont disponibles
      • Cette fonctionnalité étant également disponible sur votre smartphone via l'application DS CAM ou SS. La position remonte automatiquement sur le VD.
    • Retour d'info sur les actions manuelles effectuées sur le VD.

 

A partir des variables globales suivantes :

 

    VG_SSM_Parameters : Contient dans un tableau l'ensemble des informations suivantes :

 

  • SceneID = l'id de la scène Surv. Station Manager
  • SID = Identifiant généré à partir des données utilisateurs enregistrées dans le Main Loop de la scène Surv. Station Manager
  • HomeMode = Indicateur pouvant prendre la valeur true (présence au domicile) ou false (absence du domicile)
  • Cameras = Tableau contenant l'ensemble des informations relatives aux caméras
    • ID = Identifiant de la caméra dans Surveillance Station, (13) pour la première caméra dans l'exemple ci-dessous.
    • Cam_Name = Nom de la caméra dans Surveillance Station
    • CameraStatus = Valeur de 1 à 5 correspondant au différent statuts que peut avoir la camera (0: ENABLED, 1: DISABLE, 2: ACCTIVATING, 3: DISABLING, 4: RESTARTING, 5: UNKNOWN)
    • Cam_Enabled =  Indicateur pouvant prendre la valeur true (caméra activée, Cf valeur 0 ->  CameraStatus) ou false (caméra arrêtée, Cf valeur 1, 2 ,3, 4, 5 ->  CameraStatus)
    • Cam_Motion_Source = Indicateur (-1, 0, 1) sur la source de détection de mouvement, soit -1=disable (événements externes), 0=by_camera (par la caméra), 1=by_surveillance (Par le logiciel Surveillance Station)
    • Cam_Motion_Disabled = Indicateur pouvant prendre la valeur true (détection de mouvement selon source externe, Cf. valeur -1 -> Cam_Motion_Source) ou false (détection de mouvement selon source externe non activée, Cf. valeur 0 et 1 -> Cam_Motion_Source).
    • Cam_Recording = Indicateur pouvant prendre la valeur true (enregistrement en cours) ou false (enregistrement arrêté)
    • Cam_WithPTZ = Indicateur précisant la capacité de la caméra à supporter les fonctionnalités PTZ
    • Cam_PTZ_Position_id = Identifiant de la position PTZ actuelle de la caméra
    • Cam_PTZ_Position_name = Désignation (libellé) de la position PTZ actuelle de la caméra (dans surveillance Station

 

Nota : Attention la modification des valeurs de la variable globale (VG_SSM_Parameters), n'agit pas sur le fonctionnement de surveillance Station. Elles sont à utiliser qu'en lecture seule.

 

Voir exemple ci-dessous :

{  "SceneID":105,
   "SID":"xxxxxxxxxxxxxxxxxxxxxx",
   "HomeMode":false,
   "Cameras":{
      "13":{
         "Cam_VD_Id":439,
         "Cam_WithPTZ":false,
         "Cam_Recording":false,
         "CameraStatus":5,
         "Cam_PTZ_Position_id":"",
         "Cam_PTZ_Position_name":"",
         "Cam_Motion_Source":-1,
         "Cam_Name":"Terrasse",
         "Cam_Motion_Disabled":true,
         "Cam_Enabled":false
         },
      "12":{
         "Cam_VD_Id":438,
         "Cam_Motion_Source":-1,
         "Cam_Recording":false,
         "CameraStatus":5,
         "Cam_PTZ_Position_id":"",
         "Cam_PTZ_Position_name":"",
         "Cam_WithPTZ":false,
         "Cam_Name":"Garage",
         "Cam_Motion_Disabled":true,
         "Cam_Enabled":false
         },
      "14":{
         "Cam_VD_Id":440,
         "Cam_Motion_Source":-1,
         "Cam_Recording":false,
         "CameraStatus":5,
         "Cam_PTZ_Position_id":"",
         "Cam_PTZ_Position_name":"",
         "Cam_WithPTZ":false,
         "Cam_Name":"Jardin",
         "Cam_Motion_Disabled":true,
         "Cam_Enabled":false
         },
      "10":{
         "Cam_VD_Id":436,
         "Cam_WithPTZ":false,
         "Cam_Recording":false,
         "CameraStatus":5,
         "Cam_PTZ_Position_id":"",
         "Cam_PTZ_Position_name":"",
         "Cam_Motion_Source":-1,
         "Cam_Name":"Salon",
         "Cam_Motion_Disabled":true,
         "Cam_Enabled":false
         }
   },
   "CameraList":"10,12,13,14",
   "pathAuth":"auth.cgi",
   "pathRecord":"entry.cgi",
   "pathCamera":"entry.cgi"  
}

 

VG_SSM_User_Data  contient l'ensemble des paramètres utilisateurs afin de pouvoir les échanger entre les VD et la scènes et simplifier le parmétrage de l'ensemble à un seul endroit (le Main Loop du VD général).

 

VG_SSM_Status contient le statut (traduit en français) de l'ensemble des caméras, tel qu'il était géré dans le VD Surveillance Station de @Lazer pour ceux qui souhaite conserver ce mode de fonctionnement avec la correspondance de valeurs suivantes (traduit en français) :

    Enable       = "Activé",
    Disabled      = "Désactivé",
    Activating   = "Activation",
    Disabling    = "Désactivation",
    Restarting   = "Redémarrage",
    Recording    = "Enregistrement",
    Unknown  = "Inconnu",

    ???  = "???",

 

Nota : les variables sont crées automatiquement  :74:

 

Pré-requis :

  1. Disposer d'une HC2
  2. Disposer d'un NAS Synology avec Surveillance Station
  3. D'une ou plusieurs caméras configurées sur Surveillance Station

 

Installation :

  1. Télécharger et installer le :
    1. Virtual Device Générale
    2. Virtual Device Individuel pour chacune des caméras
    3. La scène qui gère les actions lancées depuis le VD. A nommer Surv Station Manager
  2. Télécharger l'icône ci-dessous ou fabrique la votre
  3. Associez l'icône (standby) à chacun des boutons du VD, ce sera plus jolie ;) même si les changements de statuts mettrons à jour l'icône automatiquement.

 

Configuration :

 

Du Virtual Device Général :

 

99% du paramétrage se fait ici ;) merci qui ?

 

Dans l'onglet Avancé du VD import, il convient de renseigner de :

 

Renseigner la paramètre de Adresse IP du VD, l'adresse de votre NAS Synology.

Renseigner la paramètre de Port TCP du VD, le port sur lequel vous accédez à l'application Surveillance Station (probablement 5000).

 

dans la boucle principale (main loop) du VD les variables utilisateurs :

  • login et le mot de passe mettant d'accéder à Surveillance Station
  • dans le tableau (List_CAM) la liste des ID de vos CAM avec l'ID du VD correspondant et permettant le pilotage individuel de chaque caméra
  • dans le tableau (List_PTZ_PRESET) la liste des ID de vos CAM avec la liste des différentes positions PTZ que vous souhaitez utiliser (4 maxi par Caméra)
  • dans le tableau (List_ExternalEvent) la liste des différents événements extérieurs que vous souhaitez utilisés dans les règles d'actions dans SS
  • Les ID des icônes correspondants aux 3 états des caméras (standbyIcon, recordIcon, disableIcon). Voir les icônes ci-dessous.

Vous avez également la possibilité de changer :

  • les emoji utilisés pour chacun des statuts
  • le contenu textuel (traduction dans la langue de votre choix) et emoji utilisés pour le contenu des Label mais également ceux affichés en entête des Label et Boutons.

 

Supprimer les éventuelles Label de statut des caméras qui sont inutiles (Il y en a 10, vous en avez probablement moins)

 

Je vous déconseille de modifier les noms des variables globales. Même si c'est toujours possible. Il vous faudra également faire les modifications dans la Scène et chacun des boutons des 2 VD. Nota, les variables sont crées automatiquement.


Du Virtual Device individuel pour les caméras :


Dans l'onglet Avancé du VD importé, il convient renseigner dans le paramètre Port TCP l'identifiant de la caméra (récupéré sur le VD Général) :


à compléter, ......

 

Ne pas oublier de sauvegarder votre nouveau VD ;) 

 

D'adapter vos Scènes et VD afin de prendre en compte les changements d'état selon le contenu de la variable Globale "SurvStationManager".

 

Utilisation du VD : 

 

Le clic sur chaque bouton fait basculer les modes de façon alternative (Marche/Arrêt) ou boucle successive sur les différentes sources de détection de mouvements dans le VD de pilotage individuel d'une caméra.

 

Versions :

  • V1.0 : du 26/12/2018 -> Intialisation du projet
  • V1.1 : du 24/09/2019 -> Correction du Virtual Device Général en version 1.1 disponible ci-dessous.
    • Attention de bien sauvegarder vos données personnelles de paramétrage du VD (User_Data = { ............) et de les recopier dans cette nouvelle version.
    • Correction du bug qui n'affichait pas les identifiants des caméras dans le VD Général. Ca devrait simplifier la configuration des caméras dans le paramètres utilisateurs
    • Correction de bug sur la création des variables globales et notamment du bug bug isEnum=0 remplacé par bug isEnum=true ou false selon les cas
  • V1.2 : su 27/09/2019 -> Correction de la scène en version 1.2. disponible ci-dessous
    • Correction du bug lors d'une perte du code SID et la présence de l'erreur API Authentication failure, API does not exist. Un nouveau code SID est maintenant recréé.
    • Il convient juste de coller le code de la scène V1.2 dans la votre.

 

Evolutions à venir :

  • Interception des détection de mouvements oit par la Caméra ou Surveillance Station
  • Mise à jour automatique de l'icône (standby) de chacun des boutons des VD.
  • Créer des icônes spécifique à cette nouvelle solution pour limiter le plagia de celles de @Lazer.
  • Compléter ce TUTO avec des exemples de configurations des notifications par les règles d'actions dans Surveillance Station.
  • A voir selon vos suggestions :huh:

 

Dernière version du VD :

 

VD Général : Surv_Station_Manager Global V1.1.vfib.json

 

VD Individuel pour les caméras : Surv_Station_Manager Camera V1.0.vfib.json

 

Dernière version de la Scène : Surv Station Monitor Scene V1.2.lua


Scène : 


Icônes : En cours de création. Reprise en attendant des icônes du VD Surveillance Station de Laser. ;)

  • Pour la Scène et les Boutons des Modules virtuels

gallery_133_79_2080.png.4c510a66364cc06df95c3c967027a7b9.png

  • Enregistrement (recordIcon)
  • gallery_133_79_11547.png.a1bb46b8facb6cf26ab6b1b2a2b2d8c9.png
  • Arrêt (disableIcon)

gallery_133_79_14281.png.f9c0b132cd8a72890dffe404f3d4b5c6.png

  • Marche (standbyIcon)

gallery_133_79_16282.png.af4bd5791ba88d48da94a45336bbf226.png

  • Position PTZ pour les boutons PTZ des VD individuels.

gallery_133_79_7192.png.0b442e81c35e6c5c49d3edaef152822b.png

 

Dernière version de la documentation de l'API :

 

Surveillance_Station_Web_API_v2.8.pdf

 

 

Modifié par MAM78
  • Like 3
  • Thanks 2
Posté(e) (modifié)

Exemple : utilisations avec des commandes GEA en utilisant les règles d'actions de Surveillance Station qui elles déclenchent la prise de Snapshot et l'enregistrement des caméras pour une certaine durée :

-- Activation de l'enregistrement des caméras -------------------------------------------------------
--    si détection devant la porte du garage
--    si détection devant l'ascalier de la terrasse ou devant la piscine
--    si détection devant la porte d'entrée arrière du jardin ou la porte fenètre arrière du jardin
GEA.add({{"Label", id["DETECTEUR_EXT_GARAGE"], "lblEtat", "Alarme"}
        ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Absence"}
        ,{"Label", id["VD_CAM_EXT_GARAGE"], "lblCamState", "#r#Marche"}
        ,{"Label", id["VD_CAM_EXT_GARAGE"], "lblCamRecord", "#r#Arrêt"}
        }, -1, "Mouvement devant la porte du garage le #date# à #time# enregistrement caméra",
        {{"VirtualDevice", id["VD_CAM_GLOBAL"], 10}
        }, "Mouvement devant la porte du garage le #date# à #time# enregistrement caméra")
		
GEA.add({{"Or", {"Label", id["DETECTEUR_EXT_PISCINE"], "lblEtat", "Alarme"}, {"Label", id["DETECTEUR_EXT_ESCALIER"],   "lblEtat", "Alarme"}}
        ,{"Label", id["VD_CAM_GLOBAL"], "lblPresence", "#r#Absence"}
        ,{"Label", id["VD_CAM_EXT_TERRASSE"], "lblCamState", "#r#Marche"}
        ,{"Label", id["VD_CAM_EXT_TERRASSE"], "lblCamRecord", "#r#Arrêt"}
        }, -1, "Mouvement devant les détecteurs de la terrasse le #date# à #time# enregistrement caméra",
        {{"VirtualDevice", id["VD_CAM_GLOBAL"], 11}
        }, "Mouvement devant les détecteurs de la terrasse le #date# à #time# enregistrement caméra")

Je vais ici documenter un peu la façon de gérer le système de notification au travers des Règles d'Action disponibles dans Surveillance Station.

Modifié par MAM78
Posté(e)

Top top ça, j'attends de voir le résultat. Et les VDs avec icônes, c'est top aussi, faut que je m'y mette (Quand j'aurai le temps :)).

Posté(e) (modifié)

En attendant le finalisation du DEV de la livraison de la version beta, vous trouverez ci-dessous un aperçu du VD de pilotage d'une des CAM ainsi qu'un update du VD de pilotage globale :

 

Reste à faire avant livraison :

  • Gestion des fonction PTZ des CAM, mais n'ayant pas de CAM compatibles, je vais faire cela sans pouvoir tester. il me faudra des betatesteurs.
  • L'optimisation du code et refaire un passe sur la gestions des traces dans la log.

 

 

1387632592_Sanstitre7.thumb.png.38e9d420e25863c7f4a7e5ac0606c119.png1324748217_Sanstitre7.thumb.png.3b8f05e62c7b1c052609b0c567fa3007.png

 

Modifié par MAM78
Posté(e) (modifié)

Pour le moment je n’ai pas encore intégré l’ajout automatique de label supplémentaires, mais c’est totalement faisable. Je n’ai pas mis ça en priorité dans mon dev. Ce n’est pas tous le jours que knob ajoute une CAM.

 

Parcontre dans l’immédiat,il suffit d’ajouter une ligne de label supplémentaire (avec le bon nom de label) et la mise à jour de celui-ci se fait automatiquement.

Modifié par MAM78
Posté(e) (modifié)

Pour le moment, j'ai ajouté 10 labels (1 pour chaque CAM). Je pense que c'est déjà pas mal, ils ne doivent pas être nombreux celui ont plus de 10 CAM ;)

 

Pour ceux qui en ont moins, ils pourront toujours supprimer les labels inutiles pour alléger le VD. Le Main loop continuera de fonctionner ;)

 

Je les ai déplacé en fin de VD pour que les autres boutons gardent leur position en cas d'ajouts ou suppressions pour pouvoir cliquer dessus sans avoir à gérer les décalages des autres boutons.

 

Voici le VD updaté :

 

2093380513_Sanstitre7.thumb.png.c36eb19465699944569c2179b67d7d4f.png

Modifié par MAM78
Posté(e) (modifié)

Ca y est :yes:

 

Maintenant que vous avez déballé tous vos cadeaux de noël, c'est à mon tour de vous offrir le miens. B)

 

Vous trouverez dans le TUTO ma nouvelle contribution au Forum.

 

Merci tout particulièrement à @Lazer pour ses bouts de codes, ses créations et son support qui m'ont beaucoup aidé à la création de ce nouveau Surveillance Station Manager :13:

 

Bien évidement, c'est une première version qui mérite encore à être optimisée, débuguée et enrichie de vos suggestions.

 

Je suis donc à votre disposition pour prendre en compte vos remarques.

 

Le TUTO sera compété le plus rapidement possible. Mais l'essentiel est là.

 

Maintenant c'est à vous de jouer :2:

 

Modifié par MAM78
Posté(e) (modifié)

Je ne vois pas beaucoup de beta testeurs ce matin. Le reprise du boulot je suppose ;)

 

 

Modifié par MAM78
Posté(e)
il y a 14 minutes, schwinny a dit :

pas de soucis @MAM78

 

par contre je viens de voir que c'est sur syno... suis sur qnap... mais je vais tester ;) 

c'est le même soft sur Qnap ?

Posté(e) (modifié)

Dispo yes, 13 cams (Foxcam, Hikvision)

Comment souhaites tu organiser les tests ?

Tu as besoin d'avoir la référence des cameras utilisées pour connaitre la compatibilité j'imagine?

 

 

Modifié par kioneoranga
Posté(e) (modifié)

Tu devras ajouter 3 Labels dans le VD Général et les nommer : lblCamera11, lblCamera12, lblCamera13 pour qu'ils soient renseignés.

 

En principe dès lors que les caméras sont compatibles sous Surveillance Station. Après les tests à approfondir sont les fonctions PTZ.

 

Pour le moment, je n'ai pas implémenter les fonctions PTZ de type patrouille. Si l'un de vous l'utilise, je veux bien regarder pour l'ajouter.

Modifié par MAM78
×
×
  • Créer...