Commit Graph

62 Commits

Author SHA1 Message Date
Adrian Jagielak
b892e20920 Expose battery maintenance status (e.g. replace_now) as a sensor
Some battery devices report a full battery level while still signalling that
the battery must be replaced (the customer's log shows devices at lvl 100 with
state "replace_now"). That maintenance state was not surfaced anywhere.

When the battery service supports the replace_* events (per its `sup_events`
property), expose the hub-reported `state` attribute as a diagnostic
"Battery status" sensor.
2026-07-01 23:38:16 +02:00
Jagi ᯅ
93a036c4f7 Add Futurehome house mode support (Modeswitch) + scene event entities (#33)
* Add Futurehome house mode support (Modeswitch) + scene event entities

The Futurehome Modeswitch (Modusbryter) is a house-mode switch: its buttons
change the hub's mode (Home/Away/Sleep/Vacation), which is a hub-level Vinculum
concept broadcast via `evt.pd7.notify` (component "mode") — not a device
`scene_ctrl` event. That is why tapping it produced nothing in the device
message stream and the mapped scene sensor was stuck on `unknown`.

The add-on had no house-mode support at all. This adds it:

- Expose the current house mode as a `Mode` select on the Smarthub device.
  It reflects the current mode, updates in real time via `evt.pd7.notify`
  (with a 30s house-poll fallback), and can change the mode from Home Assistant
  via `cmd.pd7.request {cmd:"set", component:"mode", id:<mode>}` (matching the
  reference primefimp `ChangeMode`).
- Always publish the Smarthub hub device so the Mode select is available even
  without Thingsplex credentials; inclusion/exclusion tooling stays gated.
- Discover available modes from the Vinculum `mode` component, falling back to
  home/away/sleep/vacation.

Also improve genuine scene controllers: `scene_ctrl` now additionally exposes a
Home Assistant `event` entity so momentary button presses can drive automations
(the previous `Scene` sensor latched and could not react to repeated presses).
The sensor is kept for backwards compatibility (renamed "Scene (last value)").

Includes demo-mode support, README/CHANGELOG updates, and a version bump to
1.7.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FuQAyPde4K57P2XMCKbFek

* Fix real-time house-mode updates: hub-mode notify uses component "hub"

A house-mode-change evt.pd7.notify is broadcast on the hub component
(component "hub", id "mode"), not component "mode". The previous guard
`notify.component !== 'mode'` discarded every real mode-change notification, so
the Mode select only updated via the 30s poll fallback instead of in real time.

Gate on component "hub" (and, defensively, "mode") and extract the new mode
from either param.mode.current (primefimp Hub/HubMode) or param.current
(edge-iqcontrols/tpflow references), publishing only when a mode string is
found.
2026-07-01 23:36:36 +02:00
Adrian Jagielak
36168c1101 v1.6.2 2026-05-16 23:59:35 +02:00
Adrian Jagielak
ce36669587 v1.6.1 2025-10-16 20:50:41 +02:00
Adrian Jagielak
45182a6416 v1.6.0 2025-10-16 20:16:11 +02:00
Adrian Jagielak
a38e441c9b v1.5.0 2025-10-16 02:07:11 +02:00
Adrian Jagielak
729c6c839f v1.4.0 2025-10-13 19:03:53 +02:00
Adrian Jagielak
4a3eb07464 v1.3.1 2025-09-28 15:49:27 +02:00
Adrian Jagielak
16a4fb3181 v1.3.0 2025-09-28 14:59:18 +02:00
Adrian Jagielak
7e3d56cec1 v1.2.1 2025-09-27 02:26:33 +02:00
Adrian Jagielak
653df93807 v1.2.0 2025-09-26 20:00:52 +02:00
Adrian Jagielak
f216f4b719 v1.1.2 2025-09-25 00:41:48 +02:00
Adrian Jagielak
383980d5f8 v1.1.1 2025-09-25 00:41:47 +02:00
Adrian Jagielak
a05e96bae0 v1.1.0 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
a41c599686 Update README.md 2025-07-29 00:48:24 +02:00
Adrian Jagielak
e17a4eaec7 v1.0.0 2025-07-29 00:40:32 +02:00
Adrian Jagielak
c56b9c6fbe Allow unpairing devices using any adapter 2025-07-28 22:38:00 +02:00
Adrian Jagielak
361eaaf1bc Add icon 2025-07-28 17:34:41 +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
15c65850bf Add logo 2025-07-28 13:48:11 +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
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
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
dbc8b1d800 Update 'thermostat' service implementation 2025-07-25 01:32:02 +02:00
Adrian Jagielak
bceccba572 Update docs 2025-07-25 01:07:19 +02:00