feat: add zulip integration
This commit is contained in:
parent
50468db20b
commit
3a0d464234
14 changed files with 430 additions and 5 deletions
|
|
@ -42,3 +42,34 @@ NixOS options under `services.noisebell-cache`:
|
|||
| `piApiKeyFile` | Bearer token to poll the Pi's GET endpoints |
|
||||
| `inboundApiKeyFile` | Bearer token the Pi sends when POSTing to `/webhook` |
|
||||
| `outboundWebhooks[].secretFile` | Bearer token sent with outbound webhook POSTs |
|
||||
|
||||
## Home Assistant
|
||||
|
||||
Home Assistant works well as another `outboundWebhooks` target.
|
||||
|
||||
- For fast automations, point a webhook target at Home Assistant's `/api/webhook/<webhook_id>` endpoint.
|
||||
- For current-state display and restart recovery, have Home Assistant also poll `GET /status`.
|
||||
|
||||
Example NixOS config:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.noisebell-cache.outboundWebhooks = [
|
||||
{
|
||||
url = "https://homeassistant.example.com/api/webhook/noisebell-door";
|
||||
secretFile = null;
|
||||
}
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
The webhook payload sent by cache-service is:
|
||||
|
||||
```json
|
||||
{
|
||||
"status": "open",
|
||||
"timestamp": 1710000000
|
||||
}
|
||||
```
|
||||
|
||||
`secretFile = null` is usually fine for Home Assistant webhook triggers because the webhook ID itself acts as the secret. If you place Home Assistant behind an extra auth layer that expects a bearer token, set `secretFile` to a file containing that token.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue