mirror of
https://github.com/adrianjagielak/home-assistant-futurehome.git
synced 2026-07-07 13:23:03 +00:00
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.
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
|
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
|
||||||
|
|
||||||
|
## 1.8.0 (01.07.2026)
|
||||||
|
|
||||||
|
- Expose the battery maintenance status (e.g. `replace_now`) as a diagnostic "Battery status" sensor for devices that support the `replace_*` battery events. Previously this was not surfaced at all, so a device could report a full battery level while actually needing its battery replaced.
|
||||||
|
|
||||||
## 1.7.0 (01.07.2026)
|
## 1.7.0 (01.07.2026)
|
||||||
|
|
||||||
- Added support for the Futurehome house mode (Home/Away/Sleep/Vacation). The current mode is exposed as a `Mode` selector on the Smarthub device, updates in real time (e.g. when a Futurehome Modeswitch button is pressed), and can be changed from Home Assistant.
|
- Added support for the Futurehome house mode (Home/Away/Sleep/Vacation). The current mode is exposed as a `Mode` selector on the Smarthub device, updates in real time (e.g. when a Futurehome Modeswitch button is pressed), and can be changed from Home Assistant.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config
|
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config
|
||||||
name: Futurehome
|
name: Futurehome
|
||||||
version: '1.7.0'
|
version: '1.8.0'
|
||||||
slug: futurehome
|
slug: futurehome
|
||||||
description: Local Futurehome Smarthub integration
|
description: Local Futurehome Smarthub integration
|
||||||
url: 'https://github.com/adrianjagielak/home-assistant-futurehome'
|
url: 'https://github.com/adrianjagielak/home-assistant-futurehome'
|
||||||
|
|||||||
@@ -32,6 +32,26 @@ export function battery__components(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Battery maintenance status (e.g. "replace_now"). A device can report a full
|
||||||
|
// battery level while still asking to be replaced, so when it supports the
|
||||||
|
// replace_* events this is surfaced as its own diagnostic sensor. The hub
|
||||||
|
// reports the current state as a plain string in the `state` attribute.
|
||||||
|
const supEvents: string[] = svc.props?.sup_events ?? [];
|
||||||
|
if (
|
||||||
|
supEvents.some(
|
||||||
|
(event) => typeof event === 'string' && event.startsWith('replace'),
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
components[`${svc.addr}_state`] = {
|
||||||
|
unique_id: `${svc.addr}_state`,
|
||||||
|
platform: 'sensor',
|
||||||
|
entity_category: 'diagnostic',
|
||||||
|
icon: 'mdi:battery-heart-variant',
|
||||||
|
name: 'Battery status',
|
||||||
|
value_template: `{{ value_json['${svc.addr}'].state | default('ok', true) }}`,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
components: components,
|
components: components,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user