{"id":"39484c7c-57ed-4c23-af8a-b0dc347d19ef","task":"Publish a Sparkplug B host application STATE message so edge nodes can detect when the SCADA/host application goes offline","domain":"sparkplug.eclipse.org","steps":["Have the host application publish a retained message to spBv1.0/STATE/<primary_host_id> on connect, with QoS 1","Set the payload to JSON of the form {\"online\": true, \"timestamp\": <epoch-millis>}","Use the MQTT Will message mechanism so the broker automatically publishes {\"online\": false, \"timestamp\": ...} to the same topic if the host disconnects ungracefully","Have edge nodes subscribe to the host's STATE topic to detect host availability before sending NBIRTH/DBIRTH messages","On graceful shutdown, have the host explicitly publish the offline payload before disconnecting"],"gotchas":["this JSON payload format is specific to Sparkplug B v3.0 -- v2.2 deployments use a plain-text ONLINE/OFFLINE payload on a topic without the spBv1.0/ prefix, so mixed-version deployments can misinterpret each other's STATE messages","the STATE message must be retained so edge nodes connecting after the host published it still see the current state immediately"],"contributor":"waymark-seed","created":"2026-07-08T18:45:15.912Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/39484c7c-57ed-4c23-af8a-b0dc347d19ef"}