Fix Modeswitch scene sensor stuck at 'unknown'

Scene controllers such as the Futurehome Modeswitch/Modusbryter (a Z-Wave
device) only ever emit `evt.scene.report` on a button press and never appear
in the periodic Vinculum state poll. Their address therefore never got an
entry in the HA state cache, so live scene events were dropped by the
`if (!payload[addr]) continue` guard in haUpdateStateValueReport, leaving the
"Scene" entity permanently 'unknown'.

- Register an address -> state-topic mapping from the device config so live
  events can be routed even when the service is absent from the state poll.
- Seed the cache entry from that mapping when a report arrives for an
  otherwise-unknown address.
- Preserve previously known values across state polls so a scene value set by
  a live event is not wiped by a later poll that omits the service.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRMavpbsGAcY2ctkKvcoNR
This commit is contained in:
Claude
2026-07-01 19:08:24 +00:00
parent 36168c1101
commit 81f8163e1c
4 changed files with 64 additions and 3 deletions

View File

@@ -1,5 +1,9 @@
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
## 1.6.3 (01.07.2026)
- Fixed Modeswitch/Modusbryter (and other scene controllers) staying stuck at `unknown`. Live `evt.scene.report` button presses are now delivered to the "Scene" entity even for services that never appear in the periodic state poll.
## 1.6.2 (16.05.2026)
- Fix invalid device_class + unit_of_measurement combinations for HA 2026.5 (#32).