diff --git a/README.md b/README.md index 3314fda..d19cc8b 100644 --- a/README.md +++ b/README.md @@ -38,29 +38,26 @@ Some services are more common than others; some are deprecated entirely. - - | Service | Example device | Implementation status | | --- | --- | --- | -| _alarms_ services | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | | +| alarm_appliance | | ✅ | +| alarm_burglar | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_emergency | | ✅ | +| alarm_fire | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_gas | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_health | | ✅ | +| alarm_heat | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_lock | | ✅ | +| alarm_power | | ✅ | +| alarm_siren | | ✅ | +| alarm_system | | ✅ | +| alarm_time | | ✅ | +| alarm_water | | ✅ | +| alarm_water_valve | | ✅ | +| alarm_weather | | ✅ | | barrier_ctrl | | ✅ | | basic | | ✅ | | battery | | ✅ | @@ -96,7 +93,7 @@ todo: links to the .ts service implementations below | sensor_freq | | ✅ | | sensor_gp | | ✅ | | sensor_gust | | ✅ | -| sensor_humid | | ✅ | +| sensor_humid | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | | sensor_lumin | | ✅ | | sensor_moist | | ✅ | | sensor_noise | | ✅ | @@ -108,7 +105,7 @@ todo: links to the .ts service implementations below | sensor_seismicmag | | ✅ | | sensor_solarrad | | ✅ | | sensor_tank | | ✅ | -| sensor_temp | | ✅ | +| sensor_temp | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | | sensor_tidelvl | | ✅ | | sensor_uv | | ✅ | | sensor_veloc | | ✅ | diff --git a/futurehome/CHANGELOG.md b/futurehome/CHANGELOG.md index 1ba4dd8..67e4c80 100644 --- a/futurehome/CHANGELOG.md +++ b/futurehome/CHANGELOG.md @@ -1,6 +1,10 @@ +## 0.1.5 (25.07.2025) + +- Added support for 'alarm_*' services (alarms). + ## 0.1.4 (25.07.2025) - Added support for 'media_player' service. diff --git a/futurehome/README.md b/futurehome/README.md index 1a52243..bec7820 100644 --- a/futurehome/README.md +++ b/futurehome/README.md @@ -37,29 +37,26 @@ Some services are more common than others; some are deprecated entirely. - - | Service | Example device | Implementation status | | --- | --- | --- | -| _alarms_ services | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | | +| alarm_appliance | | ✅ | +| alarm_burglar | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_emergency | | ✅ | +| alarm_fire | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_gas | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_health | | ✅ | +| alarm_heat | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | +| alarm_lock | | ✅ | +| alarm_power | | ✅ | +| alarm_siren | | ✅ | +| alarm_system | | ✅ | +| alarm_time | | ✅ | +| alarm_water | | ✅ | +| alarm_water_valve | | ✅ | +| alarm_weather | | ✅ | | barrier_ctrl | | ✅ | | basic | | ✅ | | battery | | ✅ | @@ -95,7 +92,7 @@ todo: links to the .ts service implementations below | sensor_freq | | ✅ | | sensor_gp | | ✅ | | sensor_gust | | ✅ | -| sensor_humid | | ✅ | +| sensor_humid | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | | sensor_lumin | | ✅ | | sensor_moist | | ✅ | | sensor_noise | | ✅ | @@ -107,7 +104,7 @@ todo: links to the .ts service implementations below | sensor_seismicmag | | ✅ | | sensor_solarrad | | ✅ | | sensor_tank | | ✅ | -| sensor_temp | | ✅ | +| sensor_temp | [Brannvarsler](https://www.futurehome.io/en_no/shop/brannvarsler-230v) | ✅ | | sensor_tidelvl | | ✅ | | sensor_uv | | ✅ | | sensor_veloc | | ✅ | diff --git a/futurehome/config.yaml b/futurehome/config.yaml index 4992f62..b2f040f 100644 --- a/futurehome/config.yaml +++ b/futurehome/config.yaml @@ -1,6 +1,6 @@ # https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config name: Futurehome -version: "0.1.4" +version: "0.1.5" slug: futurehome description: Local Futurehome Smarthub integration url: "https://github.com/adrianjagielak/home-assistant-futurehome" diff --git a/futurehome/src/ha/mqtt_components/_enums.ts b/futurehome/src/ha/mqtt_components/_enums.ts index b980ff7..8415f80 100644 --- a/futurehome/src/ha/mqtt_components/_enums.ts +++ b/futurehome/src/ha/mqtt_components/_enums.ts @@ -1,5 +1,36 @@ export type EntityCategory = undefined | 'config' | 'diagnostic'; +export type BinarySensorDeviceClass = + | 'battery' + | 'battery_charging' + | 'carbon_monoxide' + | 'cold' + | 'connectivity' + | 'door' + | 'garage_door' + | 'gas' + | 'heat' + | 'light' + | 'lock' + | 'moisture' + | 'motion' + | 'moving' + | 'occupancy' + | 'opening' + | 'plug' + | 'power' + | 'presence' + | 'problem' + | 'running' + | 'safety' + | 'smoke' + | 'sound' + | 'tamper' + | 'update' + | 'vibration' + | 'window' + | null; + export type CoverDeviceClass = | 'awning' | 'blind' diff --git a/futurehome/src/ha/mqtt_components/binary_sensor.ts b/futurehome/src/ha/mqtt_components/binary_sensor.ts index 8075d0f..37c0bea 100644 --- a/futurehome/src/ha/mqtt_components/binary_sensor.ts +++ b/futurehome/src/ha/mqtt_components/binary_sensor.ts @@ -1,3 +1,5 @@ +import { BinarySensorDeviceClass } from "./_enums"; + /** * Represents a MQTT Binary Sensor component for Home Assistant MQTT Discovery. * @@ -41,9 +43,9 @@ export interface BinarySensorComponent { /** * Sets the [class of the device](https://www.home-assistant.io/integrations/binary_sensor/#device-class), * changing the device state and icon that is displayed on the frontend. - * The `device_class` defaults to `null`. + * The `device_class` defaults to `null` (generic binary sensor). */ - device_class?: string | null; + device_class?: BinarySensorDeviceClass; /** * The string that represents the `on` state. diff --git a/futurehome/src/ha/publish_device.ts b/futurehome/src/ha/publish_device.ts index fb90da9..76dfa46 100644 --- a/futurehome/src/ha/publish_device.ts +++ b/futurehome/src/ha/publish_device.ts @@ -4,6 +4,7 @@ import { VinculumPd7Service, } from '../fimp/vinculum_pd7_device'; import { log } from '../logger'; +import { _alarm__components } from '../services/_alarm'; import { barrier_ctrl__components } from '../services/barrier_ctrl'; import { basic__components } from '../services/basic'; import { battery__components } from '../services/battery'; @@ -162,8 +163,24 @@ const serviceHandlers: { topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + svcName: string, ) => ServiceComponentsCreationResult | undefined; } = { + alarm_appliance: _alarm__components, + alarm_burglar: _alarm__components, + alarm_emergency: _alarm__components, + alarm_fire: _alarm__components, + alarm_gas: _alarm__components, + alarm_health: _alarm__components, + alarm_heat: _alarm__components, + alarm_lock: _alarm__components, + alarm_power: _alarm__components, + alarm_siren: _alarm__components, + alarm_system: _alarm__components, + alarm_time: _alarm__components, + alarm_water_valve: _alarm__components, + alarm_water: _alarm__components, + alarm_weather: _alarm__components, barrier_ctrl: barrier_ctrl__components, basic: basic__components, battery: battery__components, @@ -296,7 +313,12 @@ export function haPublishDevice(parameters: { continue; } - const result = handler(topicPrefix, parameters.vinculumDeviceData, svc); + const result = handler( + topicPrefix, + parameters.vinculumDeviceData, + svc, + svcName, + ); if (!result) { log.error( `Invalid service data prevented component creation: ${parameters.vinculumDeviceData} ${svc}`, diff --git a/futurehome/src/ha/update_state.ts b/futurehome/src/ha/update_state.ts index 5dd081f..c5bf65b 100644 --- a/futurehome/src/ha/update_state.ts +++ b/futurehome/src/ha/update_state.ts @@ -175,10 +175,19 @@ const haStateCache: Record< Record> // payload (addr → { attr → value }) > = {}; +const attributeTypeKeyMap: Record = { + alarm: 'event', +}; + +function getTypeKey(attrName: string): string { + // Default key is 'type', but override for certain attributes + return attributeTypeKeyMap[attrName] || 'type'; +} + /** * Helper function to process multiple values for an attribute, handling typed values */ -function processAttributeValues(values: any[]): any { +function processAttributeValues(values: any[], attrName?: string): any { if (!values || values.length === 0) { return undefined; } @@ -190,9 +199,10 @@ function processAttributeValues(values: any[]): any { return tsB - tsA; // Latest first }); - // Check if any value has a 'type' property in its val object + const typeKey = getTypeKey(attrName || ''); + const hasTypedValues = sortedValues.some( - (v) => v.val && typeof v.val === 'object' && v.val.type, + (v) => v.val && typeof v.val === 'object' && v.val[typeKey], ); if (!hasTypedValues) { @@ -204,12 +214,11 @@ function processAttributeValues(values: any[]): any { const typeMap: Record = {}; for (const value of sortedValues) { - if (value.val && typeof value.val === 'object' && value.val.type) { - const type = value.val.type; - if (!typeMap[type]) { - // Create a copy without the 'type' property - const { type: _, ...valueWithoutType } = value.val; - typeMap[type] = valueWithoutType; + if (value.val && typeof value.val === 'object' && value.val[typeKey]) { + const key = value.val[typeKey]; + if (!typeMap[key]) { + const { [typeKey]: _, ...valueWithoutType } = value.val; + typeMap[key] = valueWithoutType; } } } @@ -238,7 +247,10 @@ export function haUpdateState(parameters: { const serviceState: Record = {}; for (const attr of service.attributes || []) { - const processedValue = processAttributeValues(attr.values || []); + const processedValue = processAttributeValues( + attr.values || [], + attr.name, + ); if (processedValue !== undefined) { serviceState[attr.name] = processedValue; } @@ -274,6 +286,7 @@ export function haUpdateStateValueReport(parameters: { }) { // Strip the FIMP envelope so we end up with "/rt:dev/…/ad:x_y" const addr = parameters.topic.replace(/^pt:j1\/mt:evt/, ''); + const typeKey = getTypeKey(parameters.attrName); for (const [stateTopic, payload] of Object.entries(haStateCache)) { if (!payload[addr]) continue; @@ -282,11 +295,11 @@ export function haUpdateStateValueReport(parameters: { if ( parameters.value && typeof parameters.value === 'object' && - parameters.value.type + parameters.value[typeKey] ) { // Handle typed value update - const type = parameters.value.type; - const { type: _, ...valueWithoutType } = parameters.value; + const key = parameters.value[typeKey]; + const { [typeKey]: _, ...valueWithoutType } = parameters.value; // Get current attribute value const currentAttrValue = payload[addr][parameters.attrName]; @@ -299,12 +312,12 @@ export function haUpdateStateValueReport(parameters: { // Current value is already a type map, update the specific type payload[addr][parameters.attrName] = { ...currentAttrValue, - [type]: valueWithoutType, + [key]: valueWithoutType, }; } else { // Current value is not a type map, convert it to one payload[addr][parameters.attrName] = { - [type]: valueWithoutType, + [key]: valueWithoutType, }; } } else { diff --git a/futurehome/src/mqtt/demo_data/device.json b/futurehome/src/mqtt/demo_data/device.json index f144725..b085014 100644 --- a/futurehome/src/mqtt/demo_data/device.json +++ b/futurehome/src/mqtt/demo_data/device.json @@ -2054,7 +2054,7 @@ "alarm_gas": { "addr": "/rt:dev/rn:zw/ad:1/sv:alarm_gas/ad:86_0", "enabled": true, - "intf": ["cmd.alarm.get_report", "evt.alarm.report"], + "intf": ["cmd.alarm.get_report", "evt.alarm.report", "cmd.alarm.clear"], "props": { "is_secure": true, "is_unsecure": false, diff --git a/futurehome/src/mqtt/demo_data/state.json b/futurehome/src/mqtt/demo_data/state.json index 724fb82..dd4e294 100644 --- a/futurehome/src/mqtt/demo_data/state.json +++ b/futurehome/src/mqtt/demo_data/state.json @@ -1303,8 +1303,7 @@ "val": { "album": "The Dark Side of the Moon", "track": "Money", - "artist": "Pink Floyd", - "image_url": "https://upload.wikimedia.org/wikipedia/en/3/3b/Dark_Side_of_the_Moon.png" + "artist": "Pink Floyd" }, "val_t": "str_map" } diff --git a/futurehome/src/services/_alarm.ts b/futurehome/src/services/_alarm.ts new file mode 100644 index 0000000..bd8edf4 --- /dev/null +++ b/futurehome/src/services/_alarm.ts @@ -0,0 +1,317 @@ +import { sendFimpMsg } from '../fimp/fimp'; +import { + VinculumPd7Device, + VinculumPd7Service, +} from '../fimp/vinculum_pd7_device'; +import { HaMqttComponent } from '../ha/mqtt_components/_component'; +import { BinarySensorDeviceClass } from '../ha/mqtt_components/_enums'; +import { + CommandHandlers, + ServiceComponentsCreationResult, +} from '../ha/publish_device'; + +export function _alarm__components( + topicPrefix: string, + device: VinculumPd7Device, + svc: VinculumPd7Service, + svcName: string, +): ServiceComponentsCreationResult | undefined { + const components: Record = {}; + const commandHandlers: CommandHandlers = {}; + + for (const event of svc.props?.sup_events ?? []) { + const device_class = + ( + { + // --- alarm_appliance --- + program_started: 'running', + program_inprogress: 'running', + program_completed: 'update', + replace_filter: 'problem', + set_temp_error: 'problem', + supplying_water: 'power', + water_supply_err: 'problem', + boiling: 'heat', + boiling_err: 'problem', + washing: 'running', + washing_err: 'problem', + rinsing: 'running', + rinsing_err: 'problem', + draining: 'running', + draining_err: 'problem', + spinning: 'running', + spinning_err: 'problem', + drying: 'running', + drying_err: 'problem', + fan_err: 'problem', + compressor_err: 'problem', + + // --- alarm_burglar --- + intrusion: 'motion', + tamper_removed_cover: 'tamper', + tamper_invalid_code: 'tamper', + tamper_force_open: 'tamper', + alarm_burglar: 'motion', + glass_breakage: 'problem', + + // --- alarm_emergency --- + police: 'safety', + fire: 'smoke', + medical: 'safety', + + // --- alarm_fire --- + smoke: 'smoke', + smoke_test: 'smoke', + + // --- alarm_gas --- + CO: 'carbon_monoxide', + CO2: 'gas', + combust_gas_detected: 'gas', + toxic_gas_detected: 'gas', + test: 'safety', + replace: 'update', + + // --- alarm_health --- + leaving_bed: 'occupancy', + sitting_on_bed: 'occupancy', + lying_on_bed: 'occupancy', + posture_change: 'occupancy', + sitting_on_bed_edge: 'occupancy', + alarm_health: 'safety', + volatile_organic_compound: 'gas', + + // --- alarm_heat --- + overheat: 'heat', + temp_rise: 'heat', + underheat: 'cold', + window_opened: 'window', + + // --- alarm_lock --- + manual_lock: 'lock', + manual_unlock: 'lock', + rf_lock: 'lock', + rf_unlock: 'lock', + keypad_lock: 'lock', + keypad_unlock: 'lock', + tag_lock: 'lock', + tag_unlock: 'lock', + manual_not_locked: 'lock', + rf_not_locked: 'lock', + auto_locked: 'lock', + jammed: 'lock', + door_opened: 'door', + door_closed: 'door', + lock_failed: 'lock', + + // --- alarm_power --- + on: 'power', + ac_on: 'power', + ac_off: 'power', + surge: 'power', + voltage_drop: 'power', + over_current: 'power', + over_voltage: 'power', + replace_soon: 'battery', + replace_now: 'battery', + charging: 'battery_charging', + charged: 'battery', + charge_soon: 'battery', + charge_now: 'battery', + + // --- alarm_siren --- + inactive: 'problem', + siren_active: 'sound', + + // --- alarm_system --- + hw_failure: 'problem', + sw_failure: 'problem', + hw_failure_with_code: 'problem', + sw_failure_with_code: 'problem', + + // --- alarm_time --- + wakeup: 'safety', + timer_ended: 'update', + time_remaining: 'update', + + // --- alarm_water_valve --- + valve_op: 'opening', + master_valve_op: 'opening', + valve_short_circuit: 'problem', + current_alarm: 'problem', + alarm_water_valve: 'problem', + master_valve_current_alarm: 'problem', + + // --- alarm_water --- + leak: 'moisture', + level_drop: 'moisture', + + // --- alarm_weather --- + moisture: 'moisture', + } as { [key: string]: BinarySensorDeviceClass } + )[event] ?? 'safety'; + + const name = ( + { + // --- alarm_appliance --- + program_started: 'Program Started', + program_inprogress: 'Program In Progress', + program_completed: 'Program Completed', + replace_filter: 'Filter Replacement Needed', + set_temp_error: 'Temperature Setting Error', + supplying_water: 'Supplying Water', + water_supply_err: 'Water Supply Error', + boiling: 'Boiling', + boiling_err: 'Boiling Error', + washing: 'Washing', + washing_err: 'Washing Error', + rinsing: 'Rinsing', + rinsing_err: 'Rinsing Error', + draining: 'Draining', + draining_err: 'Draining Error', + spinning: 'Spinning', + spinning_err: 'Spinning Error', + drying: 'Drying', + drying_err: 'Drying Error', + fan_err: 'Fan Error', + compressor_err: 'Compressor Error', + + // --- alarm_burglar --- + intrusion: 'Intrusion Alarm', + tamper_removed_cover: 'Tamper Alarm', + tamper_invalid_code: 'Tamper Alarm', + tamper_force_open: 'Tamper Alarm', + alarm_burglar: 'Burglar Alarm', + glass_breakage: 'Glass Breakage Alarm', + + // --- alarm_emergency --- + police: 'Police Alarm', + fire: 'Fire Alarm', + medical: 'Medical Alarm', + + // --- alarm_fire --- + smoke: undefined, // maps 1:1 to device_class smoke + smoke_test: 'Smoke Test Alarm', + + // --- alarm_gas --- + CO: undefined, // maps 1:1 to carbon_monoxide + CO2: 'CO₂ Alarm', + combust_gas_detected: 'Combustible Gas Alarm', + toxic_gas_detected: 'Toxic Gas Alarm', + test: 'Gas Test Alarm', + replace: 'Gas Sensor Replace', + + // --- alarm_health --- + leaving_bed: 'Leaving Bed', + sitting_on_bed: 'Sitting on Bed', + lying_on_bed: 'Lying on Bed', + posture_change: 'Posture Change', + sitting_on_bed_edge: 'Sitting on Bed Edge', + alarm_health: 'Health Alarm', + volatile_organic_compound: 'VOC Alarm', + + // --- alarm_heat --- + overheat: 'Overheat Alarm', + temp_rise: 'Temperature Rise Alarm', + underheat: 'Underheat Alarm', + window_opened: 'Window Opened', + + // --- alarm_lock --- + manual_lock: 'Manual Lock', + manual_unlock: 'Manual Unlock', + rf_lock: 'RF Lock', + rf_unlock: 'RF Unlock', + keypad_lock: 'Keypad Lock', + keypad_unlock: 'Keypad Unlock', + tag_lock: 'Tag Lock', + tag_unlock: 'Tag Unlock', + manual_not_locked: 'Manual Not Locked', + rf_not_locked: 'RF Not Locked', + auto_locked: 'Auto Locked', + jammed: 'Lock Jammed', + door_opened: 'Door Opened', + door_closed: 'Door Closed', + lock_failed: 'Lock Failed', + + // --- alarm_power --- + on: 'Power On', + ac_on: 'AC Power On', + ac_off: 'AC Power Off', + surge: 'Power Surge', + voltage_drop: 'Voltage Drop', + over_current: 'Over Current Alarm', + over_voltage: 'Over Voltage Alarm', + replace_soon: 'Battery Replace Soon', + replace_now: 'Battery Replace Now', + charging: undefined, // battery_charging + charged: undefined, // battery + charge_soon: 'Charge Soon', + charge_now: 'Charge Now', + + // --- alarm_siren --- + inactive: 'Siren Inactive', + siren_active: 'Siren Active', + + // --- alarm_system --- + hw_failure: 'Hardware Failure', + sw_failure: 'Software Failure', + hw_failure_with_code: 'Hardware Failure (Code)', + sw_failure_with_code: 'Software Failure (Code)', + + // --- alarm_time --- + wakeup: 'Wake Up', + timer_ended: 'Timer Ended', + time_remaining: 'Time Remaining', + + // --- alarm_water_valve --- + valve_op: 'Valve Operation', + master_valve_op: 'Master Valve Operation', + valve_short_circuit: 'Valve Short Circuit', + current_alarm: 'Valve Current Alarm', + alarm_water_valve: 'Water Valve Alarm', + master_valve_current_alarm: 'Master Valve Current Alarm', + + // --- alarm_water --- + leak: undefined, // maps 1:1 to moisture + level_drop: 'Water Level Drop', + + // --- alarm_weather --- + moisture: undefined, // maps 1:1 to moisture + } as { [key: string]: string | undefined } + )[event]; + + components[`${svc.addr}_${event}_sensor`] = { + unique_id: `${svc.addr}_${event}_sensor`, + platform: 'binary_sensor', + device_class: device_class, + name: name, + value_template: `{{ (value_json['${svc.addr}'].alarm.${event}.status == 'activ') | iif('ON', 'OFF') }}`, + }; + + if (svc.intf?.includes('cmd.alarm.clear')) { + const clearCmdTopic = `${topicPrefix}${svc.addr}/${event}_clear/command`; + + components[`${svc.addr}_${event}_clear`] = { + unique_id: `${svc.addr}_${event}_clear`, + platform: 'button', + command_topic: clearCmdTopic, + name: `Clear ${event} alarm`, + icon: 'mdi:alarm-light-off', + }; + + commandHandlers[clearCmdTopic] = async (_payload) => { + await sendFimpMsg({ + address: svc.addr!, + service: svcName, + cmd: 'cmd.alarm.clear', + val: event, + val_t: 'string', + }); + }; + } + } + + return { + components, + commandHandlers, + }; +} diff --git a/futurehome/src/services/barrier_ctrl.ts b/futurehome/src/services/barrier_ctrl.ts index 5a8895f..f6697ce 100644 --- a/futurehome/src/services/barrier_ctrl.ts +++ b/futurehome/src/services/barrier_ctrl.ts @@ -15,6 +15,7 @@ export function barrier_ctrl__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/basic.ts b/futurehome/src/services/basic.ts index 3b9a2c6..43e5b60 100644 --- a/futurehome/src/services/basic.ts +++ b/futurehome/src/services/basic.ts @@ -18,6 +18,7 @@ export function basic__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { // MQTT topic that HA will publish commands to const cmdTopic = `${topicPrefix}${svc.addr}/command`; diff --git a/futurehome/src/services/battery.ts b/futurehome/src/services/battery.ts index ec67b86..c94a990 100644 --- a/futurehome/src/services/battery.ts +++ b/futurehome/src/services/battery.ts @@ -9,6 +9,7 @@ export function battery__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; diff --git a/futurehome/src/services/chargepoint.ts b/futurehome/src/services/chargepoint.ts index 9f4750a..6c3cbc0 100644 --- a/futurehome/src/services/chargepoint.ts +++ b/futurehome/src/services/chargepoint.ts @@ -17,6 +17,7 @@ export function chargepoint__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/color_ctrl.ts b/futurehome/src/services/color_ctrl.ts index 1e922e9..d29466f 100644 --- a/futurehome/src/services/color_ctrl.ts +++ b/futurehome/src/services/color_ctrl.ts @@ -13,6 +13,7 @@ export function color_ctrl__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const supComponents: string[] = svc.props?.sup_components ?? []; diff --git a/futurehome/src/services/fan_ctrl.ts b/futurehome/src/services/fan_ctrl.ts index 5b5800d..4c4ff02 100644 --- a/futurehome/src/services/fan_ctrl.ts +++ b/futurehome/src/services/fan_ctrl.ts @@ -9,6 +9,7 @@ export function fan_ctrl__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const supModes: string[] = svc.props?.sup_modes ?? []; diff --git a/futurehome/src/services/indicator_ctrl.ts b/futurehome/src/services/indicator_ctrl.ts index 38115da..b7639f2 100644 --- a/futurehome/src/services/indicator_ctrl.ts +++ b/futurehome/src/services/indicator_ctrl.ts @@ -13,6 +13,7 @@ export function indicator_ctrl__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/media_player.ts b/futurehome/src/services/media_player.ts index 31ebab1..5ef4478 100644 --- a/futurehome/src/services/media_player.ts +++ b/futurehome/src/services/media_player.ts @@ -18,6 +18,7 @@ export function media_player__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/out_bin_switch.ts b/futurehome/src/services/out_bin_switch.ts index aa936e1..f70e3d5 100644 --- a/futurehome/src/services/out_bin_switch.ts +++ b/futurehome/src/services/out_bin_switch.ts @@ -9,6 +9,7 @@ export function out_bin_switch__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const commandTopic = `${topicPrefix}${svc.addr}/command`; diff --git a/futurehome/src/services/out_lvl_switch.ts b/futurehome/src/services/out_lvl_switch.ts index 47a30fc..469796b 100644 --- a/futurehome/src/services/out_lvl_switch.ts +++ b/futurehome/src/services/out_lvl_switch.ts @@ -9,6 +9,7 @@ export function out_lvl_switch__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const commandTopic = `${topicPrefix}${svc.addr}/command`; diff --git a/futurehome/src/services/scene_ctrl.ts b/futurehome/src/services/scene_ctrl.ts index cf805ce..2a2636e 100644 --- a/futurehome/src/services/scene_ctrl.ts +++ b/futurehome/src/services/scene_ctrl.ts @@ -24,8 +24,9 @@ import { */ export function scene_ctrl__components( topicPrefix: string, - _device: VinculumPd7Device, + device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/sensor_accelx.ts b/futurehome/src/services/sensor_accelx.ts index dc9cf26..a4f55f5 100644 --- a/futurehome/src/services/sensor_accelx.ts +++ b/futurehome/src/services/sensor_accelx.ts @@ -8,6 +8,7 @@ export function sensor_accelx__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Acceleration, X-axis'; diff --git a/futurehome/src/services/sensor_accely.ts b/futurehome/src/services/sensor_accely.ts index de27014..13fc743 100644 --- a/futurehome/src/services/sensor_accely.ts +++ b/futurehome/src/services/sensor_accely.ts @@ -8,6 +8,7 @@ export function sensor_accely__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Acceleration, Y-axis'; diff --git a/futurehome/src/services/sensor_accelz.ts b/futurehome/src/services/sensor_accelz.ts index f74d039..11204bc 100644 --- a/futurehome/src/services/sensor_accelz.ts +++ b/futurehome/src/services/sensor_accelz.ts @@ -8,6 +8,7 @@ export function sensor_accelz__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Acceleration, Z-axis'; diff --git a/futurehome/src/services/sensor_airflow.ts b/futurehome/src/services/sensor_airflow.ts index 3a85af7..490dc41 100644 --- a/futurehome/src/services/sensor_airflow.ts +++ b/futurehome/src/services/sensor_airflow.ts @@ -8,6 +8,7 @@ export function sensor_airflow__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Air flow'; diff --git a/futurehome/src/services/sensor_airq.ts b/futurehome/src/services/sensor_airq.ts index 6428364..a038a00 100644 --- a/futurehome/src/services/sensor_airq.ts +++ b/futurehome/src/services/sensor_airq.ts @@ -8,6 +8,7 @@ export function sensor_airq__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'aqi'; const name = undefined; diff --git a/futurehome/src/services/sensor_anglepos.ts b/futurehome/src/services/sensor_anglepos.ts index fa4e189..e064668 100644 --- a/futurehome/src/services/sensor_anglepos.ts +++ b/futurehome/src/services/sensor_anglepos.ts @@ -8,6 +8,7 @@ export function sensor_anglepos__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Angle Position'; diff --git a/futurehome/src/services/sensor_atmo.ts b/futurehome/src/services/sensor_atmo.ts index fbc5fe9..748ba45 100644 --- a/futurehome/src/services/sensor_atmo.ts +++ b/futurehome/src/services/sensor_atmo.ts @@ -8,6 +8,7 @@ export function sensor_atmo__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'atmospheric_pressure'; const name = undefined; diff --git a/futurehome/src/services/sensor_baro.ts b/futurehome/src/services/sensor_baro.ts index 7b6a3e9..f673d95 100644 --- a/futurehome/src/services/sensor_baro.ts +++ b/futurehome/src/services/sensor_baro.ts @@ -8,6 +8,7 @@ export function sensor_baro__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'atmospheric_pressure'; const name = undefined; diff --git a/futurehome/src/services/sensor_co.ts b/futurehome/src/services/sensor_co.ts index 78187e0..3f94b7a 100644 --- a/futurehome/src/services/sensor_co.ts +++ b/futurehome/src/services/sensor_co.ts @@ -8,6 +8,7 @@ export function sensor_co__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'carbon_monoxide'; const name = undefined; diff --git a/futurehome/src/services/sensor_co2.ts b/futurehome/src/services/sensor_co2.ts index dae3ffc..1d657bd 100644 --- a/futurehome/src/services/sensor_co2.ts +++ b/futurehome/src/services/sensor_co2.ts @@ -8,6 +8,7 @@ export function sensor_co2__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'carbon_dioxide'; const name = undefined; diff --git a/futurehome/src/services/sensor_contact.ts b/futurehome/src/services/sensor_contact.ts index 9993d8c..cc620ae 100644 --- a/futurehome/src/services/sensor_contact.ts +++ b/futurehome/src/services/sensor_contact.ts @@ -8,6 +8,7 @@ export function sensor_contact__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'opening'; diff --git a/futurehome/src/services/sensor_current.ts b/futurehome/src/services/sensor_current.ts index 404082b..3842e85 100644 --- a/futurehome/src/services/sensor_current.ts +++ b/futurehome/src/services/sensor_current.ts @@ -8,6 +8,7 @@ export function sensor_current__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'current'; const name = undefined; diff --git a/futurehome/src/services/sensor_dew.ts b/futurehome/src/services/sensor_dew.ts index 4a075b7..e1c1f20 100644 --- a/futurehome/src/services/sensor_dew.ts +++ b/futurehome/src/services/sensor_dew.ts @@ -8,6 +8,7 @@ export function sensor_dew__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'temperature'; const name = undefined; diff --git a/futurehome/src/services/sensor_direct.ts b/futurehome/src/services/sensor_direct.ts index 7b64237..61a96aa 100644 --- a/futurehome/src/services/sensor_direct.ts +++ b/futurehome/src/services/sensor_direct.ts @@ -8,6 +8,7 @@ export function sensor_direct__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'wind_direction'; const name = undefined; diff --git a/futurehome/src/services/sensor_distance.ts b/futurehome/src/services/sensor_distance.ts index 8218ef1..645926c 100644 --- a/futurehome/src/services/sensor_distance.ts +++ b/futurehome/src/services/sensor_distance.ts @@ -8,6 +8,7 @@ export function sensor_distance__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'distance'; const name = undefined; diff --git a/futurehome/src/services/sensor_elresist.ts b/futurehome/src/services/sensor_elresist.ts index 03adf22..1eae019 100644 --- a/futurehome/src/services/sensor_elresist.ts +++ b/futurehome/src/services/sensor_elresist.ts @@ -8,6 +8,7 @@ export function sensor_elresist__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Electrical resistivity'; diff --git a/futurehome/src/services/sensor_freq.ts b/futurehome/src/services/sensor_freq.ts index 319989c..4705dde 100644 --- a/futurehome/src/services/sensor_freq.ts +++ b/futurehome/src/services/sensor_freq.ts @@ -8,6 +8,7 @@ export function sensor_freq__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'frequency'; const name = undefined; diff --git a/futurehome/src/services/sensor_gp.ts b/futurehome/src/services/sensor_gp.ts index 4eb8897..380fc89 100644 --- a/futurehome/src/services/sensor_gp.ts +++ b/futurehome/src/services/sensor_gp.ts @@ -8,6 +8,7 @@ export function sensor_gp__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Sensor'; diff --git a/futurehome/src/services/sensor_gust.ts b/futurehome/src/services/sensor_gust.ts index 46d7d3e..15a583f 100644 --- a/futurehome/src/services/sensor_gust.ts +++ b/futurehome/src/services/sensor_gust.ts @@ -8,6 +8,7 @@ export function sensor_gust__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Gust'; diff --git a/futurehome/src/services/sensor_humid.ts b/futurehome/src/services/sensor_humid.ts index 946e463..ac41a82 100644 --- a/futurehome/src/services/sensor_humid.ts +++ b/futurehome/src/services/sensor_humid.ts @@ -8,6 +8,7 @@ export function sensor_humid__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'humidity'; const name = undefined; diff --git a/futurehome/src/services/sensor_lumin.ts b/futurehome/src/services/sensor_lumin.ts index 9f5c878..13a59dd 100644 --- a/futurehome/src/services/sensor_lumin.ts +++ b/futurehome/src/services/sensor_lumin.ts @@ -8,6 +8,7 @@ export function sensor_lumin__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'illuminance'; const name = undefined; diff --git a/futurehome/src/services/sensor_moist.ts b/futurehome/src/services/sensor_moist.ts index 85433ad..9aa719b 100644 --- a/futurehome/src/services/sensor_moist.ts +++ b/futurehome/src/services/sensor_moist.ts @@ -8,6 +8,7 @@ export function sensor_moist__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'moisture'; const name = undefined; diff --git a/futurehome/src/services/sensor_noise.ts b/futurehome/src/services/sensor_noise.ts index 4d04566..f949c26 100644 --- a/futurehome/src/services/sensor_noise.ts +++ b/futurehome/src/services/sensor_noise.ts @@ -8,6 +8,7 @@ export function sensor_noise__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'sound_pressure'; const name = undefined; diff --git a/futurehome/src/services/sensor_power.ts b/futurehome/src/services/sensor_power.ts index b2c9362..4cf6fb4 100644 --- a/futurehome/src/services/sensor_power.ts +++ b/futurehome/src/services/sensor_power.ts @@ -8,6 +8,7 @@ export function sensor_power__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'power'; const name = undefined; diff --git a/futurehome/src/services/sensor_presence.ts b/futurehome/src/services/sensor_presence.ts index 92006b6..e8daf4c 100644 --- a/futurehome/src/services/sensor_presence.ts +++ b/futurehome/src/services/sensor_presence.ts @@ -8,6 +8,7 @@ export function sensor_presence__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'occupancy'; diff --git a/futurehome/src/services/sensor_rain.ts b/futurehome/src/services/sensor_rain.ts index 93e4511..5302e4a 100644 --- a/futurehome/src/services/sensor_rain.ts +++ b/futurehome/src/services/sensor_rain.ts @@ -8,6 +8,7 @@ export function sensor_rain__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'precipitation_intensity'; const name = undefined; diff --git a/futurehome/src/services/sensor_rotation.ts b/futurehome/src/services/sensor_rotation.ts index 1d99d3c..9b4d8d1 100644 --- a/futurehome/src/services/sensor_rotation.ts +++ b/futurehome/src/services/sensor_rotation.ts @@ -8,6 +8,7 @@ export function sensor_rotation__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Rotation'; diff --git a/futurehome/src/services/sensor_seismicint.ts b/futurehome/src/services/sensor_seismicint.ts index aee81f0..0459af5 100644 --- a/futurehome/src/services/sensor_seismicint.ts +++ b/futurehome/src/services/sensor_seismicint.ts @@ -8,6 +8,7 @@ export function sensor_seismicint__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Seismic intensity'; diff --git a/futurehome/src/services/sensor_seismicmag.ts b/futurehome/src/services/sensor_seismicmag.ts index 6bb7432..411016e 100644 --- a/futurehome/src/services/sensor_seismicmag.ts +++ b/futurehome/src/services/sensor_seismicmag.ts @@ -8,6 +8,7 @@ export function sensor_seismicmag__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Seismic magnitude'; diff --git a/futurehome/src/services/sensor_solarrad.ts b/futurehome/src/services/sensor_solarrad.ts index 540ca89..c94e32b 100644 --- a/futurehome/src/services/sensor_solarrad.ts +++ b/futurehome/src/services/sensor_solarrad.ts @@ -8,6 +8,7 @@ export function sensor_solarrad__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Solar radiation'; diff --git a/futurehome/src/services/sensor_tank.ts b/futurehome/src/services/sensor_tank.ts index d5d5291..d370678 100644 --- a/futurehome/src/services/sensor_tank.ts +++ b/futurehome/src/services/sensor_tank.ts @@ -8,6 +8,7 @@ export function sensor_tank__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'volume_storage'; const name = undefined; diff --git a/futurehome/src/services/sensor_temp.ts b/futurehome/src/services/sensor_temp.ts index b8244d0..75f1bcc 100644 --- a/futurehome/src/services/sensor_temp.ts +++ b/futurehome/src/services/sensor_temp.ts @@ -8,6 +8,7 @@ export function sensor_temp__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'temperature'; const name = undefined; diff --git a/futurehome/src/services/sensor_tidelvl.ts b/futurehome/src/services/sensor_tidelvl.ts index 78637d2..a839dab 100644 --- a/futurehome/src/services/sensor_tidelvl.ts +++ b/futurehome/src/services/sensor_tidelvl.ts @@ -8,6 +8,7 @@ export function sensor_tidelvl__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Tide level'; diff --git a/futurehome/src/services/sensor_uv.ts b/futurehome/src/services/sensor_uv.ts index 820f2b7..4f8cfda 100644 --- a/futurehome/src/services/sensor_uv.ts +++ b/futurehome/src/services/sensor_uv.ts @@ -8,6 +8,7 @@ export function sensor_uv__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Ultraviolet'; diff --git a/futurehome/src/services/sensor_veloc.ts b/futurehome/src/services/sensor_veloc.ts index b21452c..dda84d7 100644 --- a/futurehome/src/services/sensor_veloc.ts +++ b/futurehome/src/services/sensor_veloc.ts @@ -8,6 +8,7 @@ export function sensor_veloc__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = undefined; const name = 'Velocity'; diff --git a/futurehome/src/services/sensor_voltage.ts b/futurehome/src/services/sensor_voltage.ts index 7b45a77..7eb49c3 100644 --- a/futurehome/src/services/sensor_voltage.ts +++ b/futurehome/src/services/sensor_voltage.ts @@ -8,6 +8,7 @@ export function sensor_voltage__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'voltage'; const name = undefined; diff --git a/futurehome/src/services/sensor_watflow.ts b/futurehome/src/services/sensor_watflow.ts index 89c7209..827ba63 100644 --- a/futurehome/src/services/sensor_watflow.ts +++ b/futurehome/src/services/sensor_watflow.ts @@ -8,6 +8,7 @@ export function sensor_watflow__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'volume_flow_rate'; const name = undefined; diff --git a/futurehome/src/services/sensor_watpressure.ts b/futurehome/src/services/sensor_watpressure.ts index 3f5cfbf..9bef1ac 100644 --- a/futurehome/src/services/sensor_watpressure.ts +++ b/futurehome/src/services/sensor_watpressure.ts @@ -8,6 +8,7 @@ export function sensor_watpressure__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'pressure'; const name = undefined; diff --git a/futurehome/src/services/sensor_wattemp.ts b/futurehome/src/services/sensor_wattemp.ts index e101398..0c6d886 100644 --- a/futurehome/src/services/sensor_wattemp.ts +++ b/futurehome/src/services/sensor_wattemp.ts @@ -8,6 +8,7 @@ export function sensor_wattemp__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'temperature'; const name = undefined; diff --git a/futurehome/src/services/sensor_weight.ts b/futurehome/src/services/sensor_weight.ts index 9a946bb..1be18a0 100644 --- a/futurehome/src/services/sensor_weight.ts +++ b/futurehome/src/services/sensor_weight.ts @@ -8,6 +8,7 @@ export function sensor_weight__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'weight'; const name = undefined; diff --git a/futurehome/src/services/sensor_wind.ts b/futurehome/src/services/sensor_wind.ts index c465a18..98850ba 100644 --- a/futurehome/src/services/sensor_wind.ts +++ b/futurehome/src/services/sensor_wind.ts @@ -8,6 +8,7 @@ export function sensor_wind__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const device_class = 'wind_speed'; const name = undefined; diff --git a/futurehome/src/services/siren_ctrl.ts b/futurehome/src/services/siren_ctrl.ts index f368b68..5a08698 100644 --- a/futurehome/src/services/siren_ctrl.ts +++ b/futurehome/src/services/siren_ctrl.ts @@ -14,6 +14,7 @@ export function siren_ctrl__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/thermostat.ts b/futurehome/src/services/thermostat.ts index 7df8ee8..359a7bb 100644 --- a/futurehome/src/services/thermostat.ts +++ b/futurehome/src/services/thermostat.ts @@ -16,6 +16,7 @@ export function thermostat__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {}; diff --git a/futurehome/src/services/water_heater.ts b/futurehome/src/services/water_heater.ts index 66f5245..e325ebf 100644 --- a/futurehome/src/services/water_heater.ts +++ b/futurehome/src/services/water_heater.ts @@ -15,6 +15,7 @@ export function water_heater__components( topicPrefix: string, device: VinculumPd7Device, svc: VinculumPd7Service, + _svcName: string, ): ServiceComponentsCreationResult | undefined { const components: Record = {}; const commandHandlers: CommandHandlers = {};