Intégration domotique Invoxia, gratuite et open source

Position, batterie et silence de vos traceurs GPS Invoxia (vélo, voiture, animaux), en lecture.
Vos traceurs GPS Invoxia (vélo, voiture, animaux, bagages…) dans Gladys, par le cloud d'Invoxia, avec le compte de l'application Invoxia.
- chaque traceur devient un appareil Gladys : latitude, longitude, précision (m), batterie (%), en mouvement (si le traceur le donne), vu pour la dernière fois et muet ;
- un déclencheur de scène Traceur muet : aucune nouvelle du traceur depuis 1 heure à 48 heures (au choix dans la scène) : batterie vide, traceur retiré, plus de réseau.
Lecture seule, en interrogation : Gladys lit le cloud d'Invoxia à intervalle régulier et ne change jamais rien chez Invoxia (mode, alertes, zones restent dans l'application).
Cette intégration n'a jamais été testée avec un vrai traceur Invoxia ni un vrai compte. Cette première version a été écrite d'après la bibliothèque gps-tracker (MIT), portée en JavaScript, et testée contre une fausse API Invoxia seulement. Dites sur le forum Gladys ce qui marche et ce qui ne marche pas.
Intégration non officielle, sans lien avec Invoxia.
Un accès à utiliser avec modération
Invoxia n'ouvre pas d'API à ses clients particuliers (elle est réservée à son offre professionnelle). Cette intégration utilise, comme gps-tracker, l'API de l'application Invoxia avec vos identifiants. Selon l'auteur de gps-tracker, les conditions d'utilisation d'Invoxia ne l'interdisent pas expressément, mais ne l'encouragent pas non plus, et Invoxia pourrait agir sur un compte qui en abuse. L'intégration limite donc les requêtes au strict nécessaire : 5 minutes au moins entre deux lectures, et la position d'un traceur n'est relue que lorsque son état a changé.
Configuration
- Adresse e-mail et Mot de passe : ceux de votre compte Invoxia
(l'application Invoxia). Le mot de passe est gardé par Gladys dans sa
base, jamais réaffiché, jamais écrit dans un journal, et envoyé seulement
à l'API Invoxia (
https://labs.invoxia.io, en https, certificat vérifié). L'adresse e-mail n'est écrite dans aucun journal non plus. - Rafraîchissement : de toutes les 5 minutes à toutes les heures (5 minutes par défaut). Une requête à chaque lecture, plus une par traceur dont la position a changé. Les traceurs eux-mêmes ne se signalent que toutes les quelques minutes à quelques heures (selon leur mode, pour économiser leur batterie) : lire plus souvent n'apporterait rien.
- Muet après : de 1 heure à 48 heures (24 heures par défaut) : le délai sans nouvelle au bout duquel la fonction Muet s'allume.
Ouvrez ensuite l'onglet Découverte et créez les traceurs à suivre. Seuls les traceurs créés reçoivent leurs valeurs.
Ce que montre chaque fonction
- Latitude / Longitude : la dernière position connue, en degrés, arrondie à 6 décimales. Les deux partent toujours ensemble. La plus récente de la dernière localisation du traceur et de la position donnée par son état. Pas d'historique par défaut (vie privée ; vous pouvez l'activer dans l'appareil).
- Précision (m) : la précision de la dernière localisation, telle qu'Invoxia la donne. Pas d'historique par défaut.
- Batterie (%) : la batterie du traceur.
- En mouvement (1 / 0) : lu dans le champ
stationaryde l'état du traceur (0 : en mouvement, plus de 0 : immobile, -1 : inconnu). Interprétation à confirmer sur un vrai traceur. La fonction n'apparaît dans la Découverte qu'une fois la valeur vue pour ce traceur (mettez alors à jour l'appareil créé pour l'ajouter). - Vu pour la dernière fois : la dernière nouvelle du traceur (son
dernier événement ou sa dernière position), sous la forme
2026-10-18 08:00 UTC(UTC : l'intégration ne connaît pas le fuseau de Gladys). - Muet (1 / 0) : aucune nouvelle depuis le délai de la configuration.
- Une valeur qu'Invoxia ne donne pas n'est pas publiée. Gladys accepte 300 états par minute d'une intégration : celle-ci en envoie 250 au plus.
Déclencheur de scène : Traceur muet
Choisissez le traceur (ou tous) et le délai (obligatoire : de 1 heure à 48 heures). La scène démarre quand le traceur n'a donné aucune nouvelle depuis ce délai, à la lecture suivante. Seuls les traceurs créés dans Gladys déclenchent. Une fois par silence : une nouvelle plus récente (même ancienne) réarme seulement les délais plus longs que son âge. Jamais pour un délai déjà atteint au démarrage de l'intégration (aucun événement à la première lecture), ni pour un traceur vu pour la première fois, ni à une lecture où l'horloge de Gladys a sauté. 30 événements au plus par lecture. Variables : nom du traceur, muet depuis (minutes), vu pour la dernière fois.
Problèmes de connexion
- Identifiants refusés (HTTP 401 ou 403 de l'API Invoxia sur la liste
des traceurs, ou deux 401 de suite sur les positions ; un seul 401 sur
une position ne fait qu'attendre ce traceur) : un mauvais mot de passe essayé encore et encore
peut bloquer le compte. Gladys s'arrête donc 1 heure, puis 6
heures, puis 24 heures après chaque nouveau refus, jamais en
boucle. L'arrêt est gardé dans
/data: un redémarrage, une reconnexion de Gladys et le bouton de test attendent aussi. Un essai encore en cours quand l'intégration s'arrête compte comme un refus. Enregistrer la configuration avec les mêmes identifiants fait un essai tout de suite par série de refus ; d'autres identifiants sont essayés tout de suite. Une lecture réussie oublie les refus. - Invoxia surchargé (HTTP 429, sur n'importe quelle requête) ou
erreur serveur (HTTP 5xx sur la liste des traceurs) : toutes les
requêtes sont suspendues, le temps qu'Invoxia demande (Retry-After)
entre 1 minute et 6 heures, jamais moins que le rafraîchissement. La
pause est gardée dans
/data, même quand la réponse arrive pendant une reconnexion de Gladys. Si cela arrive sur la lecture d'une position, l'état des traceurs (batterie, vu pour la dernière fois) est publié d'abord. - Position d'un seul traceur en échec (HTTP 5xx, délai dépassé) : seul ce traceur attend (2, 4, 8 puis 16 lectures au plus, ou jusqu'à ce que son état change) ; les autres traceurs gardent leur position et l'intégration reste connectée. Si plusieurs traceurs échouent à la même lecture, c'est toute la lecture qui échoue (pause pour un 5xx, nouvel essai sinon). Une position refusée (HTTP 403, 404, réponse illisible : un traceur sans abonnement ?) est laissée telle quelle jusqu'à ce que l'état du traceur change.
- Accès refusé par autre chose que l'API (une page 403 d'un pare-feu ou
d'un proxy), réponse inattendue, Invoxia injoignable (réseau,
délai de 30 s dépassé, certificat) : nouvel essai après le
rafraîchissement, puis le délai double jusqu'à 1 heure, même après un
redémarrage de l'intégration (l'attente est gardée dans
/data). L'intégration n'abandonne jamais. - Une date à plus d'un jour dans le futur (horloge du traceur fausse) est ignorée : seules les autres dates comptent pour « vu pour la dernière fois » et « muet ».
- Tester la connexion relit et dit combien de traceurs répondent ; il ne raccourcit jamais un arrêt ni une pause.
Vie privée
Aucune position, aucun nom ni identifiant de traceur, ni l'adresse e-mail
ni le mot de passe n'est jamais écrit dans un journal ni dans le volume
/data de l'intégration (elle n'y garde qu'une empreinte courte des
identifiants, 4 caractères, qui sert seulement à voir qu'ils ont changé,
avec la fin d'un arrêt, d'une pause ou d'une attente). L'intégration ne
garde les positions qu'en mémoire ; Gladys garde la dernière position de
chaque traceur dans sa base (et ses sauvegardes), et tout l'historique
seulement si vous l'activez. L'identifiant externe d'un appareil est une
empreinte non secrète de l'identifiant Invoxia du traceur (jamais
l'identifiant lui-même ni le numéro de série).
Limites
- Gladys ne déplace pas un utilisateur Gladys sur sa carte d'après un traceur : une intégration ne peut pas publier la position d'un utilisateur aujourd'hui (comme pour PhoneTrack). Une demande est ouverte sur Gladys : https://github.com/GladysAssistant/Gladys/issues/3224. D'ici là, les zones de Gladys ne réagissent pas aux traceurs.
- Un compte par intégration, 20 traceurs au plus (les traceurs créés dans Gladys d'abord).
- Rien n'est commandé : ni le mode du traceur, ni le mode « perdu », ni les alertes.
- Jamais testée avec un vrai traceur : voir TODO.md dans le dépôt.
Paramètres de configuration
Voici les paramètres demandés par Invoxia dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Fonctionnement | section | Non | Gladys lit vos traceurs GPS Invoxia par le cloud d'Invoxia, avec le compte de l'application Invoxia. Chaque traceur devient un appareil Gladys (onglet Découverte) : latitude, longitude, précision, batterie, en mouvement (si le traceur le donne), vu pour la dernière fois et muet. Lecture seule : Gladys ne change jamais rien chez Invoxia. Gladys ne déplace pas encore la position d'un utilisateur Gladys sur sa carte (voir la documentation). Invoxia n'ouvre pas cet accès à ses clients : c'est celui de son application, utilisé avec modération (5 minutes au moins entre deux lectures). Jamais testée avec un vrai traceur. Intégration non officielle, sans lien avec Invoxia. |
| Adresse e-mail | string | Oui | L'adresse e-mail de votre compte Invoxia (celle de l'application Invoxia). Jamais journalisée. |
| Mot de passe | secret | Oui | Le mot de passe de votre compte Invoxia. Gardé par Gladys dans sa base, jamais réaffiché, jamais journalisé, envoyé seulement à l'API Invoxia. |
| Rafraîchissement | select | Oui | Fréquence de lecture des traceurs (une requête, plus une par traceur dont la position a changé). Les traceurs eux-mêmes ne se signalent que toutes les quelques minutes à quelques heures, pour économiser leur batterie. |
| Muet après | select | Oui | Un traceur qui n'a donné aucune nouvelle depuis ce délai est indiqué muet (fonction Muet). Le déclencheur de scène a son propre choix. |
Comment installer Invoxia dans Gladys
- Dans Gladys, ouvrez Intégrations : Invoxia 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/lm1lc3n7/gladys-invoxia:0.1.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/LM1LC3N7/gladys-invoxia.
Invoxia 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
Invoxia 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 LM1LC3N7, 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