Files
hermes-relay/README.md
T

76 lines
1.9 KiB
Markdown

# Hermes Relay
Flask bridge tussen Node-RED en Hermes Agent.
## Architectuur
```
Node-RED (192.168.1.125) ──POST /ask──▶ Hermes Relay (192.168.1.74:8650)
│
├──▶ hermes chat -q (subprocess)
│ │
│ ▼
│ JSON response ──▶ Node-RED
│
└──▶ hermes send --to telegram
│
▼
Telegram chat
```
## Endpoints
### `POST /ask`
Verwacht JSON body:
```json
{ "payload": "Wat is het weer in Best?" }
```
Response:
```json
{
"status": "ok",
"answer": "Het is 22°C en zonnig in Best...",
"elapsed_seconds": 8.3,
"telegram_sent": true
}
```
### `GET /health`
Health check voor monitoring.
## Setup
```bash
cd /root/hermes-relay
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Test
python app.py
# Of als service
sudo systemctl enable hermes-relay
sudo systemctl start hermes-relay
```
## Node-RED Nodes
### Versturen (HTTP Request node)
- **Method:** POST
- **URL:** `http://192.168.1.74:8650/ask`
- **Return:** a parsed JSON object
- **Timeout:** 120000 (ms) — Hermes kan even duren
### Ontvangen
Het antwoord komt terug als `msg.payload`:
- `msg.payload.answer` — het Hermes antwoord
- `msg.payload.elapsed_seconds` — hoe lang het duurde
- `msg.payload.telegram_sent` — of het ook naar Telegram is gestuurd
- `msg.payload.status` — "ok" of "error"
### Health check (optioneel)
- **Method:** GET
- **URL:** `http://192.168.1.74:8650/health`