Problème snapshot

Problème snapshot Eufy Doorbell T8210 – fichier généré non exploitable

Environnement

  • Jeedom : accès local OK
  • Plugin Eufy
  • Docker : OK
  • Image : bropat/eufy-security-ws:latest
  • Version détectée dans les logs : eufy-security-ws 1.9.1
  • HomeBase : T8010P2322350BEE
  • Sonnette : T8210P6422353F05

Symptôme

Depuis environ une semaine, le snapshot n’apparaît plus dans les designs Jeedom.

La commande snapshot continue pourtant à renvoyer :

/plugins/eufy/data/tmp/T8210P6422353F05.jpg?ts=177...

Le fichier est bien créé dans :

/var/www/html/plugins/eufy/data/tmp/T8210P6422353F05.jpg

mais il n’est pas reconnu comme une image JPEG.


Vérifications effectuées

Docker

Le container démarre correctement :

Eufy Security server listening on host 0.0.0.0, port 3000

Connexion HomeBase :

Connected to station T8010P2322350BEE

Connexion Push :

Push notification connection successfully established

Le plugin remonte correctement les propriétés de la HomeBase :

currentMode
sdCapacity
sdCapacityAvailable
etc.

Présence du fichier snapshot

ls -l /var/www/html/plugins/eufy/data/tmp/

Résultat :

-rw-r--r-- 1 www-data www-data 107862 Jun 1 09:53 T8210P6422353F05.jpg

Le fichier est bien généré et mis à jour.


Accès HTTP

curl -I http://127.0.0.1/plugins/eufy/data/tmp/T8210P6422353F05.jpg

Résultat :

HTTP/1.1 200 OK
Content-Type: image/jpeg

Apache sert correctement le fichier.


Analyse du fichier

file /var/www/html/plugins/eufy/data/tmp/T8210P6422353F05.jpg

Résultat :

data

Au lieu de :

JPEG image data

Contenu du début du fichier

head -c 20 /var/www/html/plugins/eufy/data/tmp/T8210P6422353F05.jpg | xxd

Résultat :

00000000: 7632 5f65 7566 7973 6563 7572 6974 793a
00000010: 5438 3031

soit :

v2_eufysecurity:T801

Le fichier ne commence donc pas par un en-tête JPEG valide (FF D8 FF).


Analyse hexadécimale

xxd T8210P6422353F05.jpg | head -30

Le contenu commence par :

v2_eufysecurity:T8010P2322350BEE:0175382478:r

puis des données binaires.

Aucun marqueur JPEG détecté :

grep -aob "JFIF" fichier.jpg
grep -aob "Exif" fichier.jpg

Résultat : rien.


Test FFmpeg

ffmpeg -i T8210P6422353F05.jpg test.jpg

Résultat :

No JPEG data found in image
Could not find codec parameters
Conversion failed

Réinstallation effectuée

Procédure réalisée :

  1. Désinstallation du service Eufy
  2. Suppression du container
  3. Suppression de l’image Docker
  4. Réinstallation complète
  5. Recréation du container

Résultat :

Même comportement.

Le snapshot généré commence toujours par :

v2_eufysecurity:T801...

Conclusion

Le plugin génère bien un fichier :

/var/www/html/plugins/eufy/data/tmp/T8210P6422353F05.jpg

mais son contenu n’est pas une image JPEG exploitable.

Le fichier semble contenir une donnée Eufy propriétaire/chiffrée/non décodée :

v2_eufysecurity:T8010P2322350BEE:...

Le problème ne semble pas lié :

  • au design Jeedom
  • à Apache
  • aux permissions
  • à Docker
  • à la HomeBase
  • à la connexion Cloud Eufy

Hypothèse : la décryption ou la conversion du média snapshot ne s’effectue plus avant l’écriture du fichier .jpg.

je n’ai pas ce modèle de caméra. as tu maj ton image Eufy?
voici le contenu de mon snapshot sur une T8410 (image v2.0.1):

file T8410P4XXXX.jpg
T8410P4XXXX.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "", comment: "", comment: "", comment: "", comment: "", comment: "", baseline, precision 8, 768x432, components 3

head -c 20 8410P4XXXX.jpg|xxd
00000000: ffd8 ffe0 0010 4a46 4946 0001 0100 0001  ......

Essaie de maj l’image pour voir si ca change qqch ceci dit pourquoi indiques tu l’avoir deja fait???

Procédure réalisée :

Désinstallation du service Eufy
Suppression du container
Suppression de l’image Docker
Réinstallation complète
Recréation du container

le ls -l n’est pas au bon niveau !

cd /var/www/html/plugins/eufy/data/tmp
ls -l

tant que tu y es ajoutes:

file TXXXX.jpg

remplaces XXXX bien sur…
et donnes moi ta version d’image Eufy (cf page config)

Bonjour, merci pour la reponse, voici mes résultats :
Voici les tests au bon emplacement :

cd /var/www/html/plugins/eufy/data/tmp
pwd
=> /var/www/html/plugins/eufy/data/tmp

ls -l
=> -rwxrwxr-x 1 www-data www-data 66688 2 juin 10:03 T8210P6422353F05.jpg

file T8210P6422353F05.jpg
=> T8210P6422353F05.jpg: data

head -c 20 T8210P6422353F05.jpg | xxd
=> 00000000: 7632 5f65 7566 7973 6563 7572 6974 793a v2_eufysecurity:
=> 00000010: 5438 3031 T801

Version image Eufy indiquée en page config : 2.1.0

Donc le fichier est bien généré, mais il ne commence pas par FF D8 FF comme un JPEG valide. Il commence par v2_eufysecurity:T801.

Information complémentaire :

J’ai vérifié la valeur reçue par le widget Jeedom.

La commande retourne bien :

/plugins/eufy/data/tmp/T8210P6422353F05.jpg?ts=1780387402

Le widget reçoit donc correctement l’URL du snapshot.

Le problème ne semble pas être dans le template/widget ni dans le chemin du fichier.

Par contre le fichier lui-même n’est pas reconnu comme une image :

file T8210P6422353F05.jpg
=> data

et son contenu commence par :

v2_eufysecurity:T801

Le widget tente donc d’afficher un fichier qui n’est pas un JPEG valide.

salut @nicopadig

j’avance dans l’analyse.
Voila ce que le deamon recoit du container d’après ta log plus haut ligne 10:

"name":"picture","value":{"data":{"type":"Buffer","data":[118,50,95,101...

Effectivement un jpg doit commencer par FF D8 FF ex chez moi sur ma T8410:

"name":"picture","value":{"data":{"type":"Buffer","data":[255,216,255,224...

L’hypothèse la plus probable est une maj du FW Eufy qui a mis la grouille dans la lib de @bropat
En quele version de l’image es tu? As tu d’autres caméras avec le même problème?

Oui, c’est bien ça.

Je suis en version image Eufy 2.1.0, visible dans la page configuration du plugin.

Tests actuels sur la T8210 :

cd /var/www/html/plugins/eufy/data/tmp
ls -l
=> -rwxrwxr-x 1 www-data www-data 66688 2 juin 10:03 T8210P6422353F05.jpg

file T8210P6422353F05.jpg
=> T8210P6422353F05.jpg: data

head -c 20 T8210P6422353F05.jpg | xxd
=> 00000000: 7632 5f65 7566 7973 6563 7572 6974 793a v2_eufysecurity:
=> 00000010: 5438 3031 T801

Le widget reçoit bien :
/plugins/eufy/data/tmp/T8210P6422353F05.jpg?ts=1780387402

Donc l’URL est bonne, mais le fichier n’est pas un JPEG exploitable.

Je n’ai pas d’autre caméra Eufy pour comparer, uniquement cette sonnette T8210 avec HomeBase T8010.

Bonjour

Même problème de mon côté pour sonnette video T8210C avec Homebase T8010.
html/plugins/eufy/data/tmp/T8210P8124240B0A.jpg, fichier présent mais non exploitable

Salut

Vous avez compris que le problème ne se situe pas dans le plugin…
En dehors de la T8210 il semble qu’il y ait d’autres modèles impactés mais je ne sais pas si c’est lié ou pas…

Si vous avez ce problème pourriez-vous me dire sur quel modele, quel FW et quelle version de l’image (cf page config) ?

Pour info ma T8410 fonctionne correctement:

  • HW: P4
  • SW: 2.1.9.7
  • image: 2.0.1 [EDIT] reproduit sur la v2.1

[EDIT: ajout de mes autres caméras, mêmes versions d’image]
T8147: ok

  • HW: 255.255.255.208
  • SW: 1.2.1.6

T8113: ko

  • HW: eufy2_mini
  • SW: 1.7.4

J’ai :

Image : 2.1.0

  • Modèle T8410 / Version matérielle P2 / Version logicielle 2.2.0.0

  • Modèle T8170 / Version matérielle 0.0.0.1 / Version logicielle 3.2.6.7

• HomeBase : Modèle T8030 / Version matérielle V05 / Version logicielle 3.6.9.0

Merci
Aucune des 2 ne fonctionne ?
Les autres j’ai besoin d’infos détaillées pour ouvrir une issue sur la lib Eufy

Oui. Les 2 on ce problème d’images aléatoires.

salut,
sonnette : Modèle et materiel : T8210 / Version : 5.7.6
Homebase : T8010 / version P0 logiciel : 3.3.5.0h

J’ai beaucoup de mal à croire que c’est aléatoire, vérifies
C’est important d’être précis si on veut aider le dev de la lib Eufy à corriger ou bypasser le problème.

Bonjour,

en ce qui me concerne, il s’agit d’une doorbell T8210 et version eufy 2.1.0

Bonjour,

Idem pour moi aussi :

Doorbell T8210C et version 2.1.0

bonne journée et bon courage

J’ai vérifié avant de poster pour la première fois.

Je le sais, car soit je reçois une image ou l’erreur « IMAGE_PROCESS_FAILED » via Telegram.

Et c’est aléatoire, c’est à dire, que je peux recevoir 4 images sans problèmes ou recevoir 1 image et 5 erreurs.

Pour info je viens d’ouvrir une issue
[EDIT] On dirait qu’on n’est pas les seuls…ca pourrait être lié au nouveau mode de chiffrement de la homebase. @freya882 ta T8410 est-elle liée à ta homebase (ca n’est pas le cas de la mienne qui fonctionne tjs)?

1 « J'aime »

Oui, les 2 sont liées à la HomeBase (pour le stockage)