Releases: thekoma/aventproxy
2026.6.0-rc2
This is a release candidate for testing. It bundles the fixes from 2026.6.0-rc1 plus the Go dependency updates. Please try it and report back on the open issues before we cut the stable 2026.6.0.
Highlights
- Login errors no longer hide the real cause (#44). An account that is already set up now aborts cleanly with "already configured" instead of a confusing "unknown" error, and unknown Tuya failures show the actual Tuya code (for example
USER_SESSION_INVALID) instead of a generic "cannot connect". - The setup flow no longer crashes with "Session is closed" on a second verification-code attempt (#44). It now uses Home Assistant's shared HTTP session instead of one it closed too early.
- The WebRTC bridge no longer crashes with "address already in use" on restart (#43). It now sets
SO_REUSEADDRso a restarting bridge can re-bind port 38554 immediately, even while the previous connections are still in TIME_WAIT. - When a video stream fails, the bridge now logs the machine-readable Tuya error code, for example
API error: No access (code: ...), instead of just the human text (#48). This is what we need to diagnose the remaining "No access" reports.
Documentation
- README now lists the supported and reported-working monitor models.
- New parent-friendly guide for reporting issues (
docs/reporting-issues.md), centred on the one-click diagnostics dump. - Structured GitHub issue templates for bug reports and device-support requests.
Internal / dependency updates
AGENTS.mddocuments the release-notes process and per-component expectations.- CI Go aligned to 1.26 (setup-go v6, gh-release v3, temurin 25).
- pion/ice/v4 v4.2.6 -> v4.2.7 (#45), pion/stun/v3 v3.1.2 -> v3.1.5 (#46), pion/webrtc/v4 v4.2.13 -> v4.2.15 (#47), golang.org/x/term v0.43.0 -> v0.44.0 (#49).
Upgrade notes
- Most users: update the integration in HACS (enable "Show beta versions" and pick
2026.6.0-rc2), and update the "Philips Avent WebRTC Bridge Beta" add-on, then restart Home Assistant. No need to re-add the integration. - Anyone who could not finish login or hit the verification-code crash (#44): just retry setup on this build. If it still fails, the screen now names the exact Tuya code, so please paste that code in #44.
- Anyone seeing video "No access", including multi-camera setups (#48): update the beta bridge, reproduce, and paste the
failed to get WebRTC configlog line now that it carries the error code. - Anyone whose add-on crashed on restart with "address already in use" (#43): just update the beta add-on.
Acknowledgements
- @SVD85 for the #48 report and the diagnostics dump.
- @ajkblue and @ChristiaanW123 for the #44 login logs that pinpointed the masked codes and the session crash; @ChristiaanW123 also reported #43.
- lcasaccia87 on the Home Assistant forum for the original #44 report (https://community.home-assistant.io/t/641344/41).
Bundled tags
2026.6.0-rc1: login error fixes (#44), bridge restart fix (#43), bridge error-code logging (#48), plus the documentation and CI updates above.2026.6.0-rc2: Go dependency updates (#45, #46, #47, #49).
Full Changelog: 2026.5.2...2026.6.0-rc2
2026.6.0-rc1
Full Changelog: 2026.5.2...2026.6.0-rc1
2026.5.2
Philips Avent Baby Monitor 2026.5.2
Rolled-up notes for everything shipped today across 2026.5.0 → 2026.5.1 → 2026.5.2. If you are upgrading from 2026.4.8 or earlier, this is the line you want — install 2026.5.2 directly.
Highlights
-
Multi-camera support — if you have more than one Philips Avent monitor on the same Tuya account, the bridge add-on now serves all of them from a single process, each on its own RTSP path:
rtsp://host:38554/CameraName1 rtsp://host:38554/CameraName2Zero manual configuration. The integration discovers all cameras and the add-on picks them up automatically. Closes #35.
-
SCD951 video stream fix — the SCD951 model now streams correctly. The add-on was previously passing an empty
productIdto the Tuya WebRTC API; for the SCD97x / SCD92x family the empty value happened to fall on a working default, but for SCD951 (productId: selj2idknqhjnids) Tuya refused the offer. The integration now captures and propagatesproductIdend-to-end. For existing installs on2026.5.0, an automatic one-shot backfill recovers theproductIdfrom Tuya discovery on first restart and persists it to the config entry — no manual action required. Closes #33. -
camera.snapshotservice works —AventCameranow overridesasync_camera_imageand delegates to the Home Assistantffmpeghelper. Previously, callingcamera.snapshotagainst the baby-monitor entity hitNotImplementedErroreven though the live RTSP stream was running. Useful for "send a snapshot when sound is detected" automations. Closes #39.
Documentation
- New Automations section in the README with sample HA YAML for triggering on
binary_sensor.<camera>_sound_detectedand<camera>_motion_detected. These per-camera detection entities had been shipping since2026.4.xbut were undocumented. - Architecture diagram updated to show the multi-path RTSP layout and the canonical bridge port (
38554). - Two design + plan documents for the multi-camera bridge work landed under
docs/superpowers/.
Internal / dependency updates
- Go bridge dependencies bumped:
github.com/pion/webrtc/v4→v4.2.13github.com/pion/ice/v4→v4.2.6github.com/pion/rtp→v1.10.2(transitive)github.com/pion/interceptor→v0.1.45(transitive)golang.org/x/net→v0.55.0golang.org/x/term→v0.43.0(transitive)
- APK extractor container base:
eclipse-temurin→21.0.11_10-jre-jammy. - Bridge code reorganized internally:
- Shared path-sanitization helper (
pkg/storage/path.go::SanitizeRTSPPath) used by bothcmd/directand the newcmd/addon. - Per-camera ID dedup + path-collision handling with deterministic counter-based fallback (
/Baby,/Baby_abcdef,/Baby_abcdef_2, …). - User email masked in startup logs (
a***@dontouch.ch). - Double-slash in
directRTSP log lines fixed.
- Shared path-sanitization helper (
- Python helper for RTSP path sanitization now lives in
custom_components/philips_avent/payload.pyand is imported by both the integration runtime and the unit tests, so cross-language contract drift is caught by the test suite.
Upgrade notes
- Single-camera SCD973 / SCD923 / SCD971 / SCD643 users: no action required. Behavior is identical to
2026.4.xfor single-camera setups. - Users who added a second monitor to their Tuya account after the initial integration setup: re-add the integration in HA (Settings → Devices & Services → Philips Avent Baby Monitor → reconfigure). The config flow will rediscover both cameras and the add-on will serve them.
- SCD951 users on
2026.5.0: just restart Home Assistant after the upgrade. The integration calls Tuya discovery once, backfills the missingproductId, persists it to the config entry, and the next bridge restart picks it up. You should seeBackfilled productId for N camera(s) and persisted to config entryin the HA log. - Add-on: the simplified
run.shno longer extracts per-camera flags viajq; the bridge binary now reads the JSON config directly. No env-var overrides changed.
Acknowledgements
Thanks to the SCD951 reporters in #33 (@juulie and @vikdb) and to forum users Skye, Svuo, Kameraad, gon0, leonardpitzu, and spencer-scott for the testing reports and feedback on the HA community thread that drove much of today's work.
Bundled tags
2026.5.0— initial line cut with Renovate dep updates and docs.2026.5.1— multi-camera (#37) + SCD951 fix (#38).2026.5.2—camera.snapshotenabled (#41).
All three tags are published to ghcr.io/thekoma/aventproxy-bridge (linux/amd64 + linux/arm64). HACS and the Home Assistant add-on store track the latest stable, which is 2026.5.2.
Full Changelog: 2026.4.8...2026.5.2
2026.5.1
2026.5.0
What's Changed
- fix(deps): update module github.com/mattn/go-isatty to v0.0.22 by @renovate[bot] in #11
- chore(deps): update eclipse-temurin docker tag to v21.0.11_10-jre-jammy by @renovate[bot] in #30
- fix(deps): update module github.com/pion/webrtc/v4 to v4.2.13 by @renovate[bot] in #19
- fix(deps): update module github.com/pion/ice/v4 to v4.2.6 by @renovate[bot] in #36
- fix(deps): update module golang.org/x/net to v0.55.0 by @renovate[bot] in #32
Full Changelog: 2026.4.8...2026.5.0
2026.4.9-rc1
Full Changelog: 2026.4.8...2026.4.9-rc1
2026.4.8
Full Changelog: 2026.4.7...2026.4.8
2026.4.8-rc1
Full Changelog: 2026.4.7...2026.4.8-rc1
2026.4.7
2026.4.7-rc4
Full Changelog: 2026.4.7-rc3...2026.4.7-rc4