2026-09-22 13:53:11 +00:00
2026-09-22 13:52:48 +00:00
2026-09-22 13:52:48 +00:00
2026-09-22 13:52:48 +00:00
2026-09-22 13:52:48 +00:00
2026-09-22 13:52:48 +00:00

openHAB AI Bridge – Simple (Text + Claude + Edge TTS)

Kostenlose KI-Anbindung über Ask Claude (iOS Shortcut), ohne API-Key.

Ablauf

openHAB Textfeld
    → Bridge (Session + Kontext in SQLite)
    → MQTT notify
    → openHAB Cloud Push ans iPhone
    → Shortcut: Ask Claude
    → Antwort zurück an Bridge
    → Edge TTS → Lautsprecher am Pi

Rückfragen nutzen denselben Session-Kontext (Standard: 2 Stunden).

Schnellstart (Raspberry Pi)

cd ~/openhab-ai-bridge-simple
cp .env.example .env
openssl rand -hex 32   # → in .env als API_TOKEN eintragen
getent group audio | cut -d: -f3   # → AUDIO_GID setzen

docker compose build
docker compose up -d
curl http://127.0.0.1:8090/health

openHAB

  1. Thing + Items aus openhab/ übernehmen (Broker-UID anpassen).
  2. JS-Regel aus openhab/ai_bridge.rules.js (Token + IP eintragen).
  3. Regel „AI Bridge Notify → Push“ sendet die Cloud-Notification.

iOS Shortcut

  1. Trigger: openHAB-Notification mit Text KI_DIALOG
  2. GET http://PI:8090/api/v1/active (Header: Authorization: Bearer TOKEN)
  3. GET /api/v1/sessions/{session_id}/context
  4. Prompt aus Messages bauen → Ask Claude
  5. POST /api/v1/sessions/{session_id}/answer {"content":"..."}
  6. POST /api/v1/audio/speak {"text":"..."} (Pi spricht)

API (alle außer /health brauchen Bearer-Token)

Methode Pfad Zweck
POST /api/v1/dialog Frage aus openHAB
GET /api/v1/active Aktive Session
GET /api/v1/sessions/{id}/context Gesprächsverlauf
POST /api/v1/sessions/{id}/answer Claude-Antwort speichern
POST /api/v1/audio/speak Edge TTS abspielen
POST /api/v1/sessions/{id}/end Session beenden

Sicherheit

  • Nur LAN, Port 8090 nicht nach außen freigeben
  • Langer zufälliger API_TOKEN
  • Docker: non-root, read-only root, dropped capabilities
S
Description
Openhab AI Bridge over Apple Shortcuts, let the user use the claude ai without api coast. claude is connectet to openhab with mcp.
Readme
75 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 89.9%
JavaScript 6.9%
Dockerfile 3.2%