Files
nr-flow-validator/infra/zigbee2mqtt/scripts/kuma-heartbeat.sh
T
2026-08-28 09:42:50 -07:00

32 lines
881 B
Bash
Executable File

#!/bin/bash
set -u
KUMA_BASE="https://up.notsosm.art"
TOKEN_FILE="/root/nr-flow-validator/infra/.secrets/kuma-push-token"
[ -s "$TOKEN_FILE" ] || exit 1
TOKEN="$(tr -d '[:space:]' < "$TOKEN_FILE")"
reason=""
state=$(docker exec mosquitto mosquitto_sub -h 127.0.0.1 -t "zigbee2mqtt/bridge/state" -C 1 -W 10 2>/dev/null | tr -d '[:space:]')
if [ "$state" != '{"state":"online"}' ]; then
reason="bridge_state=${state:-none}"
else
running=$(docker inspect zigbee2mqtt --format '{{.State.Running}}' 2>/dev/null)
[ "$running" = "true" ] || reason="${reason}container_running=${running:-unknown}"
fi
if [ -n "$reason" ]; then
status="down"
msg="coordinator: ${reason}"
else
status="up"
msg="coordinator ok"
fi
curl -fsS -m 10 -o /dev/null --get \
--data-urlencode "status=$status" \
--data-urlencode "msg=$msg" \
"$KUMA_BASE/api/push/$TOKEN"