diff --git a/futurehome/src/ha/publish_device.ts b/futurehome/src/ha/publish_device.ts index 23f6bfd..3fb4f95 100644 --- a/futurehome/src/ha/publish_device.ts +++ b/futurehome/src/ha/publish_device.ts @@ -1,75 +1,85 @@ import { InclusionReport, InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; import { log } from "../logger"; -import { cmps_battery } from "../services/battery"; -import { cmps_out_bin_switch } from "../services/out_bin_switch"; -import { cmps_out_lvl_switch } from "../services/out_lvl_switch"; -import { cmps_sensor_accelx } from "../services/sensor_accelx"; -import { cmps_sensor_accely } from "../services/sensor_accely"; -import { cmps_sensor_accelz } from "../services/sensor_accelz"; -import { cmps_sensor_airflow } from "../services/sensor_airflow"; -import { cmps_sensor_airq } from "../services/sensor_airq"; -import { cmps_sensor_anglepos } from "../services/sensor_anglepos"; -import { cmps_sensor_atmo } from "../services/sensor_atmo"; -import { cmps_sensor_baro } from "../services/sensor_baro"; -import { cmps_sensor_co } from "../services/sensor_co"; -import { cmps_sensor_co2 } from "../services/sensor_co2"; -import { cmps_sensor_contact } from "../services/sensor_contact"; -import { cmps_sensor_current } from "../services/sensor_current"; -import { cmps_sensor_dew } from "../services/sensor_dew"; -import { cmps_sensor_direct } from "../services/sensor_direct"; -import { cmps_sensor_distance } from "../services/sensor_distance"; -import { cmps_sensor_elresist } from "../services/sensor_elresist"; -import { cmps_sensor_freq } from "../services/sensor_freq"; -import { cmps_sensor_gp } from "../services/sensor_gp"; -import { cmps_sensor_gust } from "../services/sensor_gust"; -import { cmps_sensor_humid } from "../services/sensor_humid"; -import { cmps_sensor_lumin } from "../services/sensor_lumin"; -import { cmps_sensor_moist } from "../services/sensor_moist"; -import { cmps_sensor_noise } from "../services/sensor_noise"; -import { cmps_sensor_power } from "../services/sensor_power"; -import { cmps_sensor_presence } from "../services/sensor_presence"; -import { cmps_sensor_rain } from "../services/sensor_rain"; -import { cmps_sensor_rotation } from "../services/sensor_rotation"; -import { cmps_sensor_seismicint } from "../services/sensor_seismicint"; -import { cmps_sensor_seismicmag } from "../services/sensor_seismicmag"; -import { cmps_sensor_solarrad } from "../services/sensor_solarrad"; -import { cmps_sensor_tank } from "../services/sensor_tank"; -import { cmps_sensor_temp } from "../services/sensor_temp"; -import { cmps_sensor_tidelvl } from "../services/sensor_tidelvl"; -import { cmps_sensor_uv } from "../services/sensor_uv"; -import { cmps_sensor_veloc } from "../services/sensor_veloc"; -import { cmps_sensor_voltage } from "../services/sensor_voltage"; -import { cmps_sensor_watflow } from "../services/sensor_watflow"; -import { cmps_sensor_watpressure } from "../services/sensor_watpressure"; -import { cmps_sensor_wattemp } from "../services/sensor_wattemp"; -import { cmps_sensor_weight } from "../services/sensor_weight"; +import { battery__components } from "../services/battery"; +import { out_bin_switch__components } from "../services/out_bin_switch"; +import { out_lvl_switch__components } from "../services/out_lvl_switch"; +import { sensor_accelx__components } from "../services/sensor_accelx"; +import { sensor_accely__components } from "../services/sensor_accely"; +import { sensor_accelz__components } from "../services/sensor_accelz"; +import { sensor_airflow__components } from "../services/sensor_airflow"; +import { sensor_airq__components } from "../services/sensor_airq"; +import { sensor_anglepos__components } from "../services/sensor_anglepos"; +import { sensor_atmo__components } from "../services/sensor_atmo"; +import { sensor_baro__components } from "../services/sensor_baro"; +import { sensor_co__components } from "../services/sensor_co"; +import { sensor_co2__components } from "../services/sensor_co2"; +import { sensor_contact__components } from "../services/sensor_contact"; +import { sensor_current__components } from "../services/sensor_current"; +import { sensor_dew__components } from "../services/sensor_dew"; +import { sensor_direct__components } from "../services/sensor_direct"; +import { sensor_distance__components } from "../services/sensor_distance"; +import { sensor_elresist__components } from "../services/sensor_elresist"; +import { sensor_freq__components } from "../services/sensor_freq"; +import { sensor_gp__components } from "../services/sensor_gp"; +import { sensor_gust__components } from "../services/sensor_gust"; +import { sensor_humid__components } from "../services/sensor_humid"; +import { sensor_lumin__components } from "../services/sensor_lumin"; +import { sensor_moist__components } from "../services/sensor_moist"; +import { sensor_noise__components } from "../services/sensor_noise"; +import { sensor_power__components } from "../services/sensor_power"; +import { sensor_presence__components } from "../services/sensor_presence"; +import { sensor_rain__components } from "../services/sensor_rain"; +import { sensor_rotation__components } from "../services/sensor_rotation"; +import { sensor_seismicint__components } from "../services/sensor_seismicint"; +import { sensor_seismicmag__components } from "../services/sensor_seismicmag"; +import { sensor_solarrad__components } from "../services/sensor_solarrad"; +import { sensor_tank__components } from "../services/sensor_tank"; +import { sensor_temp__components } from "../services/sensor_temp"; +import { sensor_tidelvl__components } from "../services/sensor_tidelvl"; +import { sensor_uv__components } from "../services/sensor_uv"; +import { sensor_veloc__components } from "../services/sensor_veloc"; +import { sensor_voltage__components } from "../services/sensor_voltage"; +import { sensor_watflow__components } from "../services/sensor_watflow"; +import { sensor_watpressure__components } from "../services/sensor_watpressure"; +import { sensor_wattemp__components } from "../services/sensor_wattemp"; +import { sensor_weight__components } from "../services/sensor_weight"; import { ha } from "./globals"; type HaDeviceConfig = { + // device dev: { ids: string | null | undefined, name: string | null | undefined, + // manufacturer mf: string | null | undefined, + // model mdl: string | null | undefined, + // software version sw: string | null | undefined, + // serial number sn: string | null | undefined, + // hardware number hw: string | null | undefined, }; + // origin o: { name: 'futurehome', - sw: '1.0', url: 'https://github.com/adrianjagielak/home-assistant-futurehome', }; + // components cmps: { - [key: string]: CMP; + [key: string]: HaComponent; }, - state_topic: string, - availability_topic: string, + // state topic + stat_t: string, + // availability topic + avty_t: string, qos: number, } -export type CMP = { +export type HaComponent = { + // platform p: string; device_class?: string; unit_of_measurement?: string; @@ -78,51 +88,51 @@ export type CMP = { } const serviceHandlers: { - [name: string]: (vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService) => { [key: string]: CMP } + [name: string]: (vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService) => { [key: string]: HaComponent } } = { - battery: cmps_battery, - out_bin_switch: cmps_out_bin_switch, - out_lvl_switch: cmps_out_lvl_switch, - sensor_accelx: cmps_sensor_accelx, - sensor_accely: cmps_sensor_accely, - sensor_accelz: cmps_sensor_accelz, - sensor_airflow: cmps_sensor_airflow, - sensor_airq: cmps_sensor_airq, - sensor_anglepos: cmps_sensor_anglepos, - sensor_atmo: cmps_sensor_atmo, - sensor_baro: cmps_sensor_baro, - sensor_co: cmps_sensor_co, - sensor_co2: cmps_sensor_co2, - sensor_contact: cmps_sensor_contact, - sensor_current: cmps_sensor_current, - sensor_dew: cmps_sensor_dew, - sensor_direct: cmps_sensor_direct, - sensor_distance: cmps_sensor_distance, - sensor_elresist: cmps_sensor_elresist, - sensor_freq: cmps_sensor_freq, - sensor_gp: cmps_sensor_gp, - sensor_gust: cmps_sensor_gust, - sensor_humid: cmps_sensor_humid, - sensor_lumin: cmps_sensor_lumin, - sensor_moist: cmps_sensor_moist, - sensor_noise: cmps_sensor_noise, - sensor_power: cmps_sensor_power, - sensor_presence: cmps_sensor_presence, - sensor_rain: cmps_sensor_rain, - sensor_rotation: cmps_sensor_rotation, - sensor_seismicint: cmps_sensor_seismicint, - sensor_seismicmag: cmps_sensor_seismicmag, - sensor_solarrad: cmps_sensor_solarrad, - sensor_tank: cmps_sensor_tank, - sensor_temp: cmps_sensor_temp, - sensor_tidelvl: cmps_sensor_tidelvl, - sensor_uv: cmps_sensor_uv, - sensor_veloc: cmps_sensor_veloc, - sensor_voltage: cmps_sensor_voltage, - sensor_watflow: cmps_sensor_watflow, - sensor_watpressure: cmps_sensor_watpressure, - sensor_wattemp: cmps_sensor_wattemp, - sensor_weight: cmps_sensor_weight, + battery: battery__components, + out_bin_switch: out_bin_switch__components, + out_lvl_switch: out_lvl_switch__components, + sensor_accelx: sensor_accelx__components, + sensor_accely: sensor_accely__components, + sensor_accelz: sensor_accelz__components, + sensor_airflow: sensor_airflow__components, + sensor_airq: sensor_airq__components, + sensor_anglepos: sensor_anglepos__components, + sensor_atmo: sensor_atmo__components, + sensor_baro: sensor_baro__components, + sensor_co: sensor_co__components, + sensor_co2: sensor_co2__components, + sensor_contact: sensor_contact__components, + sensor_current: sensor_current__components, + sensor_dew: sensor_dew__components, + sensor_direct: sensor_direct__components, + sensor_distance: sensor_distance__components, + sensor_elresist: sensor_elresist__components, + sensor_freq: sensor_freq__components, + sensor_gp: sensor_gp__components, + sensor_gust: sensor_gust__components, + sensor_humid: sensor_humid__components, + sensor_lumin: sensor_lumin__components, + sensor_moist: sensor_moist__components, + sensor_noise: sensor_noise__components, + sensor_power: sensor_power__components, + sensor_presence: sensor_presence__components, + sensor_rain: sensor_rain__components, + sensor_rotation: sensor_rotation__components, + sensor_seismicint: sensor_seismicint__components, + sensor_seismicmag: sensor_seismicmag__components, + sensor_solarrad: sensor_solarrad__components, + sensor_tank: sensor_tank__components, + sensor_temp: sensor_temp__components, + sensor_tidelvl: sensor_tidelvl__components, + sensor_uv: sensor_uv__components, + sensor_veloc: sensor_veloc__components, + sensor_voltage: sensor_voltage__components, + sensor_watflow: sensor_watflow__components, + sensor_watpressure: sensor_watpressure__components, + sensor_wattemp: sensor_wattemp__components, + sensor_weight: sensor_weight__components, }; export function haPublishDevice(parameters: { hubId: string, vinculumDeviceData: VinculumPd7Device, deviceInclusionReport: InclusionReport }) { @@ -130,7 +140,7 @@ export function haPublishDevice(parameters: { hubId: string, vinculumDeviceData: return; } - let cmps: { [key: string]: CMP } = {}; + let cmps: { [key: string]: HaComponent } = {}; for (const svc of parameters.deviceInclusionReport.services) { if (!svc.name) { continue; } @@ -193,12 +203,11 @@ export function haPublishDevice(parameters: { hubId: string, vinculumDeviceData: }, o: { name: 'futurehome', - sw: '1.0', url: 'https://github.com/adrianjagielak/home-assistant-futurehome', }, cmps: cmps, - state_topic: stateTopic, - availability_topic: availabilityTopic, + stat_t: stateTopic, + avty_t: availabilityTopic, qos: 2, }; diff --git a/futurehome/src/services/battery.ts b/futurehome/src/services/battery.ts index 43d16b5..a11acf4 100644 --- a/futurehome/src/services/battery.ts +++ b/futurehome/src/services/battery.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_battery(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function battery__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } if (svc.props?.sup_events?.includes('low_battery')) { diff --git a/futurehome/src/services/out_bin_switch.ts b/futurehome/src/services/out_bin_switch.ts index 0a9fb95..f3bbfd2 100644 --- a/futurehome/src/services/out_bin_switch.ts +++ b/futurehome/src/services/out_bin_switch.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_out_bin_switch(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function out_bin_switch__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/out_lvl_switch.ts b/futurehome/src/services/out_lvl_switch.ts index 65105cb..3acebda 100644 --- a/futurehome/src/services/out_lvl_switch.ts +++ b/futurehome/src/services/out_lvl_switch.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_out_lvl_switch(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function out_lvl_switch__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_accelx.ts b/futurehome/src/services/sensor_accelx.ts index e699213..a940ee2 100644 --- a/futurehome/src/services/sensor_accelx.ts +++ b/futurehome/src/services/sensor_accelx.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_accelx(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_accelx__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_accely.ts b/futurehome/src/services/sensor_accely.ts index ba9dfa2..930fbea 100644 --- a/futurehome/src/services/sensor_accely.ts +++ b/futurehome/src/services/sensor_accely.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_accely(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_accely__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_accelz.ts b/futurehome/src/services/sensor_accelz.ts index 397347b..fc5829f 100644 --- a/futurehome/src/services/sensor_accelz.ts +++ b/futurehome/src/services/sensor_accelz.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_accelz(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_accelz__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_airflow.ts b/futurehome/src/services/sensor_airflow.ts index 6e43a93..3d00b9d 100644 --- a/futurehome/src/services/sensor_airflow.ts +++ b/futurehome/src/services/sensor_airflow.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_airflow(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_airflow__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_airq.ts b/futurehome/src/services/sensor_airq.ts index 0450325..5974a3f 100644 --- a/futurehome/src/services/sensor_airq.ts +++ b/futurehome/src/services/sensor_airq.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_airq(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_airq__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_anglepos.ts b/futurehome/src/services/sensor_anglepos.ts index 8043ae0..3ba8a0c 100644 --- a/futurehome/src/services/sensor_anglepos.ts +++ b/futurehome/src/services/sensor_anglepos.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_anglepos(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_anglepos__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_atmo.ts b/futurehome/src/services/sensor_atmo.ts index 5ac9390..9499c2d 100644 --- a/futurehome/src/services/sensor_atmo.ts +++ b/futurehome/src/services/sensor_atmo.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_atmo(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_atmo__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_baro.ts b/futurehome/src/services/sensor_baro.ts index c31120b..6792d9a 100644 --- a/futurehome/src/services/sensor_baro.ts +++ b/futurehome/src/services/sensor_baro.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_baro(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_baro__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_co.ts b/futurehome/src/services/sensor_co.ts index 9c0785f..8075ddd 100644 --- a/futurehome/src/services/sensor_co.ts +++ b/futurehome/src/services/sensor_co.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_co(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_co__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_co2.ts b/futurehome/src/services/sensor_co2.ts index 83e299f..ea7fb27 100644 --- a/futurehome/src/services/sensor_co2.ts +++ b/futurehome/src/services/sensor_co2.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_co2(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_co2__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_contact.ts b/futurehome/src/services/sensor_contact.ts index 5bfb8d0..5bced29 100644 --- a/futurehome/src/services/sensor_contact.ts +++ b/futurehome/src/services/sensor_contact.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_contact(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_contact__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_current.ts b/futurehome/src/services/sensor_current.ts index 44e2d15..f05ff67 100644 --- a/futurehome/src/services/sensor_current.ts +++ b/futurehome/src/services/sensor_current.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_current(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_current__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_dew.ts b/futurehome/src/services/sensor_dew.ts index 5b2d1d8..7a3d79e 100644 --- a/futurehome/src/services/sensor_dew.ts +++ b/futurehome/src/services/sensor_dew.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_dew(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_dew__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } let unit = svc.props?.sup_units?.[0] ?? "℃"; diff --git a/futurehome/src/services/sensor_direct.ts b/futurehome/src/services/sensor_direct.ts index 2ada18f..1e2851e 100644 --- a/futurehome/src/services/sensor_direct.ts +++ b/futurehome/src/services/sensor_direct.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_direct(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_direct__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_distance.ts b/futurehome/src/services/sensor_distance.ts index 6ef629e..2575436 100644 --- a/futurehome/src/services/sensor_distance.ts +++ b/futurehome/src/services/sensor_distance.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_distance(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_distance__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_elresist.ts b/futurehome/src/services/sensor_elresist.ts index 6fa19e0..9af4c78 100644 --- a/futurehome/src/services/sensor_elresist.ts +++ b/futurehome/src/services/sensor_elresist.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_elresist(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_elresist__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_freq.ts b/futurehome/src/services/sensor_freq.ts index ed6d191..1ab6dba 100644 --- a/futurehome/src/services/sensor_freq.ts +++ b/futurehome/src/services/sensor_freq.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_freq(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_freq__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_gp.ts b/futurehome/src/services/sensor_gp.ts index db741ac..dad5957 100644 --- a/futurehome/src/services/sensor_gp.ts +++ b/futurehome/src/services/sensor_gp.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_gp(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_gp__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_gust.ts b/futurehome/src/services/sensor_gust.ts index f9b2f2d..1f40edb 100644 --- a/futurehome/src/services/sensor_gust.ts +++ b/futurehome/src/services/sensor_gust.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_gust(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_gust__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } let unit = svc.props?.sup_units?.[0] ?? "km/h"; diff --git a/futurehome/src/services/sensor_humid.ts b/futurehome/src/services/sensor_humid.ts index f6720cc..70d91e5 100644 --- a/futurehome/src/services/sensor_humid.ts +++ b/futurehome/src/services/sensor_humid.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_humid(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_humid__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_lumin.ts b/futurehome/src/services/sensor_lumin.ts index 3d8fca2..bbf02d9 100644 --- a/futurehome/src/services/sensor_lumin.ts +++ b/futurehome/src/services/sensor_lumin.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_lumin(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_lumin__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_moist.ts b/futurehome/src/services/sensor_moist.ts index 21ead31..0049e63 100644 --- a/futurehome/src/services/sensor_moist.ts +++ b/futurehome/src/services/sensor_moist.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_moist(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_moist__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_noise.ts b/futurehome/src/services/sensor_noise.ts index 9ceb27d..dbd0c24 100644 --- a/futurehome/src/services/sensor_noise.ts +++ b/futurehome/src/services/sensor_noise.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_noise(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_noise__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_power.ts b/futurehome/src/services/sensor_power.ts index ece73ec..d5e2870 100644 --- a/futurehome/src/services/sensor_power.ts +++ b/futurehome/src/services/sensor_power.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_power(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_power__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_presence.ts b/futurehome/src/services/sensor_presence.ts index c1ef852..20669a0 100644 --- a/futurehome/src/services/sensor_presence.ts +++ b/futurehome/src/services/sensor_presence.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_presence(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_presence__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_rain.ts b/futurehome/src/services/sensor_rain.ts index 9ecd8bb..fbb8ae4 100644 --- a/futurehome/src/services/sensor_rain.ts +++ b/futurehome/src/services/sensor_rain.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_rain(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_rain__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_rotation.ts b/futurehome/src/services/sensor_rotation.ts index 1025d2b..e872245 100644 --- a/futurehome/src/services/sensor_rotation.ts +++ b/futurehome/src/services/sensor_rotation.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_rotation(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_rotation__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_seismicint.ts b/futurehome/src/services/sensor_seismicint.ts index 504e783..a427052 100644 --- a/futurehome/src/services/sensor_seismicint.ts +++ b/futurehome/src/services/sensor_seismicint.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_seismicint(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_seismicint__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_seismicmag.ts b/futurehome/src/services/sensor_seismicmag.ts index 539933d..4343f93 100644 --- a/futurehome/src/services/sensor_seismicmag.ts +++ b/futurehome/src/services/sensor_seismicmag.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_seismicmag(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_seismicmag__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_solarrad.ts b/futurehome/src/services/sensor_solarrad.ts index a668efb..03f74bd 100644 --- a/futurehome/src/services/sensor_solarrad.ts +++ b/futurehome/src/services/sensor_solarrad.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_solarrad(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_solarrad__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_tank.ts b/futurehome/src/services/sensor_tank.ts index 6200ec6..190286c 100644 --- a/futurehome/src/services/sensor_tank.ts +++ b/futurehome/src/services/sensor_tank.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_tank(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_tank__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_temp.ts b/futurehome/src/services/sensor_temp.ts index 337f602..d5cba8c 100644 --- a/futurehome/src/services/sensor_temp.ts +++ b/futurehome/src/services/sensor_temp.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_temp(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_temp__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } let unit = svc.props?.sup_units?.[0] ?? "℃"; diff --git a/futurehome/src/services/sensor_tidelvl.ts b/futurehome/src/services/sensor_tidelvl.ts index 85314f6..29a756a 100644 --- a/futurehome/src/services/sensor_tidelvl.ts +++ b/futurehome/src/services/sensor_tidelvl.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_tidelvl(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_tidelvl__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_uv.ts b/futurehome/src/services/sensor_uv.ts index 4c9ec44..ccab50d 100644 --- a/futurehome/src/services/sensor_uv.ts +++ b/futurehome/src/services/sensor_uv.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_uv(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_uv__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_veloc.ts b/futurehome/src/services/sensor_veloc.ts index 46b5d3e..d75d6a0 100644 --- a/futurehome/src/services/sensor_veloc.ts +++ b/futurehome/src/services/sensor_veloc.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_veloc(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_veloc__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_voltage.ts b/futurehome/src/services/sensor_voltage.ts index a9f162c..ddab49e 100644 --- a/futurehome/src/services/sensor_voltage.ts +++ b/futurehome/src/services/sensor_voltage.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_voltage(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_voltage__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_watflow.ts b/futurehome/src/services/sensor_watflow.ts index e277e8a..2379192 100644 --- a/futurehome/src/services/sensor_watflow.ts +++ b/futurehome/src/services/sensor_watflow.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_watflow(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_watflow__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_watpressure.ts b/futurehome/src/services/sensor_watpressure.ts index 00fc09e..3f98e80 100644 --- a/futurehome/src/services/sensor_watpressure.ts +++ b/futurehome/src/services/sensor_watpressure.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_watpressure(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_watpressure__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_wattemp.ts b/futurehome/src/services/sensor_wattemp.ts index c245161..62f3ecc 100644 --- a/futurehome/src/services/sensor_wattemp.ts +++ b/futurehome/src/services/sensor_wattemp.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_wattemp(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_wattemp__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } let unit = svc.props?.sup_units?.[0] ?? "℃"; diff --git a/futurehome/src/services/sensor_weight.ts b/futurehome/src/services/sensor_weight.ts index ef00ded..fa4c6fd 100644 --- a/futurehome/src/services/sensor_weight.ts +++ b/futurehome/src/services/sensor_weight.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_weight(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_weight__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } return { diff --git a/futurehome/src/services/sensor_wind.ts b/futurehome/src/services/sensor_wind.ts index d72128b..ca6819f 100644 --- a/futurehome/src/services/sensor_wind.ts +++ b/futurehome/src/services/sensor_wind.ts @@ -1,8 +1,8 @@ import { InclusionReportService } from "../fimp/inclusion_report"; import { VinculumPd7Device } from "../fimp/vinculum_pd7_device"; -import { CMP } from "../ha/publish_device"; +import { HaComponent } from "../ha/publish_device"; -export function cmps_sensor_wind(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: CMP } { +export function sensor_wind__components(vinculumDeviceData: VinculumPd7Device, svc: InclusionReportService): { [key: string]: HaComponent } { if (!svc.address) { return {}; } let unit = svc.props?.sup_units?.[0] ?? "km/h";