Intégration Google Family Link

:mobile_phone: Google Family Link pour Home Assistant - Contrôlez et surveillez les appareils de vos enfants

Bonjour à tous ! :waving_hand:

Je suis ravi de vous présenter mon intégration Google Family Link pour Home Assistant.

:folded_hands: Remerciements

Avant tout, je tiens à remercier :

  • @tducret pour son package Python original qui a documenté les premiers endpoints de l’API Google Family Link
  • @Vortitron pour son travail initial sur HAFamilyLink qui a servi de base à ce projet
  • La communauté Home Assistant pour l’inspiration et les nombreux exemples d’intégrations

Sans ces briques, ce projet n’aurait jamais vu le


:bullseye: Qu’est-ce que c’est ?

Cette intégration vous permet de surveiller et contrôler les appareils Google Family Link de vos enfants directement depuis Home Assistant. Temps d’écran, verrouillage à distance, statistiques d’utilisation… tout est désormais accessible et automatisable !

:sparkles: Fonctionnalités principales

:locked_with_key: Contrôle des appareils

  • Verrouillage/déverrouillage à distance via des interrupteurs (switches)
  • Synchronisation bidirectionnelle : les changements faits dans l’app Family Link se reflètent dans Home Assistant
  • Support multi-appareils : gérez tous les appareils supervisés de vos enfants

:bar_chart: Suivi du temps d’écran

  • Temps d’écran quotidien en temps réel
  • Top 10 des applications les plus utilisées avec statistiques détaillées
  • Répartition par application (heures, minutes, secondes)
  • Mises à jour automatiques toutes les 5 minutes (personnalisable)

:mobile_phone_with_arrow: Gestion des applications

  • Nombre d’applications installées
  • Applications bloquées avec liste complète
  • Applications avec limites de temps
  • Détails complets : noms de package, titres, limites configurées

:baby: Informations sur l’enfant

  • Profil complet : nom, email, date de naissance, tranche d’âge
  • Informations des appareils : modèle, nom, capacités, dernière activité
  • Membres de la famille avec leurs rôles

:building_construction: Architecture : Add-on + Intégration

Le projet se compose de deux éléments complémentaires :

1. Add-on d’authentification (obligatoire)

Fournit l’authentification sécurisée via navigateur :

  • Automation Playwright avec Chromium headless
  • Support 2FA (SMS, authenticateur, notifications push)
  • Stockage chiffré des cookies
  • Rafraîchissement automatique des sessions

2. Intégration Home Assistant

Assure la surveillance et le contrôle :

  • Interface de configuration conviviale (config flow)
  • Client API pour communiquer avec Google Family Link
  • Coordinateur de données avec cache
  • Entités (capteurs et interrupteurs)

Pourquoi deux composants ? L’environnement Docker de Home Assistant restreint l’automation de navigateur. L’add-on tourne dans un conteneur séparé avec Chromium et Playwright, tandis que l’intégration gère la récupération de données et le contrôle des appareils.

:light_bulb: Exemples d’automatisations

Verrouillage au coucher

automation:
  - alias: "Verrouiller le téléphone à l'heure du coucher"
    trigger:
      - platform: time
        at: "21:00:00"
    condition:
      - condition: time
        weekday: [mon, tue, wed, thu, fri]
    action:
      - service: switch.turn_off
        target:
          entity_id: switch.telephone_enfant

Alerte temps d’écran excessif

automation:
  - alias: "Alerte si temps d'écran excessif"
    trigger:
      - platform: numeric_state
        entity_id: sensor.family_link_daily_screen_time
        above: 180  # 3 heures en minutes
    action:
      - service: notify.mobile_app
        data:
          message: "⚠️ Plus de 3h d'écran aujourd'hui !"

Déverrouillage automatique le week-end

automation:
  - alias: "Déverrouiller le week-end matin"
    trigger:
      - platform: time
        at: "09:00:00"
    condition:
      - condition: time
        weekday: [sat, sun]
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.telephone_enfant

:package: Installation

Via HACS (recommandé)

  1. Ajoutez ce dépôt comme source personnalisée dans HACS
  2. Installez l’add-on Family Link Auth depuis le Store de Supervisor
    Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.
  3. Démarrez l’add-on et authentifiez-vous via l’interface web (port 8099)
  4. Installez l’intégration Google Family Link via HACS
    Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.
  5. Configurez l’intégration dans ParamètresAppareils et services

Guide d’installation détaillé disponible dans le README

:police_car_light: Avertissement important

Cette intégration utilise des endpoints non officiels de l’API Google Family Link obtenus par reverse engineering.

:warning: Utilisez-la à vos propres risques. Cela peut violer les conditions d’utilisation de Google et pourrait entraîner une suspension de compte. Ce projet n’est pas affilié, approuvé ou connecté à Google LLC.

:link: Liens utiles

:tada: Version actuelle

v0.5.0 - Synchronisation en temps réel de l’état de verrouillage des appareils

:handshake: Contributions

Les contributions sont les bienvenues ! N’hésitez pas à :

  • Signaler des bugs
  • Proposer de nouvelles fonctionnalités
  • Soumettre des pull requests
  • Partager vos automatisations

J’espère que cette intégration vous sera utile ! N’hésitez pas à me faire part de vos retours, suggestions ou questions.

Bon contrôle parental à tous ! :family_man_woman_girl_boy:

5 « J'aime »

Bonjour,
on refuse que les gouvernements puissent accéder à nos comptes Telegram ou autres et là c’est au niveau de la famille, c’est du flicage digne de la DGSE :rofl:
Ce qui ne m’est pas utile l’est certainement pour d’autres :slight_smile:
Sujet bien détaillé en tous les cas, bravo pour ce travail, ça fonctionne aussi pour l’épouse ?

