Note : le QuickApp pour HC3 se trouve ici : https://www.domotique-fibaro.fr/topic/14594-quick-app-synology-surveillance-station/
Présentation
Voici un Module Virtuel permettant de activer/désactiver les caméras, et démarrer/arrêter l'enregistrement des caméras gérées par l'outil Surveillance Station qu'on trouve sur les NAS Synology.
Ce module permet également de piloter le positionnement PTZ des caméras motorisées.
Ce module virtuel dispose de 5 boutons :
Start : démarrer l'enregistrement
Stop : arrêter l'enregistrement
Enable : activer la/les caméra(s)
Disable : désactiver la/les caméra(s)
List : permet de récupérer l'ID des caméras connues par Surveillance Station. Pour utiliser ce bouton, il faut ouvrir la fenêtre de Debug car c'est pour le moment la seule façon que j'ai trouvé d'afficher les informations à l'écran.
Ainsi que d'un nombre de boutons paramétrables :
Un bouton pour chaque position mémorisée
De plus, la main loop permet de surveiller le statut des caméras et d'adapter l’icône du module virtuel en conséquence.
Pré-requis :
Au moins une caméra doit être gérée par Surveillance Station :
Il est conseillé de paramétrer la caméra en détection de mouvement permanente :
Si la caméra en est capable, des positions prédéfinies doivent être mémorisées pour les caméras à piloter :
Création d'un utilisateur dédié :
Bien que non-obligatoire, il est conseillé pour des raisons de sécurité de créer un utilisateur dédié dans DSM. Ainsi, le mot de passe du compte admin n'est pas exposé dans le code source du module virtuel.
Note : la version 4.3 est utilisée pour les screenshots suivants, mais la méthode est strictement identique pour les versions 5.x de DSM.
Ouvrir le panneau de configuration :
Ouvrir le panneau des utilisateurs :
Cliquer sur le bouton "Créer", et entrer les informations utiles.
Note : il est judicieux de cocher la case "Ne pas autoriser l'utilisateur à changer le mot de passe du compte" :
Cocher le groupe "users" :
Cocher les cases "Pas d'accès" pour l'ensemble des dossiers partagés :
Ne rien cocher :
Décocher les cases de tous les privilèges, et ne cocher que la case "Surveillance Station" :
Ne rien modifier :
Vérifier que tout est bon, et cliquer sur le bouton "Appliquer" :
De retour dans Surveillance Station, ouvrir le panneau Utilisateur, puis sélectionner l'utilisateur Fibaro préalablement créé, et cliquer sur le bouton "Modifier" :
Dans la liste déroulante "Profil de privilège", sélectionner "Gestionnaire tout objet", puis cliquer sur le bouton "OK" :
L'utilisateur dispose maintenant des droits Directeur :
Import du module virtuel :
Dans l'interface du Home Center 2, importer le fichier Surveillance_Station.vfib :
Modifier les icônes du module et de tous les boutons avec les images suivantes :
Module virtuel : surveillancestation_128.png
Start : surveillancestation_rec_128.png
Stop : surveillancestation_stop_128.png
Enable : surveillancestation_enable_128.png
Disable : surveillancestation_disable_128.png
List : surveillancestation_list_128.png
Move : surveillancestation_ptz_128.png
Configuration :
Modifier les propriétés du module virtuel, et entrer les informations correctes pour joindre le Synology : Adresse IP et Port TCP :
Modifier les propriétés avancées du module virtuel, et modifier les premières lignes de chacun des boutons avec vos paramètres :
-- User configurable variables
local login = "user" -- Utilisateur Synology
local password = "password" -- Mot de passe Synology.
Pour les boutons PTZ, il faut spécifier le preset correspondant à chaque bouton (la caméra positionnée sera obligatoirement la première caméra listée dans la main loop, voir plus bas) :
local preset = 1 -- ID de la position PTZ
Pour récupérer l'ID des caméras, et les ID des positions PTZ, il faut utiliser le mode "Debug" sur le bouton "List".
Dans l'exemple ci-dessous, il y a une seule caméra avec l'ID n°2, et 4 positions PTZ avec les ID n°1, 2, 3, 4 :
Remarque : lors de l'importation du module virtuel, le Virtual Device possède 4 boutons PTZ, mais ceci est à modifier en fonction de votre propre environnement. Il faut 1 bouton par position et par caméra.
Main Loop :
Ce module virtuel dispose d'une Main Loop qui surveille le statut des caméras avec un intervalle de rafraichissement de 10 secondes et met à jour :
l’icône du module virtuel
un label du module virtuel
une variable globale
Pour la configuration de cette main loop, il faut modifier les paramètres suivants :
login : Utilisateur Synology
password : Mot de passe Synology
cameras :
{0} => détection automatique des caméras. Par conséquent, les boutons d'action Enable/Disable/Start/Stop agiront sur toutes les caméras simultanément.
{1} ou {2} ou {1, 2, 3} ... => ID de la (ou des) caméra(s) à gérer. On peut envisager de ne piloter qu'une seule caméra, et de multiplier les modules virtuels, afin que chaque module virtuel ne soit responsable que d'une seule caméra (voir aussi VG_status ci-dessous)
VG_status :
SurvStation_Status => variable globale par défaut créée automatiquement, qui contient le statut de la (ou des) caméra(s), pouvant être exploité dans des scripts LUA.
Valeur personnalisée => nécessaire si plusieurs instances du VD afin de piloter différentes caméras (voir aussi cameras ci-dessus). Celle-ci sera également automatiquement créée au démarrage du VD.
refresh : intervalle de rafraichissement du statut, par défaut à 10 secondes.
standbyIcon, recordIcon, disableIcon : ID des icônes Standby, Recording, et Disabled
-- User configurable variables
local login = "user"
local password = "password"
local cameras = {0} -- {1,2,4,5,6} -- Liste de une ou plusieurs caméras, pour les boutons Start, Stop, Enable, Disable
local VG_status = "SurvStation_Status"
local refresh = 10 -- seconds
local standbyIcon = 1010
local recordIcon = 1011
local disableIcon = 1029
Pour récupérer les ID des 3 icônes, le plus simple est d'utiliser le Toolkit HC2 de Krikroff, on sélectionne l'onglet Virtual Devices, puis Get API Raw Data, puis là on cherche la valeur du paramètre buttonIcon des boutons Start, Stop, et Disable :
Utilisation :
- Un clic sur les boutons "Enable" ou "Disable", a pour effet d'activer/désactiver la caméra dans Surveillance Station, donc d'activer ou désactiver la détection de mouvement par le Syno.
- Un clic sur le bouton "Start" a pour effet de forcer le démarrage de l'enregistrement continu des caméras sur le disque dur du NAS.
- Un clic sur le bouton "Stop" a pour effet d'arrêter l'enregistrement continu des caméras, qui est équivalent à repasser en détection de mouvement
- Un clic sur les boutons de position PTZ permet de déplacer la caméra.
- La Main Loop surveille l'enregistrement des caméras, et ajuste l’icône du module virtuel en conséquence, ainsi qu'un petit message en vert en bas du module si un enregistrement est en cours.
Ensuite, vous pouvez appeler ces boutons depuis vos scènes, par exemple à heure fixe programmée, ou en fonction des scénarios tels que la mise en fonctionnement de l'alarme, ou la détection de mouvement.
Changelog :
v1.0 : Initial release
v1.01 : Minor bug fixes
v2.0 : Main Loop and PTZ control
v4.0 : Improved main loop, Add Enable/Disable buttons, Add cameras auto-detection
v4.3 : Improved SID connection, added Status global variable
v4.4 : Enhanced management of single or multiple camera
Téléchargement :
Surveillance_Station_v4.4.vfib