From fe144a005cbe3618e178308a9747be6353eb4a69 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Thu, 13 Jun 2024 23:26:58 +0200 Subject: [PATCH 01/20] Airzone Aidoo Zigbee - AZAI6ZBEMHI support for Airzone Aidoo Zigbee - AZAI6ZBEMHI --- src/devices/AirzoneAidoo.ts | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/devices/AirzoneAidoo.ts diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts new file mode 100644 index 0000000000000..a81c4756d2b8b --- /dev/null +++ b/src/devices/AirzoneAidoo.ts @@ -0,0 +1,51 @@ +const {} = require('zigbee-herdsman-converters/lib/modernExtend'); +// Add the lines below +const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); +const tz = require('zigbee-herdsman-converters/converters/toZigbee'); +const exposes = require('zigbee-herdsman-converters/lib/exposes'); +const reporting = require('zigbee-herdsman-converters/lib/reporting'); +const ota = require('zigbee-herdsman-converters/lib/ota'); +const utils = require('zigbee-herdsman-converters/lib/utils'); +const globalStore = require('zigbee-herdsman-converters/lib/store'); +const e = exposes.presets; +const ea = exposes.access; + + +const definition = { + zigbeeModel: ['Aidoo Zigbee'], + model: 'Aidoo Zigbee AZAI6ZBEMHI', + vendor: 'Airzone', + description: 'Gateway for two-way control and integration of AirCon Units.AZAI6ZBEMHI for Mitsubishi Heavy', + fromZigbee: [fz.thermostat, fz.on_off, fz.fan], + toZigbee: [ + tz.thermostat_local_temperature, + tz.thermostat_occupied_heating_setpoint, + tz.thermostat_occupied_cooling_setpoint, + tz.thermostat_system_mode, + tz.on_off, + tz.fan_mode, + ], + exposes: [ + e.local_temperature(), + e.numeric('occupied_heating_setpoint', ea.ALL).withUnit('°C').withDescription('Occupied heating setpoint'), + e.numeric('occupied_cooling_setpoint', ea.ALL).withUnit('°C').withDescription('Specifies the cooling mode setpoint when the room is occupied.'), + exposes.enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withDescription('Specifies the current operating mode of the thermostat.'), + e.switch(), + exposes.enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']).withDescription('Fan mode'), + ], + endpoint: (device) => { + return { 'system': 1 }; + }, + meta: { configureKey: 1 }, + configure: async (device, coordinatorEndpoint, logger) => { + const endpoint = device.getEndpoint(1); + await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); + await reporting.thermostatTemperature(endpoint); + await reporting.thermostatOccupiedHeatingSetpoint(endpoint); + await reporting.onOff(endpoint); + await reporting.fanMode(endpoint); + }, +}; + +module.exports = definition; \ No newline at end of file From 74022a6090847ef1a1b9f36be4705a92e346cc71 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Thu, 13 Jun 2024 23:42:38 +0200 Subject: [PATCH 02/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index a81c4756d2b8b..9a85c7dffe837 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,12 +1,8 @@ -const {} = require('zigbee-herdsman-converters/lib/modernExtend'); -// Add the lines below -const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); -const tz = require('zigbee-herdsman-converters/converters/toZigbee'); -const exposes = require('zigbee-herdsman-converters/lib/exposes'); -const reporting = require('zigbee-herdsman-converters/lib/reporting'); -const ota = require('zigbee-herdsman-converters/lib/ota'); -const utils = require('zigbee-herdsman-converters/lib/utils'); -const globalStore = require('zigbee-herdsman-converters/lib/store'); +import {Definition} from '../lib/types'; +import * as exposes from '../lib/exposes'; +import fz from '../converters/fromZigbee'; +import tz from '../converters/toZigbee'; +import * as reporting from '../lib/reporting'; const e = exposes.presets; const ea = exposes.access; From 342763b760244aefc0e72206deef325d8e06e69e Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Thu, 13 Jun 2024 23:47:30 +0200 Subject: [PATCH 03/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 9a85c7dffe837..2692734d513d6 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -25,10 +25,10 @@ const definition = { e.local_temperature(), e.numeric('occupied_heating_setpoint', ea.ALL).withUnit('°C').withDescription('Occupied heating setpoint'), e.numeric('occupied_cooling_setpoint', ea.ALL).withUnit('°C').withDescription('Specifies the cooling mode setpoint when the room is occupied.'), - exposes.enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + exposes.Enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) .withDescription('Specifies the current operating mode of the thermostat.'), e.switch(), - exposes.enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']).withDescription('Fan mode'), + exposes.Enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']).withDescription('Fan mode'), ], endpoint: (device) => { return { 'system': 1 }; From ac890d829c5134cd5c590e57be6bd8dc62769743 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 00:04:09 +0200 Subject: [PATCH 04/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 48 ++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 2692734d513d6..931609409f3d1 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,11 +1,7 @@ -import {Definition} from '../lib/types'; -import * as exposes from '../lib/exposes'; -import fz from '../converters/fromZigbee'; -import tz from '../converters/toZigbee'; -import * as reporting from '../lib/reporting'; -const e = exposes.presets; -const ea = exposes.access; - +const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); +const tz = require('zigbee-herdsman-converters/converters/toZigbee'); +const exposes = require('zigbee-herdsman-converters/lib/exposes'); +const reporting = require('zigbee-herdsman-converters/lib/reporting'); const definition = { zigbeeModel: ['Aidoo Zigbee'], @@ -22,19 +18,24 @@ const definition = { tz.fan_mode, ], exposes: [ - e.local_temperature(), - e.numeric('occupied_heating_setpoint', ea.ALL).withUnit('°C').withDescription('Occupied heating setpoint'), - e.numeric('occupied_cooling_setpoint', ea.ALL).withUnit('°C').withDescription('Specifies the cooling mode setpoint when the room is occupied.'), - exposes.Enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + exposes.numeric('local_temperature', exposes.access.ALL), + exposes.numeric('occupied_heating_setpoint', exposes.access.ALL) + .withUnit('°C') + .withDescription('Occupied heating setpoint'), + exposes.numeric('occupied_cooling_setpoint', exposes.access.ALL) + .withUnit('°C') + .withDescription('Specifies the cooling mode setpoint when the room is occupied.'), + exposes.enum('system_mode', exposes.access.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) .withDescription('Specifies the current operating mode of the thermostat.'), - e.switch(), - exposes.Enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']).withDescription('Fan mode'), + exposes.binary('switch', exposes.access.ALL), + exposes.enum('fan_mode', exposes.access.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) + .withDescription('Fan mode'), ], - endpoint: (device) => { + endpoint: (device: any) => { return { 'system': 1 }; }, meta: { configureKey: 1 }, - configure: async (device, coordinatorEndpoint, logger) => { + configure: async (device: any, coordinatorEndpoint: any, logger: any) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); await reporting.thermostatTemperature(endpoint); @@ -42,6 +43,19 @@ const definition = { await reporting.onOff(endpoint); await reporting.fanMode(endpoint); }, + device: { + type: 'climate', + features: [ + exposes.climate() + .withLocalTemperature() + .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withRunningState(['idle', 'heat', 'cool']) + .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) + .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) + .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5) + ] + }, + ha_category: 'climate' }; -module.exports = definition; \ No newline at end of file +module.exports = definition; From 4c313d3b43f381e8c9e30c32e86bd3c6aea8eb77 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:16:48 +0200 Subject: [PATCH 05/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 931609409f3d1..7712784ef6a29 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,7 +1,7 @@ -const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); -const tz = require('zigbee-herdsman-converters/converters/toZigbee'); -const exposes = require('zigbee-herdsman-converters/lib/exposes'); -const reporting = require('zigbee-herdsman-converters/lib/reporting'); +const { presets, access: ea } = require('zigbee2mqtt/lib/exposes'); +const fz = require('zigbee2mqtt/lib/converters/fromZigbee'); +const tz = require('zigbee2mqtt/lib/converters/toZigbee'); +const reporting = require('zigbee2mqtt/lib/reporting'); const definition = { zigbeeModel: ['Aidoo Zigbee'], @@ -18,24 +18,24 @@ const definition = { tz.fan_mode, ], exposes: [ - exposes.numeric('local_temperature', exposes.access.ALL), - exposes.numeric('occupied_heating_setpoint', exposes.access.ALL) + presets.local_temperature(), + presets.numeric('occupied_heating_setpoint', ea.ALL) .withUnit('°C') .withDescription('Occupied heating setpoint'), - exposes.numeric('occupied_cooling_setpoint', exposes.access.ALL) + presets.numeric('occupied_cooling_setpoint', ea.ALL) .withUnit('°C') .withDescription('Specifies the cooling mode setpoint when the room is occupied.'), - exposes.enum('system_mode', exposes.access.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withDescription('Specifies the current operating mode of the thermostat.'), - exposes.binary('switch', exposes.access.ALL), - exposes.enum('fan_mode', exposes.access.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) + presets.enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withDescription('Specifies the current operating mode of the thermostat. Supported values are:\n- 0x00 = OFF\n- 0x01 = Auto\n- 0x03 = Cool\n- 0x04 = Heat\n- 0x07 = Fan Only\n- 0x08 = Dry'), + presets.binary('switch', ea.ALL), + presets.enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) .withDescription('Fan mode'), ], - endpoint: (device: any) => { + endpoint: (device) => { return { 'system': 1 }; }, meta: { configureKey: 1 }, - configure: async (device: any, coordinatorEndpoint: any, logger: any) => { + configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); await reporting.thermostatTemperature(endpoint); @@ -46,7 +46,7 @@ const definition = { device: { type: 'climate', features: [ - exposes.climate() + presets.climate() .withLocalTemperature() .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) .withRunningState(['idle', 'heat', 'cool']) From 67120c2abf5b30ca55d71ef1f0aa705db08feff5 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:19:11 +0200 Subject: [PATCH 06/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 7712784ef6a29..d6cc92a2d133c 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,9 +1,11 @@ -const { presets, access: ea } = require('zigbee2mqtt/lib/exposes'); -const fz = require('zigbee2mqtt/lib/converters/fromZigbee'); -const tz = require('zigbee2mqtt/lib/converters/toZigbee'); -const reporting = require('zigbee2mqtt/lib/reporting'); +import {Definition} from 'zigbee-herdsman-converters/lib/types'; +import {presets, access} from 'zigbee2mqtt/lib/exposes'; +import * as fz from 'zigbee2mqtt/lib/converters/fromZigbee'; +import * as tz from 'zigbee2mqtt/lib/converters/toZigbee'; +import * as reporting from 'zigbee2mqtt/lib/reporting'; +import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; -const definition = { +const definition: Definition = { zigbeeModel: ['Aidoo Zigbee'], model: 'Aidoo Zigbee AZAI6ZBEMHI', vendor: 'Airzone', @@ -19,23 +21,23 @@ const definition = { ], exposes: [ presets.local_temperature(), - presets.numeric('occupied_heating_setpoint', ea.ALL) + presets.numeric('occupied_heating_setpoint', access.ALL) .withUnit('°C') .withDescription('Occupied heating setpoint'), - presets.numeric('occupied_cooling_setpoint', ea.ALL) + presets.numeric('occupied_cooling_setpoint', access.ALL) .withUnit('°C') .withDescription('Specifies the cooling mode setpoint when the room is occupied.'), - presets.enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + presets.enum('system_mode', access.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) .withDescription('Specifies the current operating mode of the thermostat. Supported values are:\n- 0x00 = OFF\n- 0x01 = Auto\n- 0x03 = Cool\n- 0x04 = Heat\n- 0x07 = Fan Only\n- 0x08 = Dry'), - presets.binary('switch', ea.ALL), - presets.enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) + presets.binary('switch', access.ALL), + presets.enum('fan_mode', access.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) .withDescription('Fan mode'), ], - endpoint: (device) => { + endpoint: (device: any): { [key: string]: number } => { return { 'system': 1 }; }, meta: { configureKey: 1 }, - configure: async (device, coordinatorEndpoint, logger) => { + configure: async (device: any, coordinatorEndpoint: Endpoint, logger: any): Promise => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); await reporting.thermostatTemperature(endpoint); @@ -58,4 +60,4 @@ const definition = { ha_category: 'climate' }; -module.exports = definition; +export default definition; From bedd8ba61b80cf6a9e2f8fc442633441ca6f3e22 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:21:39 +0200 Subject: [PATCH 07/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index d6cc92a2d133c..fd2aee64df71f 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,11 +1,11 @@ import {Definition} from 'zigbee-herdsman-converters/lib/types'; -import {presets, access} from 'zigbee2mqtt/lib/exposes'; -import * as fz from 'zigbee2mqtt/lib/converters/fromZigbee'; -import * as tz from 'zigbee2mqtt/lib/converters/toZigbee'; -import * as reporting from 'zigbee2mqtt/lib/reporting'; +import {presets, access} from 'zigbee-herdsman-converters/lib/exposes'; +import * as fz from 'zigbee-herdsman-converters/converters/fromZigbee'; +import * as tz from 'zzigbee-herdsman-converters/converters/toZigbee'; +import * as reporting from 'zigbee-herdsman-converters/lib/reporting'; import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; -const definition: Definition = { + zigbeeModel: ['Aidoo Zigbee'], model: 'Aidoo Zigbee AZAI6ZBEMHI', vendor: 'Airzone', From 7656c85939c4bb86ef5c458ac8ba5ad72b34bfb0 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:23:11 +0200 Subject: [PATCH 08/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index fd2aee64df71f..3d97336f00abc 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -5,7 +5,14 @@ import * as tz from 'zzigbee-herdsman-converters/converters/toZigbee'; import * as reporting from 'zigbee-herdsman-converters/lib/reporting'; import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; +import {Definition} from 'zigbee-herdsman-converters/lib/types'; +import {presets, access} from 'zigbee2mqtt/lib/exposes'; +import * as fz from 'zigbee2mqtt/lib/converters/fromZigbee'; +import * as tz from 'zigbee2mqtt/lib/converters/toZigbee'; +import * as reporting from 'zigbee2mqtt/lib/reporting'; +import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; +const definition: Definition = { zigbeeModel: ['Aidoo Zigbee'], model: 'Aidoo Zigbee AZAI6ZBEMHI', vendor: 'Airzone', From 9924fde11788070dac3d3d3edb199635a38b1330 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:24:16 +0200 Subject: [PATCH 09/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 3d97336f00abc..d6cc92a2d133c 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,10 +1,3 @@ -import {Definition} from 'zigbee-herdsman-converters/lib/types'; -import {presets, access} from 'zigbee-herdsman-converters/lib/exposes'; -import * as fz from 'zigbee-herdsman-converters/converters/fromZigbee'; -import * as tz from 'zzigbee-herdsman-converters/converters/toZigbee'; -import * as reporting from 'zigbee-herdsman-converters/lib/reporting'; -import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; - import {Definition} from 'zigbee-herdsman-converters/lib/types'; import {presets, access} from 'zigbee2mqtt/lib/exposes'; import * as fz from 'zigbee2mqtt/lib/converters/fromZigbee'; From 8fe85bbf8e92745e275f2b24184636971b0cad88 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:26:37 +0200 Subject: [PATCH 10/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index d6cc92a2d133c..551b1ec52d520 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,9 +1,13 @@ import {Definition} from 'zigbee-herdsman-converters/lib/types'; -import {presets, access} from 'zigbee2mqtt/lib/exposes'; -import * as fz from 'zigbee2mqtt/lib/converters/fromZigbee'; -import * as tz from 'zigbee2mqtt/lib/converters/toZigbee'; -import * as reporting from 'zigbee2mqtt/lib/reporting'; +import {presets, access} from 'zigbee-herdsman-converters/lib/exposes'; +import * as fz from 'zigbee-herdsman-converters/converters/fromZigbee'; +import * as tz from 'zigbee-herdsman-converters/converters/toZigbee'; +import * as reporting from 'zigbee-herdsman-converters/lib/reporting'; import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; +const e = exposes.presets; +const ea = exposes.access; + + const definition: Definition = { zigbeeModel: ['Aidoo Zigbee'], From 7b4b3653efab5f95adc53208ffacea7802d08dc9 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 15:02:03 +0200 Subject: [PATCH 11/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 59 +++++++++++++++---------------------- 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 551b1ec52d520..8e2047b43f73e 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,15 +1,20 @@ -import {Definition} from 'zigbee-herdsman-converters/lib/types'; -import {presets, access} from 'zigbee-herdsman-converters/lib/exposes'; -import * as fz from 'zigbee-herdsman-converters/converters/fromZigbee'; -import * as tz from 'zigbee-herdsman-converters/converters/toZigbee'; -import * as reporting from 'zigbee-herdsman-converters/lib/reporting'; -import {Endpoint} from 'zigbee-herdsman/dist/controller/model'; +import {Zcl, ZSpec} from 'zigbee-herdsman'; +import * as exposes from '../lib/exposes'; +import fz from '../converters/fromZigbee'; +import tz from '../converters/toZigbee'; +import * as reporting from '../lib/reporting'; +import * as utils from '../lib/utils'; +import * as constants from '../lib/constants'; +import * as globalStore from '../lib/store'; +import { + Tz, Fz, Definition, KeyValue, ModernExtend, Expose, +} from '../lib/types'; +import {logger} from '../lib/logger'; const e = exposes.presets; const ea = exposes.access; - -const definition: Definition = { +const definition = { zigbeeModel: ['Aidoo Zigbee'], model: 'Aidoo Zigbee AZAI6ZBEMHI', vendor: 'Airzone', @@ -24,24 +29,19 @@ const definition: Definition = { tz.fan_mode, ], exposes: [ - presets.local_temperature(), - presets.numeric('occupied_heating_setpoint', access.ALL) - .withUnit('°C') - .withDescription('Occupied heating setpoint'), - presets.numeric('occupied_cooling_setpoint', access.ALL) - .withUnit('°C') - .withDescription('Specifies the cooling mode setpoint when the room is occupied.'), - presets.enum('system_mode', access.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withDescription('Specifies the current operating mode of the thermostat. Supported values are:\n- 0x00 = OFF\n- 0x01 = Auto\n- 0x03 = Cool\n- 0x04 = Heat\n- 0x07 = Fan Only\n- 0x08 = Dry'), - presets.binary('switch', access.ALL), - presets.enum('fan_mode', access.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) - .withDescription('Fan mode'), + e.climate() + .withLocalTemperature() + .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) + .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) + .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5), + e.switch(), ], - endpoint: (device: any): { [key: string]: number } => { + endpoint: (device) => { return { 'system': 1 }; }, meta: { configureKey: 1 }, - configure: async (device: any, coordinatorEndpoint: Endpoint, logger: any): Promise => { + configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); await reporting.thermostatTemperature(endpoint); @@ -49,19 +49,6 @@ const definition: Definition = { await reporting.onOff(endpoint); await reporting.fanMode(endpoint); }, - device: { - type: 'climate', - features: [ - presets.climate() - .withLocalTemperature() - .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withRunningState(['idle', 'heat', 'cool']) - .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) - .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) - .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5) - ] - }, - ha_category: 'climate' }; -export default definition; +module.exports = definition; \ No newline at end of file From 6d113247da12e367ba791b984fc19ff183052e8d Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 15:34:51 +0200 Subject: [PATCH 12/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 44 +++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 8e2047b43f73e..7d987455df84f 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -10,11 +10,12 @@ import { Tz, Fz, Definition, KeyValue, ModernExtend, Expose, } from '../lib/types'; import {logger} from '../lib/logger'; +import {Endpoint, Device} from 'zigbee-herdsman/dist/controller/model'; + const e = exposes.presets; const ea = exposes.access; - -const definition = { +const definition: Definition = { zigbeeModel: ['Aidoo Zigbee'], model: 'Aidoo Zigbee AZAI6ZBEMHI', vendor: 'Airzone', @@ -29,26 +30,45 @@ const definition = { tz.fan_mode, ], exposes: [ - e.climate() - .withLocalTemperature() - .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) - .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) - .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5), - e.switch(), + e.local_temperature(), + e.numeric('occupied_heating_setpoint', ea.ALL) + .withUnit('°C') + .withDescription('Occupied heating setpoint'), + e.numeric('occupied_cooling_setpoint', ea.ALL) + .withUnit('°C') + .withDescription('Specifies the cooling mode setpoint when the room is occupied.'), + e.enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withDescription('Specifies the current operating mode of the thermostat. Supported values are:\n- 0x00 = OFF\n- 0x01 = Auto\n- 0x03 = Cool\n- 0x04 = Heat\n- 0x07 = Fan Only\n- 0x08 = Dry'), + e.binary('switch', ea.ALL), + e.enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) + .withDescription('Fan mode'), ], - endpoint: (device) => { + endpoint: (device: Device): { [key: string]: number } => { return { 'system': 1 }; }, meta: { configureKey: 1 }, - configure: async (device, coordinatorEndpoint, logger) => { + configure: async (device: Device, coordinatorEndpoint: Endpoint, logger: any): Promise => { const endpoint = device.getEndpoint(1); await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); await reporting.thermostatTemperature(endpoint); await reporting.thermostatOccupiedHeatingSetpoint(endpoint); + await reporting.thermostatOccupiedCoolingSetpoint(endpoint); await reporting.onOff(endpoint); await reporting.fanMode(endpoint); }, + device: { + type: 'climate', + features: [ + e.climate() + .withLocalTemperature() + .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withRunningState(['idle', 'heat', 'cool']) + .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) + .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) + .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5) + ] + }, + ha_category: 'climate' }; -module.exports = definition; \ No newline at end of file +export default definition; From 2db797a9913c2d086b278732fe9f95991c4f8126 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Fri, 14 Jun 2024 15:37:15 +0200 Subject: [PATCH 13/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 7d987455df84f..a6edc7e395eb3 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,16 +1,8 @@ -import {Zcl, ZSpec} from 'zigbee-herdsman'; +import {Definition, Device, Endpoint, Logger} from 'zigbee-herdsman-converters'; import * as exposes from '../lib/exposes'; import fz from '../converters/fromZigbee'; import tz from '../converters/toZigbee'; import * as reporting from '../lib/reporting'; -import * as utils from '../lib/utils'; -import * as constants from '../lib/constants'; -import * as globalStore from '../lib/store'; -import { - Tz, Fz, Definition, KeyValue, ModernExtend, Expose, -} from '../lib/types'; -import {logger} from '../lib/logger'; -import {Endpoint, Device} from 'zigbee-herdsman/dist/controller/model'; const e = exposes.presets; const ea = exposes.access; @@ -46,15 +38,15 @@ const definition: Definition = { endpoint: (device: Device): { [key: string]: number } => { return { 'system': 1 }; }, - meta: { configureKey: 1 }, - configure: async (device: Device, coordinatorEndpoint: Endpoint, logger: any): Promise => { + meta: { configureKey: 1 } as any, + configure: async (device: Device, coordinatorEndpoint: Endpoint, logger: Logger): Promise => { const endpoint = device.getEndpoint(1); - await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); - await reporting.thermostatTemperature(endpoint); - await reporting.thermostatOccupiedHeatingSetpoint(endpoint); - await reporting.thermostatOccupiedCoolingSetpoint(endpoint); - await reporting.onOff(endpoint); - await reporting.fanMode(endpoint); + await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff'], logger); + await reporting.thermostatTemperature(endpoint, logger); + await reporting.thermostatOccupiedHeatingSetpoint(endpoint, logger); + await reporting.thermostatOccupiedCoolingSetpoint(endpoint, logger); + await reporting.onOff(endpoint, logger); + await reporting.fanMode(endpoint, logger); }, device: { type: 'climate', From 957e8fc4005a30ca4a874d407cc5b818d0578750 Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Sat, 15 Jun 2024 22:08:34 +0200 Subject: [PATCH 14/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 57 +++++++++++++------------------------ 1 file changed, 19 insertions(+), 38 deletions(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index a6edc7e395eb3..7659e86b76061 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,4 +1,4 @@ -import {Definition, Device, Endpoint, Logger} from 'zigbee-herdsman-converters'; +import {Definition, Device, Endpoint, Logger} from '../lib/types'; import * as exposes from '../lib/exposes'; import fz from '../converters/fromZigbee'; import tz from '../converters/toZigbee'; @@ -7,9 +7,9 @@ import * as reporting from '../lib/reporting'; const e = exposes.presets; const ea = exposes.access; -const definition: Definition = { +const definition = { zigbeeModel: ['Aidoo Zigbee'], - model: 'Aidoo Zigbee AZAI6ZBEMHI', + model: 'AZAI6ZBEMHI', vendor: 'Airzone', description: 'Gateway for two-way control and integration of AirCon Units.AZAI6ZBEMHI for Mitsubishi Heavy', fromZigbee: [fz.thermostat, fz.on_off, fz.fan], @@ -22,45 +22,26 @@ const definition: Definition = { tz.fan_mode, ], exposes: [ - e.local_temperature(), - e.numeric('occupied_heating_setpoint', ea.ALL) - .withUnit('°C') - .withDescription('Occupied heating setpoint'), - e.numeric('occupied_cooling_setpoint', ea.ALL) - .withUnit('°C') - .withDescription('Specifies the cooling mode setpoint when the room is occupied.'), - e.enum('system_mode', ea.ALL, ['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withDescription('Specifies the current operating mode of the thermostat. Supported values are:\n- 0x00 = OFF\n- 0x01 = Auto\n- 0x03 = Cool\n- 0x04 = Heat\n- 0x07 = Fan Only\n- 0x08 = Dry'), - e.binary('switch', ea.ALL), - e.enum('fan_mode', ea.ALL, ['off', 'low', 'medium', 'high', 'on', 'auto']) - .withDescription('Fan mode'), + e.climate() + .withLocalTemperature() + .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) + .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) + .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5), + e.switch(), ], - endpoint: (device: Device): { [key: string]: number } => { + endpoint: (device) => { return { 'system': 1 }; }, - meta: { configureKey: 1 } as any, - configure: async (device: Device, coordinatorEndpoint: Endpoint, logger: Logger): Promise => { + meta: { configureKey: 1 }, + configure: async (device, coordinatorEndpoint, logger) => { const endpoint = device.getEndpoint(1); - await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff'], logger); - await reporting.thermostatTemperature(endpoint, logger); - await reporting.thermostatOccupiedHeatingSetpoint(endpoint, logger); - await reporting.thermostatOccupiedCoolingSetpoint(endpoint, logger); - await reporting.onOff(endpoint, logger); - await reporting.fanMode(endpoint, logger); + await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); + await reporting.thermostatTemperature(endpoint); + await reporting.thermostatOccupiedHeatingSetpoint(endpoint); + await reporting.onOff(endpoint); + await reporting.fanMode(endpoint); }, - device: { - type: 'climate', - features: [ - e.climate() - .withLocalTemperature() - .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withRunningState(['idle', 'heat', 'cool']) - .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) - .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) - .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5) - ] - }, - ha_category: 'climate' }; -export default definition; +module.exports = definition; \ No newline at end of file From 99d0eaa24d75784d56890c68841f6ec3ac618c6a Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Sat, 15 Jun 2024 22:12:34 +0200 Subject: [PATCH 15/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 7659e86b76061..4b31ab5e0f3cc 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,4 +1,3 @@ -import {Definition, Device, Endpoint, Logger} from '../lib/types'; import * as exposes from '../lib/exposes'; import fz from '../converters/fromZigbee'; import tz from '../converters/toZigbee'; From 2c38838c5c16ec7578b642c0f0e407ff2e49bbbc Mon Sep 17 00:00:00 2001 From: GitCharlieHub <58088043+GitCharlieHub@users.noreply.github.com> Date: Sat, 15 Jun 2024 22:13:51 +0200 Subject: [PATCH 16/20] Update AirzoneAidoo.ts --- src/devices/AirzoneAidoo.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts index 4b31ab5e0f3cc..7659e86b76061 100644 --- a/src/devices/AirzoneAidoo.ts +++ b/src/devices/AirzoneAidoo.ts @@ -1,3 +1,4 @@ +import {Definition, Device, Endpoint, Logger} from '../lib/types'; import * as exposes from '../lib/exposes'; import fz from '../converters/fromZigbee'; import tz from '../converters/toZigbee'; From e07d81b7614222f4d84edbe95a7ea4e4485f93a8 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Thu, 20 Jun 2024 12:56:58 +0200 Subject: [PATCH 17/20] Update and rename AirzoneAidoo.ts to airzone_aidoo.ts --- src/devices/AirzoneAidoo.ts | 47 ------------------------------------ src/devices/airzone_aidoo.ts | 44 +++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 47 deletions(-) delete mode 100644 src/devices/AirzoneAidoo.ts create mode 100644 src/devices/airzone_aidoo.ts diff --git a/src/devices/AirzoneAidoo.ts b/src/devices/AirzoneAidoo.ts deleted file mode 100644 index 7659e86b76061..0000000000000 --- a/src/devices/AirzoneAidoo.ts +++ /dev/null @@ -1,47 +0,0 @@ -import {Definition, Device, Endpoint, Logger} from '../lib/types'; -import * as exposes from '../lib/exposes'; -import fz from '../converters/fromZigbee'; -import tz from '../converters/toZigbee'; -import * as reporting from '../lib/reporting'; - -const e = exposes.presets; -const ea = exposes.access; - -const definition = { - zigbeeModel: ['Aidoo Zigbee'], - model: 'AZAI6ZBEMHI', - vendor: 'Airzone', - description: 'Gateway for two-way control and integration of AirCon Units.AZAI6ZBEMHI for Mitsubishi Heavy', - fromZigbee: [fz.thermostat, fz.on_off, fz.fan], - toZigbee: [ - tz.thermostat_local_temperature, - tz.thermostat_occupied_heating_setpoint, - tz.thermostat_occupied_cooling_setpoint, - tz.thermostat_system_mode, - tz.on_off, - tz.fan_mode, - ], - exposes: [ - e.climate() - .withLocalTemperature() - .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) - .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) - .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) - .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5), - e.switch(), - ], - endpoint: (device) => { - return { 'system': 1 }; - }, - meta: { configureKey: 1 }, - configure: async (device, coordinatorEndpoint, logger) => { - const endpoint = device.getEndpoint(1); - await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); - await reporting.thermostatTemperature(endpoint); - await reporting.thermostatOccupiedHeatingSetpoint(endpoint); - await reporting.onOff(endpoint); - await reporting.fanMode(endpoint); - }, -}; - -module.exports = definition; \ No newline at end of file diff --git a/src/devices/airzone_aidoo.ts b/src/devices/airzone_aidoo.ts new file mode 100644 index 0000000000000..ae6764d5cd812 --- /dev/null +++ b/src/devices/airzone_aidoo.ts @@ -0,0 +1,44 @@ +import {Definition} from '../lib/types'; +import * as exposes from '../lib/exposes'; +import fz from '../converters/fromZigbee'; +import tz from '../converters/toZigbee'; +import * as reporting from '../lib/reporting'; + +const e = exposes.presets; + +const definition: Definition[] = [ + { + zigbeeModel: ['Aidoo Zigbee'], + model: 'AZAI6ZBEMHI', + vendor: 'Airzone', + description: 'Gateway for two-way control and integration of AirCon Units.AZAI6ZBEMHI for Mitsubishi Heavy', + fromZigbee: [fz.thermostat, fz.on_off, fz.fan], + toZigbee: [ + tz.thermostat_local_temperature, + tz.thermostat_occupied_heating_setpoint, + tz.thermostat_occupied_cooling_setpoint, + tz.thermostat_system_mode, + tz.on_off, + tz.fan_mode, + ], + exposes: [ + e.climate() + .withLocalTemperature() + .withSystemMode(['off', 'auto', 'cool', 'heat', 'fan_only', 'dry']) + .withFanMode(['off', 'low', 'medium', 'high', 'on', 'auto']) + .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5) + .withSetpoint('occupied_cooling_setpoint', 5, 30, 0.5), + e.switch(), + ], + configure: async (device, coordinatorEndpoint, logger) => { + const endpoint = device.getEndpoint(1); + await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacFanCtrl', 'genOnOff']); + await reporting.thermostatTemperature(endpoint); + await reporting.thermostatOccupiedHeatingSetpoint(endpoint); + await reporting.onOff(endpoint); + await reporting.fanMode(endpoint); + }, + }, +]; + +module.exports = definition; From 43215a5b38551d7caf8acce028179f6484577d22 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Thu, 20 Jun 2024 12:57:46 +0200 Subject: [PATCH 18/20] Update index.ts --- src/devices/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/devices/index.ts b/src/devices/index.ts index cfca8749f036d..464de6b988181 100644 --- a/src/devices/index.ts +++ b/src/devices/index.ts @@ -4,6 +4,7 @@ import adeo from './adeo'; import adurosmart from './adurosmart'; import aeotec from './aeotec'; import airam from './airam'; +import airzone_aidoo from './airzone_aidoo'; import ajax_online from './ajax_online'; import akuvox from './akuvox'; import alchemy from './alchemy'; @@ -298,6 +299,7 @@ import zemismart from './zemismart'; import zen from './zen'; import zigbeetlc from './zigbeetlc'; import zipato from './zipato'; +import qa from './qa'; export default [ ...acova, @@ -306,6 +308,7 @@ export default [ ...adurosmart, ...aeotec, ...airam, + ...airzone_aidoo, ...ajax_online, ...akuvox, ...alchemy, @@ -600,4 +603,5 @@ export default [ ...zen, ...zigbeetlc, ...zipato, + ...qa, ]; From 60a940eb34d433560d0faebe75647a16874d4212 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Thu, 20 Jun 2024 13:00:41 +0200 Subject: [PATCH 19/20] Update airzone_aidoo.ts --- src/devices/airzone_aidoo.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/devices/airzone_aidoo.ts b/src/devices/airzone_aidoo.ts index ae6764d5cd812..83372e7588143 100644 --- a/src/devices/airzone_aidoo.ts +++ b/src/devices/airzone_aidoo.ts @@ -41,4 +41,5 @@ const definition: Definition[] = [ }, ]; +export default definitions; module.exports = definition; From e83d0851ee6bcc343fa77b38088b4c629144aab7 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Thu, 20 Jun 2024 13:02:19 +0200 Subject: [PATCH 20/20] Update airzone_aidoo.ts --- src/devices/airzone_aidoo.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/devices/airzone_aidoo.ts b/src/devices/airzone_aidoo.ts index 83372e7588143..86b0cfed9430d 100644 --- a/src/devices/airzone_aidoo.ts +++ b/src/devices/airzone_aidoo.ts @@ -6,7 +6,7 @@ import * as reporting from '../lib/reporting'; const e = exposes.presets; -const definition: Definition[] = [ +const definitions: Definition[] = [ { zigbeeModel: ['Aidoo Zigbee'], model: 'AZAI6ZBEMHI', @@ -42,4 +42,4 @@ const definition: Definition[] = [ ]; export default definitions; -module.exports = definition; +module.exports = definitions;