Bob

1 « J'aime »

Family link ce n’ est que pour le contrôle parental des device android…

Pour ton épouse il faut installer l’application ha companion qui peut faire pas mal de trucs ..

4 « J'aime »

Loin de moi l’idée de surveiller ma chérie, j’ai confiance :melting_face:
Elle n’a pas companion, pas utile pour nous, je gère ma maison, elle la sienne :slight_smile:
Bob

1 « J'aime »

Il y a la surveillance…

Et il y a les automatismes liés à la présence ( par exemple)…

La frontière est parfois étroite…

Bienvenue à cette nouvelle intégration !

1 « J'aime »

Bonjour noiwid,

Merci pour cette intégration que j’attendais depuis longtemps :slight_smile: .

J’ai cependant un problème, la fenêtre d’authentification n’apparait jamais. D’ailleurs quand je fais ouvrir l’interface web depuis le module, il essaye d’ouvrir https://monha.mondomain.fr:8099, j’arrive à voir la bonne fenêtre quand j’entre mon IP local avec le port 8099 mais quand je clique sur Démarrer l’authentification, aucune nouvelle fenêtre ne s’ouvre.

Dernier point, normal que j’ai ça dans les logs : INFO: Uvicorn running on http://0.0.0.0:8099

Merci d’avance

Bonjour,
Pour pouvoir accéder à l’url sur le port 8099 via votre domaine, il faut probablement ajouter sur votre box une règle pour rediriger les port 8099 vers Home Assistant;

Concernant la fenêtre d’authentification elle s’ouvre dans un container docker invisible, la seule manière d’y accéder est via VNC, en suivant les instructions détaillées dans la doc, une fois logué dans cette fenêtre, la fenêtre d’authentification se met à jour et précise que l’authentification est fonctionnelle…

Re,

J’ai essayé via VNC mais le mot de passe n’est jamais bon, y a t’il un mot de passe par défaut ou alors peut-on modifier ce mot de passe vnc quelque part ? J’ai tenté celui de mon compte HA sans succès. Merci

Oui c’est familylink le mot de passe.

Merci, ça fonctionne de suite mieux ! Pour l’instant je ne retrouve qu’un seul de mes enfants pour l’instant mais je vais attendre un peu.

Super intégration installée mais moi aussi je n’ai qu’un des mes 2 enfants visible . Je vais attendre demain pour voir si le deuxième apparait

Si vous êtes plusieurs à le constater, il y a certainement un problème avec l’intégration, n’ayant qu’un enfant, je n’ai pas pu tester ce cas de figure (à vrai dire je ne l’envisageais même pas :joy:).

Chez moi, 3 devices remontent :

  • Google Family Link (Prénom)
  • Galaxy Tab Prénom
  • SM-S916B

Le 1er contient tous les sensors liés à son utilisation, les 2 seconds sont les switch de ses 2 periphériques. Bien que l’affichage inclus bien son prénom, ca ne semble pas être le cas du device name derrière, qui est « Google Family Link », ne permettant donc pas les doublons…

Je vais voir comment corriger ce problème ASAP !

Pour les curieux, j’ai lancé une autre nouvelle intégration pour s’interfacer également avec Microsoft Family Safety, disponible ici : GitHub - noiwid/HAFamilySafety

Pour l’instant impossible d’envoyer des commandes, mais le temps d’utilisation et autres infos remontent bien dans H.A. Mon rève de compteur de temps universel (Téléphone + ordi + switch) est désormais une réalité :slight_smile:

Hello, j’ai poussé une nouvelle version 0.6.0 en pre-release, pouvez vous tester pour voir si ça règle le problème ?

Pour installer cette version:

  • aller sur la page de l’intégration sur hacs
  • menu … en haut à droite → update information, puis au même endroit : redownload, la le menu devrait vous la proposer.

Je vous recommande de supprimer l’autre version de l’intégration avant pour éviter les entités orphelines dans HA…

J’attends vos feedbacks :sparkles:

Bonjour

Je viens d’installer la version 0.6.1

J’ai bien mes 2 enfants qui remontent et j’ai bien tout leurs appareils aussi

Super travail merci

1 « J'aime »

Bonjour, merci maintenant je vois mes 2 enfants ! Par contre j’ai une entité correspondant au téléphone de mon fils (switch.redmi14) qui se réactive dès que je la désactive, je suppose que c’est censé verrouiller le tel de mon fils mais ça ne fonctionne pas. Si tu as une idée.

hello, as tu la version 0.6.1 ? le refresh devrait mettre qq secondes à actualiser le statut réel du bouton.

Oui je suis en 0.6.1 là le téléphone est verrouillé depuis un moment mais le switch toujours activé. Par contre l’ensemble des sensors remonte bien avec les informations qui s’actualisent.

Voici les logs quand j’essaye de verrouiller :

31m2025-11-11 15:50:34.727 ERROR (MainThread) [custom_components.familylink] Device control failed 400: {« error »: {« code »: 400,« message »: « Request contains an invalid argument. »,« errors »: [{« message »: « Request contains an invalid argument. »,« domain »: « global »,« reason »: « badRequest »}],« status »: « INVALID_ARGUMENT »}}e[0me[31m2025-11-11 15:50:34.727 ERROR (MainThread) [custom_components.familylink] Failed to lock device aannnppasaqkttunpcrfhdzwfdbpzrpbsalgulm7yfbae[0m

Merci pour ces précisions, je n’ai pas trop eu le temps de tester les v0.6, et v0.6.1… je m’y penche plus sérieusement demain :wink: