Skip to content

Health Check

The health check block controls how Gridone assesses whether a device is still alive. It is orthogonal to the update strategy: update strategy governs how attributes are fetched, health check governs whether the device is considered reachable.

healthcheck:
  expected_push_interval: 30s

Fields

Field Type Default Description
expected_push_interval duration or integer or null null Expected interval between push emissions. When set, enables silence detection (see below).

Duration format

expected_push_interval accepts either a plain integer (seconds) or a duration string:

Unit Accepted forms
Seconds s, sec, second, seconds
Minutes m, min
Hours h
Days d

Examples: 30s, 1min, 2h, 90 (= 90 seconds).

Silence detection for push devices

When a push device stops emitting data, there is no failed poll to detect it. Setting expected_push_interval enables a watchdog that monitors the time since the last received push and updates connection_status automatically.

healthcheck:
  expected_push_interval: 30s

update_strategy:
  polling: disable

The watchdog escalates connection_status based on how long the device has been silent relative to the declared interval:

Silence duration connection_status
< 2× interval ok (within grace period)
≥ 2× interval degraded
≥ 3× interval error

The clock resets every time a push message is successfully received. On service restart it resets to the current time, giving the device one full grace period to re-emit before any escalation.

This field has no effect on pull devices. Pull devices track connection health through accumulated read outcomes.