Intégration domotique Imou Life, gratuite et open source

Caméras Imou via l’API ouverte officielle : images, mouvements, personnes, sonnette, mode privé.
Les caméras et sonnettes Imou (Ranger, Cruiser, Bullet, Cell, Versa, sonnettes…) dans Gladys, via l’API ouverte officielle d’Imou (open.imoulife.com) : images des caméras, détection de mouvement et de personne, sonnette, mode privé, détection de mouvement, projecteur, sirène, orientation, batterie et carte SD.
Développée sans le matériel : vos retours sont les bienvenus. Cette intégration a été écrite d’après la documentation d’Imou et les bibliothèques Imou open source, sans caméra Imou ni compte développeur Imou sous la main. Si quelque chose ne marche pas avec votre modèle, ouvrez un ticket : https://github.com/guim31/gladys-imou/issues
Cette intégration n’est pas affiliée à Imou ni à Dahua.
Prérequis
- Gladys Assistant 5.1 ou plus récent (les flèches d’orientation du tableau de bord demandent Gladys 5.2).
- Vos caméras ajoutées dans l’app Imou Life.
- Un compte développeur Imou gratuit, pour obtenir un AppId et un AppSecret :
- Allez sur open.imoulife.com et inscrivez-vous avec le même identifiant que l’app Imou Life (Gladys voit les caméras de ce compte).
- Ouvrez la console, My App → App Information, cliquez sur Edit, remplissez les champs demandés et enregistrez.
- Copiez l’AppId et l’AppSecret affichés sur cette page.
- Gladys a besoin d’Internet : tout passe par le cloud Imou.
Configuration
Dans Gladys, Intégrations → Imou Life → Configuration :
| Réglage | Ce qu’il fait |
|---|---|
| AppId | L’AppId de votre application développeur. |
| AppSecret | Son AppSecret. Il ne sert qu’à signer les requêtes : jamais envoyé, jamais écrit dans les logs. |
| Centre de données | Où vit votre compte Imou : Europe (par défaut), Asie-Pacifique, Amériques ou Chine. |
| Relève des alarmes | Fréquence de lecture des alarmes de chaque caméra (de 30 secondes à 10 minutes, 1 minute par défaut). |
| Images des caméras | Fréquence d’une capture neuve des caméras sur secteur (15 minutes par défaut). |
| Autoriser la coupure de la surveillance | Permet aux scènes et au widget de couper la détection ou d’activer le mode privé. Désactivé par défaut. |
| Autoriser la sirène | Ajoute un interrupteur de sirène aux caméras qui en ont une. Désactivé par défaut. |
| Langue des noms | Langue des noms de fonctionnalités et des textes envoyés aux scènes (français par défaut). |
Puis Tester la connexion : le résultat dit combien de caméras Imou a renvoyées et environ combien d’appels par jour coûtent vos réglages. Les caméras apparaissent dans l’onglet Découverte : ajoutez celles que vous voulez. Seules les caméras ajoutées à Gladys sont lues.
Appareils
Un appareil Gladys par caméra (un par objectif d’une caméra à double objectif ou par canal d’un enregistreur), identifié par son numéro de série Imou. Chaque caméra n’a que les fonctionnalités qu’elle possède :
| Fonctionnalité | Ce qu’elle montre |
|---|---|
| Image | La dernière capture ou image d’alarme, affichée par la boîte caméra du tableau de bord. |
| Orientation | Flèches (et zoom) des caméras motorisées : chaque appui est un petit pas, la caméra s’arrête d’elle-même. |
| Mouvement | 1 pendant une minute après une détection (personnes comprises). |
| Personne | 1 pendant une minute après que la caméra a détecté une personne. |
| Sonnette | Sonnettes : 1 puis 0 quand quelqu’un sonne. |
| Dernier événement | « Personne · 18:32 ». |
| En ligne | La caméra répond au cloud Imou. Une caméra sur batterie en veille est en ligne. |
| Détection de mouvement | Si la détection de mouvement est active. Lecture seule : voir Actions de scène. |
| Mode privé | Si l’objectif est masqué. Lecture seule : voir Actions de scène. |
| Projecteur | Le projecteur des caméras qui en ont un : marche/arrêt depuis Gladys. |
| Sirène | Seulement si Autoriser la sirène est coché. |
| Batterie | Caméras sur batterie, en %. |
| Carte SD | Normale, pas de carte, formatage en cours, erreur. |
| Taille de la carte SD | En Go. |
| Espace libre de la carte SD | En Go (0 sans carte). |
La Détection de mouvement et le Mode privé sont affichés, jamais proposés comme interrupteurs : les couper par erreur (un assistant vocal, une scène « tout éteindre ») laisserait la maison sans surveillance. Ils se changent par les actions de scène et le widget.
Rafraîchissement et quota
Gladys n’interroge pas ces caméras : l’intégration lit le cloud Imou sur ses propres minuteurs.
- La liste des appareils (un appel pour toutes les caméras) toutes les 10 minutes : noms, état en ligne.
- Les alarmes de chaque caméra ajoutée à Gladys à l’intervalle de Relève des alarmes : un appel par caméra.
- Détection de mouvement, mode privé et projecteur toutes les 30 minutes, batterie et carte SD toutes les heures, et juste après une commande.
- Une capture de chaque caméra sur secteur à l’intervalle d’Images des caméras. Les caméras sur batterie ne sont jamais réveillées par ce minuteur.
Chaque appel compte dans le quota de votre compte développeur Imou. Avec les réglages par défaut, une caméra sur secteur coûte environ 1 700 appels par jour (dont 1 440 pour les alarmes) : espacez la Relève des alarmes pour économiser. Imou fait évoluer les limites de son offre gratuite : consultez-les dans My Resources de la console. Quand Imou répond que le quota est épuisé, toutes les lectures s’arrêtent une heure et la page de configuration l’indique.
Widget
Caméras Imou montre la dernière image des caméras choisies (toutes par défaut), une ligne par caméra (mode privé, dernier événement, en ligne, en veille ou hors ligne) et, quand il montre une seule caméra, un bouton Nouvelle image et le mode privé : Reprendre toujours, Mode privé seulement si Autoriser la coupure de la surveillance est coché, après confirmation.
Déclencheurs de scène
- Mouvement détecté par une caméra Imou : toute détection, personnes comprises. Filtres : caméra, ce qui est détecté (mouvement, personne). Variables : nom de la caméra, ce qui est détecté.
- Personne détectée par une caméra Imou : la détection humaine de la caméra a vu quelqu’un. Variable : nom de la caméra.
- Quelqu’un sonne à une sonnette Imou : filtre : sonnette. Variable : nom de la sonnette.
L’image de la caméra est mise à jour avant le déclenchement : « envoyer l’image de la caméra » envoie l’image de l’événement. Les événements sont lus à l’intervalle de Relève des alarmes : comptez jusqu’à ce délai.
Actions de scène
- Rafraîchir l’image d’une caméra Imou : une capture tout de suite.
- Orienter une caméra Imou : un pas à gauche, à droite, en haut, en bas, zoom avant ou arrière.
- Mode privé d’une caméra Imou : activé (objectif masqué) ou désactivé (caméra active). Activé demande Autoriser la coupure de la surveillance.
- Détection de mouvement d’une caméra Imou : activée ou désactivée. Désactivée demande Autoriser la coupure de la surveillance.
Exemples de scènes
- Quand une Personne détectée par une caméra Imou vient de la caméra de l’allée la nuit : allumer l’éclairage extérieur et envoyer son image par message.
- Quand Quelqu’un sonne à une sonnette Imou : envoyer l’image de la sonnette à la famille et l’annoncer sur les enceintes.
- Quand la dernière personne quitte la maison : Mode privé d’une caméra Imou désactivé pour les caméras intérieures ; au retour (si la coupure de la surveillance est autorisée) : activé.
Dépannage
- « Imou a refusé l’AppId ou l’AppSecret » : recopiez-les depuis My App, et vérifiez le Centre de données de votre compte.
- Aucune caméra trouvée : le compte développeur doit utiliser le même identifiant que l’app Imou Life. Une caméra partagée n’apparaît que partagée avec le droit de commande.
- « Au-delà de la limite d’appareils de l’offre gratuite » : l’offre développeur gratuite d’Imou pilote un nombre limité d’appareils. Gardez sur ce compte les caméras utiles, ou partagez les autres vers un second compte avec son propre AppId.
- Quota épuisé : espacez la Relève des alarmes et les Images des caméras, ou ajoutez moins de caméras.
- Pas d’image : la caméra est hors ligne, en veille ou en mode privé. Certains modèles chiffrent leurs images d’alarme : l’intégration prend alors une capture des caméras sur secteur.
- Logs : Intégrations → Imou Life → Logs.
LOG_LEVEL=debugmontre chaque lecture. L’AppSecret, l’AppId, les jetons et les adresses d’images ne sont jamais écrits.
Limites
- Cloud seulement : le cloud Imou et l’accès à Internet sont nécessaires. Imou ne peut pas pousser les événements vers Gladys (son push demande une adresse publique) : les alarmes sont lues à chaque Relève des alarmes, une scène démarre donc jusqu’à ce délai après l’événement.
- Pas de vidéo en direct : le tableau de bord montre la dernière image.
- Les caméras de la nouvelle plateforme Imou (signalées par Tester la connexion) n’ont que l’image, les alarmes et l’état en ligne.
- Les caméras sur batterie ne sont pas capturées sur minuteur (chaque capture les réveillerait) et leur carte SD n’est pas lue.
- La détection de personne, la sonnette et les capacités viennent de la documentation d’Imou, pas d’essais sur de vraies caméras : vos retours sont les bienvenus.
- Développée sans le matériel ni compte Imou ; pas affiliée à Imou ni à Dahua.
Paramètres de configuration
Voici les paramètres demandés par Imou Life dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre application développeur Imou | section | Non | Gladys lit vos caméras via l’API ouverte officielle d’Imou. Créez un compte développeur gratuit sur open.imoulife.com avec l’identifiant de l’app Imou Life, puis copiez l’AppId et l’AppSecret de « My App ». |
| AppId | string | Oui | Page « My App » de la console développeur Imou. |
| AppSecret | secret | Oui | Signe les requêtes : il n’est jamais envoyé ni écrit dans les logs. |
| Centre de données | select | Non | Où vit votre compte Imou. Europe pour un compte créé en Europe. |
| Relève des alarmes | select | Non | Fréquence de lecture des alarmes de chaque caméra : un appel Imou par caméra à chaque fois, compté dans le quota de votre compte développeur. |
| Images des caméras | select | Non | Fréquence d’une capture neuve des caméras sur secteur : c’est elle qu’affiche la boîte caméra du tableau de bord. Sur batterie : seulement à l’alarme. |
| Autoriser la coupure de la surveillance | boolean | Non | Permet aux scènes et au widget de couper la détection de mouvement ou d’activer le mode privé. Désactivé par défaut : une erreur laisserait la maison sans surveillance. |
| Autoriser la sirène | boolean | Non | Ajoute un interrupteur de sirène aux caméras qui en ont une. Désactivé par défaut : une erreur de scène réveillerait les voisins. |
| Langue des noms | select | Non | Langue des noms de fonctionnalités et des textes envoyés aux scènes. Les noms sont fixés à l’ajout d’un appareil. |
Comment installer Imou Life dans Gladys
- Dans Gladys, ouvrez Intégrations : Imou Life apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-imou:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-imou.
Imou Life nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Imou Life est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation