github rroller/dahua 2.0.0-rc.3

latest release: 2.0.0-rc.4
pre-release2 hours ago

⚠️ BREAKING CHANGES — ACTION REQUIRED BEFORE UPGRADING

Warning

Affected recorder automations and dashboards need updating. This release removes the old per-camera Alarm Local sensors on recorders with the new terminal sensors and consolidates duplicate per-channel relay switches on the recorder.

  • Alarm inputs: Retarget automations and dashboards from the old per-camera Alarm Local sensors to the corresponding recorder terminal sensors. The old sensors become unavailable; their registry entries remain for reference.
  • Relay outputs: Update automations and dashboards that used duplicate per-channel relay switches to use the recorder's relay switches.

Third release candidate for 2.0.0.

Since 2.0.0-rc.2

  • Add Do not disturb and four volume controls on indoor monitors that report the corresponding settings. Whole-table updates preserve neighboring settings, serialize concurrent changes, and clear cached reads. Invalid silence flags report unknown. (#1105)
  • Retry incomplete DHIP monitor identities rather than generating a different serial. Missing model, firmware or serial responses cannot create a second set of entities, and subsequent attempts re-read the missing identity. Existing HTTP monitor identities stay unchanged. (#1106)
  • Omit a MAC address reported by multiple recorder channels from those channels' device connections, including addresses spelled differently. Channels keep their unique identifiers, and cameras with a distinct MAC keep it. This fixes channel device registration failures on mixed coax/IP recorders. (#1107)

Included in 2.0.0-rc.2

  • Add indoor monitors without an HTTP server through the normal add flow using local DHIP on TCP port 5000. Tested by the contributor on a VTH5221D. New DHIP entries use the monitor's real serial; existing HTTP entries retain their identities. Shared sockets close on unload, session expiry reconnects, and failed logins use Home Assistant's reauthentication handling. Actions are not automatically replayed after a lost reply. (#1103)
  • Recover siren and white-light status through RPC2 when a channel refuses the CGI read. A transient failure or cancelled poll can recover later; an explicit method refusal is not retried every poll. This changes status reads only. (#1101)
  • Include listener counts for each event/channel key in diagnostics, making accumulation visible. events.listener_keys is now a mapping of keys to counts rather than a list; multiple listeners can be normal. (#1102)

Other changes since 1.3.1

  • Play media, TTS results, or allowed audio files through a device's speaker with dahua.play_audio. The offered formats use 8 kHz audio, with G.711 A-law as the default and little-endian PCM available. Conversion requires Home Assistant's ffmpeg integration. (#1086)
  • Choose the illumination mode on supported dual-light cameras. The selector reads the channel's scene state, verifies every scene after a write, and respects an active Illuminator override. (#1091)
  • Give recorder alarm-input terminals their own sensors and relay outputs their own switches on the recorder's device. Read physical state as a bitmask; preserve input state or report relay state as unknown when a response cannot be read. (#1093, #1096, #1097)
  • Suggest the existing motion-polling option when the device reports active motion but the stream has never delivered VideoMotion. Checks are bounded, the option remains user-controlled, and the repair clears when it is resolved or the device is removed. (#1095)
  • Clarify which overlay the text-overlay service writes and the model-dependent "Location title" label. (#1092)

Validation

The combined local suite passed 5,076 tests, with three real-ffmpeg conversion cases skipped locally and covered by GitHub CI with ffmpeg installed. Formatting passed for all 338 Python files. Added regression tests reproduced incomplete-identity fallback, memoised serial failure, concurrent setting loss, and malformed silence-state defects before the fixes. The release ZIP is verified against the tagged source and manifest version.

Hardware evidence for audio formats comes from owner-listened VTO2000A speaker tests. Broader device and full Home Assistant service validation remain part of RC testing.

Full changelog: 1.3.1...2.0.0-rc.3

Changes since the previous RC: 2.0.0-rc.2...2.0.0-rc.3

Don't miss a new dahua release

NewReleases is sending notifications on new releases.