Skip to content

feat: add doorbell event detection and MQTT status publishing#408

Open
anrp wants to merge 2 commits into
QuantumEntangledAndy:masterfrom
anrp:anrp/doorbell
Open

feat: add doorbell event detection and MQTT status publishing#408
anrp wants to merge 2 commits into
QuantumEntangledAndy:masterfrom
anrp:anrp/doorbell

Conversation

@anrp

@anrp anrp commented May 12, 2026

Copy link
Copy Markdown

Also decode multiple motion events from comma-separated status

Also decode multiple motion events from comma-separated status

Co-authored-by: aider (openai/Qwen/Qwen3.6-27B) <aider@aider.chat>
@anrp

anrp commented May 12, 2026

Copy link
Copy Markdown
Author

Tested interactively with https://reolink.com/__/product/reolink-video-doorbell/

@anrp
anrp force-pushed the anrp/doorbell branch from 965b778 to 40b0a04 Compare May 19, 2026 17:39
privatecoder added a commit to privatecoder/neolink that referenced this pull request Jun 17, 2026
…ngledAndy#408) (0.7.10)

Detect a doorbell/visitor button press as a distinct event (separate from
motion) and publish it over MQTT as a Home Assistant event entity.

- motion.rs: new pure decode_alarm_events() splits comma-separated alarm
  statuses — "visitor" -> Doorbell, motion types -> Start, "none" -> Stop —
  aggregating all events (no collapse). Motion semantics for RTSP gating are
  preserved; "visitor" no longer counts as motion.
- mdthread.rs/neocam.rs/instance.rs: doorbell presses are emitted on a new
  broadcast (NeoInstance::doorbell_events()) fed by the existing md thread —
  no second camera subscription, no Doorbell variant on the MdState watch.
- config.rs: per-camera enable_doorbell (default off, opt-in).
- mqtt/mod.rs: when enabled, publish {"event_type":"press"} (non-retained) to
  neolink/{camera}/status/doorbell; graceful no-op otherwise.
- discovery.rs: new DiscoveryEvent DTO; "doorbell" feature -> HA event entity
  (device_class doorbell, event_types ["press"]).
- README/changelog updated. 8 new decoder tests + config/discovery tests.

Adapted from upstream QuantumEntangledAndy#408 — tailored to this fork (event-broadcast model, HA
event entity), not a blind port.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant