Commit Graph

97 Commits

Author SHA1 Message Date
Claude
81f8163e1c 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
2026-07-01 19:08:24 +00:00
Jagi ᯅ
1a8a7c2e2c Fix invalid device_class + unit_of_measurement combinations for HA 2026.5 (#32)
HA 2026.5 enforces strict validation of device_class/unit_of_measurement
pairs in MQTT discovery payloads. Four categories were broken:

- power_factor: unit was sent as "power_factor" (the FIMP field name); HA
  requires the field to be omitted or empty for this device class. Fixed by
  normalising the display unit separately from the FIMP data-path key.

- illuminance: unit "Lux" is rejected; normalise to "lx". When a sensor
  reports luminance as "%" (some Z-Wave devices), the illuminance device
  class is dropped so the entity becomes a generic sensor rather than
  triggering a validation error.

- reactive_power (regular/export meter): unit "VAr" is rejected; HA requires
  lowercase "var".

- reactive_power (extended meter values, e.g. p_import_react): the unit
  determination logic fell through to the generic power branch and sent "W";
  reactive power extended values now emit "var", apparent power values emit
  "VA", and reactive energy values emit "kvarh".

Fixes #31

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-16 23:58:19 +02:00
Adrian Jagielak
dac16b0fd4 Tweak 'Ignore Availability Reports' setting 2025-10-16 20:50:03 +02:00
Adrian Jagielak
9f2feea8c1 Add setting to always treat all devices as up 2025-10-16 20:15:31 +02:00
Adrian Jagielak
afbfd1d1c7 Revert "Add ability to specify a custom MQTT broker"
This reverts commit b937f90340.
2025-10-16 02:06:06 +02:00
Adrian Jagielak
b937f90340 Add ability to specify a custom MQTT broker 2025-10-13 19:03:52 +02:00
Adrian Jagielak
fdc65a0bd5 Use light entity for out_lvl_switch if the device type is "light" 2025-09-28 14:57:37 +02:00
Adrian Jagielak
a8c61c4658 Revert "Use light entity for out_lvl_switch if the device type is "light""
This reverts commit 50500e97be.
2025-09-27 02:25:52 +02:00
Adrian Jagielak
50500e97be Use light entity for out_lvl_switch if the device type is "light" 2025-09-26 20:00:11 +02:00
Adrian Jagielak
41cd550225 Add error handling for invalid FIMP messages 2025-09-25 00:41:47 +02:00
Adrian Jagielak
000537585d Stop inclusion/exclusion after the first report 2025-09-25 00:41:47 +02:00
Adrian Jagielak
351274f56e Allow empty Thingsplex credentials (#3) 2025-09-25 00:41:47 +02:00
Adrian Jagielak
0bb82f6d95 Add logging the initial devices response 2025-09-16 12:44:38 +02:00
Adrian Jagielak
986c85c0bf Lint fixes 2025-07-28 23:31:14 +02:00
Adrian Jagielak
c56b9c6fbe Allow unpairing devices using any adapter 2025-07-28 22:38:00 +02:00
Adrian Jagielak
1aad80ed38 Inclusion/exclusion improvements 2025-07-28 16:57:57 +02:00
Adrian Jagielak
d131297f2a Add more delays when initializing demo mode 2025-07-28 16:16:19 +02:00
Adrian Jagielak
d43414c90d Update demo mode data 2025-07-28 16:15:35 +02:00
Adrian Jagielak
e0b18b304c Restart the add-on when disconnected from the hub or Home Assistant 2025-07-28 16:14:36 +02:00
Adrian Jagielak
0d993643fb Fix using the unit reported by the numerical sensor 2025-07-28 16:13:18 +02:00
Adrian Jagielak
850fc7fc57 Add support for unpairing devices 2025-07-28 16:12:12 +02:00
Adrian Jagielak
b034197a93 Add support for pairing new devices 2025-07-28 14:18:42 +02:00
Adrian Jagielak
b6be226ac2 Reset all devices each time when starting in demo mode 2025-07-27 02:09:51 +02:00
Adrian Jagielak
aa9cb0f12a Add setting for enabling debug log 2025-07-27 01:50:10 +02:00
Adrian Jagielak
ef4bd2b342 Hide the fallback 'basic' Z-Wave service unless it’s the only one 2025-07-27 01:31:02 +02:00
Adrian Jagielak
b882cbab91 Add support for 'parameters' service 2025-07-27 01:14:54 +02:00
Adrian Jagielak
9aac6c489f Add support for 'dev_sys' service 2025-07-27 00:31:18 +02:00
Adrian Jagielak
cfe51c6e71 Add support for 'complex_alarm_system' service 2025-07-27 00:14:09 +02:00
Adrian Jagielak
ac435719a5 Add support for 'doorman' service 2025-07-27 00:02:49 +02:00
Adrian Jagielak
f01494caa8 Add support for 'schedule_entry' service 2025-07-26 23:53:49 +02:00
Adrian Jagielak
5264f84fbf Add support for 'user_code' service 2025-07-26 23:39:39 +02:00
Adrian Jagielak
77096d6732 Add support for 'door_lock' service 2025-07-26 23:37:48 +02:00
Adrian Jagielak
3939b37d88 Add support for 'sound_switch' service 2025-07-26 23:06:00 +02:00
Adrian Jagielak
a41b75da83 Add support for 'meter_*' services 2025-07-26 22:48:06 +02:00
Adrian Jagielak
a39f2d5928 Refactor sensors 2025-07-26 21:28:23 +02:00
Adrian Jagielak
e079b47760 Improve MQTT components interfaces 2025-07-26 20:26:23 +02:00
Adrian Jagielak
5d8ce20bff Add support for 'alarm_*' services 2025-07-26 02:38:22 +02:00
Adrian Jagielak
dc4e676d38 Add support for 'siren_ctrl' service 2025-07-25 21:10:57 +02:00
Adrian Jagielak
3c82daf6e9 Update the list of all services 2025-07-25 16:33:13 +02:00
Adrian Jagielak
d68aa6adca Update demo mode fake state handling 2025-07-25 16:03:41 +02:00
Adrian Jagielak
60b116fd97 Remove demo mode 'optimistic' override 2025-07-25 15:43:39 +02:00
Adrian Jagielak
1807b5157b Add support for 'media_player' service 2025-07-25 15:40:28 +02:00
Adrian Jagielak
c84c2744e0 Add default entities names 2025-07-25 14:38:10 +02:00
Adrian Jagielak
5ccce69523 Update demo mode data 2025-07-25 13:33:58 +02:00
Adrian Jagielak
ece156db35 Add support for 'chargepoint' service 2025-07-25 13:32:50 +02:00
Adrian Jagielak
d431ce7c8e Skip redundant services when higher-level entities exist 2025-07-25 01:58:13 +02:00
Adrian Jagielak
51693d05c3 Update 'water_heater' service implementation 2025-07-25 01:53:24 +02:00
Adrian Jagielak
dbc8b1d800 Update 'thermostat' service implementation 2025-07-25 01:32:02 +02:00
Adrian Jagielak
0f103dcb8e Add extracting device manufacturer name 2025-07-25 01:04:46 +02:00
Adrian Jagielak
58e22e941f Update demo mode data 2025-07-25 01:03:58 +02:00