2.0 KiB
2.0 KiB
Setup – Simple Bridge
1. Raspberry Pi
cd ~
# Projekt kopieren (oder aus dem ZIP)
cp -r openhab-ai-bridge-simple ~/
cd ~/openhab-ai-bridge-simple
cp .env.example .env
openssl rand -hex 32
nano .env # API_TOKEN eintragen, MQTT_HOST prüfen
Audio-Gruppe:
getent group audio | cut -d: -f3
# Wert in AUDIO_GID in .env
Start:
docker compose build && docker compose up -d
docker compose logs -f
curl http://127.0.0.1:8090/health
TTS-Test:
curl -X POST http://127.0.0.1:8090/api/v1/audio/speak \
-H "Authorization: Bearer DEIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"Hallo, das ist ein Test vom Raspberry Pi."}'
2. openHAB
Thing
Datei openhab/ai_bridge.things nach $OPENHAB_CONF/things/ kopieren
oder im Main UI manuell anlegen (Broker-UID: mqtt:broker:72a3b87ef9).
Items
Datei openhab/ai_bridge.items nach $OPENHAB_CONF/items/ kopieren
oder Items über die API/MCP anlegen und manuell mit den Channels verlinken.
JS-Regel (Dialog → Bridge)
- Add-on JavaScript Scripting installieren
- Inhalt von
openhab/ai_bridge.rules.jsals Script anlegen BRIDGE_URLundBRIDGE_TOKENanpassen
Push-Regel
Wenn Item AI_Bridge_Notify sich ändert → openHAB Cloud Notification
mit Text z. B. KI_DIALOG <session_id> an dein iPhone senden.
Die Notification muss die Automation auf dem iPhone auslösen.
3. iOS Shortcut
- Automation: „Wenn Benachrichtigung von openHAB empfangen“ und Text enthält
KI_DIALOG - HTTP GET
http://PI-IP:8090/api/v1/active
Header:Authorization: Bearer TOKEN - Session-ID aus der Antwort nehmen
- HTTP GET
.../api/v1/sessions/{id}/context - Messages zu einem Prompt zusammensetzen
- Aktion Ask Claude
- HTTP POST
.../api/v1/sessions/{id}/answer
Body:{"content":"<Claude-Antwort>"} - HTTP POST
.../api/v1/audio/speak
Body:{"text":"<Claude-Antwort>"}
Optional: Button „Gespräch beenden“ → POST .../sessions/{id}/end