Intégration de matériel Eufy

Ton probleme ressemble a un probleme de version de schéma…
command: « set_api_schema »;
schemaVersion: number;

Tu peux mettre ton plug-in sur github ? Je veux bien tester et faire des remontés

Bonjour tous le monde !
Salut @a.berton , perso ça me chauffe bien de tester ton plugin.
Tu pourras compter sur moi pour te faire des retours.

J’ai une home base et deux Eufy cam 2c :slight_smile:

Le plugin est sur un gitHub privé.
Je viens de trouver un petit bug sur la partie guard mode j’essaye de regader ça avant la fin de la semaine et je vous tiens au courant pour la beta.
Je penses que je vais regarder pour déployer le plugin en beta si cela ne demande pas trop de pré-requis car pour le moment je n’installe pas les dépendances nécessaire (websocket + le container eufy)

2 « J'aime »

Cool :slight_smile:
Bon courage pour le plugin, je suis preneur de suivre aussi ce sujet :slight_smile:

Pour contourner, j’ai mis en place autre chose de mon côté, j’utilise iobroker avec le pluging eufy qui recup toutes les informations, et renvoie en MQTT.
JMQTT sur Jeedom récupère tout ça et aprés j’en fait ce que je veux :slight_smile:

Mon seul use case actuellement : connaitre l’état de mes capteurs et de l’alarme.
Allumer la caméra indoor pan&tilt quand j’enclenche l’alarme EUFY et arrêter la camera quand je désactiver l’alarme (non géré dans l’appli de base).

Perso j’ai home base (capteur / clavier) + pan&tilt + doorbell + floodlight

a+

2 « J'aime »

Pour ceux qui sont interessés envoyez moi vos mails github en privé que je vous ajoute sur le repo.

Je trouve la solution mqtt plutôt élégante.
Il faut que je test pour voir si tout ce que je fais via le plugin est faisable via cela mais si c’est le cas je ne pense pas que je vais m’attarder sur le plugin :slight_smile: (cela fonctionne bien chez moi depuis une semaine déjà mais je n’ai pas eu le temps de répondre ici plus tôt)

3 « J'aime »

Bonjour,

Les scripts pythons fonctionnent bien lorsque je les exécute en shell, logué en root.
J’ai créé les commandes dans le module script comme précisé à l’étape 7.
Cependant, lorsque j’appuie sur le bouton « Tester », le résultat est vide et rien ne se passe. Les logs du docker ne montrent pas d’activité en relation avec mon test, ni aucune erreur.

Quelqu’un a-t-il une idée ?

1 « J'aime »

Salut,
J’ai ajouté tous ceux qui m’ont envoyé leur identifiant github.
Pour faire fonctionner le plugin il faut télécharger le code et le copier dans un répertoire « eufy » qui vous allez devoir créer à la main dans le répertoire plugin de jeedom (je vous invite à utiliser « l’editeur de fichiers » natif de jeedom pour faire cela)
Réglages => Système => Editeur de fichiers
Les fichiers .htaccess ne pourront pas être copier mais ce n’est pas un problème :wink:
Une fois fait vous n’avez plus qu’a vous rendre dans le gestionnaire de plugins et à activer le plugin.
Pensez à bien avoir créé/lancé le container eufy au préalable pour que le plugin puisse fonctionner et a avoir installé websocket comme celà est expliqué dans le premier post :wink:
J’ai push une version il y a quelques minutes pour éviter d’arrêter la syncrhonisation si un device n’est pas reconnu par le plugin (je n’ai géré dans le plugin les devices que je possède et ceux que l’on m’a envoyé jusqu’a présent)

on peut s’attendre a avoir un plugin en « dur » sur le market par la suite?

Eventuellement selon le temps que je vais pouvoir allouer dessus mais pas dans un futur proche :wink:

1 « J'aime »

En tout cas MERCI à toi @a.berton , ça marche niquel et bien plus simple que de gérer par script ! Correspond largement à mes besoins d’utilisation.

Maintenant place aux tests à l’usage :wink:

