Skip to content

v0.3.3 - Position freshness

Choose a tag to compare

@positionguard positionguard released this 19 Sep 21:36
· 1 commit to main since this release

Added

  • position_fresh attribute on the "outside usual area" sensor and the
    device tracker, next to position_age_seconds. true when the member's
    position was recently confirmed, false when PositionGuard is reporting
    their last known place. If the API doesn't send the field, the attribute is
    left out rather than set to false.

Changed

  • A member who goes quiet inside a saved area now stays at_area. This is a
    change in PositionGuard itself, live since September 19, and it shows up here
    without any change to the integration: a phone that stops reporting while
    inside a saved area used to go stale after about 50 minutes, which made the
    "outside usual area" sensor unavailable. PositionGuard now keeps reporting
    at_area for up to 24 hours, and drops it on the first report from outside
    the area. The sensor stays available and off through that period.

    This changes behavior for existing automations. A sensor that used to go
    unavailable when someone's phone went quiet at home will now stay off.
    If an automation should only act on a recently confirmed position, add a
    condition on position_fresh being true, or on position_age_seconds.

    Availability itself still follows the stale status only. A member who goes
    quiet while away from every saved area still becomes unavailable, as in
    0.3.2.

Fixed

  • README: a stale "outside usual area" sensor was described as off. It has
    been unavailable since 0.3.2. To automate on staleness, read
    safety_status on the device tracker, which stays available and reads
    stale.
  • Tests now pin both rules: a held at_area member stays available, and the
    device tracker stays available with safety_status: stale.

Requires

PositionGuard API, September 2026 or later, for position_fresh. Against an
older API the attribute is simply absent and everything else behaves as in
0.3.2.