Google Family Link for Home Assistant - Control and Monitor Your Children’s Devices

Hello everyone! :wave:

I’m excited to introduce my Google Family Link integration for Home Assistant.

:pray: Acknowledgments

First and foremost, I want to thank:

  • @tducret for his original Python package that documented the first Google Family Link API endpoints
  • @Vortitron for his initial work on HAFamilyLink which served as the foundation for this project
  • The Home Assistant community for the inspiration and numerous integration examples

Without these building blocks, this project would never have seen the light of day.


:dart: What is it?

This integration allows you to monitor and control your children’s Google Family Link devices directly from Home Assistant. Screen time, remote locking, usage statistics… everything is now accessible and automatable!

:sparkles: Key Features

:closed_lock_with_key: Device Control

  • Remote lock/unlock via switches
  • Bidirectional synchronization: changes made in the Family Link app are reflected in Home Assistant
  • Multi-device support: manage all your children’s supervised devices

:bar_chart: Screen Time Tracking

  • Real-time daily screen time
  • Top 10 most used apps with detailed statistics
  • Breakdown by application (hours, minutes, seconds)
  • Automatic updates every 5 minutes (customizable)

:calling: App Management

  • Number of installed apps
  • Blocked apps with complete list
  • Apps with time limits
  • Complete details: package names, titles, configured limits

:baby: Child Information

  • Complete profile: name, email, date of birth, age range
  • Device information: model, name, capabilities, last activity
  • Family members with their roles

:building_construction: Architecture: Add-on + Integration

The project consists of two complementary components:

1. Authentication Add-on (required)

Provides secure browser-based authentication:

  • Browser automation with Playwright and headless Chromium
  • 2FA support (SMS, authenticator, push notifications)
  • Encrypted cookie storage
  • Automatic session refresh

2. Home Assistant Integration

Ensures monitoring and control:

  • User-friendly configuration interface (config flow)
  • API client to communicate with Google Family Link
  • Data coordinator with cache
  • Entities (sensors and switches)

Why two components? Home Assistant’s Docker environment restricts browser automation. The add-on runs in a separate container with Chromium and Playwright, while the integration handles data retrieval and device control.

:bulb: Automation Examples

Bedtime Lock

automation:
  - alias: "Lock phone at bedtime"
    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.child_phone

Excessive Screen Time Alert

automation:
  - alias: "Alert if excessive screen time"
    trigger:
      - platform: numeric_state
        entity_id: sensor.family_link_daily_screen_time
        above: 180  # 3 hours in minutes
    action:
      - service: notify.mobile_app
        data:
          message: "⚠️ More than 3 hours of screen time today!"

Automatic Weekend Unlock

automation:
  - alias: "Unlock on weekend mornings"
    trigger:
      - platform: time
        at: "09:00:00"
    condition:
      - condition: time
        weekday: [sat, sun]
    action:
      - service: switch.turn_on
        target:
          entity_id: switch.child_phone

:package: Installation

Via HACS (recommended)

  1. Add this repository as a custom source in HACS
  2. Install the Family Link Auth add-on from the Supervisor Store
  3. Start the add-on and authenticate via the web interface (port 8099)
  4. Install the Google Family Link integration via HACS
  5. Configure the integration in Settings → Devices & Services

Detailed installation guide available in the README.

:rotating_light: Important Warning

This integration uses unofficial Google Family Link API endpoints obtained through reverse engineering.

:warning: Use at your own risk. This may violate Google’s Terms of Service and could result in account suspension. This project is not affiliated with, endorsed by, or connected to Google LLC.

:link: Useful Links

:tada: Current Version

v0.5.0 - Real-time synchronization of device lock status

:handshake: Contributions

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests
  • Share your automations

I hope this integration will be useful to you! Don’t hesitate to share your feedback, suggestions, or questions.

Happy parental control to all! :family_man_woman_girl_boy:

5 Likes

Very cool looking.

Especially since it’s a multi-part install with the two separate directories, would you consider making “install me” button/links?

HACS - General - HACS
Add-ON - Create a link – My Home Assistant

1 Like

Thanks for your feedback and advice. I never knew how these buttons has to be setup. Done :white_check_mark:

1 Like

Google login card don’t open, what Im do worng?

Hi, did you connect to the VNC server built by the add on after clicking on the Start Authentication button?

details here:

Step 3: Connect via VNC

  • Open your VNC client (TightVNC, RealVNC, VNC Viewer, etc.)
  • Address: [YOUR_HA_IP]:5900 (or just [YOUR_HA_IP] and port 5900)
  • Password: familylink
  • Click Connect

Step 4: Complete Google Login in VNC

  • Enter your Google account email > Click Next
  • Enter your password > Click Next
  • Complete 2FA if prompted (SMS code, authenticator app, push notification, etc.)
  • Grant permissions if asked
  • Keep the VNC window open until you see the Family Link dashboard :compass:

Cant understand the VNC part… Do i need another addon for the VNC?

With VNC, I do it but only for one phone… I got two…

VNC is a small software to install on your computer, it allow to connect to the virtual machine created by the addon, and see its screen. it only has to be done once for installation (and probably later when Google authorization will expire). The addon can be turn off after this step’s completed.

Note that he auth have to be done only once, even if you have many childrens/phones to manage.

Hi,

I’ve just pushed a new 0.9.0 release of the integration, with a lot more coverage of Family Link features. It now includes:

  • Handling of bonus time
  • Retrieval of the daily time limit per device, and calculation of remaining time
  • Enable/disable the daily time limit
  • Enable/disable bedtime / downtime limits
  • Enable/disable school-time schedules

The Lock button is now “smart”: it takes into account the actual status of the device, combining several sensors to determine whether the device is currently active or not.

I’ve also added a notification system to warn you when the Google cookies provided by the add-on have expired.

This is a great idea and I got it installed successfully. I cannot get a simple button in the dashboard to work that blocks the youtube app. Also, no information seems to flow in from the device. All numbers are 0. I should add I am completely new to HA

Hi, the installation is in 3 parts :
a) install/launch the addon, open it and click on the authentification button
b) install/launch Vnc viewer (like TightVNC), and connect to Google Account
c) install the integration, that’ll communicate with Google servers, to get all datas.

Did you follow these 3 steps as detailled here?

Hi,
I’ve just released version v0.9.4, which brings a lot of improvements and bug fixes :slightly_smiling_face:

We’re getting really close to v1.0 :rocket: