Aller au contenu principal

Intégration domotique Tedee, gratuite et open source

Intégration Tedee pour Gladys Assistant

Serrures connectées Tedee GO et PRO par l'API locale du Tedee Bridge.

Intégration non officielle, sans lien avec Tedee. Elle amène dans Gladys les serrures connectées Tedee GO et Tedee PRO appairées à un Tedee Bridge, par l'API locale officielle du bridge (Bridge API v1.0) : tout reste sur votre réseau local, sans le cloud Tedee.

Attention : cette intégration n'a jamais été testée sur un vrai bridge ni sur une vraie serrure. Elle a été écrite d'après la documentation officielle de l'API Bridge et la bibliothèque aiotedee, et testée seulement contre un faux bridge. Vos retours sont les bienvenus.

Ce qui est disponible​

Pour chaque serrure :

FonctionnalitéDétail
VerrouCommande : 1 verrouille, 0 déverrouille (si autorisé). Affiche 1 verrouillée, 0 déverrouillée ou semi-verrouillée.
État de la serrure0 déverrouillée, 1 verrouillée, 2 en mouvement, 3 erreur (bloquée ou non calibrée).
StatutTexte : verrouillée, déverrouillée, semi-verrouillée, pêne tiré, en mouvement, bloquée, non calibrée, en mise à jour, non connectée au bridge.
Ouvrir la porte (pull spring)Bouton, seulement si le pull spring est activé dans l'application Tedee (si les deux options sont autorisées).
PorteCapteur d'ouverture, seulement si un Tedee Door Sensor est appairé.
BatterieEn %.
En chargeTedee PRO seulement (batterie rechargeable).

La connexion de chaque serrure au bridge apparaît dans le badge de l'appareil : « injoignable » (avec un point orange) quand la serrure n'est plus connectée au bridge, « injoignable » pour tous quand le bridge ne répond plus.

Un Tedee Keypad que le bridge listerait apparaît avec sa batterie seulement ; l'API locale ne documente pas les claviers, ce n'est pas vérifié.

Installation​

  1. Dans l'application Tedee, ouvrez le bridge, puis Paramètres > API locale (Bridge API), activez-la et notez le jeton et l'état de l'interrupteur Encrypted token (activé = mode Haché, désactivé = mode Simple). Le firmware du bridge doit être assez récent pour proposer l'API locale.
  2. Donnez au bridge une adresse IP fixe dans votre box (réservation DHCP).
  3. Dans Gladys, installez l'intégration Tedee et saisissez l'adresse IP du bridge, le jeton d'API et le mode du jeton.
  4. Cliquez sur Tester la connexion, puis ajoutez les serrures depuis l'onglet Découverte.

Sécurité​

  • Verrouiller est toujours possible.
  • Déverrouiller est désactivé par défaut : activez Autoriser le déverrouillage des serrures depuis Gladys pour le permettre (scènes, tableau de bord, assistants vocaux).
  • Ouvrir la porte (pull spring) est désactivé par défaut et demande toujours les deux options : Autoriser le déverrouillage et Autoriser l'ouverture de la porte, quel que soit l'état de la serrure. Sur une serrure verrouillée, le bouton envoie « déverrouiller ou tirer » (mode 4) : la serrure se déverrouille, et ne tire le pêne que si le pull spring automatique est activé dans l'application Tedee ; Gladys affiche alors « Déverrouillage… ».
  • Si le pull spring automatique est activé dans l'application Tedee, déverrouiller ouvre aussi la porte : le déverrouillage est alors refusé tant que l'option d'ouverture de la porte n'est pas activée.
  • Avant chaque commande, l'intégration relit l'état de la serrure sur le bridge. La commande est refusée si cette lecture échoue, si la serrure n'est pas connectée au bridge, si elle est en mouvement (pêne tiré compris) ou si son état est inconnu (non calibrée, en mise à jour).
  • Les commandes d'une même serrure passent une par une, et une seule requête à la fois part vers le bridge (les commandes avant les lectures).
  • Après une commande, toute nouvelle commande de la même serrure est refusée (« mouvement en cours ») jusqu'à ce que le bridge montre l'état attendu (ou une serrure bloquée), 10 secondes au plus ; la serrure reste affichée en mouvement pendant ce temps.
  • Une commande qui ne peut pas être envoyée dans les 3,5 secondes qui suivent son arrivée est refusée : Gladys affiche un échec au bout de 5 secondes, et rien ne doit bouger après cet échec.
  • Si le bridge ne confirme pas une commande à temps, Gladys affiche un échec, mais la serrure peut quand même bouger : vérifiez son état.

