Utiliser HomeBridge sous NAS Synology

Pour ceux d’entre vous qui possèdent un NAS Synology avec Docker, je propose de voir commander installer, configurer et utiliser HomeBridge de manière à pouvoir exploiter des appareils non compatibles iOS HomeKit depuis votre IPhone ou IPad.

La plupart des tutoriaux à ce sujet survolent le sujet, ou bien se limitent à présenter la partie HomeBridge seule. Le cas pratique présenté sera la connexion d’une webcam Reolink pour l’utiliser depuis l’application IOS « Maison », soit en WIFI, soit depuis l’extérieur.

HomeBridge a pour promesse de rendre « HomeKit compatible » les appareils connectés qui le ne sont pas.

Pour pouvoir mettre en place cette passerelle sur un NAS Synology, le paquet Docker sera nécessaire.

Voici les étapes pour installer et utiliser de A à Z cette solution.

Installation

Une fois le paquet docker installé sur votre NAS, ouvrez l’application et récupérez l’image « oznu/homebridge » dans la partie « registre » :

Sélectionnez la dernière image disponible :

Celle-ci représente un peu plus de 600 Mo.

Une fois l’image téléchargée, double cliquez dessus pour créer un conteneur.

Cliquez sur l’option « exécuter le contenu à l’aide de privilèges élevés » puis sur « paramètres avancés »:

Choisissez « activer le redémarrage automatique » :

Dans l’onglet Volume, sélectionnez « Ajouter un dossier » puis choisissez « docker » :

Entrez « HomeBridge » comme nom de dossier :

Associez à ce dossier externe, le dossier du conteneur « /homebridge » :

Dans l’onglet « réseau » cochez l’option « Utiliser le même réseau que Docker host » :

Dans « Environnement », ajoutez la variable « DSM_HOSTNAME » avec comme valeur le nom associé à votre NAS :

Appliquez et cliquez sur suivant pour lancer le conteneur :

Au bout de quelques instants, celui-ci devrait apparaitre comme lancé :

Configuration

Vous allez pouvoir vous connecter à l’interface d’administration d’HomeBridge via l’adresse IP locale de votre NAS suivi du port 8581.

Les login/mot de passe par défaut sont admin/admin. L’adresse de connexion sera de type http://192.168.1.79:8581 :

Une fois connecté, la page d’accueil doit faire apparaitre des informations générales sur le serveur HomeBridge :

Pensez à modifier le mot de passe par défaut. Pour cela allez dans « comptes utilisateurs » :

Choisissez la modification de l’administrateur :

Puis entrez le nouveau mot de passe :

Pour vérifier le bon fonctionnement de HomeBridge nous allons créer un bouton fictif.

Pour cela allez dans l’onglet « Plugins » :

Sélectionnez « Réglages » sur la partie « HomeBridge Dummy », puis créez un bouton nommé « Switch » :

Validez en cliquant sur « Enregister ».

Pour prendre en compte ce bouton au niveau du serveur, cliquez sur le bouton « Redémarrer » en haut :

Si tout se passe bien, le bouton devraient apparaitre dans « Accessoires » :

Si vous activez le bouton, celui-ci passe dans l’état « On » :

Et les logs confirment bien que tout fonctionne :

C’est basique mais cela permet de faire la suite.

Accès via IOS

Maintenant que HomeBridge est fonctionnel, nous allons l’utiliser via IOS.

Lancez l’application « Maison » sous IOS :

Cliquez sur « Ajouter un accessoire » :

Il suffit alors de scanner le QR code visible sur la page principale de HomeBridge :

Celui-ci est reconnu en tant que « Pont » :

Validez votre choix puis continuez avec « Poursuivre l’ajout »:

Si tout fonctionne comme prévu, vous devriez voir le bouton fictif disponible :

Bingo !

Si vous cliquez dessus depuis IOS, celui-ci sera bien mis à jour aussi au niveau de votre serveur HomeBridge.

Caméra Reolink

Passons maintenant au plat de résistance : l’installation d’une caméra « Reolink » qui n’est pas compatible HomeKit à la base.

Allez dans l’onglet « Plugins » puis entrez le nom « ffmpeg » dans la barre de recherche:

Le plugin « Homebridge Camera Ffmpeg » devrait être disponible.

Cliquez sur Installer pour que celui-ci soit reconnu sur votre serveur.

Dans les réglages du plugin, entrez le nom de votre caméra, puis l’accès au flux vidéo comme ci-dessous :

La ligne « video source » telle que ci-dessous sera nécessaire à l’utilitaire ffmpeg :

-i rtsp://admin:password@192.168.1.14:554//h264Preview_01_main

Pensez à remplacer :

  • « password » par le mot de passe de connexion à votre caméra
  • « 192.168.1.14 » par l’adresse IP locale de votre caméra

