Intégration de matériel Eufy

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

Qui a récupéré l’URL git du plugin de @a.berton ?
Il doit être occupé il ne m’a pas répondu.
Merci !

Merci @hargathor !

2 « J'aime »

super ton plugin @a.berton ca marche bien!
J’ai ajouté l’info battery sur mes T8113.
La commande guardMode fonctionne par contre l’info ne remonte pas dans Jeedom…

Hello, de mon côté tout marchait bien mais je rencontre désormais quelques soucis quand je veux activer le flux RTSP. Cela m’indique que le démon n’est pas démarré. Je le redémarre manuellement et rebelotte, il vrille. Cela m’arrive de façon aléatoire. J’avais rencontré le problème et réglé avec une réinstallation complète.

Dans mes logs :

[2022-09-08 08:35:09]ERROR : [Errno 111] Connection refused
[2022-09-08 08:55:41]ERROR : Fatal error : name '_websocket' is not defined
[2022-09-08 08:58:43]ERROR : [Errno 111] Connection refused
[2022-09-08 08:59:11]ERROR : Fatal error : name '_websocket' is not defined
[2022-09-08 09:02:00]ERROR : [Errno 111] Connection refused
[2022-09-08 09:13:28]ERROR : Fatal error : name '_websocket' is not defined
[2022-09-08 09:15:07]ERROR : [Errno 111] Connection refused

Je ne sais pas si je suis le seul dans cette situation ?

Bonne journée à vous les jeedomers,

Edit : Redémarrage du Docker, du Démon et Resynchro et c’est reparti. Bizarre !

hello
j’ai fait quelques améliorations:

  • séparation des type station et caméra + maj du guardMode
  • ajout infos % batterie, signal wifi
  • ajout commandes activé/désactivé, mouvement, antivol et LED
  • ajout d’infos config

Eufy

Ca marche pas mal mais le mode antitheft et l’activation de la LED n’ont pas l’air de fonctionner sur mes T8113
@a.berton je fais un peu de nettoyage et qques tests puis je te fais un pull request

[EDIT] pour ceux qui veulent tester:
https://github.com/lxrootard/eufy

1 « J'aime »

Bonjour à tous et merci pour tout le travail accompli !
juste une petite question, de mon application native Eufy je gère deux Homebase2, Sur Jeedom, après l’installation du plugin et des dépendances, toutes les infos des caméras 2C remontent bien mais je n’ai rien sur les deux Homebase …
le plugin prend-t il en charge cette particularité et si non est-il possible de l’implémenter ?

Salut
C’est justement une des modifs que j’ai faites cf mon post précédent. Ceci dit il n’y a que tres peu d’infos qui remontent de la base

Bonjour, je serai interessé par la solution MQTT.
Tu pourrais nous détailler un peu la marche à suivre, ou si quelqu’un d’autre peux nous fournir des infos sur cette methode…

merci d’avance

Bonjour,

Désolé pas mal d’occupation en ce moment.
ça repose sur la solution iobroker avec le pluging eufy security et un pluging mqtt.


JE récupère le tout avec JMQTT (le seul avec qui j’ai réussi à mettre un prefix personnalisé). il met à jour la liste des infos automatiquement, parfois il faut un peu bidouiller (passer en mode JSON) pour retrouver ce qu’on veut mais c’est plutôt pas mal :slight_smile:

Salutations toutes et tous.

Je tenais à remercier Rootard et a.berton. Le plugin marche parfaitement.
Tellement pratique.

J’ai fait l’acquisition de la nouvelle homebase 3 et des deux caméras qui vont avec, aujourd’hui.
J’ai essayé de faire un « get properties » pour partager les infos avec toi, mais je dois mal m’y prendre. Il me renvoie un errorcode : device not found. Pourtant j’ai bien rentré le bon serial number.
Peut être m’y suis-je mal pris sur le code :

import json
from websocket import create_connection
ws = create_connection("ws://MONIPDOCKER:3000")
print(ws.recv())
ws.send(json.dumps({"command": "device.get_properties", "serialNumber": "T8030monserial"}))
print(ws.recv())
ws.close()

Des idées ?

Encore merci à toi

EDIT :
J’ai un résultat sur le « get properties » des nouvelles caméras :

{"type":"version","driverVersion":"2.1.2","serverVersion":"0.9.4","minSchemaVersion":0,"maxSchemaVersion":12}
{"type":"result","success":true,"result":{"properties":{"name":"Voitures","model":"T8161","serialNumber":"T8161Monserial","type":23,"hardwareVersion":"P1","softwareVersion":"3.1.7.8","stationSerialNumber":"T8030Monserial"}}}

Mais pas trouvé comment avoir un retour sur la homebase

EDIT 2 trouvé : ( ça servira à d’autres)

Il faut remplacer le device.get_properties par station.get_properties … Tellement logique en plus.

Donc voici le résultat :

{"type":"result","success":true,"result":{"properties":{"name":"MaisonIA","model":"T8030","serialNumber":"T8030monserial","type":18,"hardwareVersion":"V05","softwareVersion":"3.1.0.3","macAddress":"0417BFFFFFF","timeFormat":0,"alarmVolume":26,"stationHomeSecuritySettings":"unechainedecaracterearallonge","notificationSwitchModeSchedule":true,"notificationSwitchModeGeofence":false,"notificationSwitchModeApp":true,"notificationSwitchModeKeypad":true,"stationCustom1SecuritySettings":"unechainearallonge","guardMode":1,"lanIpAddress":"XXX.XXX.X.XX","alarmTone":1,"notificationStartAlarmDelay":false,"currentMode":1,"stationAwaySecuritySettings":"unechainearallonge"}}}

1 « J'aime »

Bonjour,

Merci à tous pour le travail et merci @rootard pour le lien.

Je découvre les subtilités de GitHub et les modalités d’installation de la solution proposée me paraissent forcément plus complexes. Ce n’est pas une critique mais forcément on est loin de l’installation « user friendly » d’un plugin classique téléchargé sur le market Jeedom. Je vais prendre le temps de relire tout ça à tête reposée.

Évidemment je suis le sujet de près :wink: