zigbee-herdsman-converters 25.2.0 → 25.4.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.
Files changed (214) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/converters/fromZigbee.d.ts.map +1 -1
  3. package/dist/converters/fromZigbee.js +5 -3
  4. package/dist/converters/fromZigbee.js.map +1 -1
  5. package/dist/converters/toZigbee.d.ts.map +1 -1
  6. package/dist/converters/toZigbee.js +137 -150
  7. package/dist/converters/toZigbee.js.map +1 -1
  8. package/dist/devices/amina.d.ts.map +1 -1
  9. package/dist/devices/amina.js +7 -37
  10. package/dist/devices/amina.js.map +1 -1
  11. package/dist/devices/aurora_lighting.d.ts.map +1 -1
  12. package/dist/devices/aurora_lighting.js +1 -0
  13. package/dist/devices/aurora_lighting.js.map +1 -1
  14. package/dist/devices/bacchus.d.ts.map +1 -1
  15. package/dist/devices/bacchus.js +6 -2
  16. package/dist/devices/bacchus.js.map +1 -1
  17. package/dist/devices/bitron.js +1 -1
  18. package/dist/devices/bitron.js.map +1 -1
  19. package/dist/devices/bosch.d.ts.map +1 -1
  20. package/dist/devices/bosch.js +38 -25
  21. package/dist/devices/bosch.js.map +1 -1
  22. package/dist/devices/centralite.js.map +1 -1
  23. package/dist/devices/ctm.js.map +1 -1
  24. package/dist/devices/custom_devices_diy.d.ts.map +1 -1
  25. package/dist/devices/custom_devices_diy.js +2 -3
  26. package/dist/devices/custom_devices_diy.js.map +1 -1
  27. package/dist/devices/danfoss.d.ts.map +1 -1
  28. package/dist/devices/danfoss.js +2 -9
  29. package/dist/devices/danfoss.js.map +1 -1
  30. package/dist/devices/dawon_dns.js.map +1 -1
  31. package/dist/devices/develco.d.ts.map +1 -1
  32. package/dist/devices/develco.js.map +1 -1
  33. package/dist/devices/diyruz.js.map +1 -1
  34. package/dist/devices/ewelink.d.ts.map +1 -1
  35. package/dist/devices/ewelink.js +1 -5
  36. package/dist/devices/ewelink.js.map +1 -1
  37. package/dist/devices/gmmts.d.ts.map +1 -1
  38. package/dist/devices/gmmts.js +15 -5
  39. package/dist/devices/gmmts.js.map +1 -1
  40. package/dist/devices/heiman.d.ts.map +1 -1
  41. package/dist/devices/heiman.js +5 -1
  42. package/dist/devices/heiman.js.map +1 -1
  43. package/dist/devices/hive.d.ts.map +1 -1
  44. package/dist/devices/hive.js +48 -0
  45. package/dist/devices/hive.js.map +1 -1
  46. package/dist/devices/ikea.js +1 -1
  47. package/dist/devices/ikea.js.map +1 -1
  48. package/dist/devices/imhotepcreation.js.map +1 -1
  49. package/dist/devices/immax.js.map +1 -1
  50. package/dist/devices/index.d.ts.map +1 -1
  51. package/dist/devices/index.js +2 -0
  52. package/dist/devices/index.js.map +1 -1
  53. package/dist/devices/inovelli.d.ts.map +1 -1
  54. package/dist/devices/inovelli.js +6 -7
  55. package/dist/devices/inovelli.js.map +1 -1
  56. package/dist/devices/keen_home.js.map +1 -1
  57. package/dist/devices/kmpcil.js.map +1 -1
  58. package/dist/devices/legrand.d.ts.map +1 -1
  59. package/dist/devices/legrand.js +2 -0
  60. package/dist/devices/legrand.js.map +1 -1
  61. package/dist/devices/lincukoo.d.ts.map +1 -1
  62. package/dist/devices/lincukoo.js +77 -1
  63. package/dist/devices/lincukoo.js.map +1 -1
  64. package/dist/devices/livolo.d.ts.map +1 -1
  65. package/dist/devices/livolo.js.map +1 -1
  66. package/dist/devices/lixee.d.ts.map +1 -1
  67. package/dist/devices/lixee.js +9 -4
  68. package/dist/devices/lixee.js.map +1 -1
  69. package/dist/devices/lytko.d.ts.map +1 -1
  70. package/dist/devices/lytko.js +12 -10
  71. package/dist/devices/lytko.js.map +1 -1
  72. package/dist/devices/moes.js.map +1 -1
  73. package/dist/devices/niko.d.ts.map +1 -1
  74. package/dist/devices/niko.js +23 -7
  75. package/dist/devices/niko.js.map +1 -1
  76. package/dist/devices/nodon.js.map +1 -1
  77. package/dist/devices/onokom.d.ts +3 -0
  78. package/dist/devices/onokom.d.ts.map +1 -0
  79. package/dist/devices/onokom.js +2127 -0
  80. package/dist/devices/onokom.js.map +1 -0
  81. package/dist/devices/orvibo.d.ts.map +1 -1
  82. package/dist/devices/orvibo.js +9 -3
  83. package/dist/devices/orvibo.js.map +1 -1
  84. package/dist/devices/owon.d.ts.map +1 -1
  85. package/dist/devices/owon.js +2 -3
  86. package/dist/devices/owon.js.map +1 -1
  87. package/dist/devices/perenio.d.ts.map +1 -1
  88. package/dist/devices/perenio.js +1 -1
  89. package/dist/devices/perenio.js.map +1 -1
  90. package/dist/devices/pushok.js.map +1 -1
  91. package/dist/devices/qa.js.map +1 -1
  92. package/dist/devices/salus_controls.d.ts.map +1 -1
  93. package/dist/devices/salus_controls.js.map +1 -1
  94. package/dist/devices/sber.d.ts.map +1 -1
  95. package/dist/devices/sber.js +12 -8
  96. package/dist/devices/sber.js.map +1 -1
  97. package/dist/devices/schneider_electric.d.ts.map +1 -1
  98. package/dist/devices/schneider_electric.js +14 -6
  99. package/dist/devices/schneider_electric.js.map +1 -1
  100. package/dist/devices/sengled.d.ts.map +1 -1
  101. package/dist/devices/sengled.js.map +1 -1
  102. package/dist/devices/shinasystem.js +4 -4
  103. package/dist/devices/shinasystem.js.map +1 -1
  104. package/dist/devices/siglis.js +10 -10
  105. package/dist/devices/siglis.js.map +1 -1
  106. package/dist/devices/simpla_home.d.ts +1 -5
  107. package/dist/devices/simpla_home.d.ts.map +1 -1
  108. package/dist/devices/simpla_home.js +24 -41
  109. package/dist/devices/simpla_home.js.map +1 -1
  110. package/dist/devices/sinope.js.map +1 -1
  111. package/dist/devices/slacky_diy.d.ts.map +1 -1
  112. package/dist/devices/slacky_diy.js +21 -19
  113. package/dist/devices/slacky_diy.js.map +1 -1
  114. package/dist/devices/smartthings.js.map +1 -1
  115. package/dist/devices/sonoff.d.ts +29 -0
  116. package/dist/devices/sonoff.d.ts.map +1 -1
  117. package/dist/devices/sonoff.js +16 -15
  118. package/dist/devices/sonoff.js.map +1 -1
  119. package/dist/devices/sunricher.d.ts +15 -0
  120. package/dist/devices/sunricher.d.ts.map +1 -1
  121. package/dist/devices/sunricher.js +3 -3
  122. package/dist/devices/sunricher.js.map +1 -1
  123. package/dist/devices/tubeszb.js.map +1 -1
  124. package/dist/devices/tuya.d.ts.map +1 -1
  125. package/dist/devices/tuya.js +80 -16
  126. package/dist/devices/tuya.js.map +1 -1
  127. package/dist/devices/ubisys.d.ts.map +1 -1
  128. package/dist/devices/ubisys.js +4 -7
  129. package/dist/devices/ubisys.js.map +1 -1
  130. package/dist/devices/wirenboard.d.ts.map +1 -1
  131. package/dist/devices/wirenboard.js +5 -3
  132. package/dist/devices/wirenboard.js.map +1 -1
  133. package/dist/devices/woox.js +1 -1
  134. package/dist/devices/woox.js.map +1 -1
  135. package/dist/devices/xyzroe.d.ts.map +1 -1
  136. package/dist/devices/xyzroe.js +3 -5
  137. package/dist/devices/xyzroe.js.map +1 -1
  138. package/dist/devices/yandex.d.ts.map +1 -1
  139. package/dist/devices/yandex.js +18 -6
  140. package/dist/devices/yandex.js.map +1 -1
  141. package/dist/devices/yokis.d.ts.map +1 -1
  142. package/dist/devices/yokis.js +4 -6
  143. package/dist/devices/yokis.js.map +1 -1
  144. package/dist/devices/zemismart.d.ts.map +1 -1
  145. package/dist/devices/zemismart.js +2 -1
  146. package/dist/devices/zemismart.js.map +1 -1
  147. package/dist/lib/color.js +7 -7
  148. package/dist/lib/color.js.map +1 -1
  149. package/dist/lib/develco.d.ts +24 -5
  150. package/dist/lib/develco.d.ts.map +1 -1
  151. package/dist/lib/develco.js +2 -2
  152. package/dist/lib/develco.js.map +1 -1
  153. package/dist/lib/ewelink.d.ts +4 -4
  154. package/dist/lib/ewelink.d.ts.map +1 -1
  155. package/dist/lib/ewelink.js.map +1 -1
  156. package/dist/lib/exposes.d.ts.map +1 -1
  157. package/dist/lib/exposes.js +27 -9
  158. package/dist/lib/exposes.js.map +1 -1
  159. package/dist/lib/generateDefinition.js.map +1 -1
  160. package/dist/lib/ikea.d.ts +30 -1
  161. package/dist/lib/ikea.d.ts.map +1 -1
  162. package/dist/lib/ikea.js +9 -4
  163. package/dist/lib/ikea.js.map +1 -1
  164. package/dist/lib/kelvinToXy.js +1 -1
  165. package/dist/lib/kelvinToXy.js.map +1 -1
  166. package/dist/lib/legacy.d.ts +33 -1
  167. package/dist/lib/legacy.d.ts.map +1 -1
  168. package/dist/lib/legacy.js +78 -88
  169. package/dist/lib/legacy.js.map +1 -1
  170. package/dist/lib/legrand.d.ts.map +1 -1
  171. package/dist/lib/legrand.js +5 -6
  172. package/dist/lib/legrand.js.map +1 -1
  173. package/dist/lib/light.d.ts +2 -1
  174. package/dist/lib/light.d.ts.map +1 -1
  175. package/dist/lib/light.js.map +1 -1
  176. package/dist/lib/lumi.d.ts +33 -33
  177. package/dist/lib/lumi.d.ts.map +1 -1
  178. package/dist/lib/lumi.js +17 -18
  179. package/dist/lib/lumi.js.map +1 -1
  180. package/dist/lib/modernExtend.d.ts +42 -58
  181. package/dist/lib/modernExtend.d.ts.map +1 -1
  182. package/dist/lib/modernExtend.js +90 -23
  183. package/dist/lib/modernExtend.js.map +1 -1
  184. package/dist/lib/namron.d.ts +25 -25
  185. package/dist/lib/namron.d.ts.map +1 -1
  186. package/dist/lib/namron.js +7 -8
  187. package/dist/lib/namron.js.map +1 -1
  188. package/dist/lib/nodon.d.ts.map +1 -1
  189. package/dist/lib/nodon.js.map +1 -1
  190. package/dist/lib/philips.d.ts.map +1 -1
  191. package/dist/lib/philips.js +9 -10
  192. package/dist/lib/philips.js.map +1 -1
  193. package/dist/lib/reporting.d.ts +4 -7
  194. package/dist/lib/reporting.d.ts.map +1 -1
  195. package/dist/lib/reporting.js.map +1 -1
  196. package/dist/lib/sunricher.d.ts.map +1 -1
  197. package/dist/lib/sunricher.js +8 -6
  198. package/dist/lib/sunricher.js.map +1 -1
  199. package/dist/lib/tuya.d.ts +4 -4
  200. package/dist/lib/tuya.d.ts.map +1 -1
  201. package/dist/lib/tuya.js +50 -48
  202. package/dist/lib/tuya.js.map +1 -1
  203. package/dist/lib/types.d.ts +2 -1
  204. package/dist/lib/types.d.ts.map +1 -1
  205. package/dist/lib/ubisys.d.ts +88 -8
  206. package/dist/lib/ubisys.d.ts.map +1 -1
  207. package/dist/lib/ubisys.js +0 -3
  208. package/dist/lib/ubisys.js.map +1 -1
  209. package/dist/lib/utils.d.ts +10 -8
  210. package/dist/lib/utils.d.ts.map +1 -1
  211. package/dist/lib/utils.js +14 -7
  212. package/dist/lib/utils.js.map +1 -1
  213. package/dist/models-index.json +1 -1
  214. package/package.json +4 -4
