Add doorbell-listener: ntfy → zigbee2mqtt Sideboard Lamp toggle
Polls ntfy.sh for ALERT_klubhaus_topic(_test) and publishes
{state: TOGGLE} to zigbee2mqtt/Sideboard Lamp/set on each new
message event. Dual-topic subscription so switching from test to
production requires no code change; sender still uses test topic.
- infra/doorbell-listener/: uv-based Docker service (arm64)
- compose: depends_on mosquitto, persists last_id per topic
- justfile: doorbell-publish, doorbell-logs, doorbell-rebuild,
restart-all now includes doorbell-listener
This commit is contained in:
@@ -53,3 +53,23 @@ services:
|
||||
TZ: America/Los_Angeles
|
||||
DASHBOARD_BASE_HREF: /dashboard/
|
||||
command: ["sh", "/data/start.sh"]
|
||||
|
||||
# Listens to ntfy.sh for doorbell events and toggles a smart plug on each alert.
|
||||
# Topic: ALERT_klubhaus_topic_test (matches ESP32 firmware DEBUG_MODE suffix)
|
||||
# Action: TOGGLE on zigbee2mqtt/Sideboard Lamp/set
|
||||
doorbell-listener:
|
||||
build: ./doorbell-listener
|
||||
container_name: doorbell-listener
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- mosquitto
|
||||
volumes:
|
||||
- ./doorbell-listener/state:/data/doorbell-listener
|
||||
environment:
|
||||
MQTT_HOST: mosquitto
|
||||
MQTT_PORT: "1883"
|
||||
PLUG_TOPIC: "zigbee2mqtt/Sideboard Lamp/set"
|
||||
POLL_INTERVAL: "30"
|
||||
TZ: America/Los_Angeles
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user