Homebridge & Camera iOS Real Time

Bonjour à tous,

Je me permets de vous solliciter car j’arrive au bout de tout ce que j’ai pu tester pour faire fonctionne mes caméra sur iOS via Homebridge.

Infrastructure :

  • Intel NUC
  • Ubuntu Server 18.04 LTS
  • Jeedom 4.0.40
  • Plugin Homebridge 3.3.24
  • Plugin Camera 3.2.12
  • Camera Thomson DSC - 325B

Tout est à jours et j’ai réinstalle toutes les dépendances pas mal de fois. Concernant ce qui fonctionne :

  • Homebridge est bien configuré à mon téléphone, je remonte pas mal de KPI de la maison
  • Le flux vidéo de ma caméra fonctionne bien sur VLC avec le protocole RTSP
  • J’accède bien à la miniature via HTTP sur mon navigateur
  • Le plugin homebridge génère bien le json contenant les tailles qui sont récupérées depuis la caméra (ci-dessous)
  • Le debug de homebridge détecte bien la caméra ainsi que le plugin ffmpeg

Etrangement ma caméra remonte bien dans l’application Home de iOS, mais il ne m’envoie que les commandes de :

  • Motion Sensor
  • Powered On
    Mais rien qui me permet d’avoir la miniature ou le flux en direct.

Voici ce que génère homebridge pour l’objet caméra :

{
« platform »: « Camera-ffmpeg »,
« cameras »: [
{
« name »: « Camera2 »,
« videoConfig »: {
« source »: « -rtsp_transport tcp -re -i rtsp://admin:PASSWORD@IP:88/videoMain »,
« stillImageSource »: « -i http://IP:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=PASSWORD »,
« maxStreams »: 2,
« maxWidth »: 1920,
« maxHeight »: 1080,
« maxFPS »: 30,
« vcodec »: « h264 »
}
}
]
}

Et quelques logs du lancement de homebridge :

[2/19/2020, 10:45:04 AM] Loaded config.json with 0 accessories and 1 platforms.
[2/19/2020, 10:45:04 AM] ---
[2/19/2020, 10:45:04 AM] Plugin /usr/lib/node_modules/homebridge-camera package.json does not contain the keyword 'homebridge-plugin'.
[2/19/2020, 10:45:05 AM] Loaded plugin: homebridge-alexa
[2/19/2020, 10:45:05 AM] Registering platform 'homebridge-alexa.Alexa'
[2/19/2020, 10:45:05 AM] ---
[2/19/2020, 10:45:06 AM] Loaded plugin: homebridge-camera-ffmpeg
[2/19/2020, 10:45:06 AM] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[2/19/2020, 10:45:06 AM] ---
[2/19/2020, 10:45:06 AM] Loaded plugin: homebridge-jeedom
[2/19/2020, 10:45:06 AM] Registering platform 'homebridge-jeedom.Jeedom'
[2/19/2020, 10:45:06 AM] ---
[2/19/2020, 10:45:06 AM] Loading 1 platforms...
[2/19/2020, 10:45:06 AM] [Jeedom] Initializing Jeedom platform...
[2/19/2020, 10:45:06 AM] [Jeedom] debugLevel:100
[2/19/2020, 10:45:06 AM] [Jeedom] [INFO] Adresse Jeedom bien configurée :http://XXXXX
Load homebridge-camera-ffmpeg.Camera-ffmpeg
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG] Accessoire en cache: Camera2
Setup Payload:
X-HM://XXXXX
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
│ CODE │
└────────────┘
...
[2/19/2020, 10:45:06 AM] [Jeedom] Enumération des périphériques Jeedom...
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG] eqLogic > {"id":"11","name":"Camera2","logicalId":"","generic_type":null,"object_id":"14","eqType_name":"camera","isVisible":0,"isEnable":1,"order":"9999","comment":null,"tags":null,"status":{"lastCommunication":"2020-02-19 11:34:43","timeout":0,"warning":0,"danger":0},"sendToHomebridge":1,"services":{"Switch":[{"on":{"id":"145","logicalId":"sendSnapshot","generic_type":"CAMERA_RECORD","eqType":"camera","name":"Enregistrer","order":"0","type":"action","subType":"message","eqLogic_id":"11","value":null,"isVisible":0,"alert":[],"display":{"title_placeholder":"Nombre captures ou options","message_placeholder":"Commande message d'envoi des captures"}}},null,null,{"state":{"id":"142","logicalId":"recordState","generic_type":"CAMERA_RECORD_STATE","eqType":"camera","name":"Status enregistrement","order":"0","type":"info","subType":"binary","eqLogic_id":"11","isVisible":0,"alert":[],"currentValue":0,"configuration":{"phpType":"integer"}}},null,null,null,null,{"off":{"id":"143","logicalId":"stopRecordCmd","generic_type":"CAMERA_STOP","eqType":"camera","name":"Arrêter enregistrement","order":"999","type":"action","subType":"other","eqLogic_id":"11","value":null,"isVisible":1,"alert":[],"display":{"icon":"<i class=\"fa fa-stop\"></i>"}}}],"presence":[null,null,null,null,null,null,{"presence":{"id":"139","logicalId":"motionDetectAlarm","generic_type":"PRESENCE","eqType":"camera","name":"Motion alarme","order":"3","type":"info","subType":"binary","eqLogic_id":"11","isVisible":1,"alert":[],"currentValue":0,"display":{"invertBinary":1},"configuration":{"phpType":"integer"}}}]}}
[2/19/2020, 10:45:06 AM] [Jeedom] ┌──── Camera > Camera2 (11)
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]  Vérification d'existance de l'accessoire dans le cache Homebridge...
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]  Accessoire déjà existant dans le cache Homebridge
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]  Suppression service :Status enregistrement subtype:11-142- UUID:00000049-0000-1000-8000-0026BB765291
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]     Caractéristique :Name valeur cache:Status enregistrement
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]     Caractéristique :Status enregistrement valeur cache:false
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]  Suppression service :Camera2 subtype:11-139- UUID:00000085-0000-1000-8000-0026BB765291
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]     Caractéristique :Name valeur cache:Camera2
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]     Caractéristique :Motion Detected valeur cache:false
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]  Ajout service :Status enregistrement subtype:11-142- cmd_id:142 UUID:00000049-0000-1000-8000-0026BB765291
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]     Caractéristique :Status enregistrement valeur initiale:false
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]  Ajout service :Camera2 subtype:11-139- cmd_id:139 UUID:00000085-0000-1000-8000-0026BB765291
[2/19/2020, 10:45:06 AM] [Jeedom] [DEBUG]     Caractéristique :Motion Detected valeur initiale:false
[2/19/2020, 10:45:06 AM] [Jeedom] │ OK : Mise à jour de l'accessoire (Camera2)

Si vous avez la moindre piste, je suis preneur et je vous remercie pas avance.

Très bonne journée à tous,

Bonjour,

attention d’abord car Ubuntu n’est pas officiellement supporté…

sinon tu as bien ajouté la camera à Maison manuellement avec le code ?

Bonjour,

attention d’abord car Ubuntu n’est pas officiellement supporté…

Je connaissais bien ubuntu et en suivant la documentation lié à debian (10) en version de base de contenait pas les commandes de sudo et usermod rendant la script d’installation ./install.sh de jeedom non fonctionnel, du coup j’ai préféré partir sur une valeur sûre pour moi, mais j’en suis conscient ^^

sinon tu as bien ajouté la camera à Maison manuellement avec le code ?

Du tout, je n’ai jamais utilisé le code d’ajout manuellement. La première fois, j’ai ajouté mon bridge via le QrCode, après dès que je mets à jour les objets dans homebridge, je voie que mes widgets s’ajoutent et s’actualisent dans Home de iOS. Du coup je ne sais pas trop à quoi sert le code, ni comment l’utiliser.

le premier ajout que tu fais, tu ajoutes le pont jeedom à Maison. donc tous les périphériques jeedom s’ajouterons automatiquement.

après, comme tu rajoutes une nouvelle plateforme camera, c’est un nouvel accessoire pour Homekit (une camera ne peut pas faire partie d’un pont), tu dois l’ajouter manuellement avec le code (ou via la cam de ton tel) et non pas le qrcode (ceci est indiqué dans la doc)

Merci pour tes éclaircissement, j’avoue avoir été induit en erreur par le fait que l’objet caméra sur certains aspect était remonté dans l’application automatiquement, pour moi elle était donc bien envoyé et synchronisé avec mon pont.

Mais du coup je dois fournir quel code, celui qui figure sur le plugin homebridge qui change jamais ?

Merci et désolé si ce sont des questions assez basiques, la documentation et le forum est plutôt bien fournis mais j’ai commencé ce week-end et quelques subtilités m’échappes encore visiblement.

Merci en tout cas,

oui le code du type 123-12-123 qui est dans la configuration du plugin.

dans maison tu dis « Je n’ai pas de code ou je ne peux pas le scanner », puis dans Code manuel > Saisir un code… tu l’indiques et puis tu sélectionnes la camera dans les périphériques que tu vois.

Merci pour ton retour, j’imagine qu’il faut être sur le réseau local pour découvrir le nouvel équipement.

Je teste ce soir et je ferai un retour sur la situation.

Merci et à bientôt,

oui en local seulement

Bonsoir,

Au risque du coup d’insister mais malheureusement je viens de tester en mettant le code lors de l’ajout d’un nouvel accessoire, cela ne trouve rien.

Mais encore une fois, ma caméra est déjà présente dans l’application iOS, pour moi elle se synchronise, mais sans la fonction d’affichage du flux.

Côté plugin camera :

Côté homebridge :

Une idée de ce que je pourrais tester ou remonter comme info pour aider au diagnostique ?

A bientôt,

Voici côté configuration ce qui remonte automatiquement :

Et voila ce que j’ai côté application qui remonte déjà depuis homebridge sans avoir eu besoin de saisir le code :

En espérant que cela aide,

Non…

Jeedom remonte les commandes car ce n’est pas géré par l’autre plugin (caméra-ffmpeg). C’est donc normal que tu les voies.

Mais tu n’as pas ajouté le composant caméra,

Donc renomme ta caméra dans ton jeedom car tu dois avoir fait trop d’essais, relance le démon et recommence un appairage comme je t’ai demandé.

Quand tu parles de composant, tu parles d’objet dans jeedom ? plugin Camera ? Librairie homebride ? Une librairie tierce à installer sur le système ?

J’ai donc tout refait :

  • Creation d’un objet dans OBJCamera dans Outils > Objets
  • Création d’un équipement dans le plugin Camera
    image
  • Configuration de dernier avec les informations des précédents messages
  • Activé l’élément dans l’export Homebridge qui génère le JSON des précédents messages
  • Relancer le démon
[2/19/2020, 7:11:48 PM] Plugin /usr/lib/node_modules/homebridge-camera package.json does not contain the keyword 'homebridge-plugin'.
[2/19/2020, 7:11:49 PM] Loaded plugin: homebridge-alexa
[2/19/2020, 7:11:49 PM] Registering platform 'homebridge-alexa.Alexa'
[2/19/2020, 7:11:49 PM] ---
[2/19/2020, 7:11:50 PM] Loaded plugin: homebridge-camera-ffmpeg
[2/19/2020, 7:11:50 PM] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[2/19/2020, 7:11:50 PM] ---
[2/19/2020, 7:11:50 PM] Loaded plugin: homebridge-jeedom
[2/19/2020, 7:11:50 PM] Registering platform 'homebridge-jeedom.Jeedom'
[2/19/2020, 7:11:50 PM] ---
[2/19/2020, 7:11:50 PM] Loading 1 platforms...
[2/19/2020, 7:11:50 PM] [Jeedom] Initializing Jeedom platform...
[2/19/2020, 7:11:50 PM] [Jeedom] debugLevel:400
Load homebridge-camera-ffmpeg.Camera-ffmpeg
...
[2/19/2020, 7:11:50 PM] [Jeedom] Synchronisation Jeedom <> Homebridge...
[2/19/2020, 7:11:51 PM] Homebridge is running on port 51826.
[2/19/2020, 7:11:51 PM] [Jeedom] Enumération des scénarios Jeedom...
[2/19/2020, 7:11:51 PM] [Jeedom] ┌──── OBJCamera > PLUGINCamera (11)
[2/19/2020, 7:11:51 PM] [Jeedom] │ Nouvel accessoire (PLUGINCamera)
[2/19/2020, 7:11:51 PM] [Jeedom] │ OK : Ajout de l'accessoire (PLUGINCamera)
[2/19/2020, 7:11:51 PM] [Jeedom] └─────────
  • Dans l’application : Add accessory > I don’t have a code or cannot scan > Enter code… > Code puis il ne trouve rien

ok je viens de comprendre ce que tu as loupé

tu n’as pas copié le code json dans les plateformes supplémentaires.

le code json c’est ca :
https://community.jeedom.com/uploads/default/original/2X/5/5a33f99d619bfd10ff825faa80a080e832b311b8.png

comme il est écrit sur dessus : tu dois copier coller ce code dans plateformes supplémentaires.

toi tu n’as pas vu l’article qui explique comment configurer une cam que j’ai fait sur le blog de nechry ;)… pourtant une simple recherche google jeedom homebridge camera donne ce résultat…

une fois que c’est fait, tu sauvegardes, relance le démon et recommence l’ajout via maison comme je t’ai indiqué

et cela me confirme aussi que tu n’as pas lu la documentation. je viens de vérifier et ca y est

Je venais de le voir juste avant que tu répondes -_-

J’ai à la fois honte et en même temps le message lorsque la popup s’ouvre ne nous invite pas à aller trifouiller ^^ Soit dit en passant j’était persuadé que ce fameux code JSON généré par Homebridge était injecté par défaut dans la mesure ou il est coché comme activé.

En tout cas un grand merci, désolé pour la galère, cela servira peut-être aux autres.

Petit screen pour bien insisté sur l’ajout à la main :wink:

Très bonne soirée

non ce n’est pas injecté car plein de gens ont des plateformes supplémentaires, et pas que de camera. et puis comment détecter ceux qui l’ont déjà ajouté… donc je préfères laisser le choix de la mettre, ou pas…

le texte dit que ce sont les infos qui ont été détectées, si les gens configurent mal leur cam dans le plugin camera, les infos sont pas complètes (voir parfois c’est carrément vide), ils doivent donc vérifier, il est bien écrit que les cameras se gèrent dans les plateformes supplémentaires.

je t’invite à trouver ce petit article, tout y est expliqué, ainsi que dans la documentation pour les plateformes supplémentaires, ya bcp de potentiel là dedans, moyen de faire plein de choses :wink:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.