From 9dd9046954ac670232345ee4afce047cebd7f97f Mon Sep 17 00:00:00 2001 From: Adrian Jagielak Date: Wed, 23 Jul 2025 13:50:33 +0200 Subject: [PATCH] Update service types --- futurehome/src/ha/publish_device.ts | 22 ++++++++++++++++--- futurehome/src/services/battery.ts | 14 ++++++------ futurehome/src/services/sensor_accelx.ts | 6 ++--- futurehome/src/services/sensor_accely.ts | 6 ++--- futurehome/src/services/sensor_accelz.ts | 6 ++--- futurehome/src/services/sensor_airflow.ts | 6 ++--- futurehome/src/services/sensor_airq.ts | 8 +++---- futurehome/src/services/sensor_anglepos.ts | 6 ++--- futurehome/src/services/sensor_atmo.ts | 8 +++---- futurehome/src/services/sensor_baro.ts | 8 +++---- futurehome/src/services/sensor_co.ts | 8 +++---- futurehome/src/services/sensor_co2.ts | 8 +++---- futurehome/src/services/sensor_contact.ts | 6 ++--- futurehome/src/services/sensor_current.ts | 8 +++---- futurehome/src/services/sensor_dew.ts | 6 ++--- futurehome/src/services/sensor_direct.ts | 8 +++---- futurehome/src/services/sensor_distance.ts | 8 +++---- futurehome/src/services/sensor_elresist.ts | 6 ++--- futurehome/src/services/sensor_freq.ts | 8 +++---- futurehome/src/services/sensor_gp.ts | 6 ++--- futurehome/src/services/sensor_gust.ts | 4 ++-- futurehome/src/services/sensor_humid.ts | 8 +++---- futurehome/src/services/sensor_lumin.ts | 8 +++---- futurehome/src/services/sensor_moist.ts | 8 +++---- futurehome/src/services/sensor_noise.ts | 8 +++---- futurehome/src/services/sensor_power.ts | 8 +++---- futurehome/src/services/sensor_presence.ts | 6 ++--- futurehome/src/services/sensor_rain.ts | 8 +++---- futurehome/src/services/sensor_rotation.ts | 6 ++--- futurehome/src/services/sensor_seismicint.ts | 6 ++--- futurehome/src/services/sensor_seismicmag.ts | 6 ++--- futurehome/src/services/sensor_solarrad.ts | 6 ++--- futurehome/src/services/sensor_tank.ts | 8 +++---- futurehome/src/services/sensor_temp.ts | 6 ++--- futurehome/src/services/sensor_tidelvl.ts | 6 ++--- futurehome/src/services/sensor_uv.ts | 4 ++-- futurehome/src/services/sensor_veloc.ts | 6 ++--- futurehome/src/services/sensor_voltage.ts | 8 +++---- futurehome/src/services/sensor_watflow.ts | 8 +++---- futurehome/src/services/sensor_watpressure.ts | 8 +++---- futurehome/src/services/sensor_wattemp.ts | 6 ++--- futurehome/src/services/sensor_weight.ts | 8 +++---- futurehome/src/services/sensor_wind.ts | 6 ++--- 43 files changed, 167 insertions(+), 151 deletions(-) diff --git a/futurehome/src/ha/publish_device.ts b/futurehome/src/ha/publish_device.ts index 3fb4f95..3d14a98 100644 --- a/futurehome/src/ha/publish_device.ts +++ b/futurehome/src/ha/publish_device.ts @@ -78,13 +78,29 @@ type HaDeviceConfig = { qos: number, } -export type HaComponent = { +export type HaComponent = SensorComponent | BinarySensorComponent | SwitchComponent; + +type SensorComponent = { + unique_id: string; // platform - p: string; + p: 'sensor'; device_class?: string; unit_of_measurement?: string; - value_template?: string; + value_template: string; +} + +type BinarySensorComponent = { unique_id: string; + // platform + p: 'binary_sensor'; + device_class?: string; + value_template: string; +} + +type SwitchComponent = { + unique_id: string; + // platform + p: 'switch'; } const serviceHandlers: { diff --git a/futurehome/src/services/battery.ts b/futurehome/src/services/battery.ts index a883c18..ebc0387 100644 --- a/futurehome/src/services/battery.ts +++ b/futurehome/src/services/battery.ts @@ -8,21 +8,21 @@ export function battery__components(vinculumDeviceData: VinculumPd7Device, svc: if (svc.props?.sup_events?.includes('low_battery')) { return { [svc.address]: { - p: "binary_sensor", - device_class: "battery", - value_template: `{{ (value_json['${svc.address}'].alarm.status == 'activ') | iif('ON', 'OFF') }}`, unique_id: svc.address, + p: 'binary_sensor', + device_class: 'battery', + value_template: `{{ (value_json['${svc.address}'].alarm.status == 'activ') | iif('ON', 'OFF') }}`, }, }; } else { return { [svc.address]: { - p: "sensor", - device_class: "battery", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "%", - value_template: `{{ value_json['${svc.address}'].lvl }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'battery', + unit_of_measurement: svc.props?.sup_units?.[0] ?? '%', + value_template: `{{ value_json['${svc.address}'].lvl }}`, }, } }; diff --git a/futurehome/src/services/sensor_accelx.ts b/futurehome/src/services/sensor_accelx.ts index a940ee2..0ea41b5 100644 --- a/futurehome/src/services/sensor_accelx.ts +++ b/futurehome/src/services/sensor_accelx.ts @@ -7,10 +7,10 @@ export function sensor_accelx__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m/s2", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm/s2', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_accely.ts b/futurehome/src/services/sensor_accely.ts index 930fbea..d8c95d2 100644 --- a/futurehome/src/services/sensor_accely.ts +++ b/futurehome/src/services/sensor_accely.ts @@ -7,10 +7,10 @@ export function sensor_accely__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m/s2", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm/s2', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_accelz.ts b/futurehome/src/services/sensor_accelz.ts index fc5829f..96c2e64 100644 --- a/futurehome/src/services/sensor_accelz.ts +++ b/futurehome/src/services/sensor_accelz.ts @@ -7,10 +7,10 @@ export function sensor_accelz__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m/s2", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm/s2', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_airflow.ts b/futurehome/src/services/sensor_airflow.ts index 3d00b9d..f7c762e 100644 --- a/futurehome/src/services/sensor_airflow.ts +++ b/futurehome/src/services/sensor_airflow.ts @@ -7,10 +7,10 @@ export function sensor_airflow__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m3/h", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm3/h', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_airq.ts b/futurehome/src/services/sensor_airq.ts index 5974a3f..df1e46c 100644 --- a/futurehome/src/services/sensor_airq.ts +++ b/futurehome/src/services/sensor_airq.ts @@ -7,11 +7,11 @@ export function sensor_airq__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "aqi", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "pm25", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'aqi', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'pm25', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_anglepos.ts b/futurehome/src/services/sensor_anglepos.ts index 3ba8a0c..a64e915 100644 --- a/futurehome/src/services/sensor_anglepos.ts +++ b/futurehome/src/services/sensor_anglepos.ts @@ -7,10 +7,10 @@ export function sensor_anglepos__components(vinculumDeviceData: VinculumPd7Devic return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "%", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? '%', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_atmo.ts b/futurehome/src/services/sensor_atmo.ts index 9499c2d..6050bfc 100644 --- a/futurehome/src/services/sensor_atmo.ts +++ b/futurehome/src/services/sensor_atmo.ts @@ -7,11 +7,11 @@ export function sensor_atmo__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "atmospheric_pressure", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "kPa", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'atmospheric_pressure', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'kPa', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_baro.ts b/futurehome/src/services/sensor_baro.ts index 6792d9a..085efbe 100644 --- a/futurehome/src/services/sensor_baro.ts +++ b/futurehome/src/services/sensor_baro.ts @@ -7,11 +7,11 @@ export function sensor_baro__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "atmospheric_pressure", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "kPa", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'atmospheric_pressure', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'kPa', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_co.ts b/futurehome/src/services/sensor_co.ts index 8075ddd..086548b 100644 --- a/futurehome/src/services/sensor_co.ts +++ b/futurehome/src/services/sensor_co.ts @@ -7,11 +7,11 @@ export function sensor_co__components(vinculumDeviceData: VinculumPd7Device, svc return { [svc.address]: { - p: "sensor", - device_class: "carbon_monoxide", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "mol/m3", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'carbon_monoxide', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'mol/m3', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_co2.ts b/futurehome/src/services/sensor_co2.ts index ea7fb27..6b3f95a 100644 --- a/futurehome/src/services/sensor_co2.ts +++ b/futurehome/src/services/sensor_co2.ts @@ -7,11 +7,11 @@ export function sensor_co2__components(vinculumDeviceData: VinculumPd7Device, sv return { [svc.address]: { - p: "sensor", - device_class: "carbon_dioxide", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "ppm", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'carbon_dioxide', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'ppm', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_contact.ts b/futurehome/src/services/sensor_contact.ts index e527b10..59eb0e6 100644 --- a/futurehome/src/services/sensor_contact.ts +++ b/futurehome/src/services/sensor_contact.ts @@ -7,10 +7,10 @@ export function sensor_contact__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "binary_sensor", - device_class: "opening", - value_template: `{{ value_json['${svc.address}'].open | iif('ON', 'OFF') }}`, unique_id: svc.address, + p: 'binary_sensor', + device_class: 'opening', + value_template: `{{ value_json['${svc.address}'].open | iif('ON', 'OFF') }}`, }, }; } diff --git a/futurehome/src/services/sensor_current.ts b/futurehome/src/services/sensor_current.ts index f05ff67..a4756e8 100644 --- a/futurehome/src/services/sensor_current.ts +++ b/futurehome/src/services/sensor_current.ts @@ -7,11 +7,11 @@ export function sensor_current__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "sensor", - device_class: "current", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "A", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'current', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'A', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_dew.ts b/futurehome/src/services/sensor_dew.ts index 4e188b5..b137d40 100644 --- a/futurehome/src/services/sensor_dew.ts +++ b/futurehome/src/services/sensor_dew.ts @@ -11,11 +11,11 @@ export function sensor_dew__components(vinculumDeviceData: VinculumPd7Device, sv return { [svc.address]: { - p: "sensor", - device_class: "temperature", + unique_id: svc.address, + p: 'sensor', + device_class: 'temperature', unit_of_measurement: unit, value_template: `{{ value_json['${svc.address}'].sensor }}`, - unique_id: svc.address, }, }; } diff --git a/futurehome/src/services/sensor_direct.ts b/futurehome/src/services/sensor_direct.ts index 1e2851e..f9b0505 100644 --- a/futurehome/src/services/sensor_direct.ts +++ b/futurehome/src/services/sensor_direct.ts @@ -7,11 +7,11 @@ export function sensor_direct__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "wind_direction", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "°", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'wind_direction', + unit_of_measurement: svc.props?.sup_units?.[0] ?? '°', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_distance.ts b/futurehome/src/services/sensor_distance.ts index 2575436..cd5d474 100644 --- a/futurehome/src/services/sensor_distance.ts +++ b/futurehome/src/services/sensor_distance.ts @@ -7,11 +7,11 @@ export function sensor_distance__components(vinculumDeviceData: VinculumPd7Devic return { [svc.address]: { - p: "sensor", - device_class: "distance", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'distance', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_elresist.ts b/futurehome/src/services/sensor_elresist.ts index 9af4c78..accd3ad 100644 --- a/futurehome/src/services/sensor_elresist.ts +++ b/futurehome/src/services/sensor_elresist.ts @@ -7,10 +7,10 @@ export function sensor_elresist__components(vinculumDeviceData: VinculumPd7Devic return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "Ω·m", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'Ω·m', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_freq.ts b/futurehome/src/services/sensor_freq.ts index 1ab6dba..7a6ab2f 100644 --- a/futurehome/src/services/sensor_freq.ts +++ b/futurehome/src/services/sensor_freq.ts @@ -7,11 +7,11 @@ export function sensor_freq__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "frequency", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "Hz", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'frequency', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'Hz', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_gp.ts b/futurehome/src/services/sensor_gp.ts index dad5957..8b9f2a3 100644 --- a/futurehome/src/services/sensor_gp.ts +++ b/futurehome/src/services/sensor_gp.ts @@ -7,10 +7,10 @@ export function sensor_gp__components(vinculumDeviceData: VinculumPd7Device, svc return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "%", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? '%', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_gust.ts b/futurehome/src/services/sensor_gust.ts index 1f40edb..5fc2c63 100644 --- a/futurehome/src/services/sensor_gust.ts +++ b/futurehome/src/services/sensor_gust.ts @@ -10,10 +10,10 @@ export function sensor_gust__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", + unique_id: svc.address, + p: 'sensor', unit_of_measurement: unit, value_template: `{{ value_json['${svc.address}'].sensor }}`, - unique_id: svc.address, }, }; } diff --git a/futurehome/src/services/sensor_humid.ts b/futurehome/src/services/sensor_humid.ts index 70d91e5..310218f 100644 --- a/futurehome/src/services/sensor_humid.ts +++ b/futurehome/src/services/sensor_humid.ts @@ -7,11 +7,11 @@ export function sensor_humid__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "humidity", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "%", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'humidity', + unit_of_measurement: svc.props?.sup_units?.[0] ?? '%', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_lumin.ts b/futurehome/src/services/sensor_lumin.ts index bbf02d9..5aee28b 100644 --- a/futurehome/src/services/sensor_lumin.ts +++ b/futurehome/src/services/sensor_lumin.ts @@ -7,11 +7,11 @@ export function sensor_lumin__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "illuminance", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "Lux", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'illuminance', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'Lux', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_moist.ts b/futurehome/src/services/sensor_moist.ts index 0049e63..6bbf14f 100644 --- a/futurehome/src/services/sensor_moist.ts +++ b/futurehome/src/services/sensor_moist.ts @@ -7,11 +7,11 @@ export function sensor_moist__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "moisture", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "%", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'moisture', + unit_of_measurement: svc.props?.sup_units?.[0] ?? '%', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_noise.ts b/futurehome/src/services/sensor_noise.ts index dbd0c24..71864a2 100644 --- a/futurehome/src/services/sensor_noise.ts +++ b/futurehome/src/services/sensor_noise.ts @@ -7,11 +7,11 @@ export function sensor_noise__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "sound_pressure", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "dB", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'sound_pressure', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'dB', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_power.ts b/futurehome/src/services/sensor_power.ts index d5e2870..edc1f58 100644 --- a/futurehome/src/services/sensor_power.ts +++ b/futurehome/src/services/sensor_power.ts @@ -7,11 +7,11 @@ export function sensor_power__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "power", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "W", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'power', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'W', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_presence.ts b/futurehome/src/services/sensor_presence.ts index efb4c5c..6e02baf 100644 --- a/futurehome/src/services/sensor_presence.ts +++ b/futurehome/src/services/sensor_presence.ts @@ -7,10 +7,10 @@ export function sensor_presence__components(vinculumDeviceData: VinculumPd7Devic return { [svc.address]: { - p: "binary_sensor", - device_class: "presence", - value_template: `{{ value_json['${svc.address}'].presence | iif('ON', 'OFF') }}`, unique_id: svc.address, + p: 'binary_sensor', + device_class: 'presence', + value_template: `{{ value_json['${svc.address}'].presence | iif('ON', 'OFF') }}`, }, }; } diff --git a/futurehome/src/services/sensor_rain.ts b/futurehome/src/services/sensor_rain.ts index fbb8ae4..e37d696 100644 --- a/futurehome/src/services/sensor_rain.ts +++ b/futurehome/src/services/sensor_rain.ts @@ -7,11 +7,11 @@ export function sensor_rain__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "precipitation_intensity", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "mm/h", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'precipitation_intensity', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'mm/h', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_rotation.ts b/futurehome/src/services/sensor_rotation.ts index e872245..6568cce 100644 --- a/futurehome/src/services/sensor_rotation.ts +++ b/futurehome/src/services/sensor_rotation.ts @@ -7,10 +7,10 @@ export function sensor_rotation__components(vinculumDeviceData: VinculumPd7Devic return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "rpm", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'rpm', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_seismicint.ts b/futurehome/src/services/sensor_seismicint.ts index a427052..c366c59 100644 --- a/futurehome/src/services/sensor_seismicint.ts +++ b/futurehome/src/services/sensor_seismicint.ts @@ -7,10 +7,10 @@ export function sensor_seismicint__components(vinculumDeviceData: VinculumPd7Dev return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "EMCRO", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'EMCRO', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_seismicmag.ts b/futurehome/src/services/sensor_seismicmag.ts index 4343f93..ec0e571 100644 --- a/futurehome/src/services/sensor_seismicmag.ts +++ b/futurehome/src/services/sensor_seismicmag.ts @@ -7,10 +7,10 @@ export function sensor_seismicmag__components(vinculumDeviceData: VinculumPd7Dev return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "MB", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'MB', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_solarrad.ts b/futurehome/src/services/sensor_solarrad.ts index 03f74bd..bb5372c 100644 --- a/futurehome/src/services/sensor_solarrad.ts +++ b/futurehome/src/services/sensor_solarrad.ts @@ -7,10 +7,10 @@ export function sensor_solarrad__components(vinculumDeviceData: VinculumPd7Devic return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "w/m2", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'w/m2', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_tank.ts b/futurehome/src/services/sensor_tank.ts index 190286c..0be5cef 100644 --- a/futurehome/src/services/sensor_tank.ts +++ b/futurehome/src/services/sensor_tank.ts @@ -7,11 +7,11 @@ export function sensor_tank__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "volume_storage", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "l", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'volume_storage', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'l', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_temp.ts b/futurehome/src/services/sensor_temp.ts index f294c89..45fa257 100644 --- a/futurehome/src/services/sensor_temp.ts +++ b/futurehome/src/services/sensor_temp.ts @@ -11,11 +11,11 @@ export function sensor_temp__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "temperature", + unique_id: svc.address, + p: 'sensor', + device_class: 'temperature', unit_of_measurement: unit, value_template: `{{ value_json['${svc.address}'].sensor }}`, - unique_id: svc.address, }, }; } diff --git a/futurehome/src/services/sensor_tidelvl.ts b/futurehome/src/services/sensor_tidelvl.ts index 29a756a..a1aaca2 100644 --- a/futurehome/src/services/sensor_tidelvl.ts +++ b/futurehome/src/services/sensor_tidelvl.ts @@ -7,10 +7,10 @@ export function sensor_tidelvl__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_uv.ts b/futurehome/src/services/sensor_uv.ts index ccab50d..af3e466 100644 --- a/futurehome/src/services/sensor_uv.ts +++ b/futurehome/src/services/sensor_uv.ts @@ -7,10 +7,10 @@ export function sensor_uv__components(vinculumDeviceData: VinculumPd7Device, svc return { [svc.address]: { - p: "sensor", + unique_id: svc.address, + p: 'sensor', unit_of_measurement: svc.props?.sup_units?.[0] ?? 'index', value_template: `{{ value_json['${svc.address}'].sensor }}`, - unique_id: svc.address, }, }; } diff --git a/futurehome/src/services/sensor_veloc.ts b/futurehome/src/services/sensor_veloc.ts index d75d6a0..cfd00de 100644 --- a/futurehome/src/services/sensor_veloc.ts +++ b/futurehome/src/services/sensor_veloc.ts @@ -7,10 +7,10 @@ export function sensor_veloc__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "m/s", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'm/s', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_voltage.ts b/futurehome/src/services/sensor_voltage.ts index ddab49e..77b5c77 100644 --- a/futurehome/src/services/sensor_voltage.ts +++ b/futurehome/src/services/sensor_voltage.ts @@ -7,11 +7,11 @@ export function sensor_voltage__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "sensor", - device_class: "voltage", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "V", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'voltage', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'V', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_watflow.ts b/futurehome/src/services/sensor_watflow.ts index 2379192..f9b1762 100644 --- a/futurehome/src/services/sensor_watflow.ts +++ b/futurehome/src/services/sensor_watflow.ts @@ -7,11 +7,11 @@ export function sensor_watflow__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "sensor", - device_class: "volume_flow_rate", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "l/h", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'volume_flow_rate', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'l/h', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_watpressure.ts b/futurehome/src/services/sensor_watpressure.ts index 3f98e80..a0197be 100644 --- a/futurehome/src/services/sensor_watpressure.ts +++ b/futurehome/src/services/sensor_watpressure.ts @@ -7,11 +7,11 @@ export function sensor_watpressure__components(vinculumDeviceData: VinculumPd7De return { [svc.address]: { - p: "sensor", - device_class: "pressure", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "kPa", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'pressure', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'kPa', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_wattemp.ts b/futurehome/src/services/sensor_wattemp.ts index 43eb134..6e16130 100644 --- a/futurehome/src/services/sensor_wattemp.ts +++ b/futurehome/src/services/sensor_wattemp.ts @@ -11,11 +11,11 @@ export function sensor_wattemp__components(vinculumDeviceData: VinculumPd7Device return { [svc.address]: { - p: "sensor", - device_class: "temperature", + unique_id: svc.address, + p: 'sensor', + device_class: 'temperature', unit_of_measurement: unit, value_template: `{{ value_json['${svc.address}'].sensor }}`, - unique_id: svc.address, }, }; } diff --git a/futurehome/src/services/sensor_weight.ts b/futurehome/src/services/sensor_weight.ts index fa4c6fd..753eedd 100644 --- a/futurehome/src/services/sensor_weight.ts +++ b/futurehome/src/services/sensor_weight.ts @@ -7,11 +7,11 @@ export function sensor_weight__components(vinculumDeviceData: VinculumPd7Device, return { [svc.address]: { - p: "sensor", - device_class: "weigh", - unit_of_measurement: svc.props?.sup_units?.[0] ?? "kg", - value_template: `{{ value_json['${svc.address}'].sensor }}`, unique_id: svc.address, + p: 'sensor', + device_class: 'weight', + unit_of_measurement: svc.props?.sup_units?.[0] ?? 'kg', + value_template: `{{ value_json['${svc.address}'].sensor }}`, }, }; } diff --git a/futurehome/src/services/sensor_wind.ts b/futurehome/src/services/sensor_wind.ts index ca6819f..1d1c20d 100644 --- a/futurehome/src/services/sensor_wind.ts +++ b/futurehome/src/services/sensor_wind.ts @@ -10,11 +10,11 @@ export function sensor_wind__components(vinculumDeviceData: VinculumPd7Device, s return { [svc.address]: { - p: "sensor", - device_class: "wind_speed", + unique_id: svc.address, + p: 'sensor', + device_class: 'wind_speed', unit_of_measurement: unit, value_template: `{{ value_json['${svc.address}'].sensor }}`, - unique_id: svc.address, }, }; }