github noiwid/HAFamilyLink v2.2.7

latest release: v2.2.8
4 hours ago

Four fixes: an empty members answer keeps the children, a child's daily limit skips its Google TV (contributed by @theSiegs, #192), the service guard only takes Family Link entities, and a weekly quota needs no device.

Fixed

  • A non-administrator can no longer reach a child's settings through an entity of another integration - The service guard added in 2.1.0 (#169, #177) let a non-administrator call a service with any entity_id they may control. An entity that is not a Family Link one (a light, say) names no child, and enable_bedtime, disable_bedtime, the school-time and daily-limit services then fell back to the first supervised child, so a user allowed to toggle one light could lift that child's bedtime. The guard now requires the entity to belong to this integration; administrators and automations are not affected.
  • set_daily_limit for another weekday no longer needs a device - With a child_id and a day other than today, the service writes the child's weekly quota only, which is not tied to a device, yet it refused the call when the child had no device taking time limits (a Google TV only). The device check now applies only when today's override is posted.
  • The weekday daily-limit number keeps the new strict mode reference when the write was taken in part - It put the previous reference back as soon as one device refused today's override, although the weekly quota and the other devices had taken the new value; strict mode then fought the devices that had. It now follows the same rule as set_daily_limit: the reference goes back only when nothing was taken.
  • An empty family members answer no longer blanks the children - The members read can succeed and still list no supervised child (no members field, an empty list, members without their supervision info). The refresh carried on with zero children: every child's data was replaced with nothing, so switches fell back to their defaults (bedtime reported off, a device under bedtime or its daily limit reported usable) and the sensors went unknown or unavailable, and the cache was overwritten with that empty result, leaving a later failed read nothing to fall back on. When the last good refresh had children, such an answer now fails the refresh like a failed read (#184) and the last known data is kept. At startup, with nothing cached, an account without supervised children sets up as before.
  • A daily limit set for a child no longer fails because of the child's Google TV (#173) - familylink.set_daily_limit with only a child_id, and today's weekday daily-limit number, post the quota as a per-device override on every device of the child, the TV included. A Google TV / Chromecast takes no time limits, so Google never applied the override there and the readback reported it as not applied: the service raised although the phone and tablet had taken the new quota, and the number put strict mode's previous reference back. Both now skip devices that advertise no time-limit capability (the same check as the entities since 2.2.6; a device without a capability list is still included). A device_id given explicitly is still targeted as before.

Don't miss a new HAFamilyLink release

NewReleases is sending notifications on new releases.