Jeton et confidentialité​

  • Le jeton est gardé par Gladys dans sa base, jamais réaffiché, envoyé seulement au bridge. Il n'apparaît jamais dans les journaux.
  • L'API locale du bridge est en HTTP, sans chiffrement. En mode haché (recommandé), le jeton ne circule jamais : chaque requête porte un condensé SHA-256 du jeton et de l'heure. Ce mode demande que l'horloge de la machine Gladys soit à l'heure. En mode simple, le jeton circule en clair sur le réseau local : quiconque l'observe peut commander vos serrures.
  • Rien ne part sur Internet.

Rafraîchissement​

Le bridge est relu toutes les 10 secondes par défaut (de 5 à 300 secondes), et quelques fois juste après une commande pour suivre le mouvement. Le bridge sait prévenir une adresse HTTP à chaque événement (callbacks), mais un conteneur d'intégration Gladys ne peut pas déclarer de port joignable depuis le réseau local : l'intégration interroge donc le bridge.

Erreurs​

  • Jeton refusé (401, après un second essai avec une nouvelle heure) : vérifiez le jeton ; en mode haché, l'horloge de la machine Gladys. Nouvel essai toutes les 5 minutes, ou tout de suite avec Tester la connexion.
  • HTTP 403 à la lecture : la cause n'est pas documentée pour les lectures ; le plus probable est un mode de jeton qui ne correspond pas à l'interrupteur « Encrypted token » de l'application (hypothèse). Nouvel essai toutes les 5 minutes.
  • HTTP 403 sur un déverrouillage : le bridge a refusé le mode de déverrouillage (spécification v1.19) ; la serrure ne s'est pas déverrouillée.
  • Serrure déconnectée (405) et erreur Bluetooth entre le bridge et la serrure (406) : la commande n'est pas exécutée, un message le dit.
  • Bridge injoignable : nouvel essai après 10 s, 30 s, 1 min, 2 min puis toutes les 5 minutes.
  • Le bridge demande de ralentir (429) : pause d'au moins 1 minute (au plus 6 h), lectures et commandes comprises.

Crédits​

  • Documentation officielle de l'API Bridge de Tedee : https://docs.tedee.com/bridge-api
  • La logique du client local est portée en JavaScript depuis aiotedee de Josef Zweck (licence MIT, voir THIRD_PARTY_NOTICES.md).

Paramètres de configuration​

Voici les paramètres demandés par Tedee dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre Tedee BridgesectionNonAmène dans Gladys les serrures Tedee GO et PRO appairées à un Tedee Bridge, sur votre réseau local, sans le cloud Tedee : état de la serrure (verrouillée, déverrouillée, semi-verrouillée, en mouvement, bloquée), capteur de porte, batterie et charge, connexion. Dans l'application Tedee, ouvrez les réglages du bridge, activez l'API locale (Bridge API) et copiez ici son jeton et l'adresse IP du bridge. Le verrouillage est toujours possible ; le déverrouillage et l'ouverture de la porte (pull spring) restent désactivés tant que vous ne les autorisez pas ci-dessous. Le bridge est relu toutes les quelques secondes. Non officiel, sans lien avec Tedee.
Adresse IP du bridgestringOui
Jeton d'API du bridgesecretOuiGardé par Gladys dans sa base, jamais réaffiché, envoyé seulement au bridge.
Mode du jetonselectNonComme l'interrupteur « Encrypted token » de l'application Tedee : activé = Haché, désactivé = Simple. Haché : le jeton ne circule jamais sur le réseau (l'horloge de la machine Gladys doit être à l'heure). Simple : le jeton circule en clair sur le réseau local.
Autoriser le déverrouillage des serrures depuis GladysbooleanNonDésactivé par défaut : Gladys peut verrouiller, jamais déverrouiller.
Autoriser l'ouverture de la porte (pull spring) depuis GladysbooleanNonDésactivé par défaut. Ouvrir la porte demande toujours aussi l'option de déverrouillage. Nécessaire aussi pour déverrouiller une serrure dont le pull spring automatique est activé dans l'application Tedee.
Intervalle de rafraîchissement (s)numberNonFréquence de lecture du bridge, en secondes (5 à 300).
Langue des noms des fonctionnalitésselectNonSert aux noms des fonctionnalités des appareils ajoutés désormais, et aux textes de statut.

Comment installer Tedee dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Tedee apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/lm1lc3n7/gladys-tedee: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).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-tedee.

Tedee 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​

Tedee 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.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