[Tuto] Reolink API CGI commands

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
klin34970
Messages : 6
Inscription : 15 juil. 2019, 20:37

[Tuto] Reolink API CGI commands

Message par klin34970 »

Bonjour à tous !
Je voulais partager avec vous la façon dont j'utilise Reolink dans Domoticz.


Je ne connaissais pas Reolink auparavant, je cherchais Dlink, Hikvision, Foscam, etc. et j'ai vu le Reolink RLC-420 (pack de 2).
Pour le prix, elles sont vraiment biens et franchement elles font le job.
Comme vous pouvez le voir, j'en ai acheté 4.
Image

Je cherchais les commandes CGI et n'ai trouvé que ceci:
How to Capture Live JPEG Image of Reolink Cameras via Web Browsers : https://support.reolink.com/hc/en-us/ar ... b-Browsers


Je vais vous montrer comment utiliser toutes les commandes cgi.

Introduction
D'abord, vous avez besoin d'un jeton d'authentification (token).

Code : Tout sélectionner

url = cgi-bin/api.cgi?cmd=Login&token=null
payload = [{"cmd":"Login","action":0,"param":{"User":{"userName":"youruser","password":"yourpassword"}}}]
Lorsque vous avez le jeton, vous pouvez faire ce que vous voulez.
Exemple:

Code : Tout sélectionner

url = cgi-bin/api.cgi?cmd=SetAlarm&token=azeazeaz65454
payload = [{"cmd":"SetAlarm","action":1,"param":{"Alarm":{"channel":0,"type":"md","sens":[{"beginHour":0,"endHour":23,"beginMin":0,"endMin":59,"id":0,"sensitivity":21},{"beginHour":23,"endHour":23,"beginMin":59,"endMin":59,"id":1,"sensitivity":21},{"beginHour":23,"endHour":23,"beginMin":59,"endMin":59,"id":2,"sensitivity":21},{"beginHour":23,"endHour":23,"beginMin":59,"endMin":59,"id":3,"sensitivity":21}]}}}]
Vous pouvez obtenir l'URL et le payload avec la console du navigateur pour n'importe quels paramètres/commandes.
Image

Script
Script PHP pour activer / désactiver les e-mails et les notifications push: https://github.com/klin34970/jeedom_reo ... i_commands
Ce script est fait pour mon usage et codé en 5min. Vous pouvez utiliser d'autres technologies et/ou l'améliorer pour vous. D'abord, je ne voulais que des notifications par courrier électronique et, dans un deuxième temps, j'ai ajouté des notifications push.


Practice
Comment j'utilise mon script sur Domoticz.

Mon domoticz est installé sur mon syno, donc mon apache aussi.
Je peux accéder à mon script par URL:

Code : Tout sélectionner

Turn on email
http://yoursynologyip:apacheport/?ip=ipofthecamera&method=enableMotionEmail&action=1
Turn off email
http://yoursynologyip:apacheport/?ip=ipofthecamera&method=enableMotionEmail&action=0
yoursynologyip = l'ip de votre serveur syno ou apache si votre apache n'est pas sur votre syno.
apacheport = apache port.
ipofthecamera = ip de la caméra, vous devez associer l'adresse MAC à une adresse IP statique.



Créer un switch virtuel on/off et mettre l'URL sur Action on et off
Image

Maintenant vous pouvez faire ce que vous voulez.
Lorsque je quitte ma maison, toutes les notifications des caméras s'activent par GPS ou par scénario.
Idem quand je rentre à la maison.
Dernière modification par klin34970 le 19 sept. 2023, 11:40, modifié 1 fois.
Senior laravel & fullstack developer
Matthias
Messages : 264
Inscription : 18 nov. 2018, 09:53

Re: Reolink API CGI commands

Message par Matthias »

Bonjour,

J'ai découvert aujourd'hui les caméras de la marque reolink qui semble être un bon rapport qualité prix.
Actuellement mon système est composé de vieilles caméra (foscam et heden) que je souhaiterai renouveler par des reolink poe.
Actuellement, j'active ou désactive la détection de mouvement avec un bouton sur mon smartphone (widget d'une application macrodroid) ce qui lance des requettes http/cgi.
J'ai également un autre bouton qui active la détection de mouvement planifié toujours par des requettes http/cgi.

J'aimerai conservé la possibilité d'activer ou non simplement la détection de mouvement sur plusieurs caméras reolink
et également d'activer ou non une planification d'alerte.

Penses tu que ce soit possible ?

Mes compétences en programmation sont très limitées.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
klin34970
Messages : 6
Inscription : 15 juil. 2019, 20:37

Re: Reolink API CGI commands

Message par klin34970 »

Oui, actuellement j’ai un bouton qui active toutes les caméras. Pour la planification c’est possible aussi
Senior laravel & fullstack developer
qsd88
Messages : 8
Inscription : 08 oct. 2018, 19:22

Re: Reolink API CGI commands

Message par qsd88 »

Bravo klin34970 pour ces informations et ton code PHP !

J'ai une RLC-410W et cela fonctionne à merveille sur mon Qnap.
J'ai juste une erreur si je mets l'url dans un navigateur
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Merci cela ouvre de belles perspectives avec ces caméras Reolink, je pense renvoyer ma Xiaomi 360 pour prendre la Reolink E1 quand elle sera dispo.
Matthias
Messages : 264
Inscription : 18 nov. 2018, 09:53

Re: Reolink API CGI commands

Message par Matthias »

Je suis possesseur d'une REOLINK RLC-420 depuis peu.

Pouvez-vous m'aider pour la première partie ?
Que dois-je taper dans Chrome ?

J'ai essayé en changeant ipcamera:port par l'adresse et le port de la caméra
http://ipcamera:port/cgi-bin/api.cgi?cmd=Login&token=null
et la réponse est la suivante :
[ { "cmd" : "Login", "code" : 1, "error" : { "detail" : "login failed", "rspCode" : -7 } } ]

J'ai essayé avec
http://ipcamera:port/cgi-bin/api.cgi?cmd=SetAlarm&token=letokentrouvéaveclaconsoledunavigateur
et la réponse est la suivante :
[ { "cmd" : "SetAlarm", "code" : 1, "error" : { "detail" : "param error", "rspCode" : -4 } } ]

Ma caméra ne serait-elle pas compatible avec cette méthode ou je m'y prends mal ?
Merci d'avance.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
klin34970
Messages : 6
Inscription : 15 juil. 2019, 20:37

Re: Reolink API CGI commands

Message par klin34970 »

Matthias a écrit : 10 sept. 2019, 20:27 Pouvez-vous m'aider pour la première partie ?
Que dois-je taper dans Chrome ?
Il faut aussi mettre le payload

Code : Tout sélectionner

[{"cmd":"Login","action":0,"param":{"User":{"userName":"youruser","password":"yourpassword"}}}]
J'utilise un outil appelé Postman pour faire des rêquetes: https://www.getpostman.com/

Image

Il vous faut automatiser tout ça, le token n'est valide que 3600s (5min)
Senior laravel & fullstack developer
Matthias
Messages : 264
Inscription : 18 nov. 2018, 09:53

Re: Reolink API CGI commands

Message par Matthias »

Merci pour le retour klin34970.

J'ai installé Postman et j'ai réussi à créer des requêtes pour actionner ou non les notifications Push.
Dorénavant, je cherche à les utiliser dans domoticz comme vous.
J'aimerai savoir comment installer votre script (pas d'expérience dans ce domaine) sur mon domoticz (sur un raspberry)
et dans quelle fichier renseigner les paramètres des caméras.

Merci pour votre aide.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Matthias
Messages : 264
Inscription : 18 nov. 2018, 09:53

Re: Reolink API CGI commands

Message par Matthias »

Bonjour,

Je me permets de réitérer ma demande.
Est-il possible d'avoir un peu plus d'info sur l'installation du script sur mon rpi contenant domoticz.
J'arrive à utiliser postman pour activer/désactiver les notifications push.
J'arrive également à obtenir avec le token.
Mais ensuite je bloque sur l'installation du script afin d'automatiser le tout.
Est-il possible d'avoir un peu d'aide svp ?
De plus le lien google pour le script est cassé.

Merci d'avance.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
marc_bzh
Messages : 96
Inscription : 16 déc. 2017, 09:44
Localisation : Pornic (Dpt 44)

Re: Reolink API CGI commands

Message par marc_bzh »

Bonjour ,

Est il possible de poster le script de nouveau ?

Merci
zouzou
Messages : 14
Inscription : 19 juil. 2018, 10:29

Re: [Tuto] Reolink API CGI commands

Message par zouzou »

Assez intéressant ce contrôle des caméras, beau boulot
Dans mon cas je suis bloqué, il faut que j’interagisse directement sur le NVR POE, j'ai pris un RLK8-410B4 et lui ai ajouté 4 autres caméras. Un beau bazar de câbles supplémentaires dans mes gaines et TPC pour avoir un réseau dédié à la captation d'images.
Répondre