mirror of
https://github.com/adrianjagielak/home-assistant-futurehome.git
synced 2025-09-13 15:47:08 +00:00
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import {
|
|
VinculumPd7Device,
|
|
VinculumPd7Service,
|
|
} from '../fimp/vinculum_pd7_device';
|
|
import { HaMqttComponent } from '../ha/mqtt_components/_component';
|
|
import { ServiceComponentsCreationResult } from '../ha/publish_device';
|
|
|
|
export function battery__components(
|
|
topicPrefix: string,
|
|
device: VinculumPd7Device,
|
|
svc: VinculumPd7Service,
|
|
_svcName: string,
|
|
): ServiceComponentsCreationResult | undefined {
|
|
const components: Record<string, HaMqttComponent> = {};
|
|
|
|
if (svc.intf?.includes('evt.lvl.report')) {
|
|
components[`${svc.addr}_lvl`] = {
|
|
unique_id: `${svc.addr}_lvl`,
|
|
platform: 'sensor',
|
|
entity_category: 'diagnostic',
|
|
device_class: 'battery',
|
|
unit_of_measurement: svc.props?.sup_units?.[0] ?? '%',
|
|
value_template: `{{ value_json['${svc.addr}'].lvl }}`,
|
|
};
|
|
} else if (svc.intf?.includes('evt.alarm.report')) {
|
|
components[`${svc.addr}_alarm`] = {
|
|
unique_id: `${svc.addr}_alarm`,
|
|
platform: 'binary_sensor',
|
|
entity_category: 'diagnostic',
|
|
device_class: 'battery',
|
|
value_template: `{{ (value_json['${svc.addr}'].alarm.status == 'activ') | iif('ON', 'OFF') }}`,
|
|
};
|
|
}
|
|
|
|
return {
|
|
components: components,
|
|
};
|
|
}
|