Plugin Reolink (en beta)

ayant privilégié le token, je n’ai pas eu à faire l’authentification systématique par login/password sur les cameras ayant un firmware recent utilisant le cryptage (AI et non AI).

Il y aurait une possibilité (à vérifier), ce serait de checker à la première erreur détectée lors le l’analyse du payload de retour d’une commande. Si erreur → voir si le payload récupéré commence par [{"(vérifier les 3 premiers au cas celui-ci étant crypté dans le cas ou il contiendrait le caractère [ dés le premier caractère).
Si c’est le cas, flushé la session avec la commande de logout et en réinitialiser une nouvelle session.

Je veux faire cobaye. J’ai encore eu le cas hier

Ca semble fonctionner… :relaxed:

Salut
Je viens d’installer le plugin et j’ai ces messages :


Je suis en vers 4.1.28 de Jeedom sous une Pi4 et la cam est une Reolink RLC810A.

La connexion semble OK pourtant en https

Hello,
Pour t’aider pourrais tu passer la configuration du log du plugin en « debug »
Re tester les commandes qui ont généré ces erreurs et m’envoyer le log stp ?
Merci

1 « J'aime »

Salut
Je ne lance aucune commande, c’est le cron qui doit envoyer des erreurs : Voici le debug


OK je vais corriger ce point là :wink:

1 « J'aime »

@mnpg dans la dernière version que j’ai poussé, j’ai ajouté dans la page de config cette option :

A tester si toutes les fonctions acceptent la seconde méthode. Ca résoudrais le problème des payloads cryptés… :slight_smile:

:+1: je teste et te tiens au courant

salut @Jezza34000,
Premier retour de ta modif.

je te confirme (testé sur un jour) quand passant par le login & pass, je n’ai pas de payload crypté après l’exécution des commandes.
Lors de l’utilisation du token, J’ai constaté que l’on pouvait avoir également des erreur -6 (please login first’,'Login required), erreurs aperçues lors du reboot de la camera et que le token est toujours d’actualité.

En mode login&pass, j’ai constaté certaines erreurs lors de l’exécution de commandes mais, je te rassure, qui sont normales car les fonctionnalités appelées sont absentes ou non inclus dans la camera (c’est le GetAbility qui fait foi sur les fonctionnalités).

Exemples de réponse :

  • Erreur -26 détectée sur une camera sans PowerLed
Payload => [{"cmd":"GetPowerLed","action":0,"param":[]}]
Réponse caméra >> [{"cmd":"GetPowerLed","code":1,"error":{"detail":"abilityerror","rspCode":-26}}]
  • Erreur -9 détectée sur une caméra dont la fonctionnalité GetFtp est inexistante, ici camera AI avec GetFtpV20 uniquement
Payload => [{"cmd":"GetFtp","action":0,"param":[]}]
Réponse caméra >> [{"cmd":"Unknown","code":1,"error":{"detail":"notsupport","rspCode":-9}}

Cela pourrait faciliter la creation des commandes par camera (plutôt que de decortiquer le GetAbility)

Hello
J’allais justement poser la question avant de lire l intégralité du post

J’ai également un nvr reolink.
J ai déjà réussi à récupérer les flux de les 4 caméras avec le plugin camera que j’associe à des scénarios.
Inter agir avec mon nvr ca pourrait être intéressant.
Mais que pourrais je obtenir de plus du coup ?

Yes petit bug connu je vais corriger ca rapidement.

Le plugin fait un GetAbility à la création des CMD et n’est pas censé appeler celles qui ne sont pas dans les aptitudes de la caméras. Après je t’avoue que entre les « Ability » énumérés, et les fonctions de l’API je me suis un peu cassé la tête à comprendre qu’est ce qui pouvait correspondre à quoi… :roll_eyes:

Avec le NVR directement pas grand chose car l’API n’a pas prévu beaucoup d’action. Mais avec les caméras tu as tout le reste des commandes possibles :slight_smile:

Si besoin, je peux te fournir le GetAbility de mes cameras, toutes differentes (RLC-520, E1Outdoor et RLC-542WA) pour faire des comparatifs. J’exclus la E1Zoom que tu as deja.

Yes carrément je suis preneur :pray:
Envoi moi ça en MP que j’investigue et améliore mes fichiers de comparaison :wink:

il m’est venu une idée: pour t’aider dans l’analyse des GetAbility, ce serait que les possesseurs de cams Reolink utilisant ton plugin et souhaitant participer à son développement, puissent par le biais d’un bouton sur l’interface web, générer un fichier contenant les informations de leur camera (GetDevInfo -sans le UID- + GetAbility).
Qu’en penses tu?

NB : MP envoyé pour les GetAbility

Excellente idée yes

Merci
De fait indépendamment que mes caméras soient sur le nvr, elles seraient fonctionnelles avec le plugin ?
Pour le nvr je pense à un point particulier :depuis peu on peut definir des modes : du style je suis absent j autorise l enregistrement et les notifications de détection. En mode présent aucune action.
Tu crois que cela serait actionnable via le plugin pour l associer a des scénarios ou des modes de jeedom?

Bonsoir @temium62, est ce ces modes dont tu parles, tu les a defini sur l’application smartphone (mode scene ou scenario) ou sur l’interface web de ton nvr?

Je les ai créés sur le téléphone.
Pas pensé à regardera si c était possible via l interface web du nvr tiens.
Je regarde ça rapidement.

il n’existe pas de commande API en tant que telle gérant le mode scène (ou scenario) que l’on défini dans l’appli smartphone.

Ce mode scene, de l’appli smartphone, active/désactive la planification des différents modes de surveillance d’une (ou des) cameras (champ enable mis à 0 -off- ou 1 -on-, propre à chaque camera).

Il est possible faire un équivalent jeedom à ce mode de fonctionnement en créant des scenarios Jeedom pour activer/désactiver la planification de ces modes de surveillance, grâce aux commandes générées par le plugin.
Pour chaque scenario jeedom, il faut créer des blocs d’actions pour les commandes « Enregistrement SDCARD », « Envoi email », « Envoi FTP », « Alarme Audio » et « Notification push », soit en mode activer soit en mode désactiver.

1 « J'aime »