⚠️ Release candidate. Please test and report any issue before the final v1.1.0.
After updating, restart Home Assistant (a reload is not enough) so the new entities are created.
Diagnosed and verified live on Home Assistant core-2026.5.1 / Python 3.14.2.
🐛 Bug fixes
TypeError: 'ClientSession' object is not callable (#22)
The pinned pyfamilysafety 1.1.2 created a new aiohttp.ClientSession() on every auth/refresh request. The integration now
patches the authenticator to reuse Home Assistant's shared aiohttp session, removing the crash (which also affected the Family
Link component) and the cascading 400/401 errors. Auth responses are now decoded defensively, so Microsoft HTML error pages no
longer crash the refresh cycle.
approve_request granted ~1/10th of the requested time (#20)
pyfamilysafety converted the extension with × 100 instead of × 1000 (seconds→ms), so 60 min granted only ~6 min. The
integration now compensates, and the requested duration is honored.
Unstable lock / "schedule data disappeared" (#23)
Locking an account could wipe the child's schedule when the current policy was unreadable and no backup existed. Locking now
refuses to zero an unreadable schedule with no restore point, preventing data loss.
✨ New features
- Connection state sensor (#23) —
sensor.microsoft_family_safety_connectionreportsconnected/degraded/disconnected
with mobile API, web session and cookie diagnostics. - Screen time limits switch (#24) — a per-account switch mirroring the Family Safety app: ON = limits enforced, OFF =
unlimited time. The schedule is saved and restored, so toggling never destroys it.
Full changelog: v1.0.2...v1.1.0-rc1