Important : si jamais vous avez des caractères spéciaux dans votre mot de passe, il faudra les encoder en consultant les explications de l’article « what is URL encoding and how does it work ?« 

Validez vos changements par « enregistrer » :

Redémarrer à nouveau votre serveur pour prendre en compte cette caméra :

Normalement les logs devraient indiquer que votre caméra a été reconnu.

Si jamais ce n’est pas le cas, essayer de vous connecter avec l’utilitaire VLC en suivant les instructions de la page « how to live view Reolink camera » de manière à vérifier ce qui pourrait coincer.

Si l’URL que vous utilisez marche via VLC, elle fonctionnera également sous HomeBridge : )

Et vous l’aurez devinez, la caméra diffuse dorénavant son flux vidéo vers IOS via HomeBridge :

Plutôt pas mal pour une caméra qui n’était pas compatible à la base non ?

Connexion à distance

Pour terminer cette article, je partage une fonctionnalité que proposent les appareils tels que AppleTV, HomePod ou iPad : celui de concentrateur.

Kesako me direz-vous ?

Lorsque vous êtes à l’extérieur de chez vous, ils permettent de jouer le rôle de relais entre votre iPhone et votre Maison. La contrainte étant de laisser l’appareil chez vous et allumé.

Voici l’illustration via un IPad.

Allez dans les paramètres « Réglages/ICloud » et vérifiez que « Maison » est bien activé:

Ensuite allez dans « Réglages/Maison » :

Puis sélectionnez l’option « Utiliser cet iPad comme concentrateur » :

Si vous vous connectez depuis votre IPhone en 4G (en déconnectant le WIFI) pour vérifier que tout fonctionne, le bouton fictif ou encore la caméra devraient apparaitre comme ci-dessous :

Cela vous permet donc de profiter de votre appareil connecté depuis l’extérieur.

Pour finir

Cette solution se base sur Node.js, en théorie il devrait donc être possible de l’installer sans passer par Docker, cependant les quelques essais que j’ai pû faire ont été infructueux.

La camera Reolink propose une application IOS pour la consultation à distance du flux vidéo, cependant la solution avec HomeBridge permet d’avoir un tableau de bord unique si jamais vous avez d’autres appareils HomeKit ou pas chez vous.

En attendant n’hésitez pas à mettre dans les commentaires ce que vous pensez de cette solution ou si vous avez testé avec succès d’autres appareils 🙂

3 réflexions sur “Utiliser HomeBridge sous NAS Synology

  1. Bonjour,

    Merci pour votre tuto. très bien et très instructif.
    J’ai une vielle EM6270 qui fonctionne à merveille
    J’ai l’erreur suivante

    Starting to advertise ‘Homebridge xxxx xxxx’ using bonjour-hap backend!
    [5/22/2021, 3:41:36 AM] Homebridge v1.3.4 (Homebridge 8A4C) is running on port 52395.
    [5/22/2021, 3:41:47 AM] [Camera FFmpeg] [EM6270] [Snapshot] [rtsp @ 0x7fa53d1016c0] method DESCRIBE failed: 503 Service Unavailable
    [5/22/2021, 3:41:47 AM] [Camera FFmpeg] [EM6270] [Snapshot] rtsp://admin:xxxx@192.168.xx.xx:554//h264Preview_01_main: Server returned 5XX Server Error reply

    La Cam fonctionne et j’ai pu le vérifier avec DS Cam. Et j’ai fait le test avec VLC, ça ne fonctinne pas plus. Faut-il ouvrir le port 554?

    Merci pour vos éclairages
    Cdt

    J'aime

    1. Bonjour,

      Je vous remercie pour les indications. Malheureusement j’ai toujours des erreurs. Avez-vous une idée ou une référence (url…) pour approfondir?

      [5/24/2021, 3:37:02 PM] [Camera FFmpeg] [EM6270] Starting video stream: 1280 x 720, 30 fps, 299 kbps
      [5/24/2021, 3:37:02 PM] [Camera FFmpeg] [EM6270] [NULL @ 0x7ff522779080] [error] Unable to find a suitable output format for ‘http://admin:admin@192.168.188.79/snapshot.jpg?account=admin&password=admin’
      [5/24/2021, 3:37:02 PM] [Camera FFmpeg] [EM6270] [error] http://admin:admin@192.168.188.79/snapshot.jpg?account=admin&password=admin: Invalid argument
      [5/24/2021, 3:37:02 PM] [Camera FFmpeg] [EM6270] FFmpeg exited with code: 1 and signal: null (Error)
      [5/24/2021, 3:37:02 PM] [Camera FFmpeg] [EM6270] Stopped video stream.

      J'aime

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s