@@ -0,0 +1,2127 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.definitions = void 0;
37
+ const zigbee_herdsman_1 = require("zigbee-herdsman");
38
+ const m = __importStar(require("../lib/modernExtend"));
39
+ const reporting = __importStar(require("../lib/reporting"));
40
+ const manufacturerCode = 0x4703;
41
+ exports.definitions = [
42
+ {
43
+ zigbeeModel: ["AUX-1-ZB-S"],
44
+ model: "AUX-1-ZB-S",
45
+ vendor: "ONOKOM",
46
+ description: "AIR AUX-1-MB-B (Adapter for household and semi-industrial AUX systems)",
47
+ ota: true,
48
+ extend: [
49
+ m.enumLookup({
50
+ name: "ac_connected",
51
+ cluster: "hvacThermostat",
52
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
53
+ lookup: {
54
+ disconnected: 0,
55
+ invalid_data_recieved: 1,
56
+ connected_with_issues: 2,
57
+ connected: 3,
58
+ },
59
+ description: "AC connected",
60
+ access: "STATE",
61
+ }),
62
+ m.onOff({
63
+ powerOnBehavior: false,
64
+ description: "On/off state",
65
+ }),
66
+ m.numeric({
67
+ name: "current_temperature",
68
+ cluster: "hvacThermostat",
69
+ attribute: "localTemp",
70
+ scale: 100,
71
+ unit: "°C",
72
+ description: "Current temperature",
73
+ access: "STATE",
74
+ }),
75
+ m.numeric({
76
+ name: "target_temperature",
77
+ cluster: "hvacThermostat",
78
+ attribute: "occupiedCoolingSetpoint",
79
+ valueMin: 16,
80
+ valueMax: 32,
81
+ valueStep: 0.5,
82
+ scale: 100,
83
+ unit: "°C",
84
+ description: "Target temperature",
85
+ }),
86
+ m.enumLookup({
87
+ name: "system_mode",
88
+ cluster: "hvacThermostat",
89
+ attribute: "systemMode",
90
+ lookup: {
91
+ off: 0,
92
+ auto: 1,
93
+ cool: 3,
94
+ heat: 4,
95
+ fan_only: 7,
96
+ dry: 8,
97
+ },
98
+ description: "System mode",
99
+ }),
100
+ m.numeric({
101
+ name: "outdoor_air_temperature",
102
+ cluster: "hvacThermostat",
103
+ attribute: "outdoorTemp",
104
+ scale: 100,
105
+ unit: "°C",
106
+ description: "Outdoor air temperature",
107
+ access: "STATE",
108
+ }),
109
+ m.numeric({
110
+ name: "zb_fan_speed",
111
+ cluster: "hvacFanCtrl",
112
+ attribute: "fanMode",
113
+ valueMin: 1,
114
+ valueMax: 3,
115
+ valueStep: 1,
116
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
117
+ }),
118
+ m.numeric({
119
+ name: "vertical_vanes",
120
+ cluster: "hvacThermostat",
121
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
122
+ valueMin: 0,
123
+ valueMax: 1,
124
+ valueStep: 1,
125
+ description: "Vertical vanes: Stopped(0), Swing(1)",
126
+ zigbeeCommandOptions: { manufacturerCode },
127
+ }),
128
+ m.numeric({
129
+ name: "horizontal_vanes",
130
+ cluster: "hvacThermostat",
131
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
132
+ valueMin: 0,
133
+ valueMax: 6,
134
+ valueStep: 1,
135
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
136
+ zigbeeCommandOptions: { manufacturerCode },
137
+ }),
138
+ m.numeric({
139
+ name: "fan_speed",
140
+ cluster: "hvacFanCtrl",
141
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
142
+ valueMin: 0,
143
+ valueMax: 3,
144
+ valueStep: 1,
145
+ description: "Fan speed: Auto(0), First(1) - Maximum(3)",
146
+ zigbeeCommandOptions: { manufacturerCode },
147
+ }),
148
+ m.numeric({
149
+ name: "smart_fan_speed",
150
+ cluster: "hvacFanCtrl",
151
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
152
+ valueMin: 0,
153
+ valueMax: 5,
154
+ valueStep: 1,
155
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
156
+ zigbeeCommandOptions: { manufacturerCode },
157
+ }),
158
+ m.numeric({
159
+ name: "vanes_swing",
160
+ cluster: "hvacThermostat",
161
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
162
+ valueMin: 0,
163
+ valueMax: 1,
164
+ valueStep: 1,
165
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
166
+ zigbeeCommandOptions: { manufacturerCode },
167
+ }),
168
+ m.binary({
169
+ name: "quiet_mode",
170
+ cluster: "hvacFanCtrl",
171
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
172
+ valueOn: ["ON", 1],
173
+ valueOff: ["OFF", 0],
174
+ description: "Quiet mode",
175
+ zigbeeCommandOptions: { manufacturerCode },
176
+ }),
177
+ m.binary({
178
+ name: "turbo_mode",
179
+ cluster: "hvacFanCtrl",
180
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
181
+ valueOn: ["ON", 1],
182
+ valueOff: ["OFF", 0],
183
+ description: "Turbo mode",
184
+ zigbeeCommandOptions: { manufacturerCode },
185
+ }),
186
+ m.binary({
187
+ name: "sleep_mode",
188
+ cluster: "hvacThermostat",
189
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
190
+ valueOn: ["ON", 1],
191
+ valueOff: ["OFF", 0],
192
+ description: "Sleep mode",
193
+ zigbeeCommandOptions: { manufacturerCode },
194
+ }),
195
+ m.binary({
196
+ name: "ionization",
197
+ cluster: "hvacThermostat",
198
+ attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
199
+ valueOn: ["ON", 1],
200
+ valueOff: ["OFF", 0],
201
+ description: "Ionization",
202
+ zigbeeCommandOptions: { manufacturerCode },
203
+ }),
204
+ m.binary({
205
+ name: "self_cleaning",
206
+ cluster: "hvacThermostat",
207
+ attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
208
+ valueOn: ["ON", 1],
209
+ valueOff: ["OFF", 0],
210
+ description: "Self cleaning",
211
+ zigbeeCommandOptions: { manufacturerCode },
212
+ }),
213
+ m.binary({
214
+ name: "mold_protection",
215
+ cluster: "hvacThermostat",
216
+ attribute: { ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
217
+ valueOn: ["ON", 1],
218
+ valueOff: ["OFF", 0],
219
+ description: "Mold protection",
220
+ zigbeeCommandOptions: { manufacturerCode },
221
+ }),
222
+ m.binary({
223
+ name: "screen_light",
224
+ cluster: "hvacThermostat",
225
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
226
+ valueOn: ["ON", 1],
227
+ valueOff: ["OFF", 0],
228
+ description: "Screen light",
229
+ zigbeeCommandOptions: { manufacturerCode },
230
+ }),
231
+ ],
232
+ fromZigbee: [],
233
+ configure: async (device, coordinatorEndpoint, logger) => {
234
+ const endpoint = device.getEndpoint(1);
235
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
236
+ await reporting.thermostatTemperature(endpoint);
237
+ await reporting.onOff(endpoint);
238
+ },
239
+ },
240
+ {
241
+ zigbeeModel: ["DK-1-ZB-S"],
242
+ model: "DK-1-ZB-S",
243
+ vendor: "ONOKOM",
244
+ description: "AIR DK-1-MB-B (Adapter for household Daikin systems)",
245
+ ota: true,
246
+ extend: [
247
+ m.enumLookup({
248
+ name: "ac_connected",
249
+ cluster: "hvacThermostat",
250
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
251
+ lookup: {
252
+ disconnected: 0,
253
+ invalid_data_recieved: 1,
254
+ connected_with_issues: 2,
255
+ connected: 3,
256
+ },
257
+ description: "AC connected",
258
+ access: "STATE",
259
+ }),
260
+ m.onOff({
261
+ powerOnBehavior: false,
262
+ description: "On/off state",
263
+ }),
264
+ m.numeric({
265
+ name: "current_temperature",
266
+ cluster: "hvacThermostat",
267
+ attribute: "localTemp",
268
+ scale: 100,
269
+ unit: "°C",
270
+ description: "Current temperature",
271
+ access: "STATE",
272
+ }),
273
+ m.numeric({
274
+ name: "target_temperature",
275
+ cluster: "hvacThermostat",
276
+ attribute: "occupiedCoolingSetpoint",
277
+ valueMin: 16,
278
+ valueMax: 32,
279
+ valueStep: 0.5,
280
+ scale: 100,
281
+ unit: "°C",
282
+ description: "Target temperature",
283
+ }),
284
+ m.enumLookup({
285
+ name: "system_mode",
286
+ cluster: "hvacThermostat",
287
+ attribute: "systemMode",
288
+ lookup: {
289
+ off: 0,
290
+ auto: 1,
291
+ cool: 3,
292
+ heat: 4,
293
+ fan_only: 7,
294
+ dry: 8,
295
+ },
296
+ description: "System mode",
297
+ }),
298
+ m.numeric({
299
+ name: "outdoor_air_temperature",
300
+ cluster: "hvacThermostat",
301
+ attribute: "outdoorTemp",
302
+ scale: 100,
303
+ unit: "°C",
304
+ description: "Outdoor air temperature",
305
+ access: "STATE",
306
+ }),
307
+ m.numeric({
308
+ name: "zb_fan_speed",
309
+ cluster: "hvacFanCtrl",
310
+ attribute: "fanMode",
311
+ valueMin: 1,
312
+ valueMax: 5,
313
+ valueStep: 1,
314
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
315
+ }),
316
+ m.numeric({
317
+ name: "vertical_vanes",
318
+ cluster: "hvacThermostat",
319
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
320
+ valueMin: 0,
321
+ valueMax: 1,
322
+ valueStep: 1,
323
+ description: "Vertical vanes: Stopped(0), Swing(1)",
324
+ zigbeeCommandOptions: { manufacturerCode },
325
+ }),
326
+ m.numeric({
327
+ name: "horizontal_vanes",
328
+ cluster: "hvacThermostat",
329
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
330
+ valueMin: 0,
331
+ valueMax: 1,
332
+ valueStep: 1,
333
+ description: "Horizontal vaneк: Stopped(0), Swing(1)",
334
+ zigbeeCommandOptions: { manufacturerCode },
335
+ }),
336
+ m.numeric({
337
+ name: "fan_speed",
338
+ cluster: "hvacFanCtrl",
339
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
340
+ valueMin: 0,
341
+ valueMax: 5,
342
+ valueStep: 1,
343
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
344
+ zigbeeCommandOptions: { manufacturerCode },
345
+ }),
346
+ m.numeric({
347
+ name: "smart_fan_speed",
348
+ cluster: "hvacFanCtrl",
349
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
350
+ valueMin: 0,
351
+ valueMax: 7,
352
+ valueStep: 1,
353
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
354
+ zigbeeCommandOptions: { manufacturerCode },
355
+ }),
356
+ m.numeric({
357
+ name: "vanes_swing",
358
+ cluster: "hvacThermostat",
359
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
360
+ valueMin: 0,
361
+ valueMax: 1,
362
+ valueStep: 1,
363
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
364
+ zigbeeCommandOptions: { manufacturerCode },
365
+ }),
366
+ m.binary({
367
+ name: "quiet_mode",
368
+ cluster: "hvacFanCtrl",
369
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
370
+ valueOn: ["ON", 1],
371
+ valueOff: ["OFF", 0],
372
+ description: "Quiet mode",
373
+ zigbeeCommandOptions: { manufacturerCode },
374
+ }),
375
+ m.binary({
376
+ name: "eco_mode",
377
+ cluster: "hvacThermostat",
378
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
379
+ valueOn: ["ON", 1],
380
+ valueOff: ["OFF", 0],
381
+ description: "Eco mode",
382
+ zigbeeCommandOptions: { manufacturerCode },
383
+ }),
384
+ m.binary({
385
+ name: "turbo_mode",
386
+ cluster: "hvacFanCtrl",
387
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
388
+ valueOn: ["ON", 1],
389
+ valueOff: ["OFF", 0],
390
+ description: "Turbo mode",
391
+ zigbeeCommandOptions: { manufacturerCode },
392
+ }),
393
+ m.binary({
394
+ name: "screen_light",
395
+ cluster: "hvacThermostat",
396
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
397
+ valueOn: ["ON", 1],
398
+ valueOff: ["OFF", 0],
399
+ description: "Screen light",
400
+ zigbeeCommandOptions: { manufacturerCode },
401
+ }),
402
+ m.binary({
403
+ name: "screen_low_bright",
404
+ cluster: "hvacThermostat",
405
+ attribute: { ID: 0x4733, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
406
+ valueOn: ["ON", 1],
407
+ valueOff: ["OFF", 0],
408
+ description: "Screen low bright",
409
+ zigbeeCommandOptions: { manufacturerCode },
410
+ }),
411
+ ],
412
+ fromZigbee: [],
413
+ configure: async (device, coordinatorEndpoint, logger) => {
414
+ const endpoint = device.getEndpoint(1);
415
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
416
+ await reporting.thermostatTemperature(endpoint);
417
+ await reporting.onOff(endpoint);
418
+ },
419
+ },
420
+ {
421
+ zigbeeModel: ["GR-1-ZB-S"],
422
+ model: "GR-1-ZB-S",
423
+ vendor: "ONOKOM",
424
+ description: "AIR GR-1-MB-B (Adapter for household GREE systems)",
425
+ ota: true,
426
+ extend: [
427
+ m.enumLookup({
428
+ name: "ac_connected",
429
+ cluster: "hvacThermostat",
430
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
431
+ lookup: {
432
+ disconnected: 0,
433
+ invalid_data_recieved: 1,
434
+ connected_with_issues: 2,
435
+ connected: 3,
436
+ },
437
+ description: "AC connected",
438
+ access: "STATE",
439
+ }),
440
+ m.onOff({
441
+ powerOnBehavior: false,
442
+ description: "On/off state",
443
+ }),
444
+ m.numeric({
445
+ name: "current_temperature",
446
+ cluster: "hvacThermostat",
447
+ attribute: "localTemp",
448
+ scale: 100,
449
+ unit: "°C",
450
+ description: "Current temperature",
451
+ access: "STATE",
452
+ }),
453
+ m.numeric({
454
+ name: "target_temperature",
455
+ cluster: "hvacThermostat",
456
+ attribute: "occupiedCoolingSetpoint",
457
+ valueMin: 16,
458
+ valueMax: 30,
459
+ valueStep: 1,
460
+ scale: 100,
461
+ unit: "°C",
462
+ description: "Target temperature",
463
+ }),
464
+ m.enumLookup({
465
+ name: "system_mode",
466
+ cluster: "hvacThermostat",
467
+ attribute: "systemMode",
468
+ lookup: {
469
+ off: 0,
470
+ auto: 1,
471
+ cool: 3,
472
+ heat: 4,
473
+ fan_only: 7,
474
+ dry: 8,
475
+ },
476
+ description: "System mode",
477
+ }),
478
+ m.numeric({
479
+ name: "outdoor_air_temperature",
480
+ cluster: "hvacThermostat",
481
+ attribute: "outdoorTemp",
482
+ scale: 100,
483
+ unit: "°C",
484
+ description: "Outdoor air temperature",
485
+ access: "STATE",
486
+ }),
487
+ m.numeric({
488
+ name: "zb_fan_speed",
489
+ cluster: "hvacFanCtrl",
490
+ attribute: "fanMode",
491
+ valueMin: 1,
492
+ valueMax: 5,
493
+ valueStep: 1,
494
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
495
+ }),
496
+ m.numeric({
497
+ name: "vertical_vanes",
498
+ cluster: "hvacThermostat",
499
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
500
+ valueMin: 0,
501
+ valueMax: 6,
502
+ valueStep: 1,
503
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
504
+ zigbeeCommandOptions: { manufacturerCode },
505
+ }),
506
+ m.numeric({
507
+ name: "horizontal_vanes",
508
+ cluster: "hvacThermostat",
509
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
510
+ valueMin: 0,
511
+ valueMax: 6,
512
+ valueStep: 1,
513
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
514
+ zigbeeCommandOptions: { manufacturerCode },
515
+ }),
516
+ m.numeric({
517
+ name: "fan_speed",
518
+ cluster: "hvacFanCtrl",
519
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
520
+ valueMin: 0,
521
+ valueMax: 5,
522
+ valueStep: 1,
523
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
524
+ zigbeeCommandOptions: { manufacturerCode },
525
+ }),
526
+ m.numeric({
527
+ name: "smart_fan_speed",
528
+ cluster: "hvacFanCtrl",
529
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
530
+ valueMin: 0,
531
+ valueMax: 7,
532
+ valueStep: 1,
533
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
534
+ zigbeeCommandOptions: { manufacturerCode },
535
+ }),
536
+ m.numeric({
537
+ name: "vanes_swing",
538
+ cluster: "hvacThermostat",
539
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
540
+ valueMin: 0,
541
+ valueMax: 1,
542
+ valueStep: 1,
543
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
544
+ zigbeeCommandOptions: { manufacturerCode },
545
+ }),
546
+ m.binary({
547
+ name: "quiet_mode",
548
+ cluster: "hvacFanCtrl",
549
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
550
+ valueOn: ["ON", 1],
551
+ valueOff: ["OFF", 0],
552
+ description: "Quiet mode",
553
+ zigbeeCommandOptions: { manufacturerCode },
554
+ }),
555
+ m.binary({
556
+ name: "eco_mode",
557
+ cluster: "hvacThermostat",
558
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
559
+ valueOn: ["ON", 1],
560
+ valueOff: ["OFF", 0],
561
+ description: "Eco mode",
562
+ zigbeeCommandOptions: { manufacturerCode },
563
+ }),
564
+ m.binary({
565
+ name: "turbo_mode",
566
+ cluster: "hvacFanCtrl",
567
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
568
+ valueOn: ["ON", 1],
569
+ valueOff: ["OFF", 0],
570
+ description: "Turbo mode",
571
+ zigbeeCommandOptions: { manufacturerCode },
572
+ }),
573
+ m.binary({
574
+ name: "sleep_mode",
575
+ cluster: "hvacThermostat",
576
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
577
+ valueOn: ["ON", 1],
578
+ valueOff: ["OFF", 0],
579
+ description: "Sleep mode",
580
+ zigbeeCommandOptions: { manufacturerCode },
581
+ }),
582
+ m.binary({
583
+ name: "ionization",
584
+ cluster: "hvacThermostat",
585
+ attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
586
+ valueOn: ["ON", 1],
587
+ valueOff: ["OFF", 0],
588
+ description: "Ionization",
589
+ zigbeeCommandOptions: { manufacturerCode },
590
+ }),
591
+ m.binary({
592
+ name: "screen_light",
593
+ cluster: "hvacThermostat",
594
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
595
+ valueOn: ["ON", 1],
596
+ valueOff: ["OFF", 0],
597
+ description: "Screen light",
598
+ zigbeeCommandOptions: { manufacturerCode },
599
+ }),
600
+ m.binary({
601
+ name: "disable_screen_when_power_off",
602
+ cluster: "hvacThermostat",
603
+ attribute: { ID: 0x4732, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
604
+ valueOn: ["ON", 1],
605
+ valueOff: ["OFF", 0],
606
+ description: "Disable screen when power off",
607
+ zigbeeCommandOptions: { manufacturerCode },
608
+ }),
609
+ ],
610
+ fromZigbee: [],
611
+ configure: async (device, coordinatorEndpoint, logger) => {
612
+ const endpoint = device.getEndpoint(1);
613
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
614
+ await reporting.thermostatTemperature(endpoint);
615
+ await reporting.onOff(endpoint);
616
+ },
617
+ },
618
+ {
619
+ zigbeeModel: ["GR-3-ZB-S"],
620
+ model: "GR-3-ZB-S",
621
+ vendor: "ONOKOM",
622
+ description: "AIR GR-3-MB-B (Adapter for control of semi-industrial and multi-split systems GREE)",
623
+ ota: true,
624
+ extend: [
625
+ m.enumLookup({
626
+ name: "ac_connected",
627
+ cluster: "hvacThermostat",
628
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
629
+ lookup: {
630
+ disconnected: 0,
631
+ invalid_data_recieved: 1,
632
+ connected_with_issues: 2,
633
+ connected: 3,
634
+ },
635
+ description: "AC connected",
636
+ access: "STATE",
637
+ }),
638
+ m.onOff({
639
+ powerOnBehavior: false,
640
+ description: "On/off state",
641
+ }),
642
+ m.numeric({
643
+ name: "current_temperature",
644
+ cluster: "hvacThermostat",
645
+ attribute: "localTemp",
646
+ scale: 100,
647
+ unit: "°C",
648
+ description: "Current temperature",
649
+ access: "STATE",
650
+ }),
651
+ m.numeric({
652
+ name: "target_temperature",
653
+ cluster: "hvacThermostat",
654
+ attribute: "occupiedCoolingSetpoint",
655
+ valueMin: 16,
656
+ valueMax: 30,
657
+ valueStep: 1,
658
+ scale: 100,
659
+ unit: "°C",
660
+ description: "Target temperature",
661
+ }),
662
+ m.enumLookup({
663
+ name: "system_mode",
664
+ cluster: "hvacThermostat",
665
+ attribute: "systemMode",
666
+ lookup: {
667
+ off: 0,
668
+ auto: 1,
669
+ cool: 3,
670
+ heat: 4,
671
+ fan_only: 7,
672
+ dry: 8,
673
+ },
674
+ description: "System mode",
675
+ }),
676
+ m.numeric({
677
+ name: "outdoor_air_temperature",
678
+ cluster: "hvacThermostat",
679
+ attribute: "outdoorTemp",
680
+ scale: 100,
681
+ unit: "°C",
682
+ description: "Outdoor air temperature",
683
+ access: "STATE",
684
+ }),
685
+ m.numeric({
686
+ name: "zb_fan_speed",
687
+ cluster: "hvacFanCtrl",
688
+ attribute: "fanMode",
689
+ valueMin: 1,
690
+ valueMax: 5,
691
+ valueStep: 1,
692
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
693
+ }),
694
+ m.numeric({
695
+ name: "vertical_vanes",
696
+ cluster: "hvacThermostat",
697
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
698
+ valueMin: 0,
699
+ valueMax: 6,
700
+ valueStep: 1,
701
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
702
+ zigbeeCommandOptions: { manufacturerCode },
703
+ }),
704
+ m.numeric({
705
+ name: "horizontal_vanes",
706
+ cluster: "hvacThermostat",
707
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
708
+ valueMin: 0,
709
+ valueMax: 6,
710
+ valueStep: 1,
711
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
712
+ zigbeeCommandOptions: { manufacturerCode },
713
+ }),
714
+ m.numeric({
715
+ name: "fan_speed",
716
+ cluster: "hvacFanCtrl",
717
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
718
+ valueMin: 0,
719
+ valueMax: 5,
720
+ valueStep: 1,
721
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
722
+ zigbeeCommandOptions: { manufacturerCode },
723
+ }),
724
+ m.numeric({
725
+ name: "smart_fan_speed",
726
+ cluster: "hvacFanCtrl",
727
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
728
+ valueMin: 0,
729
+ valueMax: 7,
730
+ valueStep: 1,
731
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
732
+ zigbeeCommandOptions: { manufacturerCode },
733
+ }),
734
+ m.numeric({
735
+ name: "vanes_swing",
736
+ cluster: "hvacThermostat",
737
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
738
+ valueMin: 0,
739
+ valueMax: 1,
740
+ valueStep: 1,
741
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
742
+ zigbeeCommandOptions: { manufacturerCode },
743
+ }),
744
+ m.binary({
745
+ name: "quiet_mode",
746
+ cluster: "hvacFanCtrl",
747
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
748
+ valueOn: ["ON", 1],
749
+ valueOff: ["OFF", 0],
750
+ description: "Quiet mode",
751
+ zigbeeCommandOptions: { manufacturerCode },
752
+ }),
753
+ m.binary({
754
+ name: "eco_mode",
755
+ cluster: "hvacThermostat",
756
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
757
+ valueOn: ["ON", 1],
758
+ valueOff: ["OFF", 0],
759
+ description: "Eco mode",
760
+ zigbeeCommandOptions: { manufacturerCode },
761
+ }),
762
+ m.binary({
763
+ name: "turbo_mode",
764
+ cluster: "hvacFanCtrl",
765
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
766
+ valueOn: ["ON", 1],
767
+ valueOff: ["OFF", 0],
768
+ description: "Turbo mode",
769
+ zigbeeCommandOptions: { manufacturerCode },
770
+ }),
771
+ m.binary({
772
+ name: "sleep_mode",
773
+ cluster: "hvacThermostat",
774
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
775
+ valueOn: ["ON", 1],
776
+ valueOff: ["OFF", 0],
777
+ description: "Sleep mode",
778
+ zigbeeCommandOptions: { manufacturerCode },
779
+ }),
780
+ m.binary({
781
+ name: "ionization",
782
+ cluster: "hvacThermostat",
783
+ attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
784
+ valueOn: ["ON", 1],
785
+ valueOff: ["OFF", 0],
786
+ description: "Ionization",
787
+ zigbeeCommandOptions: { manufacturerCode },
788
+ }),
789
+ m.binary({
790
+ name: "self_cleaning",
791
+ cluster: "hvacThermostat",
792
+ attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
793
+ valueOn: ["ON", 1],
794
+ valueOff: ["OFF", 0],
795
+ description: "Self cleaning",
796
+ zigbeeCommandOptions: { manufacturerCode },
797
+ }),
798
+ ],
799
+ fromZigbee: [],
800
+ configure: async (device, coordinatorEndpoint, logger) => {
801
+ const endpoint = device.getEndpoint(1);
802
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
803
+ await reporting.thermostatTemperature(endpoint);
804
+ await reporting.onOff(endpoint);
805
+ },
806
+ },
807
+ {
808
+ zigbeeModel: ["HR-1-ZB-S"],
809
+ model: "HR-1-ZB-S",
810
+ vendor: "ONOKOM",
811
+ description: "AIR HR-1-MB-B (Adapter for household and semi-industrial Haier systems)",
812
+ ota: true,
813
+ extend: [
814
+ m.enumLookup({
815
+ name: "ac_connected",
816
+ cluster: "hvacThermostat",
817
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
818
+ lookup: {
819
+ disconnected: 0,
820
+ invalid_data_recieved: 1,
821
+ connected_with_issues: 2,
822
+ connected: 3,
823
+ },
824
+ description: "AC connected",
825
+ access: "STATE",
826
+ }),
827
+ m.onOff({
828
+ powerOnBehavior: false,
829
+ description: "On/off state",
830
+ }),
831
+ m.numeric({
832
+ name: "current_temperature",
833
+ cluster: "hvacThermostat",
834
+ attribute: "localTemp",
835
+ scale: 100,
836
+ unit: "°C",
837
+ description: "Current temperature",
838
+ access: "STATE",
839
+ }),
840
+ m.numeric({
841
+ name: "target_temperature",
842
+ cluster: "hvacThermostat",
843
+ attribute: "occupiedCoolingSetpoint",
844
+ valueMin: 16,
845
+ valueMax: 32,
846
+ valueStep: 1,
847
+ scale: 100,
848
+ unit: "°C",
849
+ description: "Target temperature",
850
+ }),
851
+ m.enumLookup({
852
+ name: "system_mode",
853
+ cluster: "hvacThermostat",
854
+ attribute: "systemMode",
855
+ lookup: {
856
+ off: 0,
857
+ auto: 1,
858
+ cool: 3,
859
+ heat: 4,
860
+ fan_only: 7,
861
+ dry: 8,
862
+ },
863
+ description: "System mode",
864
+ }),
865
+ m.numeric({
866
+ name: "outdoor_air_temperature",
867
+ cluster: "hvacThermostat",
868
+ attribute: "outdoorTemp",
869
+ scale: 100,
870
+ unit: "°C",
871
+ description: "Outdoor air temperature",
872
+ access: "STATE",
873
+ }),
874
+ m.numeric({
875
+ name: "zb_fan_speed",
876
+ cluster: "hvacFanCtrl",
877
+ attribute: "fanMode",
878
+ valueMin: 1,
879
+ valueMax: 3,
880
+ valueStep: 1,
881
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
882
+ }),
883
+ m.numeric({
884
+ name: "vertical_vanes",
885
+ cluster: "hvacThermostat",
886
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
887
+ valueMin: 0,
888
+ valueMax: 6,
889
+ valueStep: 1,
890
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
891
+ zigbeeCommandOptions: { manufacturerCode },
892
+ }),
893
+ m.numeric({
894
+ name: "horizontal_vanes",
895
+ cluster: "hvacThermostat",
896
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
897
+ valueMin: 0,
898
+ valueMax: 8,
899
+ valueStep: 1,
900
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(8)",
901
+ zigbeeCommandOptions: { manufacturerCode },
902
+ }),
903
+ m.numeric({
904
+ name: "fan_speed",
905
+ cluster: "hvacFanCtrl",
906
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
907
+ valueMin: 0,
908
+ valueMax: 3,
909
+ valueStep: 1,
910
+ description: "Fan speed: Auto(0), First(1) - Maximum(3)",
911
+ zigbeeCommandOptions: { manufacturerCode },
912
+ }),
913
+ m.numeric({
914
+ name: "smart_fan_speed",
915
+ cluster: "hvacFanCtrl",
916
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
917
+ valueMin: 0,
918
+ valueMax: 5,
919
+ valueStep: 1,
920
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
921
+ zigbeeCommandOptions: { manufacturerCode },
922
+ }),
923
+ m.numeric({
924
+ name: "vanes_swing",
925
+ cluster: "hvacThermostat",
926
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
927
+ valueMin: 0,
928
+ valueMax: 1,
929
+ valueStep: 1,
930
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
931
+ zigbeeCommandOptions: { manufacturerCode },
932
+ }),
933
+ m.binary({
934
+ name: "quiet_mode",
935
+ cluster: "hvacFanCtrl",
936
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
937
+ valueOn: ["ON", 1],
938
+ valueOff: ["OFF", 0],
939
+ description: "Quiet mode",
940
+ zigbeeCommandOptions: { manufacturerCode },
941
+ }),
942
+ m.binary({
943
+ name: "turbo_mode",
944
+ cluster: "hvacFanCtrl",
945
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
946
+ valueOn: ["ON", 1],
947
+ valueOff: ["OFF", 0],
948
+ description: "Turbo mode",
949
+ zigbeeCommandOptions: { manufacturerCode },
950
+ }),
951
+ m.binary({
952
+ name: "sleep_mode",
953
+ cluster: "hvacThermostat",
954
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
955
+ valueOn: ["ON", 1],
956
+ valueOff: ["OFF", 0],
957
+ description: "Sleep mode",
958
+ zigbeeCommandOptions: { manufacturerCode },
959
+ }),
960
+ m.binary({
961
+ name: "ionization",
962
+ cluster: "hvacThermostat",
963
+ attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
964
+ valueOn: ["ON", 1],
965
+ valueOff: ["OFF", 0],
966
+ description: "Ionization",
967
+ zigbeeCommandOptions: { manufacturerCode },
968
+ }),
969
+ m.binary({
970
+ name: "self_cleaning",
971
+ cluster: "hvacThermostat",
972
+ attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
973
+ valueOn: ["ON", 1],
974
+ valueOff: ["OFF", 0],
975
+ description: "Self cleaning",
976
+ zigbeeCommandOptions: { manufacturerCode },
977
+ }),
978
+ m.binary({
979
+ name: "screen_light",
980
+ cluster: "hvacThermostat",
981
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
982
+ valueOn: ["ON", 1],
983
+ valueOff: ["OFF", 0],
984
+ description: "Screen light",
985
+ zigbeeCommandOptions: { manufacturerCode },
986
+ }),
987
+ m.binary({
988
+ name: "beeper",
989
+ cluster: "hvacThermostat",
990
+ attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
991
+ valueOn: ["ON", 1],
992
+ valueOff: ["OFF", 0],
993
+ description: "Beeper",
994
+ zigbeeCommandOptions: { manufacturerCode },
995
+ }),
996
+ ],
997
+ fromZigbee: [],
998
+ configure: async (device, coordinatorEndpoint, logger) => {
999
+ const endpoint = device.getEndpoint(1);
1000
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1001
+ await reporting.thermostatTemperature(endpoint);
1002
+ await reporting.onOff(endpoint);
1003
+ },
1004
+ },
1005
+ {
1006
+ zigbeeModel: ["HS-3-ZB-S"],
1007
+ model: "HS-3-ZB-S",
1008
+ vendor: "ONOKOM",
1009
+ description: "AIR HS-3-MB-B (Adapter for household Hisesnse systems)",
1010
+ ota: true,
1011
+ extend: [
1012
+ m.enumLookup({
1013
+ name: "ac_connected",
1014
+ cluster: "hvacThermostat",
1015
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1016
+ lookup: {
1017
+ disconnected: 0,
1018
+ invalid_data_recieved: 1,
1019
+ connected_with_issues: 2,
1020
+ connected: 3,
1021
+ },
1022
+ description: "AC connected",
1023
+ access: "STATE",
1024
+ }),
1025
+ m.onOff({
1026
+ powerOnBehavior: false,
1027
+ description: "On/off state",
1028
+ }),
1029
+ m.numeric({
1030
+ name: "current_temperature",
1031
+ cluster: "hvacThermostat",
1032
+ attribute: "localTemp",
1033
+ scale: 100,
1034
+ unit: "°C",
1035
+ description: "Current temperature",
1036
+ access: "STATE",
1037
+ }),
1038
+ m.numeric({
1039
+ name: "target_temperature",
1040
+ cluster: "hvacThermostat",
1041
+ attribute: "occupiedCoolingSetpoint",
1042
+ valueMin: 16,
1043
+ valueMax: 32,
1044
+ valueStep: 1,
1045
+ scale: 100,
1046
+ unit: "°C",
1047
+ description: "Target temperature",
1048
+ }),
1049
+ m.enumLookup({
1050
+ name: "system_mode",
1051
+ cluster: "hvacThermostat",
1052
+ attribute: "systemMode",
1053
+ lookup: {
1054
+ off: 0,
1055
+ auto: 1,
1056
+ cool: 3,
1057
+ heat: 4,
1058
+ fan_only: 7,
1059
+ dry: 8,
1060
+ },
1061
+ description: "System mode",
1062
+ }),
1063
+ m.numeric({
1064
+ name: "outdoor_air_temperature",
1065
+ cluster: "hvacThermostat",
1066
+ attribute: "outdoorTemp",
1067
+ scale: 100,
1068
+ unit: "°C",
1069
+ description: "Outdoor air temperature",
1070
+ access: "STATE",
1071
+ }),
1072
+ m.numeric({
1073
+ name: "zb_fan_speed",
1074
+ cluster: "hvacFanCtrl",
1075
+ attribute: "fanMode",
1076
+ valueMin: 1,
1077
+ valueMax: 5,
1078
+ valueStep: 1,
1079
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1080
+ }),
1081
+ m.numeric({
1082
+ name: "vertical_vanes",
1083
+ cluster: "hvacThermostat",
1084
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1085
+ valueMin: 0,
1086
+ valueMax: 4,
1087
+ valueStep: 1,
1088
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(4)",
1089
+ zigbeeCommandOptions: { manufacturerCode },
1090
+ }),
1091
+ m.numeric({
1092
+ name: "horizontal_vanes",
1093
+ cluster: "hvacThermostat",
1094
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1095
+ valueMin: 0,
1096
+ valueMax: 7,
1097
+ valueStep: 1,
1098
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(7)",
1099
+ zigbeeCommandOptions: { manufacturerCode },
1100
+ }),
1101
+ m.numeric({
1102
+ name: "fan_speed",
1103
+ cluster: "hvacFanCtrl",
1104
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1105
+ valueMin: 0,
1106
+ valueMax: 5,
1107
+ valueStep: 1,
1108
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1109
+ zigbeeCommandOptions: { manufacturerCode },
1110
+ }),
1111
+ m.numeric({
1112
+ name: "smart_fan_speed",
1113
+ cluster: "hvacFanCtrl",
1114
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1115
+ valueMin: 0,
1116
+ valueMax: 7,
1117
+ valueStep: 1,
1118
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1119
+ zigbeeCommandOptions: { manufacturerCode },
1120
+ }),
1121
+ m.numeric({
1122
+ name: "vanes_swing",
1123
+ cluster: "hvacThermostat",
1124
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1125
+ valueMin: 0,
1126
+ valueMax: 1,
1127
+ valueStep: 1,
1128
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1129
+ zigbeeCommandOptions: { manufacturerCode },
1130
+ }),
1131
+ m.binary({
1132
+ name: "quiet_mode",
1133
+ cluster: "hvacFanCtrl",
1134
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1135
+ valueOn: ["ON", 1],
1136
+ valueOff: ["OFF", 0],
1137
+ description: "Quiet mode",
1138
+ zigbeeCommandOptions: { manufacturerCode },
1139
+ }),
1140
+ m.binary({
1141
+ name: "eco_mode",
1142
+ cluster: "hvacThermostat",
1143
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1144
+ valueOn: ["ON", 1],
1145
+ valueOff: ["OFF", 0],
1146
+ description: "Eco mode",
1147
+ zigbeeCommandOptions: { manufacturerCode },
1148
+ }),
1149
+ m.binary({
1150
+ name: "turbo_mode",
1151
+ cluster: "hvacFanCtrl",
1152
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1153
+ valueOn: ["ON", 1],
1154
+ valueOff: ["OFF", 0],
1155
+ description: "Turbo mode",
1156
+ zigbeeCommandOptions: { manufacturerCode },
1157
+ }),
1158
+ m.binary({
1159
+ name: "sleep_mode",
1160
+ cluster: "hvacThermostat",
1161
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1162
+ valueOn: ["ON", 1],
1163
+ valueOff: ["OFF", 0],
1164
+ description: "Sleep mode",
1165
+ zigbeeCommandOptions: { manufacturerCode },
1166
+ }),
1167
+ m.binary({
1168
+ name: "smart_sleep_mode",
1169
+ cluster: "hvacThermostat",
1170
+ attribute: { ID: 0x4736, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1171
+ valueOn: ["ON", 1],
1172
+ valueOff: ["OFF", 0],
1173
+ description: "Smart sleep mode",
1174
+ zigbeeCommandOptions: { manufacturerCode },
1175
+ }),
1176
+ m.binary({
1177
+ name: "ionization",
1178
+ cluster: "hvacThermostat",
1179
+ attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1180
+ valueOn: ["ON", 1],
1181
+ valueOff: ["OFF", 0],
1182
+ description: "Ionization",
1183
+ zigbeeCommandOptions: { manufacturerCode },
1184
+ }),
1185
+ m.binary({
1186
+ name: "smart_eye",
1187
+ cluster: "hvacThermostat",
1188
+ attribute: { ID: 0x4735, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1189
+ valueOn: ["ON", 1],
1190
+ valueOff: ["OFF", 0],
1191
+ description: "Smart eye",
1192
+ zigbeeCommandOptions: { manufacturerCode },
1193
+ }),
1194
+ m.binary({
1195
+ name: "screen_light",
1196
+ cluster: "hvacThermostat",
1197
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1198
+ valueOn: ["ON", 1],
1199
+ valueOff: ["OFF", 0],
1200
+ description: "Screen light",
1201
+ zigbeeCommandOptions: { manufacturerCode },
1202
+ }),
1203
+ m.binary({
1204
+ name: "beeper",
1205
+ cluster: "hvacThermostat",
1206
+ attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1207
+ valueOn: ["ON", 1],
1208
+ valueOff: ["OFF", 0],
1209
+ description: "Beeper",
1210
+ zigbeeCommandOptions: { manufacturerCode },
1211
+ }),
1212
+ ],
1213
+ fromZigbee: [],
1214
+ configure: async (device, coordinatorEndpoint, logger) => {
1215
+ const endpoint = device.getEndpoint(1);
1216
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1217
+ await reporting.thermostatTemperature(endpoint);
1218
+ await reporting.onOff(endpoint);
1219
+ },
1220
+ },
1221
+ {
1222
+ zigbeeModel: ["HT-1-ZB-S"],
1223
+ model: "HT-1-ZB-S",
1224
+ vendor: "ONOKOM",
1225
+ description: "AIR HT-1-MB-B (Adapter for household Hitachi systems)",
1226
+ ota: true,
1227
+ extend: [
1228
+ m.enumLookup({
1229
+ name: "ac_connected",
1230
+ cluster: "hvacThermostat",
1231
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1232
+ lookup: {
1233
+ disconnected: 0,
1234
+ invalid_data_recieved: 1,
1235
+ connected_with_issues: 2,
1236
+ connected: 3,
1237
+ },
1238
+ description: "AC connected",
1239
+ access: "STATE",
1240
+ }),
1241
+ m.onOff({
1242
+ powerOnBehavior: false,
1243
+ description: "On/off state",
1244
+ }),
1245
+ m.numeric({
1246
+ name: "current_temperature",
1247
+ cluster: "hvacThermostat",
1248
+ attribute: "localTemp",
1249
+ scale: 100,
1250
+ unit: "°C",
1251
+ description: "Current temperature",
1252
+ access: "STATE",
1253
+ }),
1254
+ m.numeric({
1255
+ name: "target_temperature",
1256
+ cluster: "hvacThermostat",
1257
+ attribute: "occupiedCoolingSetpoint",
1258
+ valueMin: 16,
1259
+ valueMax: 32,
1260
+ valueStep: 1,
1261
+ scale: 100,
1262
+ unit: "°C",
1263
+ description: "Target temperature",
1264
+ }),
1265
+ m.enumLookup({
1266
+ name: "system_mode",
1267
+ cluster: "hvacThermostat",
1268
+ attribute: "systemMode",
1269
+ lookup: {
1270
+ off: 0,
1271
+ auto: 1,
1272
+ cool: 3,
1273
+ heat: 4,
1274
+ fan_only: 7,
1275
+ dry: 8,
1276
+ },
1277
+ description: "System mode",
1278
+ }),
1279
+ m.numeric({
1280
+ name: "zb_fan_speed",
1281
+ cluster: "hvacFanCtrl",
1282
+ attribute: "fanMode",
1283
+ valueMin: 1,
1284
+ valueMax: 3,
1285
+ valueStep: 1,
1286
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1287
+ }),
1288
+ m.numeric({
1289
+ name: "fan_speed",
1290
+ cluster: "hvacFanCtrl",
1291
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1292
+ valueMin: 0,
1293
+ valueMax: 3,
1294
+ valueStep: 1,
1295
+ description: "Fan speed: Auto(0), First(1) - Maximum(3)",
1296
+ zigbeeCommandOptions: { manufacturerCode },
1297
+ }),
1298
+ m.numeric({
1299
+ name: "smart_fan_speed",
1300
+ cluster: "hvacFanCtrl",
1301
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1302
+ valueMin: 0,
1303
+ valueMax: 4,
1304
+ valueStep: 1,
1305
+ description: "Smart fan speed: Auto (0), Low (1) ... Maximum (3)",
1306
+ zigbeeCommandOptions: { manufacturerCode },
1307
+ }),
1308
+ ],
1309
+ fromZigbee: [],
1310
+ configure: async (device, coordinatorEndpoint, logger) => {
1311
+ const endpoint = device.getEndpoint(1);
1312
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1313
+ await reporting.thermostatTemperature(endpoint);
1314
+ await reporting.onOff(endpoint);
1315
+ },
1316
+ },
1317
+ {
1318
+ zigbeeModel: ["MD-1-ZB-S"],
1319
+ model: "MD-1-ZB-S",
1320
+ vendor: "ONOKOM",
1321
+ description: "AIR MD-1-MB-B (Adapter for household MDV systems)",
1322
+ ota: true,
1323
+ extend: [
1324
+ m.enumLookup({
1325
+ name: "ac_connected",
1326
+ cluster: "hvacThermostat",
1327
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1328
+ lookup: {
1329
+ disconnected: 0,
1330
+ invalid_data_recieved: 1,
1331
+ connected_with_issues: 2,
1332
+ connected: 3,
1333
+ },
1334
+ description: "AC connected",
1335
+ access: "STATE",
1336
+ }),
1337
+ m.onOff({
1338
+ powerOnBehavior: false,
1339
+ description: "On/off state",
1340
+ }),
1341
+ m.numeric({
1342
+ name: "current_temperature",
1343
+ cluster: "hvacThermostat",
1344
+ attribute: "localTemp",
1345
+ scale: 100,
1346
+ unit: "°C",
1347
+ description: "Current temperature",
1348
+ access: "STATE",
1349
+ }),
1350
+ m.numeric({
1351
+ name: "target_temperature",
1352
+ cluster: "hvacThermostat",
1353
+ attribute: "occupiedCoolingSetpoint",
1354
+ valueMin: 16,
1355
+ valueMax: 30,
1356
+ valueStep: 0.5,
1357
+ scale: 100,
1358
+ unit: "°C",
1359
+ description: "Target temperature",
1360
+ }),
1361
+ m.enumLookup({
1362
+ name: "system_mode",
1363
+ cluster: "hvacThermostat",
1364
+ attribute: "systemMode",
1365
+ lookup: {
1366
+ off: 0,
1367
+ auto: 1,
1368
+ cool: 3,
1369
+ heat: 4,
1370
+ fan_only: 7,
1371
+ dry: 8,
1372
+ },
1373
+ description: "System mode",
1374
+ }),
1375
+ m.numeric({
1376
+ name: "zb_fan_speed",
1377
+ cluster: "hvacFanCtrl",
1378
+ attribute: "fanMode",
1379
+ valueMin: 1,
1380
+ valueMax: 5,
1381
+ valueStep: 1,
1382
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1383
+ }),
1384
+ m.numeric({
1385
+ name: "vertical_vanes",
1386
+ cluster: "hvacThermostat",
1387
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1388
+ valueMin: 0,
1389
+ valueMax: 1,
1390
+ valueStep: 1,
1391
+ description: "Vertical vanes: Stopped(0), Swing(1)",
1392
+ zigbeeCommandOptions: { manufacturerCode },
1393
+ }),
1394
+ m.numeric({
1395
+ name: "horizontal_vanes",
1396
+ cluster: "hvacThermostat",
1397
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1398
+ valueMin: 0,
1399
+ valueMax: 1,
1400
+ valueStep: 1,
1401
+ description: "Horizontal vaneк: Stopped(0), Swing(1)",
1402
+ zigbeeCommandOptions: { manufacturerCode },
1403
+ }),
1404
+ m.numeric({
1405
+ name: "fan_speed",
1406
+ cluster: "hvacFanCtrl",
1407
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1408
+ valueMin: 0,
1409
+ valueMax: 5,
1410
+ valueStep: 1,
1411
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1412
+ zigbeeCommandOptions: { manufacturerCode },
1413
+ }),
1414
+ m.numeric({
1415
+ name: "smart_fan_speed",
1416
+ cluster: "hvacFanCtrl",
1417
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1418
+ valueMin: 0,
1419
+ valueMax: 7,
1420
+ valueStep: 1,
1421
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1422
+ zigbeeCommandOptions: { manufacturerCode },
1423
+ }),
1424
+ m.numeric({
1425
+ name: "vanes_swing",
1426
+ cluster: "hvacThermostat",
1427
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1428
+ valueMin: 0,
1429
+ valueMax: 1,
1430
+ valueStep: 1,
1431
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1432
+ zigbeeCommandOptions: { manufacturerCode },
1433
+ }),
1434
+ m.binary({
1435
+ name: "quiet_mode",
1436
+ cluster: "hvacFanCtrl",
1437
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1438
+ valueOn: ["ON", 1],
1439
+ valueOff: ["OFF", 0],
1440
+ description: "Quiet mode",
1441
+ zigbeeCommandOptions: { manufacturerCode },
1442
+ }),
1443
+ m.binary({
1444
+ name: "turbo_mode",
1445
+ cluster: "hvacFanCtrl",
1446
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1447
+ valueOn: ["ON", 1],
1448
+ valueOff: ["OFF", 0],
1449
+ description: "Turbo mode",
1450
+ zigbeeCommandOptions: { manufacturerCode },
1451
+ }),
1452
+ ],
1453
+ fromZigbee: [],
1454
+ configure: async (device, coordinatorEndpoint, logger) => {
1455
+ const endpoint = device.getEndpoint(1);
1456
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1457
+ await reporting.thermostatTemperature(endpoint);
1458
+ await reporting.onOff(endpoint);
1459
+ },
1460
+ },
1461
+ {
1462
+ zigbeeModel: ["MD-3-ZB-S"],
1463
+ model: "MD-3-ZB-S",
1464
+ vendor: "ONOKOM",
1465
+ description: "AIR MD-3-MB-B (Adapter for semi-industrial MDV systems)",
1466
+ ota: true,
1467
+ extend: [
1468
+ m.enumLookup({
1469
+ name: "ac_connected",
1470
+ cluster: "hvacThermostat",
1471
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1472
+ lookup: {
1473
+ disconnected: 0,
1474
+ invalid_data_recieved: 1,
1475
+ connected_with_issues: 2,
1476
+ connected: 3,
1477
+ },
1478
+ description: "AC connected",
1479
+ access: "STATE",
1480
+ }),
1481
+ m.onOff({
1482
+ powerOnBehavior: false,
1483
+ description: "On/off state",
1484
+ }),
1485
+ m.numeric({
1486
+ name: "current_temperature",
1487
+ cluster: "hvacThermostat",
1488
+ attribute: "localTemp",
1489
+ scale: 100,
1490
+ unit: "°C",
1491
+ description: "Current temperature",
1492
+ access: "STATE",
1493
+ }),
1494
+ m.numeric({
1495
+ name: "target_temperature",
1496
+ cluster: "hvacThermostat",
1497
+ attribute: "occupiedCoolingSetpoint",
1498
+ valueMin: 16,
1499
+ valueMax: 30,
1500
+ valueStep: 1,
1501
+ scale: 100,
1502
+ unit: "°C",
1503
+ description: "Target temperature",
1504
+ }),
1505
+ m.enumLookup({
1506
+ name: "system_mode",
1507
+ cluster: "hvacThermostat",
1508
+ attribute: "systemMode",
1509
+ lookup: {
1510
+ off: 0,
1511
+ auto: 1,
1512
+ cool: 3,
1513
+ heat: 4,
1514
+ fan_only: 7,
1515
+ dry: 8,
1516
+ },
1517
+ description: "System mode",
1518
+ }),
1519
+ m.numeric({
1520
+ name: "zb_fan_speed",
1521
+ cluster: "hvacFanCtrl",
1522
+ attribute: "fanMode",
1523
+ valueMin: 1,
1524
+ valueMax: 3,
1525
+ valueStep: 1,
1526
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1527
+ }),
1528
+ m.numeric({
1529
+ name: "horizontal_vanes",
1530
+ cluster: "hvacThermostat",
1531
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1532
+ valueMin: 0,
1533
+ valueMax: 8,
1534
+ valueStep: 1,
1535
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(8)",
1536
+ zigbeeCommandOptions: { manufacturerCode },
1537
+ }),
1538
+ m.numeric({
1539
+ name: "fan_speed",
1540
+ cluster: "hvacFanCtrl",
1541
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1542
+ valueMin: 0,
1543
+ valueMax: 3,
1544
+ valueStep: 1,
1545
+ description: "Fan speed: Auto(0), First(1) - Maximum(3)",
1546
+ zigbeeCommandOptions: { manufacturerCode },
1547
+ }),
1548
+ m.numeric({
1549
+ name: "smart_fan_speed",
1550
+ cluster: "hvacFanCtrl",
1551
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1552
+ valueMin: 0,
1553
+ valueMax: 4,
1554
+ valueStep: 1,
1555
+ description: "Smart fan speed: Auto (0), Low (1) ... Maximum (3)",
1556
+ zigbeeCommandOptions: { manufacturerCode },
1557
+ }),
1558
+ m.numeric({
1559
+ name: "vanes_swing",
1560
+ cluster: "hvacThermostat",
1561
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1562
+ valueMin: 0,
1563
+ valueMax: 1,
1564
+ valueStep: 1,
1565
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1566
+ zigbeeCommandOptions: { manufacturerCode },
1567
+ }),
1568
+ m.binary({
1569
+ name: "eco_mode",
1570
+ cluster: "hvacThermostat",
1571
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1572
+ valueOn: ["ON", 1],
1573
+ valueOff: ["OFF", 0],
1574
+ description: "Eco mode",
1575
+ zigbeeCommandOptions: { manufacturerCode },
1576
+ }),
1577
+ ],
1578
+ fromZigbee: [],
1579
+ configure: async (device, coordinatorEndpoint, logger) => {
1580
+ const endpoint = device.getEndpoint(1);
1581
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1582
+ await reporting.thermostatTemperature(endpoint);
1583
+ await reporting.onOff(endpoint);
1584
+ },
1585
+ },
1586
+ {
1587
+ zigbeeModel: ["ME-1-ZB-S"],
1588
+ model: "ME-1-ZB-S",
1589
+ vendor: "ONOKOM",
1590
+ description: "ONOKOM-AIR-ME-1-MB-B (Adapter for household and semi-industrial Mitsubishi Electric systems)",
1591
+ ota: true,
1592
+ extend: [
1593
+ m.enumLookup({
1594
+ name: "ac_connected",
1595
+ cluster: "hvacThermostat",
1596
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1597
+ lookup: {
1598
+ disconnected: 0,
1599
+ invalid_data_recieved: 1,
1600
+ connected_with_issues: 2,
1601
+ connected: 3,
1602
+ },
1603
+ description: "AC connected",
1604
+ access: "STATE",
1605
+ }),
1606
+ m.onOff({
1607
+ powerOnBehavior: false,
1608
+ description: "On/off state",
1609
+ }),
1610
+ m.numeric({
1611
+ name: "current_temperature",
1612
+ cluster: "hvacThermostat",
1613
+ attribute: "localTemp",
1614
+ scale: 100,
1615
+ unit: "°C",
1616
+ description: "Current temperature",
1617
+ access: "STATE",
1618
+ }),
1619
+ m.numeric({
1620
+ name: "target_temperature",
1621
+ cluster: "hvacThermostat",
1622
+ attribute: "occupiedCoolingSetpoint",
1623
+ valueMin: 16,
1624
+ valueMax: 31,
1625
+ valueStep: 0.5,
1626
+ scale: 100,
1627
+ unit: "°C",
1628
+ description: "Target temperature",
1629
+ }),
1630
+ m.enumLookup({
1631
+ name: "system_mode",
1632
+ cluster: "hvacThermostat",
1633
+ attribute: "systemMode",
1634
+ lookup: {
1635
+ off: 0,
1636
+ auto: 1,
1637
+ cool: 3,
1638
+ heat: 4,
1639
+ fan_only: 7,
1640
+ dry: 8,
1641
+ },
1642
+ description: "System mode",
1643
+ }),
1644
+ m.numeric({
1645
+ name: "zb_fan_speed",
1646
+ cluster: "hvacFanCtrl",
1647
+ attribute: "fanMode",
1648
+ valueMin: 1,
1649
+ valueMax: 4,
1650
+ valueStep: 1,
1651
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1652
+ }),
1653
+ m.numeric({
1654
+ name: "vertical_vanes",
1655
+ cluster: "hvacThermostat",
1656
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1657
+ valueMin: 0,
1658
+ valueMax: 6,
1659
+ valueStep: 1,
1660
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
1661
+ zigbeeCommandOptions: { manufacturerCode },
1662
+ }),
1663
+ m.numeric({
1664
+ name: "horizontal_vanes",
1665
+ cluster: "hvacThermostat",
1666
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1667
+ valueMin: 0,
1668
+ valueMax: 6,
1669
+ valueStep: 1,
1670
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
1671
+ zigbeeCommandOptions: { manufacturerCode },
1672
+ }),
1673
+ m.numeric({
1674
+ name: "fan_speed",
1675
+ cluster: "hvacFanCtrl",
1676
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1677
+ valueMin: 0,
1678
+ valueMax: 4,
1679
+ valueStep: 1,
1680
+ description: "Fan speed: Auto(0), First(1) - Maximum(4)",
1681
+ zigbeeCommandOptions: { manufacturerCode },
1682
+ }),
1683
+ m.numeric({
1684
+ name: "smart_fan_speed",
1685
+ cluster: "hvacFanCtrl",
1686
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1687
+ valueMin: 0,
1688
+ valueMax: 5,
1689
+ valueStep: 1,
1690
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4)",
1691
+ zigbeeCommandOptions: { manufacturerCode },
1692
+ }),
1693
+ m.numeric({
1694
+ name: "vanes_swing",
1695
+ cluster: "hvacThermostat",
1696
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1697
+ valueMin: 0,
1698
+ valueMax: 1,
1699
+ valueStep: 1,
1700
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1701
+ zigbeeCommandOptions: { manufacturerCode },
1702
+ }),
1703
+ m.binary({
1704
+ name: "quiet_mode",
1705
+ cluster: "hvacFanCtrl",
1706
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1707
+ valueOn: ["ON", 1],
1708
+ valueOff: ["OFF", 0],
1709
+ description: "Quiet mode",
1710
+ zigbeeCommandOptions: { manufacturerCode },
1711
+ }),
1712
+ ],
1713
+ fromZigbee: [],
1714
+ configure: async (device, coordinatorEndpoint, logger) => {
1715
+ const endpoint = device.getEndpoint(1);
1716
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1717
+ await reporting.thermostatTemperature(endpoint);
1718
+ await reporting.onOff(endpoint);
1719
+ },
1720
+ },
1721
+ {
1722
+ zigbeeModel: ["TCL-1-ZB-S"],
1723
+ model: "TCL-1-ZB-S",
1724
+ vendor: "ONOKOM",
1725
+ description: "ONOKOM-AIR-TCL-1-MB-B (Adapter for household TCL systems )",
1726
+ ota: true,
1727
+ extend: [
1728
+ m.enumLookup({
1729
+ name: "ac_connected",
1730
+ cluster: "hvacThermostat",
1731
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1732
+ lookup: {
1733
+ disconnected: 0,
1734
+ invalid_data_recieved: 1,
1735
+ connected_with_issues: 2,
1736
+ connected: 3,
1737
+ },
1738
+ description: "AC connected",
1739
+ access: "STATE",
1740
+ }),
1741
+ m.onOff({
1742
+ powerOnBehavior: false,
1743
+ description: "On/off state",
1744
+ }),
1745
+ m.numeric({
1746
+ name: "current_temperature",
1747
+ cluster: "hvacThermostat",
1748
+ attribute: "localTemp",
1749
+ scale: 100,
1750
+ unit: "°C",
1751
+ description: "Current temperature",
1752
+ access: "STATE",
1753
+ }),
1754
+ m.numeric({
1755
+ name: "target_temperature",
1756
+ cluster: "hvacThermostat",
1757
+ attribute: "occupiedCoolingSetpoint",
1758
+ valueMin: 16,
1759
+ valueMax: 31,
1760
+ valueStep: 1,
1761
+ scale: 100,
1762
+ unit: "°C",
1763
+ description: "Target temperature",
1764
+ }),
1765
+ m.enumLookup({
1766
+ name: "system_mode",
1767
+ cluster: "hvacThermostat",
1768
+ attribute: "systemMode",
1769
+ lookup: {
1770
+ off: 0,
1771
+ auto: 1,
1772
+ cool: 3,
1773
+ heat: 4,
1774
+ fan_only: 7,
1775
+ dry: 8,
1776
+ },
1777
+ description: "System mode",
1778
+ }),
1779
+ m.numeric({
1780
+ name: "outdoor_air_temperature",
1781
+ cluster: "hvacThermostat",
1782
+ attribute: "outdoorTemp",
1783
+ scale: 100,
1784
+ unit: "°C",
1785
+ description: "Outdoor air temperature",
1786
+ access: "STATE",
1787
+ }),
1788
+ m.numeric({
1789
+ name: "zb_fan_speed",
1790
+ cluster: "hvacFanCtrl",
1791
+ attribute: "fanMode",
1792
+ valueMin: 1,
1793
+ valueMax: 5,
1794
+ valueStep: 1,
1795
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1796
+ }),
1797
+ m.numeric({
1798
+ name: "vertical_vanes",
1799
+ cluster: "hvacThermostat",
1800
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1801
+ valueMin: 0,
1802
+ valueMax: 7,
1803
+ valueStep: 1,
1804
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
1805
+ zigbeeCommandOptions: { manufacturerCode },
1806
+ }),
1807
+ m.numeric({
1808
+ name: "horizontal_vanes",
1809
+ cluster: "hvacThermostat",
1810
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1811
+ valueMin: 0,
1812
+ valueMax: 6,
1813
+ valueStep: 1,
1814
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
1815
+ zigbeeCommandOptions: { manufacturerCode },
1816
+ }),
1817
+ m.numeric({
1818
+ name: "fan_speed",
1819
+ cluster: "hvacFanCtrl",
1820
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1821
+ valueMin: 0,
1822
+ valueMax: 5,
1823
+ valueStep: 1,
1824
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1825
+ zigbeeCommandOptions: { manufacturerCode },
1826
+ }),
1827
+ m.numeric({
1828
+ name: "smart_fan_speed",
1829
+ cluster: "hvacFanCtrl",
1830
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1831
+ valueMin: 0,
1832
+ valueMax: 7,
1833
+ valueStep: 1,
1834
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1835
+ zigbeeCommandOptions: { manufacturerCode },
1836
+ }),
1837
+ m.numeric({
1838
+ name: "vanes_swing",
1839
+ cluster: "hvacThermostat",
1840
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1841
+ valueMin: 0,
1842
+ valueMax: 1,
1843
+ valueStep: 1,
1844
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1845
+ zigbeeCommandOptions: { manufacturerCode },
1846
+ }),
1847
+ m.binary({
1848
+ name: "quiet_mode",
1849
+ cluster: "hvacFanCtrl",
1850
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1851
+ valueOn: ["ON", 1],
1852
+ valueOff: ["OFF", 0],
1853
+ description: "Quiet mode",
1854
+ zigbeeCommandOptions: { manufacturerCode },
1855
+ }),
1856
+ m.binary({
1857
+ name: "eco_mode",
1858
+ cluster: "hvacThermostat",
1859
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1860
+ valueOn: ["ON", 1],
1861
+ valueOff: ["OFF", 0],
1862
+ description: "Eco mode",
1863
+ zigbeeCommandOptions: { manufacturerCode },
1864
+ }),
1865
+ m.binary({
1866
+ name: "turbo_mode",
1867
+ cluster: "hvacFanCtrl",
1868
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1869
+ valueOn: ["ON", 1],
1870
+ valueOff: ["OFF", 0],
1871
+ description: "Turbo mode",
1872
+ zigbeeCommandOptions: { manufacturerCode },
1873
+ }),
1874
+ m.binary({
1875
+ name: "sleep_mode",
1876
+ cluster: "hvacThermostat",
1877
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1878
+ valueOn: ["ON", 1],
1879
+ valueOff: ["OFF", 0],
1880
+ description: "Sleep mode",
1881
+ zigbeeCommandOptions: { manufacturerCode },
1882
+ }),
1883
+ m.binary({
1884
+ name: "ionization",
1885
+ cluster: "hvacThermostat",
1886
+ attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1887
+ valueOn: ["ON", 1],
1888
+ valueOff: ["OFF", 0],
1889
+ description: "Ionization",
1890
+ zigbeeCommandOptions: { manufacturerCode },
1891
+ }),
1892
+ m.binary({
1893
+ name: "self_cleaning",
1894
+ cluster: "hvacThermostat",
1895
+ attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1896
+ valueOn: ["ON", 1],
1897
+ valueOff: ["OFF", 0],
1898
+ description: "Self cleaning",
1899
+ zigbeeCommandOptions: { manufacturerCode },
1900
+ }),
1901
+ m.binary({
1902
+ name: "mold_protection",
1903
+ cluster: "hvacThermostat",
1904
+ attribute: { ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1905
+ valueOn: ["ON", 1],
1906
+ valueOff: ["OFF", 0],
1907
+ description: "Mold protection",
1908
+ zigbeeCommandOptions: { manufacturerCode },
1909
+ }),
1910
+ m.binary({
1911
+ name: "heating_8_deg",
1912
+ cluster: "hvacThermostat",
1913
+ attribute: { ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1914
+ valueOn: ["ON", 1],
1915
+ valueOff: ["OFF", 0],
1916
+ description: "Heating 8 deg",
1917
+ zigbeeCommandOptions: { manufacturerCode },
1918
+ }),
1919
+ m.binary({
1920
+ name: "gentle_wind",
1921
+ cluster: "hvacThermostat",
1922
+ attribute: { ID: 0x4725, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1923
+ valueOn: ["ON", 1],
1924
+ valueOff: ["OFF", 0],
1925
+ description: "Gentle wind",
1926
+ zigbeeCommandOptions: { manufacturerCode },
1927
+ }),
1928
+ m.binary({
1929
+ name: "screen_light",
1930
+ cluster: "hvacThermostat",
1931
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1932
+ valueOn: ["ON", 1],
1933
+ valueOff: ["OFF", 0],
1934
+ description: "Screen light",
1935
+ zigbeeCommandOptions: { manufacturerCode },
1936
+ }),
1937
+ m.binary({
1938
+ name: "beeper",
1939
+ cluster: "hvacThermostat",
1940
+ attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1941
+ valueOn: ["ON", 1],
1942
+ valueOff: ["OFF", 0],
1943
+ description: "Beeper",
1944
+ zigbeeCommandOptions: { manufacturerCode },
1945
+ }),
1946
+ ],
1947
+ fromZigbee: [],
1948
+ configure: async (device, coordinatorEndpoint, logger) => {
1949
+ const endpoint = device.getEndpoint(1);
1950
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1951
+ await reporting.thermostatTemperature(endpoint);
1952
+ await reporting.onOff(endpoint);
1953
+ },
1954
+ },
1955
+ {
1956
+ zigbeeModel: ["TCL-3-ZB-S"],
1957
+ model: "TCL-3-ZB-S",
1958
+ vendor: "ONOKOM",
1959
+ description: "AIR TCL-3-MB-B (Adapter for semi industrial TCL systems)",
1960
+ ota: true,
1961
+ extend: [
1962
+ m.enumLookup({
1963
+ name: "ac_connected",
1964
+ cluster: "hvacThermostat",
1965
+ attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1966
+ lookup: {
1967
+ disconnected: 0,
1968
+ invalid_data_recieved: 1,
1969
+ connected_with_issues: 2,
1970
+ connected: 3,
1971
+ },
1972
+ description: "AC connected",
1973
+ access: "STATE",
1974
+ }),
1975
+ m.onOff({
1976
+ powerOnBehavior: false,
1977
+ description: "On/off state",
1978
+ }),
1979
+ m.numeric({
1980
+ name: "current_temperature",
1981
+ cluster: "hvacThermostat",
1982
+ attribute: "localTemp",
1983
+ scale: 100,
1984
+ unit: "°C",
1985
+ description: "Current temperature",
1986
+ access: "STATE",
1987
+ }),
1988
+ m.numeric({
1989
+ name: "target_temperature",
1990
+ cluster: "hvacThermostat",
1991
+ attribute: "occupiedCoolingSetpoint",
1992
+ valueMin: 16,
1993
+ valueMax: 31,
1994
+ valueStep: 0.5,
1995
+ scale: 100,
1996
+ unit: "°C",
1997
+ description: "Target temperature",
1998
+ }),
1999
+ m.enumLookup({
2000
+ name: "system_mode",
2001
+ cluster: "hvacThermostat",
2002
+ attribute: "systemMode",
2003
+ lookup: {
2004
+ off: 0,
2005
+ auto: 1,
2006
+ cool: 3,
2007
+ heat: 4,
2008
+ fan_only: 7,
2009
+ dry: 8,
2010
+ },
2011
+ description: "System mode",
2012
+ }),
2013
+ m.numeric({
2014
+ name: "zb_fan_speed",
2015
+ cluster: "hvacFanCtrl",
2016
+ attribute: "fanMode",
2017
+ valueMin: 1,
2018
+ valueMax: 5,
2019
+ valueStep: 1,
2020
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
2021
+ }),
2022
+ m.numeric({
2023
+ name: "vertical_vanes",
2024
+ cluster: "hvacThermostat",
2025
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2026
+ valueMin: 0,
2027
+ valueMax: 1,
2028
+ valueStep: 1,
2029
+ description: "Vertical vanes: Stopped(0), Swing(1)",
2030
+ zigbeeCommandOptions: { manufacturerCode },
2031
+ }),
2032
+ m.numeric({
2033
+ name: "horizontal_vanes",
2034
+ cluster: "hvacThermostat",
2035
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2036
+ valueMin: 1,
2037
+ valueMax: 8,
2038
+ valueStep: 1,
2039
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(8)",
2040
+ zigbeeCommandOptions: { manufacturerCode },
2041
+ }),
2042
+ m.numeric({
2043
+ name: "fan_speed",
2044
+ cluster: "hvacFanCtrl",
2045
+ attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2046
+ valueMin: 0,
2047
+ valueMax: 5,
2048
+ valueStep: 1,
2049
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
2050
+ zigbeeCommandOptions: { manufacturerCode },
2051
+ }),
2052
+ m.numeric({
2053
+ name: "smart_fan_speed",
2054
+ cluster: "hvacFanCtrl",
2055
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2056
+ valueMin: 0,
2057
+ valueMax: 7,
2058
+ valueStep: 1,
2059
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
2060
+ zigbeeCommandOptions: { manufacturerCode },
2061
+ }),
2062
+ m.numeric({
2063
+ name: "vanes_swing",
2064
+ cluster: "hvacThermostat",
2065
+ attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2066
+ valueMin: 0,
2067
+ valueMax: 1,
2068
+ valueStep: 1,
2069
+ description: "Vanes swing: Stopped0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
2070
+ zigbeeCommandOptions: { manufacturerCode },
2071
+ }),
2072
+ m.binary({
2073
+ name: "quiet_mode",
2074
+ cluster: "hvacFanCtrl",
2075
+ attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2076
+ valueOn: ["ON", 1],
2077
+ valueOff: ["OFF", 0],
2078
+ description: "Quiet mode",
2079
+ zigbeeCommandOptions: { manufacturerCode },
2080
+ }),
2081
+ m.binary({
2082
+ name: "eco_mode",
2083
+ cluster: "hvacThermostat",
2084
+ attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2085
+ valueOn: ["ON", 1],
2086
+ valueOff: ["OFF", 0],
2087
+ description: "Eco mode",
2088
+ zigbeeCommandOptions: { manufacturerCode },
2089
+ }),
2090
+ m.binary({
2091
+ name: "turbo_mode",
2092
+ cluster: "hvacFanCtrl",
2093
+ attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2094
+ valueOn: ["ON", 1],
2095
+ valueOff: ["OFF", 0],
2096
+ description: "Turbo mode",
2097
+ zigbeeCommandOptions: { manufacturerCode },
2098
+ }),
2099
+ m.binary({
2100
+ name: "sleep_mode",
2101
+ cluster: "hvacThermostat",
2102
+ attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2103
+ valueOn: ["ON", 1],
2104
+ valueOff: ["OFF", 0],
2105
+ description: "Sleep mode",
2106
+ zigbeeCommandOptions: { manufacturerCode },
2107
+ }),
2108
+ m.binary({
2109
+ name: "screen_light",
2110
+ cluster: "hvacThermostat",
2111
+ attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2112
+ valueOn: ["ON", 1],
2113
+ valueOff: ["OFF", 0],
2114
+ description: "Screen light",
2115
+ zigbeeCommandOptions: { manufacturerCode },
2116
+ }),
2117
+ ],
2118
+ fromZigbee: [],
2119
+ configure: async (device, coordinatorEndpoint, logger) => {
2120
+ const endpoint = device.getEndpoint(1);
2121
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
2122
+ await reporting.thermostatTemperature(endpoint);
2123
+ await reporting.onOff(endpoint);
2124
+ },
2125
+ },
2126
+ ];
2127
+ //# sourceMappingURL=onokom.js.map