homebridge-salus-cloud 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,237 @@
1
+ /* eslint-disable max-len */
2
+ export const MODEL_CATALOG = {
3
+ '3041': { model: '3041', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
4
+ '3043': { model: '3043', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
5
+ '3315_G': { model: '3315_G', layout: 'Water_Leak_Sensor', categoryId: '5', categoryName: 'Water Leak Sensors' },
6
+ '3315_S': { model: '3315_S', layout: 'Water_Leak_Sensor', categoryId: '5', categoryName: 'Water Leak Sensors' },
7
+ '43102': { model: '43102', layout: 'Smart_Relay', categoryId: '34', categoryName: 'Smart Outlets' },
8
+ '45856': { model: '45856', layout: 'Smart_Relay', categoryId: '32', categoryName: 'Fan Coil Thermostats' },
9
+ '45857': { model: '45857', layout: 'light_switches', categoryId: '27', categoryName: 'Light Switches' },
10
+ 'A60_TW_Z3': { model: 'A60_TW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
11
+ 'AJSQ605RF': { model: 'AJSQ605RF', layout: 'Thermostat_dial_rf', categoryId: '15', categoryName: 'Dial RF Thermostats' },
12
+ 'ALTHCSQ605RF': { model: 'ALTHCSQ605RF', layout: 'Thermostat_dial_rf', categoryId: '15', categoryName: 'Dial RF Thermostats' },
13
+ 'ALTHRCU800': { model: 'ALTHRCU800', layout: 'control_box', categoryId: '37', categoryName: 'Control Box' },
14
+ 'ALTHRSQ800WRF': { model: 'ALTHRSQ800WRF', layout: 'Thermostat_RF', categoryId: '38', categoryName: 'RF Thermostats' },
15
+ 'AnionStop': { model: 'AnionStop', layout: 'AnionStop', categoryId: '201', categoryName: 'ArStop Valve' },
16
+ 'Arjonstop': { model: 'Arjonstop', layout: 'Arjonstop', categoryId: '201', categoryName: 'ArStop Valve' },
17
+ 'AVA10M30RF': { model: 'AVA10M30RF', layout: 'IT600TRV', categoryId: '10', categoryName: 'TRVs' },
18
+ 'AWC_Z': { model: 'AWC_Z', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
19
+ 'B40_DIM_Z3': { model: 'B40_DIM_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
20
+ 'B40_TW_Z3': { model: 'B40_TW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
21
+ 'C900T': { model: 'C900T', layout: 'Thermostat_C900T', categoryId: '202', categoryName: 'Elypso Thermostats' },
22
+ 'CB12RF_IT600': { model: 'CB12RF_IT600', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
23
+ 'CB12RF_Z3': { model: 'CB12RF_Z3', layout: 'cb12rf_z3_wiring_centre', categoryId: '207', categoryName: 'CB12RF ZB3 Wiring Centre' },
24
+ 'CLA60_RGBW_OSRAM': { model: 'CLA60_RGBW_OSRAM', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
25
+ 'Classic_A60_W_clear___LIGHTIFY': { model: 'Classic_A60_W_clear___LIGHTIFY', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
26
+ 'CSB600': { model: 'CSB600', layout: 'smart_button_csb600', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
27
+ 'CTLP631': { model: 'CTLP631', layout: 'Smart_Plugs', categoryId: '7', categoryName: 'Smart Plugs' },
28
+ 'CTLP632': { model: 'CTLP632', layout: 'Smart_Plugs', categoryId: '7', categoryName: 'Smart Plugs' },
29
+ 'CTLS631': { model: 'CTLS631', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
30
+ 'CTLS631E': { model: 'CTLS631E', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
31
+ 'CTLS632': { model: 'CTLS632', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
32
+ 'CTLS632E': { model: 'CTLS632E', layout: 'temp_humid_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
33
+ 'CTLS633': { model: 'CTLS633', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
34
+ 'CTLS633E': { model: 'CTLS633E', layout: 'co2_temp_humid_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
35
+ 'CTLS634': { model: 'CTLS634', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
36
+ 'CTLS634_': { model: 'CTLS634_', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
37
+ 'CTLV630': { model: 'CTLV630', layout: 'trv_v630', categoryId: '11', categoryName: 'TRVs' },
38
+ 'DI600': { model: 'DI600', layout: 'ac_phase_cut_zigbee_dimmers', categoryId: '19', categoryName: 'AC Phase Cut ZigBee Dimmers' },
39
+ 'EasyFingerTouch': { model: 'EasyFingerTouch', layout: 'Door_Locks', categoryId: '300', categoryName: 'Door Locks' },
40
+ 'ECM600': { model: 'ECM600', layout: 'energy_meters', categoryId: '21', categoryName: 'Energy Meters' },
41
+ 'EL600T': { model: 'EL600T', layout: 'Thermostat_C900T', categoryId: '202', categoryName: 'Elypso Thermostats' },
42
+ 'FC600': { model: 'FC600', layout: 'thermostat_fan_coil', categoryId: '32', categoryName: 'Fan Coil Thermostats' },
43
+ 'FC600NH': { model: 'FC600NH', layout: 'thermostat_fan_coil', categoryId: '32', categoryName: 'Fan Coil Thermostats' },
44
+ 'FLEX_RGBW_Z3': { model: 'FLEX_RGBW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
45
+ 'HDW10ZB': { model: 'HDW10ZB', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
46
+ 'HESZB_120': { model: 'HESZB_120', layout: 'develco_heat_sensor', categoryId: '209', categoryName: 'Heat Detector' },
47
+ 'HTR_RF_20_': { model: 'HTR_RF_20_', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
48
+ 'HTRP_RF_50_': { model: 'HTRP_RF_50_', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
49
+ 'HTRS_RF_30_': { model: 'HTRS_RF_30_', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
50
+ 'HTS10ZB': { model: 'HTS10ZB', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
51
+ 'it600HW': { model: 'it600HW', layout: 'hot_water_timer', categoryId: '28', categoryName: 'Hot Water Timers' },
52
+ 'it600HW_AC': { model: 'it600HW_AC', layout: 'hot_water_timer', categoryId: '28', categoryName: 'Hot Water Timers' },
53
+ 'it600HWNH': { model: 'it600HWNH', layout: 'hot_water_timer', categoryId: '28', categoryName: 'Hot Water Timers' },
54
+ 'it600HWNH_AC': { model: 'it600HWNH_AC', layout: 'hot_water_timer', categoryId: '28', categoryName: 'Hot Water Timers' },
55
+ 'it600MINITRV': { model: 'it600MINITRV', layout: 'IT600TRV', categoryId: '10', categoryName: 'TRVs' },
56
+ 'it600MINITRVNH': { model: 'it600MINITRVNH', layout: 'IT600TRV', categoryId: '10', categoryName: 'TRVs' },
57
+ 'IT600PumpWC': { model: 'IT600PumpWC', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
58
+ 'it600Receiver': { model: 'it600Receiver', layout: 'wireless_uncontrollable_equipment', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
59
+ 'it600Repeater': { model: 'it600Repeater', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
60
+ 'it600ThermHW': { model: 'it600ThermHW', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
61
+ 'it600ThermHW_AC': { model: 'it600ThermHW_AC', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
62
+ 'it600ThermHWNH': { model: 'it600ThermHWNH', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
63
+ 'it600ThermHWNH_AC': { model: 'it600ThermHWNH_AC', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
64
+ 'it600TRV': { model: 'it600TRV', layout: 'IT600TRV', categoryId: '10', categoryName: 'TRVs' },
65
+ 'it600WC': { model: 'it600WC', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
66
+ 'it600WCNH': { model: 'it600WCNH', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
67
+ 'IT700TX': { model: 'IT700TX', layout: 'Thermostat_quantum', categoryId: '205', categoryName: 'IT700TX Thermostats' },
68
+ 'IT710TX': { model: 'IT710TX', layout: 'Thermostat_quantum', categoryId: '208', categoryName: 'IT710TX Thermostats' },
69
+ 'IT800TX': { model: 'IT800TX', layout: 'Thermostat_iT800Tx', categoryId: '47', categoryName: 'iT800Tx Thermostats' },
70
+ 'KEPZB_110': { model: 'KEPZB_110', layout: 'key_pad', categoryId: '45', categoryName: 'Keypad' },
71
+ 'KEPZB_112': { model: 'KEPZB_112', layout: 'key_pad', categoryId: '45', categoryName: 'Keypad' },
72
+ 'moisturev4': { model: 'moisturev4', layout: 'Water_Leak_Sensor', categoryId: '5', categoryName: 'Water Leak Sensors' },
73
+ 'Motion_Sensor_A_': { model: 'Motion_Sensor_A_', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
74
+ 'MR16_TW_OSRAM': { model: 'MR16_TW_OSRAM', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
75
+ 'MS600': { model: 'MS600', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
76
+ 'MS610': { model: 'MS610', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
77
+ 'NimlyCode': { model: 'NimlyCode', layout: 'Door_Locks', categoryId: '300', categoryName: 'Door Locks' },
78
+ 'NTSQ605RF': { model: 'NTSQ605RF', layout: 'Thermostat_dial_rf', categoryId: '15', categoryName: 'Dial RF Thermostats' },
79
+ 'NTSQ610NH': { model: 'NTSQ610NH', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
80
+ 'NTSQ610RFNH': { model: 'NTSQ610RFNH', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
81
+ 'NTSW600': { model: 'NTSW600', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
82
+ 'NTVS41': { model: 'NTVS41', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
83
+ 'NTVS41HW': { model: 'NTVS41HW', layout: 'hot_water_timer', categoryId: '28', categoryName: 'Hot Water Timers' },
84
+ 'OS600': { model: 'OS600', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
85
+ 'Outdoor_FLEX_RGBW_Z3': { model: 'Outdoor_FLEX_RGBW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
86
+ 'PAR16_DIM_Z3': { model: 'PAR16_DIM_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
87
+ 'PAR16_RGBW_Z3': { model: 'PAR16_RGBW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
88
+ 'PAR16_TW_Z3': { model: 'PAR16_TW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
89
+ 'PIRSensor_EM': { model: 'PIRSensor_EM', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
90
+ 'PS600': { model: 'PS600', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
91
+ 'RCU800': { model: 'RCU800', layout: 'control_box', categoryId: '37', categoryName: 'Control Box' },
92
+ 'RE600': { model: 'RE600', layout: 'wireless_uncontrollable_device_repeater', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
93
+ 'RS600': { model: 'RS600', layout: 'roller_shutter', categoryId: '30', categoryName: 'Roller Shutters' },
94
+ 'RSQ800WRF': { model: 'RSQ800WRF', layout: 'Thermostat_RF', categoryId: '38', categoryName: 'RF Thermostats' },
95
+ 'RX30RF': { model: 'RX30RF', layout: 'Receiver_RX30RF', categoryId: '203', categoryName: 'Receivers' },
96
+ 'SAL2EM1': { model: 'SAL2EM1', layout: 'energy_meters', categoryId: '21', categoryName: 'Energy Meters' },
97
+ 'SAL3AG1': { model: 'SAL3AG1', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
98
+ 'SAL3AG1_GW': { model: 'SAL3AG1_GW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
99
+ 'SAL3AG1_ZC': { model: 'SAL3AG1_ZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
100
+ 'SAL3AG1AT': { model: 'SAL3AG1AT', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
101
+ 'SAL3AG1AT_GW': { model: 'SAL3AG1AT_GW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
102
+ 'SAL3AG1AT_ZC': { model: 'SAL3AG1AT_ZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
103
+ 'SAL3AG1ATGW': { model: 'SAL3AG1ATGW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
104
+ 'SAL3AG1ATZC': { model: 'SAL3AG1ATZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
105
+ 'SAL3AG1GW': { model: 'SAL3AG1GW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
106
+ 'SAL3AG1ZC': { model: 'SAL3AG1ZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
107
+ 'SAU2AG1_GW': { model: 'SAU2AG1_GW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
108
+ 'SAU2AG1_ZC': { model: 'SAU2AG1_ZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
109
+ 'SAU3AG1': { model: 'SAU3AG1', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
110
+ 'SAU3AG1_GW': { model: 'SAU3AG1_GW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
111
+ 'SAU3AG1_ZC': { model: 'SAU3AG1_ZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
112
+ 'SAU3AG1GW': { model: 'SAU3AG1GW', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
113
+ 'SAU3AG1ZC': { model: 'SAU3AG1ZC', layout: 'SAU2AG1_GW', categoryId: '1', categoryName: 'Gateways' },
114
+ 'SAWZ600GW': { model: 'SAWZ600GW', layout: 'WZ600', categoryId: '1', categoryName: 'Gateways' },
115
+ 'SAWZ600ZC': { model: 'SAWZ600ZC', layout: 'WZ600', categoryId: '1', categoryName: 'Gateways' },
116
+ 'SB600': { model: 'SB600', layout: 'smart_button_sb600', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
117
+ 'SC812ZB': { model: 'SC812ZB', layout: 'Smart_Relay', categoryId: '4', categoryName: 'Smart Relays' },
118
+ 'SC824ZB': { model: 'SC824ZB', layout: 'Smart_Relay', categoryId: '4', categoryName: 'Smart Relays' },
119
+ 'SIR600': { model: 'SIR600', layout: 'smart_ir_ac_controllers', categoryId: '206', categoryName: 'Smart IR AC Controllers' },
120
+ 'SIRZB_110': { model: 'SIRZB_110', layout: 'Siren', categoryId: '46', categoryName: 'Siren' },
121
+ 'SIRZB_112': { model: 'SIRZB_112', layout: 'Siren', categoryId: '46', categoryName: 'Siren' },
122
+ 'SmokeSensor_EM': { model: 'SmokeSensor_EM', layout: 'smoke_sensor', categoryId: '23', categoryName: 'Smoke Detector' },
123
+ 'SMSZB_120': { model: 'SMSZB_120', layout: 'develco_smoke_sensor', categoryId: '23', categoryName: 'Smoke Detector' },
124
+ 'SP600': { model: 'SP600', layout: 'Smart_Plugs', categoryId: '7', categoryName: 'Smart Plugs' },
125
+ 'SPE600': { model: 'SPE600', layout: 'Smart_Plugs', categoryId: '7', categoryName: 'Smart Plugs' },
126
+ 'SQ605RF_WB_': { model: 'SQ605RF_WB_', layout: 'Thermostat_dial_rf', categoryId: '15', categoryName: 'Dial RF Thermostats' },
127
+ 'SQ610': { model: 'SQ610', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
128
+ 'SQ610_WB_': { model: 'SQ610_WB_', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
129
+ 'SQ610NH': { model: 'SQ610NH', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
130
+ 'SQ610NH_WB_': { model: 'SQ610NH_WB_', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
131
+ 'SQ610RF': { model: 'SQ610RF', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
132
+ 'SQ610RF_WB_': { model: 'SQ610RF_WB_', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
133
+ 'SQ610RFNH': { model: 'SQ610RFNH', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
134
+ 'SQ610RFNH_WB_': { model: 'SQ610RFNH_WB_', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
135
+ 'SQ610RFNH1': { model: 'SQ610RFNH1', layout: 'Thermostat_quantum', categoryId: '13', categoryName: 'Quantum Thermostats' },
136
+ 'SQ620B': { model: 'SQ620B', layout: 'thermostat_quantum_plus', categoryId: '210', categoryName: 'Quantum Plus Thermostats' },
137
+ 'SQ620BRF': { model: 'SQ620BRF', layout: 'thermostat_quantum_plus', categoryId: '210', categoryName: 'Quantum Plus Thermostats' },
138
+ 'SR600': { model: 'SR600', layout: 'Smart_Relay', categoryId: '4', categoryName: 'Smart Relays' },
139
+ 'SS881ZB': { model: 'SS881ZB', layout: 'door_sensor', categoryId: '24', categoryName: 'Door Monitors' },
140
+ 'SS882ZB': { model: 'SS882ZB', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
141
+ 'SS883ZB': { model: 'SS883ZB', layout: 'smart_button_csb600', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
142
+ 'SS884ZB': { model: 'SS884ZB', layout: 'smart_button_sb600', categoryId: '6', categoryName: 'Wireless Uncontrollable Devices' },
143
+ 'SS901ZB': { model: 'SS901ZB', layout: 'Water_Leak_Sensor', categoryId: '5', categoryName: 'Water Leak Sensors' },
144
+ 'SS909ZB': { model: 'SS909ZB', layout: 'remote_temperature_sensors', categoryId: '20', categoryName: 'Remote Temperature Sensors' },
145
+ 'SS912ZB': { model: 'SS912ZB', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
146
+ 'SW600': { model: 'SW600', layout: 'window_sensor', categoryId: '9', categoryName: 'Window Monitors' },
147
+ 'SX885ZB': { model: 'SX885ZB', layout: 'Smart_Plugs', categoryId: '7', categoryName: 'Smart Plugs' },
148
+ 'Tibea_TW_Z3': { model: 'Tibea_TW_Z3', layout: 'Common_Light', categoryId: '14', categoryName: 'Light' },
149
+ 'TRV10RFM': { model: 'TRV10RFM', layout: 'IT600TRV', categoryId: '10', categoryName: 'TRVs' },
150
+ 'TRV10RFMNH': { model: 'TRV10RFMNH', layout: 'IT600TRV', categoryId: '10', categoryName: 'TRVs' },
151
+ 'TRV3RF': { model: 'TRV3RF', layout: 'TRV_TRV3RF', categoryId: '204', categoryName: 'TRVs' },
152
+ 'TS600': { model: 'TS600', layout: 'Thermostat_it600', categoryId: '12', categoryName: 'iT600 Thermostats' },
153
+ 'TS600HW': { model: 'TS600HW', layout: 'hot_water_timer', categoryId: '28', categoryName: 'Hot Water Timers' },
154
+ 'WLS600': { model: 'WLS600', layout: 'Water_Leak_Sensor', categoryId: '5', categoryName: 'Water Leak Sensors' },
155
+ 'ZB_MotionSensor_D0000': { model: 'ZB_MotionSensor_D0000', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
156
+ 'ZB_MotionSensor_S00000001': { model: 'ZB_MotionSensor_S00000001', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
157
+ 'ZB_SMART_PIR_ALL_ONOFV2': { model: 'ZB_SMART_PIR_ALL_ONOFV2', layout: 'Motion_Sensor', categoryId: '18', categoryName: 'Motion Sensor' },
158
+ 'ZG9101SAC_HP': { model: 'ZG9101SAC_HP', layout: 'ac_phase_cut_zigbee_dimmers', categoryId: '19', categoryName: 'AC Phase Cut ZigBee Dimmers' },
159
+ };
160
+ function canonicalizeModelKey(model) {
161
+ return model
162
+ .trim()
163
+ .replaceAll(/[^A-Za-z0-9]/g, '_')
164
+ .replaceAll(/_+/g, '_')
165
+ .replaceAll(/^_+|_+$/g, '')
166
+ .toUpperCase();
167
+ }
168
+ const MODEL_CATALOG_BY_CANONICAL_KEY = new Map(Object.values(MODEL_CATALOG).map((entry) => [canonicalizeModelKey(entry.model), entry]));
169
+ function resolveCatalogEntry(model) {
170
+ const direct = MODEL_CATALOG[model];
171
+ if (direct) {
172
+ return direct;
173
+ }
174
+ return MODEL_CATALOG_BY_CANONICAL_KEY.get(canonicalizeModelKey(model));
175
+ }
176
+ const THERMOSTAT_CATEGORY_IDS = new Set(['12', '13', '15', '32', '38', '47', '202', '205', '208', '210']);
177
+ const SWITCH_CATEGORY_IDS = new Set(['4', '7', '8', '28', '33', '34', '37', '45', '46', '203', '206', '207']);
178
+ const LIGHT_CATEGORY_IDS = new Set(['14', '19', '27']);
179
+ const CONTACT_CATEGORY_IDS = new Set(['9', '24']);
180
+ const MOTION_CATEGORY_IDS = new Set(['18']);
181
+ const LEAK_CATEGORY_IDS = new Set(['5']);
182
+ const SMOKE_CATEGORY_IDS = new Set(['23', '209']);
183
+ // Category 6 is "Wireless Uncontrollable Devices" and includes repeaters/buttons,
184
+ // so carbon-monoxide must be inferred from live properties instead of category id.
185
+ const CO_CATEGORY_IDS = new Set();
186
+ const LOCK_CATEGORY_IDS = new Set(['300']);
187
+ const VALVE_CATEGORY_IDS = new Set(['201']);
188
+ const WINDOW_COVERING_CATEGORY_IDS = new Set(['30']);
189
+ const TEMP_SENSOR_CATEGORY_IDS = new Set(['20']);
190
+ export function inferKindFromCatalog(model) {
191
+ const entry = resolveCatalogEntry(model);
192
+ if (!entry) {
193
+ return undefined;
194
+ }
195
+ const categoryId = entry.categoryId;
196
+ if (THERMOSTAT_CATEGORY_IDS.has(categoryId)) {
197
+ return 'thermostat';
198
+ }
199
+ if (WINDOW_COVERING_CATEGORY_IDS.has(categoryId)) {
200
+ return 'windowCovering';
201
+ }
202
+ if (VALVE_CATEGORY_IDS.has(categoryId)) {
203
+ return 'valve';
204
+ }
205
+ if (LOCK_CATEGORY_IDS.has(categoryId)) {
206
+ return 'lock';
207
+ }
208
+ if (LIGHT_CATEGORY_IDS.has(categoryId)) {
209
+ return 'lightbulb';
210
+ }
211
+ if (SWITCH_CATEGORY_IDS.has(categoryId)) {
212
+ return 'switch';
213
+ }
214
+ if (CONTACT_CATEGORY_IDS.has(categoryId)) {
215
+ return 'contactSensor';
216
+ }
217
+ if (MOTION_CATEGORY_IDS.has(categoryId)) {
218
+ return 'motionSensor';
219
+ }
220
+ if (LEAK_CATEGORY_IDS.has(categoryId)) {
221
+ return 'leakSensor';
222
+ }
223
+ if (SMOKE_CATEGORY_IDS.has(categoryId)) {
224
+ return 'smokeSensor';
225
+ }
226
+ if (CO_CATEGORY_IDS.has(categoryId)) {
227
+ return 'carbonMonoxideSensor';
228
+ }
229
+ if (TEMP_SENSOR_CATEGORY_IDS.has(categoryId)) {
230
+ return 'temperatureSensor';
231
+ }
232
+ return undefined;
233
+ }
234
+ export function getCatalogEntry(model) {
235
+ return resolveCatalogEntry(model);
236
+ }
237
+ //# sourceMappingURL=deviceCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceCatalog.js","sourceRoot":"","sources":["../src/deviceCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { API } from 'homebridge';
2
+ declare const _default: (api: API) => void;
3
+ export default _default;
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import { SalusHomebridgePlatform } from './platform.js';
2
+ import { PLATFORM_NAME } from './settings.js';
3
+ export default (api) => {
4
+ api.registerPlatform(PLATFORM_NAME, SalusHomebridgePlatform);
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAe,CAAC,GAAQ,EAAE,EAAE;IAC1B,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAC/D,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { API, Characteristic, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service } from 'homebridge';
2
+ import type { SalusDevice } from './types.js';
3
+ export declare class SalusHomebridgePlatform implements DynamicPlatformPlugin {
4
+ readonly log: Logging;
5
+ readonly api: API;
6
+ readonly Service: typeof Service;
7
+ readonly Characteristic: typeof Characteristic;
8
+ readonly accessories: Map<string, PlatformAccessory>;
9
+ private readonly accessoryHandlers;
10
+ private readonly configTyped;
11
+ private readonly cloudClient;
12
+ private readonly pollIntervalMs;
13
+ private readonly maxParallelPropertyRequests;
14
+ private pollTimer;
15
+ private pollInProgress;
16
+ private launchCompleted;
17
+ constructor(log: Logging, config: PlatformConfig, api: API);
18
+ configureAccessory(accessory: PlatformAccessory): void;
19
+ writeDeviceProperty(device: SalusDevice, propertyName: string, value: unknown): Promise<void>;
20
+ getUnmappedConstraintList(): string[];
21
+ private schedulePoll;
22
+ private pollDevices;
23
+ private addAccessory;
24
+ private restoreOrUpdateAccessory;
25
+ private removeStaleAccessories;
26
+ private deriveProfile;
27
+ }