satryany Posté(e) le 31 décembre 2014 Signaler Posté(e) le 31 décembre 2014 Salut , effectivement l'api change en version 6 bêta j'ai pas trouvé l'api Sent from my iPhone using Tapatalk
sebcbien Posté(e) le 3 janvier 2015 Signaler Posté(e) le 3 janvier 2015 Voilà , j'ai réussi pour Enable et Disable Camera Je fonctionne comme ceci: la détection de mouvement est activée, assez sensible, comme ça quand j'active les caméras, elles n'enregistrent que lorsqu'il y a du mouvement, gain de place énorme et facilité par la suite de retrouver les activités puisqu'il y a 100X moins de vidéos à consulter Bref, avec la nouvelle API, mon code ci-dessus ne marchais plus, mais ils ont résolut un bug qui empéchait d'activer et désactiver les caméras. Voici le code: Seul bug que je connais: la non prise en compte des messages d'erreurs pour la reponse json concernant enable et disable... les réponses sont très longues, c'est peut être la raison ?!? J'ai mis à jour la liste des erreurs Attention, il faut un compte admin pour cette fonction ! -------------------------------------------------- -- Synology Surveillance Station V3 -- Enable/Disable cameras -- Lazer - SebCbien -- Janvier 2015 -------------------------------------------------- -- User configurable variables local login = "admin" local password = "xxxxxxxxxx" local cameras = {2,4} local method = "Enable" --local method = "Disable" -- System variables local selfID = fibaro:getSelfId() local ip = fibaro:get(selfID, 'IPAddress') local port = fibaro:get(selfID, 'TCPPort') local Synology = Net.FHttp(ip, tonumber(port)) local API_ERROR_CODE = { [100] = "Unknown error.", [101] = "Invalid parameters.", [102] = "API does not exist.", [103] = "Method does not exist.", [104] = "This API version is not supported.", [105] = "Insufficient user privilege.", [106] = "Connection time out.", [400] = "Invalid password.", [401] = "Guest or disabled account.", [402] = "Permission denied.", [403] = "One time password not specified.", [404] = "One time password authenticate failed." } -- Discover available APIs and corresponding information payload = "/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth,SYNO.SurveillanceStation.Camera" response, status, errorCode = Synology:GET(payload) if tonumber(status) == 200 then jsonTable = json.decode(response); if jsonTable.data["SYNO.API.Auth"].maxVersion >= 3 and jsonTable.data["SYNO.SurveillanceStation.Camera"].maxVersion >= 3 then fibaro:debug("Synology API version OK") pathAuth = jsonTable.data["SYNO.API.Auth"].path pathCamera = jsonTable.data["SYNO.SurveillanceStation.Camera"].path fibaro:debug("Synology API Auth path = "..pathAuth) fibaro:debug("Synology API Surveillance Station Camera path = "..pathCamera) -- Create new login session payload = "/webapi/"..pathAuth.."?api=SYNO.API.Auth&method=Login&version=3&account="..login.."&passwd="..password.."&session=SurveillanceStation&format=sid" response, status, errorCode = Synology:GET(payload) --fibaro:debug("seb login payload : " .. payload) --fibaro:debug("seb login response : " .. response) if tonumber(status) == 200 then jsonTable = json.decode(response); if jsonTable.success == true then SID = jsonTable.data.sid fibaro:debug("Synology API Auth SID = "..SID) -- Enable or disable cameras for i = 1, #cameras do -- Enable or disable camera payload = "/webapi/"..pathCamera.."?api=SYNO.SurveillanceStation.Camera&method=" .. method .. "&version=3&cameraIds="..cameras[i].."&_sid="..SID response, status, errorCode = Synology:GET(payload) --fibaro:debug("seb Camera disable payload : " .. payload) --fibaro:debug("seb Camera disable response : " .. response) jsonTable = json.decode(response); if jsonTable.success == true then if errorCode == 0 then fibaro:log("OK") fibaro:debug('<span style="color:green;">Synology Surveillance Station '..method..' camera "'..tostring(cameras[i])..'" OK</span>') else fibaro:log("Erreur") fibaro:debug('<span style="color:red;">Synology Surveillance Station '..method..' camera "'..tostring(cameras[i])..'" FAILED : '..API_ERROR_CODE[tonumber(jsonTable.error.code)]..'</span>') end end end -- Destroy current login session payload = "/webapi/"..pathAuth.."?api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation&_sid="..SID response, status, errorCode = Synology:GET(payload) else fibaro:log("Erreur") fibaro:debug('<span style="color:red;">Error : '..API_ERROR_CODE[tonumber(jsonTable.error.code)]..'</span>') end else fibaro:log("Erreur") fibaro:debug('<span style="color:red;">Error : API Authentication failure</span>') end else fibaro:log("Erreur") fibaro:debug('<span style="color:red;">Error : Synology API version is too old : <b>DSM 4.0-2251</b> and <b>Surveillance Station 6.1</b> are required</span>') end else fibaro:log("Erreur") fibaro:debug('<span style="color:red;">Error : Can not connect to Synology server</span>') end 4
Lazer Posté(e) le 5 janvier 2015 Auteur Signaler Posté(e) le 5 janvier 2015 La dernière version de la doc disponible pour l'API est ici : https://ukdl.synology.com/download/Document/DeveloperGuide/Surveillance_Station_Web_API.pdf Visiblement, les méthodes Enable et Disable étaient disponibles depuis le 20 mai, juste quand j'étais en train de finaliser la v2 de mon module virtuel, donc je l'ai loupé de peu. Bref, merci Sebcbien, on a maintenant un module virtuel complet. La prochaine étape sera de le convertir en plugin... hum hum c'est pas gagné....
sebcbien Posté(e) le 5 janvier 2015 Signaler Posté(e) le 5 janvier 2015 Log de l'api: V1.8 2014/08/14 Fix typo in example of Camera Enable and Disable J'avais essayé de le faire mais ça ne marchais pas, maintenant oui ceci explique peut être cela... ;-) 1
PITP2 Posté(e) le 6 janvier 2015 Signaler Posté(e) le 6 janvier 2015 J'ai mis àjour le nouveau code. Il faut bien le mettre dans les boutons "Start" et "stop" ? il n'y a rien àmodifier ailleurs ?
Lazer Posté(e) le 6 janvier 2015 Auteur Signaler Posté(e) le 6 janvier 2015 Non, il faut plutôt créer 2 nouveaux boutons Enable et Disable. Les boutons Start & Stop permettent de forcer le Syno à démarrer l'enregistrement en continu. Tandis que les boutons Enable et Disable permettent d'activer ou désactiver la caméra dans l'interface de Surveillance Station, ce qui a pour effet d'arrêter le flux vidéo qui transite sur le LAN et donc la détection de mouvement configurée dans Surveillance Station.
PITP2 Posté(e) le 6 janvier 2015 Signaler Posté(e) le 6 janvier 2015 (modifié) d'accord :-) alors je remets tout cela en place comme avant ...... et j'ajoute les boutons MERCI Par contre cela veut dire qu'ensuite il faut réactiver la camera si on veut la voir depuis Surveillance Station ? J'ai mis en lien le nouveau virtual device avec vos modifs "Enable" "Disable" si vous voulez le mettre au début du post et l'effacer du mien. Surveillance_Station.vfib Modifié le 6 janvier 2015 par PITP2
sebcbien Posté(e) le 6 janvier 2015 Signaler Posté(e) le 6 janvier 2015 Non, il faut plutôt créer 2 nouveaux boutons Enable et Disable. Les boutons Start & Stop permettent de forcer le Syno à démarrer l'enregistrement en continu. Tandis que les boutons Enable et Disable permettent d'activer ou désactiver la caméra dans l'interface de Surveillance Station, ce qui a pour effet d'arrêter le flux vidéo qui transite sur le LAN et donc la détection de mouvement configurée dans Surveillance Station. j'aurais pas mieux dit moi même p.s. les caméras sont toujours actives "par elles même" même si disable pour le syno, (donc visibes dans l'interface du HC2...) ps2 j'utilise les boutons start et stop en cas de violation de l'alarme, pour enregistrer en continu.
Lazer Posté(e) le 6 janvier 2015 Auteur Signaler Posté(e) le 6 janvier 2015 Sebcbien : tu fais bien de préciser @PITP2 : en fait je comptais également ajouter les boutons de @maestrea en page précédente pour la gestion de la patrouille, avant de partager le module complet en première page. Je n'ai pas encore pris le temps...
cybersquat Posté(e) le 28 janvier 2015 Signaler Posté(e) le 28 janvier 2015 Bonsoir, Cela peut-il fonctionner sur un THECUS ou un QNAP ? Merci de votre retour
kinou.69 Posté(e) le 28 janvier 2015 Signaler Posté(e) le 28 janvier 2015 bonsoir, Est ce possible que la détection de mouvement de Surveillance Station qui me lance des enregistrements alors que la caméra est y est désactivée?
Lazer Posté(e) le 28 janvier 2015 Auteur Signaler Posté(e) le 28 janvier 2015 cybersquat : il faudra tout réécrire, car je pense que ces NAS ont une API complètement différente. kinou.69 : normalement, si la caméra est désactivée, la détection de mouvement aussi. C'est un fonctionnement propre au Syno,
cybersquat Posté(e) le 28 janvier 2015 Signaler Posté(e) le 28 janvier 2015 Lazer, wouarffff!!!! ah mince ! ca je sais pas faire coder lol
fdp2 Posté(e) le 28 janvier 2015 Signaler Posté(e) le 28 janvier 2015 @Cybersquat, tu as de la chance parce que d'autres savent code pour toi. Tu devrais jetter un oeil ici : http://www.domotique-fibaro.fr/index.php/topic/3373-pilotez-votre-qnap-avec-la-hc2/
cybersquat Posté(e) le 29 janvier 2015 Signaler Posté(e) le 29 janvier 2015 fdp2, oh oh oh oh merci je regarde ca
kinou.69 Posté(e) le 30 janvier 2015 Signaler Posté(e) le 30 janvier 2015 bonjour, j'ai supprimé les caméras dans surveillance station et j'en ai créé de nouvelles. Apparemment cela fonctionne correctement maintenant.
PITP2 Posté(e) le 3 mars 2015 Signaler Posté(e) le 3 mars 2015 Pour ceux que cela intéresse , fonctionnement toujours ok avec la nouvelle version de Surveillance Station 7. Je le dis car j'ai été un peu fébrile au moment de cette mise à jour
maestrea Posté(e) le 3 mars 2015 Signaler Posté(e) le 3 mars 2015 Alors... est-ce que c'est la meme API?
PITP2 Posté(e) le 3 mars 2015 Signaler Posté(e) le 3 mars 2015 je dirais oui vu que le pilotage continue à se faire mais je n'ai pas creusé vu que cela fonctionne
Lazer Posté(e) le 3 avril 2015 Auteur Signaler Posté(e) le 3 avril 2015 J'ai un souci, je viens de me rendre compte que le module virtuel ne fonctionne plus chez moi, avec Surveillance Station 7.0-3742 Je viens de voir qu'ils ont sorti la version 2.0 des specs de l'API au 13/03/2015 : https://global.download.synology.com/ftp/Document/DeveloperGuide/Surveillance_Station_Web_API_v2.0.pdf Je vais jeter un coup d'oeil mais je ne sais pas si j'aurai le temps ce week-end...
PITP2 Posté(e) le 4 avril 2015 Signaler Posté(e) le 4 avril 2015 @Lazer, c'est étrange car chez moi pas de soucis avec la même version que toi de Surveillance station. Qu'as tu comme version de DSM ? je suis en DSM 5.1-5022
Fredric Posté(e) le 4 avril 2015 Signaler Posté(e) le 4 avril 2015 c'est quoi le souci ? je viens de tester et j'en ai pas, avec la 7.0-3742
Lazer Posté(e) le 5 avril 2015 Auteur Signaler Posté(e) le 5 avril 2015 DSM 5.1, je ne sais plus le numéro de build, mais le dernier normalement. C'est un Xpenology des fois que ça change quelque chose.... J'avais des messages dans la fenêtre de debug incohérents, et les scripts se plantent avant la fin. Je regarderai ça en détail la semaine prochaine.
Zorgonaute84 Posté(e) le 8 avril 2015 Signaler Posté(e) le 8 avril 2015 Juste pour apporter mon retour d'expérience. Depuis la mise a jour de Surveillance Station 7, idem, l'enregistrement via la HC2 ne fonctionne plus. L'API a changé.
Messages recommandés