github noiwid/HAFamilyLink v2.0.0

9 hours ago

Two things change the nature of the integration: it can now impose the parent's settings on Google (strict mode), and it drives the app's weekly limits screen. Nothing changes for an existing installation until the Strict mode option is switched on.

Please read the Strict mode section of the README before enabling it: while it is on, manage Family Link from Home Assistant only, changes made in the app are undone.

Cumulative release of 2.0.0-rc1 and 2.0.0-rc2. The auth add-on stays at 1.9.0.

Strict mode

There is a gap on Google's side that many children know how to use: from the Family Link app or the Google interface, a supervised child can give themselves a time bonus, unlock a device during bedtime or school time or with no time left, switch bedtime and the daily limit off, or change the bedtime hours and the weekly quotas. With the Strict mode option on, Home Assistant becomes the single point of control: after every refresh it compares Google's state with the parent's settings and reverts the difference. What is changed from Home Assistant stays; what is changed from the Family Link side is put back.

  • Six rules, chosen in the options: time bonuses added from Family Link are cancelled (bonuses given from Home Assistant are kept); locking and unlocking, switching bedtime, the daily limit and school time on and off, the bedtime hours and the weekly quotas are reserved to Home Assistant. Nothing is switched on by force.
  • The option drives a switch.<child>_strict_mode per child; a switch toggle writes the option back.
  • Each corrective action is logged, kept in the switch attributes and fired as a familylink_strict_mode_action event with structured details (child, device, weekday, minutes, value seen on Google's side), so you can word a notification in your language.

Weekly limits entities

  • number.<child>_<weekday>_limit: the screen time quota of each weekday, read and written exactly as the app's weekly screen does. Today's entity also applies the change at once.
  • time.<child>_<weekday>_bedtime_start and _end: the weekly bedtime slot of each weekday.
  • set_daily_limit gets an optional day field.

Security (#166, by @DonHugo)

  • The auth server API key is no longer part of the URL: manual setup gets a separate password field, and the key is sent as an X-API-Key header.
  • Existing entries are migrated automatically on first start. Nothing to do on your side.
  • New Reconfigure step to change or clear the key, diagnostics download with the key redacted.
  • Minimum Home Assistant version is now 2024.4.
  • First test suite for the integration, run in CI on HA 2024.4 and 2026.9.

Also

  • New entities take their prefix from the child's device; existing entity ids do not change.

Thanks to @lbschenkel, @jar87, @mdo77, @beamer2k23, @richard-dg for the reports on the 1.2.15 line, and to @jghaanstra, @wookash and @cdn4lf for testing the migration on standalone setups.

Don't miss a new HAFamilyLink release

NewReleases is sending notifications on new releases.