Bonjour tout le monde,
Est ce qu’avec cette methode on peut intégrer une camera dejà intégrée dans homekit ?
Lorsque la caméra est intégrée dans homekit ?

moi de mon coté, je bloque toujours au meme endroit.
Je n’arriv pas a récuperer les n° serie… Etant sur Rpi, J’ai ajouté l’argument « privileged » mais nada
Toujours les memes erreurs. Si quelqu’un a des pistes?

les logs du docker

2022-07-19T07:34:11.107908675Z #FailureMessage Object: 0x7e82f58c
2022-07-19T07:34:11.251172980Z Trace/breakpoint trap (core dumped)
2022-07-19T07:51:09.067746500Z
2022-07-19T07:51:09.068114623Z
2022-07-19T07:51:09.068164727Z #
2022-07-19T07:51:09.068199883Z # Fatal error in , line 0
2022-07-19T07:51:09.068232956Z # unreachable code
2022-07-19T07:51:09.068268321Z #
2022-07-19T07:51:09.068300456Z #
2022-07-19T07:51:09.068331862Z #
2022-07-19T07:51:09.068364101Z #FailureMessage Object: 0x7e98358c
2022-07-19T07:51:09.196904891Z Trace/breakpoint trap (core dumped)
2022-07-19T13:18:00.876177923Z
2022-07-19T13:18:00.876428598Z
2022-07-19T13:18:00.876462817Z #
2022-07-19T13:18:00.876495161Z # Fatal error in , line 0
2022-07-19T13:18:00.876527035Z # unreachable code
2022-07-19T13:18:00.876558441Z #
2022-07-19T13:18:00.876589691Z #
2022-07-19T13:18:00.876620420Z #
2022-07-19T13:18:00.876651774Z #FailureMessage Object: 0x7ea1d58c
2022-07-19T13:18:00.994210915Z Trace/breakpoint trap (core dumped)


image

Salut à tous et merci @a.berton pour ce plugin! Je viens de le déployer en utilisant la méthode docker management et je vois bien mes devices dans les logs de debug du plugin, dans les logs du docker ainsi que lorsque je lance le script get eufy info.

Par contre mes équipements ne sont pas listés dans le plugin sous jeedom. Vous sauriez d’où ça vient ? Qu’est ce que j’ai loupé dans la conf ?

J’ai une homebase (T8010), une sonette (T8210) 3 eufy cam 2C (T8113-Z)

Même chose chez moi.

Pour le soucis de la synchro qui n’affiche rien, de mon côté le problème provient des noms des appareils dans Eufy.
Il faut pas d’accent ni d’espace, sinon la fonction json_decode ne fonctionne pas (fichier …/class/eufy.class.php).

j’ai utilisé ça pour m’aider à débugger JSON Decode Online to decode JSON to readable form.

Aprés modification du nom, j’ai redémarré le docker + le daemon du plugin dans Jeedom

J’ai des appareils qui apparaissent mais a priori j’ai pas le bon type ni le bon serial qui remonte… a creuser :slight_smile:

Je m’en doutais un peu :grin:
Merci pour la confirmation ! Je renomme tout ça !

Edit: Effectivement après avoir renommé mes devices sans espace ni caractère spéciale l’association se fait bien. Par contre les modèles de caméra semblent être différents de ceux existants, du coup je n’ai pas de commandes ni d’informations sur l’objet.

En copiant le fichier de configuration T8113.json en T8113-Z.json pour matcher ma cam 2C j’obtiens bien les différentes commandes mais je suppose qu’il manque quelques petites subtilités (la ledstatus par exemple).
Voici le retour de get-info sur une T8113-Z

{
               "name":"entree",
               "model":"T8113-Z",
               "serialNumber":"T8113XXXXXXXXXX",
               "hardwareVersion":"T8113-Z",
               "softwareVersion":"5.4.6",
               "stationSerialNumber":"T8010XXXXXXXXXXX",
               "enabled":true,
               "state":1,
               "battery":38,
               "batteryTemperature":25,
               "lastChargingDays":18,
               "lastChargingTotalEvents":15,
               "lastChargingRecordedEvents":14,
               "lastChargingFalseEvents":1,
               "batteryUsageLastWeek":39,
               "motionDetected":false,
               "personDetected":false,
               "personName":"",
               "antitheftDetection":false,
               "motionDetection":true,
               "rtspStream":true,
               "watermark":2,
               "wifiRSSI":-41,
               "pictureUrl":"https://.......................",
               "ledStatus":false
            }

et voici le résultat de get_properties

{
   "type":"result",
   "success":true,
   "result":{
      "properties":{
         "motionDetected":false,
         "personDetected":false,
         "personName":"",
         "name":"entree",
         "model":"T8113-Z",
         "serialNumber":"T8113XXXXXXXXXX",
         "type":8,
         "hardwareVersion":"T8113-Z",
         "softwareVersion":"5.4.6",
         "stationSerialNumber":"T8010XXXXXXXXXXX",
         "rtspStreamUrl":"rtsp://<HOMEBASE-IP>/<liveid>",
         "lastChargingDays":19,
         "lastChargingFalseEvents":1,
         "lastChargingRecordedEvents":14,
         "lastChargingTotalEvents":15,
         "batteryUsageLastWeek":39,
         "pictureUrl":"https://xxxxxxxxxxxxxxxxxxxxx",
         "recordingClipLength":60,
         "recordingRetriggerInterval":5,
         "recordingEndClipMotionStops":true,
         "lightSettingsBrightnessManual":100,
         "enabled":true,
         "microphone":true,
         "antitheftDetection":false,
         "rtspStream":true,
         "chargingStatus":2,
         "battery":38,
         "speakerVolume":93,
         "watermark":2,
         "audioRecording":true,
         "powerSource":0,
         "notificationType":1,
         "nightvision":1,
         "motionDetectionType":0,
         "statusLed":false,
         "light":false,
         "state":1,
         "wifiRssi":-41,
         "wifiSignalLevel":4,
         "motionDetectionSensitivity":4,
         "powerWorkingMode":1,
         "batteryTemperature":25,
         "motionDetection":true,
         "speaker":true
      }
   }
}

salut

grace au super travail de @mcki2ler et @a.berton et à vos posts j’ai réussi du 1er coup à changer le guard mode et activer/désactiver le flux rtsp. J’arrive à peu près à le lire dans VLC ou le plugin camera (ca bugge un peu par moment).

Par contre je n’arrive pas a faire de la détection de mouvement…Apparament il n’y a pas de callback sur l’API Eufy et certains sont passés par le plugin Motion
Pour ma part j’ai essayé sans succès avec les settings de @Benoit_50. Le stream n’apparait pas et la détection est tjs a false…

L’un d’entre vous a t il réussi?
Merci!

Salut, désolé j’ai vraiment pas beaucoup de temps en ce moment.
Pour la detection de mouvement j’ai le même problème et celà semble venir de l’api. Il faut impérativement que tu active les notifications sur le téléphone sinon l’api ne reçoit rien.
C’est pas vraiment utilisable dans mon cas car je souhaitais me servir de ce périphérique pour allumer une lumière sous mon porche :slight_smile:
Pas de soucis pour l’évènement de detection de mouvement avec les caméras de mon côté je n’ai le soucis qu’avec le périphérique de detection de mouvement :frowning:

J’ai passé le repository en accès publique donc pour tous ceux à qui je n’ai pas répondu en message direct vous pouvez désormais y accéder :wink:
Vous pouvez faire des pull requests dessus que j’intégrerai dés que je peux.

1 « J'aime »

Merci j’ai hâte de tester !
Oui sinon si j’ai bien compris l’API push de bropat fait du polling donc c’est pas instantané?

Supports receiving push notification (unified push messages interface)

[EDIT] il a aussi développé une lib ioBroker qui pourrait être intéressante mais ca doit décharger les caméras:

Events:
Motion detected
Person detected
Ringing (only Doorbell)
Crying detected (only Indoor cameras)
Sound detected (only Indoor cameras)
Pet detected (only Indoor cameras)

J’ai abandonné Motion, mon RPi3 est deja au taquet et il me mange trop de CPU