The Home Automation Bridge
Doorbell, Grafana, Pi-camera โ all into MeshHold.
Bridge GPIO sensors, alerting platforms, and cheap IP cameras into your private mesh โ without exposing any of them to the public internet.
Pi or Pi-class hardware? The
.debpackage is the path of least friction on Raspberry Pi OS (Bookworm and later). If you'd rather keep your Pi's host clean and run everything from containers, themeshhold:latest-arm64Docker image is the same daemon and lets you share the SD card root with Home Assistant and friends without rpm/deb conflicts. The auto-answer +call_mediaconfig below works in either deployment โ only the install command differs.
Inbound webhooks
POST/GET /api/v1/hooks/<token> โ endpoints in the shape of Slack /
Mattermost / Discord. Configured in config.yaml only โ there is no
CRUD UI; rotation = edit YAML + restart.
call action โ fire a video call
webhooks:
- name: "doorbell"
token: "long-random-token-1"
action: "call"
target_node_id: "12D3KooW..."
video: true
Wire a GPIO button to curl /api/v1/hooks/long-random-token-1 and the
doorbell calls your phone.
message action โ post to a chat room
- name: "grafana-alerts"
token: "long-random-token-2"
action: "message"
room_id: "vault-uuid-2"
fallback_text: "Alert (no payload)"
Parses Slack-shape JSON, payload=<json>, and text/plain bodies.
Headless Pi-camera (auto-answer)
The same daemon runs in call_media mode on a Raspberry Pi:
node:
call_media:
enabled: true
video_devices:
- "/dev/video0"
- "/dev/video2"
audio_device: "default"
Issue an mgmt-key with the camera cap; the holder can place video
calls and the Pi auto-answers. Remote camera switching is supported
(NEXT / PREV / SPECIFIC requests).
Pi as a "baby monitor"
Same setup as above with a single static video_devices entry and a
mgmt-key shared with the parents' phones.