Initial commit: Hermes Agent Skills collection
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
# Verify HA recorder/history/logbook status via REST API
|
||||
# Usage: ./verify-ha-recorder.sh
|
||||
# Requires: HA_URL and HA_TOKEN in ~/.hermes/.env or environment
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Load env
|
||||
if [ -f ~/.hermes/.env ]; then
|
||||
source ~/.hermes/.env
|
||||
fi
|
||||
|
||||
: "${HA_URL:?Set HA_URL in ~/.hermes/.env}"
|
||||
: "${HA_TOKEN:?Set HA_TOKEN in ~/.hermes/.env}"
|
||||
|
||||
echo "=== HA State ==="
|
||||
STATE=$(curl -sf "$HA_URL/api/config" -H "Authorization: Bearer $HA_TOKEN" | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'State: {d[\"state\"]}, Version: {d[\"version\"]}')")
|
||||
echo "$STATE"
|
||||
|
||||
echo ""
|
||||
echo "=== Service Domains ==="
|
||||
curl -sf "$HA_URL/api/services" -H "Authorization: Bearer $HA_TOKEN" | python3 -c "
|
||||
import sys,json
|
||||
data=json.load(sys.stdin)
|
||||
services=set(s['domain'] for s in data)
|
||||
checks=['recorder','history','logbook']
|
||||
allok=True
|
||||
for d in checks:
|
||||
ok = d in services
|
||||
if not ok: allok=False
|
||||
print(f' {d}: {\"✓\" if ok else \"✗\"}')
|
||||
print(f'\nAll critical services: {\"PASS ✓\" if allok else \"FAIL ✗\"}')
|
||||
"
|
||||
|
||||
echo ""
|
||||
echo "=== History API Test ==="
|
||||
RESULT=$(curl -sf -w "\n%{http_code}" "$HA_URL/api/history/period?filter_entity_id=sun.sun" -H "Authorization: Bearer $HA_TOKEN" 2>&1)
|
||||
HTTP_CODE=$(echo "$RESULT" | tail -1)
|
||||
BODY=$(echo "$RESULT" | head -n -1)
|
||||
echo " HTTP: $HTTP_CODE"
|
||||
echo "$BODY" | python3 -c "
|
||||
import sys,json
|
||||
try:
|
||||
data=json.load(sys.stdin)
|
||||
if isinstance(data, list):
|
||||
total=sum(len(g) for g in data)
|
||||
print(f' History entries returned: {total}')
|
||||
print(' Result: PASS ✓' if total > 0 else ' Result: EMPTY (may be normal)')
|
||||
except Exception as e:
|
||||
print(f' Parse error: {e}')
|
||||
" 2>&1
|
||||
|
||||
echo ""
|
||||
echo "=== Logbook API Test ==="
|
||||
RESULT2=$(curl -sf -w "\n%{http_code}" "$HA_URL/api/logbook/2026-06-27T00:00:00?entity=sun.sun" -H "Authorization: Bearer $HA_TOKEN" 2>&1)
|
||||
HTTP_CODE2=$(echo "$RESULT2" | tail -1)
|
||||
echo " HTTP: $HTTP_CODE2"
|
||||
echo " Result: $([ "$HTTP_CODE2" = "200" ] && echo 'PASS ✓' || echo 'FAIL ✗')"
|
||||
Reference in New Issue
Block a user