homebridge-midea-platform 1.2.10-beta.5 → 1.2.10-beta.6
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.
- package/CHANGELOG.md +4 -0
- package/T_0000_CC_6.lua +988 -0
- package/dist/accessory/AirConditionerAccessory.d.ts +2 -0
- package/dist/accessory/AirConditionerAccessory.js +16 -0
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/platformUtils.d.ts +1 -0
- package/dist/platformUtils.js +1 -0
- package/dist/platformUtils.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
# v1.2.10
|
|
4
|
+
- fix: added logic to persist fan speed when toggling fan related modes (like sleep mode, boost mode, etc...) in `Air Conditioner` (fixes #158)
|
|
5
|
+
- feat: added separate switch for setting `Air Conditioner` fan auto mode (fixes #152)
|
|
6
|
+
|
|
3
7
|
# v1.2.9
|
|
4
8
|
- feat: added separate temperature sensor creation option for `Air Conditioner` (fixes #141)
|
|
5
9
|
|
package/T_0000_CC_6.lua
ADDED
|
@@ -0,0 +1,988 @@
|
|
|
1
|
+
local JSON = require 'cjson'
|
|
2
|
+
local KEY_VERSION = 'version'
|
|
3
|
+
local KEY_CMD_TYPE = 'cmd_type'
|
|
4
|
+
local KEY_POWER = 'power'
|
|
5
|
+
local KEY_MODE = 'mode'
|
|
6
|
+
local KEY_WIND_SPEED = 'wind_speed'
|
|
7
|
+
local KEY_TEMPERATURE = 'temperature'
|
|
8
|
+
local KEY_SMALL_TEMPERATURE = 'small_temperature'
|
|
9
|
+
local KEY_CONTROL_FAN_SPEED = 'control_fan_speed'
|
|
10
|
+
local KEY_PTC_SETTING = 'ptc_setting'
|
|
11
|
+
local KEY_PTC_POWER = 'ptc'
|
|
12
|
+
local KEY_EXHAUST = 'exhaust'
|
|
13
|
+
local KEY_WIND_UD = 'wind_swing_ud'
|
|
14
|
+
local KEY_ECO = 'eco'
|
|
15
|
+
local KEY_WIND_SWING_LR = 'wind_swing_lr'
|
|
16
|
+
local KEY_WIND_SWING_UD_SITE = 'wind_swing_ud_site'
|
|
17
|
+
local KEY_WIND_SWING_LR_SITE = 'wind_swing_lr_site'
|
|
18
|
+
local KEY_POWER_OFF_TIME = 'power_off_time_value'
|
|
19
|
+
local KEY_POWER_ON_TIME = 'power_on_time_value'
|
|
20
|
+
local KEY_SLEEP_SWITCH = 'sleep_switch'
|
|
21
|
+
local KEY_DIGIT_DISPLAY_SWITCH = 'digit_display_switch'
|
|
22
|
+
local KEY_INDOOR_TEMPERATURE = 'indoor_temperature'
|
|
23
|
+
local KEY_EVAPORATOR_ENTRANCE_TEMPERATURE = 'evaporator_entrance_temperature'
|
|
24
|
+
local KEY_EVAPORATOR_EXIT_TEMPERATURE = 'evaporator_exit_temperature'
|
|
25
|
+
local KEY_ERROR_FROM_MACHINE_STYLE = 'error_from_machine_style'
|
|
26
|
+
local KEY_ERROR_CODE = 'error_code'
|
|
27
|
+
|
|
28
|
+
local VALUE_VERSION = '6'
|
|
29
|
+
local VALUE_CMD_COMMON = 'cmd_common'
|
|
30
|
+
local VALUE_CMD_LOCK = 'cmd_lock'
|
|
31
|
+
local VALUE_CMD_SMART = 'cmd_smart'
|
|
32
|
+
local VALUE_CMD_QUERY_COMMON = 'cmd_query_common'
|
|
33
|
+
local VALUE_CMD_NOT_SUPPORT = 'cmd_not_support'
|
|
34
|
+
local VALUE_MODE_AUTO = 'auto'
|
|
35
|
+
local VALUE_MODE_COOL = 'cool'
|
|
36
|
+
local VALUE_MODE_HEAT = 'heat'
|
|
37
|
+
local VALUE_MODE_DRY = 'dry'
|
|
38
|
+
local VALUE_MODE_FAN = 'fan'
|
|
39
|
+
local VALUE_WIND_AUTO = 'auto'
|
|
40
|
+
local VALUE_WIND_POWER = 'power'
|
|
41
|
+
local VALUE_WIND_SUPER_HIGH = 'super_high'
|
|
42
|
+
local VALUE_WIND_HIGH = 'high'
|
|
43
|
+
local VALUE_WIND_MIDDLE = 'middle'
|
|
44
|
+
local VALUE_WIND_LOW = 'low'
|
|
45
|
+
local VALUE_WIND_MICRON = 'micron'
|
|
46
|
+
local VALUE_WIND_SLEEP = 'sleep'
|
|
47
|
+
local VALUE_PTC_SETTING_AUTO = 'ptc_setting_auto'
|
|
48
|
+
local VALUE_PTC_SETTING_ON = 'ptc_setting_on'
|
|
49
|
+
local VALUE_PTC_SETTING_OFF = 'ptc_setting_off'
|
|
50
|
+
local VALUE_ON = 'on'
|
|
51
|
+
local VALUE_OFF = 'off'
|
|
52
|
+
local VALUE_SWING_UD_NO_SITE = 'swing_ud_no_site'
|
|
53
|
+
local VALUE_SWING_UD_SITE1 = 'swing_ud_site_1'
|
|
54
|
+
local VALUE_SWING_UD_SITE2 = 'swing_ud_site_2'
|
|
55
|
+
local VALUE_SWING_UD_SITE3 = 'swing_ud_site_3'
|
|
56
|
+
local VALUE_SWING_UD_SITE4 = 'swing_ud_site_4'
|
|
57
|
+
local VALUE_SWING_UD_SITE5 = 'swing_ud_site_5'
|
|
58
|
+
local VALUE_SWING_UD_SITE6 = 'swing_ud_site_6'
|
|
59
|
+
local VALUE_SWING_LR_NO_SITE = 'swing_lr_no_site'
|
|
60
|
+
local VALUE_SWING_LR_SITE1 = 'swing_lr_site_1'
|
|
61
|
+
local VALUE_SWING_LR_SITE2 = 'swing_lr_site_2'
|
|
62
|
+
local VALUE_SWING_LR_SITE3 = 'swing_lr_site_3'
|
|
63
|
+
local VALUE_SWING_LR_SITE4 = 'swing_lr_site_4'
|
|
64
|
+
local VALUE_SWING_LR_SITE5 = 'swing_lr_site_5'
|
|
65
|
+
local VALUE_SWING_LR_SITE6 = 'swing_lr_site_6'
|
|
66
|
+
local VALUE_ERROR_FROM_OUTSIDE_MACHINE = 'error_from_outside_machine'
|
|
67
|
+
local VALUE_ERROR_FROM_INSIDE_MACHINE = 'error_from_inside_machine'
|
|
68
|
+
|
|
69
|
+
local BYTE_DEVICE_TYPE = 0xCC
|
|
70
|
+
local BYTE_CONTROL_REQUEST = 0x02
|
|
71
|
+
local BYTE_QUERY_STATUS_REQUEST = 0x03
|
|
72
|
+
local BYTE_PROTOCOL_HEAD = 0xAA
|
|
73
|
+
local BYTE_PROTOCOL_LENGTH = 0x0A
|
|
74
|
+
local BYTE_CMD_COMMON = 0xC3
|
|
75
|
+
local BYTE_CMD_LOCK = 0xB0
|
|
76
|
+
local BYTE_CMD_SMART = 0xE0
|
|
77
|
+
local BYTE_CMD_QUERY_COMMON = 0x01
|
|
78
|
+
local BYTE_CMD_NOT_SUPPORT = 0xD0
|
|
79
|
+
local BYTE_POWER_ON = 0x80
|
|
80
|
+
local BYTE_POWER_OFF = 0x00
|
|
81
|
+
local BYTE_MODE_AUTO = 0x10
|
|
82
|
+
local BYTE_MODE_COOL = 0x08
|
|
83
|
+
local BYTE_MODE_HEAT = 0x04
|
|
84
|
+
local BYTE_MODE_DRY = 0x02
|
|
85
|
+
local BYTE_MODE_FAN = 0x01
|
|
86
|
+
local BYTE_FANSPEED_AUTO = 0x80
|
|
87
|
+
local BYTE_FANSPEED_POWER = 0x40
|
|
88
|
+
local BYTE_FANSPEED_SUPER_HIGH = 0x20
|
|
89
|
+
local BYTE_FANSPEED_HIGH = 0x10
|
|
90
|
+
local BYTE_FANSPEED_MID = 0x08
|
|
91
|
+
local BYTE_FANSPEED_LOW = 0x04
|
|
92
|
+
local BYTE_FANSPEED_MICRON = 0x02
|
|
93
|
+
local BYTE_FANSPEED_SLEEP = 0x01
|
|
94
|
+
local BYTE_TEMPERATURE_MIN = 0x11
|
|
95
|
+
local BYTE_TEMPERATURE_MAX = 0x1E
|
|
96
|
+
local BYTE_PTC_SETTING_AUTO = 0x00
|
|
97
|
+
local BYTE_PTC_SETTING_ON = 0x10
|
|
98
|
+
local BYTE_PTC_SETTING_OFF = 0x20
|
|
99
|
+
local BYTE_PTC_POWER_ON = 0x02
|
|
100
|
+
local BYTE_PTC_POWER_OFF = 0x00
|
|
101
|
+
local BYTE_EXHAUST_ON = 0x08
|
|
102
|
+
local BYTE_EXHAUST_OFF = 0x00
|
|
103
|
+
local BYTE_SWING_UD_ON = 0x04
|
|
104
|
+
local BYTE_SWING_UD_OFF = 0x00
|
|
105
|
+
local BYTE_SWING_UD_NO_SITE = 0x00
|
|
106
|
+
local BYTE_SWING_UD_SITE1 = 0x01
|
|
107
|
+
local BYTE_SWING_UD_SITE2 = 0x02
|
|
108
|
+
local BYTE_SWING_UD_SITE3 = 0x03
|
|
109
|
+
local BYTE_SWING_UD_SITE4 = 0x04
|
|
110
|
+
local BYTE_SWING_UD_SITE5 = 0x05
|
|
111
|
+
local BYTE_SWING_UD_SITE6 = 0x06
|
|
112
|
+
local BYTE_ECO_ON = 0x01
|
|
113
|
+
local BYTE_ECO_OFF = 0x00
|
|
114
|
+
local BYTE_SWING_LR_ON = 0x01
|
|
115
|
+
local BYTE_SWING_LR_OFF = 0x00
|
|
116
|
+
local BYTE_SWING_LR_NO_SITE = 0x00
|
|
117
|
+
local BYTE_SWING_LR_SITE1 = 0x01
|
|
118
|
+
local BYTE_SWING_LR_SITE2 = 0x02
|
|
119
|
+
local BYTE_SWING_LR_SITE3 = 0x03
|
|
120
|
+
local BYTE_SWING_LR_SITE4 = 0x04
|
|
121
|
+
local BYTE_SWING_LR_SITE5 = 0x05
|
|
122
|
+
local BYTE_SWING_LR_SITE6 = 0x06
|
|
123
|
+
local BYTE_SLEEP_ON = 0x10
|
|
124
|
+
local BYTE_SLEEP_OFF = 0x00
|
|
125
|
+
local BYTE_DIGIT_DISPLAY_ON = 0x08
|
|
126
|
+
local BYTE_DIGIT_DISPLAY_OFF = 0x00
|
|
127
|
+
|
|
128
|
+
local cmdType
|
|
129
|
+
local powerValue
|
|
130
|
+
local modeValue
|
|
131
|
+
local fanspeedValue
|
|
132
|
+
local controlFanspeedValue
|
|
133
|
+
local temperatureValue
|
|
134
|
+
local swingUDSwitchValue
|
|
135
|
+
local ecoSwitchValue
|
|
136
|
+
local swingLRSwitchValue
|
|
137
|
+
local swingUDSiteValue = 0
|
|
138
|
+
local swingLRSiteValue = 0
|
|
139
|
+
local temperatureDecimals
|
|
140
|
+
local totlaTemperature
|
|
141
|
+
local PTCSettingValue = 0
|
|
142
|
+
local PTCValue = 0
|
|
143
|
+
local ecoValue = 0
|
|
144
|
+
local exhaustValue = 0
|
|
145
|
+
local sleepSwitchValue
|
|
146
|
+
local digitDisplaySwitchValue
|
|
147
|
+
local closeTime
|
|
148
|
+
local openTime
|
|
149
|
+
local indoorTemperature
|
|
150
|
+
local evaporatorEntranceTemp
|
|
151
|
+
local evaporatorExitTemp
|
|
152
|
+
local errorCodeMachineStyle
|
|
153
|
+
local errorHigh
|
|
154
|
+
local errorLow
|
|
155
|
+
local errorCode = 0
|
|
156
|
+
local isCanDecimals = 0
|
|
157
|
+
local dataType = 0
|
|
158
|
+
|
|
159
|
+
function jsonToModel(jsonCmd)
|
|
160
|
+
local streams = jsonCmd
|
|
161
|
+
if (streams[KEY_CMD_TYPE] == VALUE_CMD_COMMON) then
|
|
162
|
+
cmdType = BYTE_CMD_COMMON
|
|
163
|
+
elseif (streams[KEY_CMD_TYPE] == VALUE_CMD_LOCK) then
|
|
164
|
+
cmdType = BYTE_CMD_LOCK
|
|
165
|
+
elseif (streams[KEY_CMD_TYPE] == VALUE_CMD_SMART) then
|
|
166
|
+
cmdType = BYTE_CMD_SMART
|
|
167
|
+
end
|
|
168
|
+
if (streams[KEY_POWER] == VALUE_ON) then
|
|
169
|
+
powerValue = BYTE_POWER_ON
|
|
170
|
+
elseif (streams[KEY_POWER] == VALUE_OFF) then
|
|
171
|
+
powerValue = BYTE_POWER_OFF
|
|
172
|
+
end
|
|
173
|
+
if (streams[KEY_MODE] == VALUE_MODE_AUTO) then
|
|
174
|
+
modeValue = BYTE_MODE_AUTO
|
|
175
|
+
elseif (streams[KEY_MODE] == VALUE_MODE_COOL) then
|
|
176
|
+
modeValue = BYTE_MODE_COOL
|
|
177
|
+
elseif (streams[KEY_MODE] == VALUE_MODE_HEAT) then
|
|
178
|
+
modeValue = BYTE_MODE_HEAT
|
|
179
|
+
elseif (streams[KEY_MODE] == VALUE_MODE_DRY) then
|
|
180
|
+
modeValue = BYTE_MODE_DRY
|
|
181
|
+
elseif (streams[KEY_MODE] == VALUE_MODE_FAN) then
|
|
182
|
+
modeValue = BYTE_MODE_FAN
|
|
183
|
+
end
|
|
184
|
+
if (streams[KEY_PTC_SETTING] == VALUE_PTC_SETTING_AUTO) then
|
|
185
|
+
PTCSettingValue = BYTE_PTC_SETTING_AUTO
|
|
186
|
+
elseif (streams[KEY_PTC_SETTING] == VALUE_PTC_SETTING_ON) then
|
|
187
|
+
PTCSettingValue = BYTE_PTC_SETTING_ON
|
|
188
|
+
elseif (streams[KEY_PTC_SETTING] == VALUE_PTC_SETTING_OFF) then
|
|
189
|
+
PTCSettingValue = BYTE_PTC_SETTING_OFF
|
|
190
|
+
end
|
|
191
|
+
if (streams[KEY_EXHAUST] == VALUE_ON) then
|
|
192
|
+
exhaustValue = BYTE_EXHAUST_ON
|
|
193
|
+
elseif (streams[KEY_EXHAUST] == VALUE_OFF) then
|
|
194
|
+
exhaustValue = BYTE_EXHAUST_OFF
|
|
195
|
+
end
|
|
196
|
+
if (streams[KEY_ECO] == VALUE_ON) then
|
|
197
|
+
ecoValue = BYTE_ECO_ON
|
|
198
|
+
elseif (streams[KEY_ECO] == VALUE_OFF) then
|
|
199
|
+
ecoValue = BYTE_ECO_OFF
|
|
200
|
+
end
|
|
201
|
+
if (streams[KEY_WIND_UD] == VALUE_ON) then
|
|
202
|
+
swingUDSwitchValue = BYTE_SWING_UD_ON
|
|
203
|
+
elseif (streams[KEY_WIND_UD] == VALUE_OFF) then
|
|
204
|
+
swingUDSwitchValue = BYTE_SWING_UD_OFF
|
|
205
|
+
end
|
|
206
|
+
if (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_NO_SITE) then
|
|
207
|
+
swingUDSiteValue = BYTE_SWING_UD_NO_SITE
|
|
208
|
+
elseif (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_SITE1) then
|
|
209
|
+
swingUDSiteValue = BYTE_SWING_UD_SITE1
|
|
210
|
+
elseif (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_SITE2) then
|
|
211
|
+
swingUDSiteValue = BYTE_SWING_UD_SITE2
|
|
212
|
+
elseif (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_SITE3) then
|
|
213
|
+
swingUDSiteValue = BYTE_SWING_UD_SITE3
|
|
214
|
+
elseif (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_SITE4) then
|
|
215
|
+
swingUDSiteValue = BYTE_SWING_UD_SITE4
|
|
216
|
+
elseif (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_SITE5) then
|
|
217
|
+
swingUDSiteValue = BYTE_SWING_UD_SITE5
|
|
218
|
+
elseif (streams[KEY_WIND_SWING_UD_SITE] == VALUE_SWING_UD_SITE6) then
|
|
219
|
+
swingUDSiteValue = BYTE_SWING_UD_SITE6
|
|
220
|
+
end
|
|
221
|
+
if (streams[KEY_WIND_SWING_LR] == VALUE_ON) then
|
|
222
|
+
swingLRSwitchValue = BYTE_SWING_LR_ON
|
|
223
|
+
elseif (streams[KEY_WIND_SWING_LR] == VALUE_OFF) then
|
|
224
|
+
swingLRSwitchValue = BYTE_SWING_LR_OFF
|
|
225
|
+
end
|
|
226
|
+
if (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_NO_SITE) then
|
|
227
|
+
swingLRSiteValue = BYTE_SWING_LR_NO_SITE
|
|
228
|
+
elseif (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_SITE1) then
|
|
229
|
+
swingLRSiteValue = BYTE_SWING_LR_SITE1
|
|
230
|
+
elseif (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_SITE2) then
|
|
231
|
+
swingLRSiteValue = BYTE_SWING_LR_SITE2
|
|
232
|
+
elseif (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_SITE3) then
|
|
233
|
+
swingLRSiteValue = BYTE_SWING_LR_SITE3
|
|
234
|
+
elseif (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_SITE4) then
|
|
235
|
+
swingLRSiteValue = BYTE_SWING_LR_SITE4
|
|
236
|
+
elseif (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_SITE5) then
|
|
237
|
+
swingLRSiteValue = BYTE_SWING_LR_SITE5
|
|
238
|
+
elseif (streams[KEY_WIND_SWING_LR_SITE] == VALUE_SWING_UD_SITE6) then
|
|
239
|
+
swingLRSiteValue = BYTE_SWING_LR_SITE6
|
|
240
|
+
end
|
|
241
|
+
if (streams[KEY_SLEEP_SWITCH] == VALUE_ON) then
|
|
242
|
+
sleepSwitchValue = BYTE_SLEEP_ON
|
|
243
|
+
elseif (streams[KEY_SLEEP_SWITCH] == VALUE_OFF) then
|
|
244
|
+
sleepSwitchValue = BYTE_SLEEP_OFF
|
|
245
|
+
end
|
|
246
|
+
if (streams[KEY_DIGIT_DISPLAY_SWITCH] == VALUE_ON) then
|
|
247
|
+
digitDisplaySwitchValue = BYTE_DIGIT_DISPLAY_ON
|
|
248
|
+
elseif (streams[KEY_DIGIT_DISPLAY_SWITCH] == VALUE_OFF) then
|
|
249
|
+
digitDisplaySwitchValue = BYTE_DIGIT_DISPLAY_OFF
|
|
250
|
+
end
|
|
251
|
+
if (streams[KEY_WIND_SPEED] == VALUE_WIND_AUTO) then
|
|
252
|
+
fanspeedValue = BYTE_FANSPEED_AUTO
|
|
253
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_POWER) then
|
|
254
|
+
fanspeedValue = BYTE_FANSPEED_POWER
|
|
255
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_SUPER_HIGH) then
|
|
256
|
+
fanspeedValue = BYTE_FANSPEED_SUPER_HIGH
|
|
257
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_HIGH) then
|
|
258
|
+
fanspeedValue = BYTE_FANSPEED_HIGH
|
|
259
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_MIDDLE) then
|
|
260
|
+
fanspeedValue = BYTE_FANSPEED_MID
|
|
261
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_LOW) then
|
|
262
|
+
fanspeedValue = BYTE_FANSPEED_LOW
|
|
263
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_MICRON) then
|
|
264
|
+
fanspeedValue = BYTE_FANSPEED_MICRON
|
|
265
|
+
elseif (streams[KEY_WIND_SPEED] == VALUE_WIND_SLEEP) then
|
|
266
|
+
fanspeedValue = BYTE_FANSPEED_SLEEP
|
|
267
|
+
end
|
|
268
|
+
if (streams[KEY_TEMPERATURE] ~= nil) then
|
|
269
|
+
temperatureValue = checkBoundary(streams[KEY_TEMPERATURE], 17, 30)
|
|
270
|
+
end
|
|
271
|
+
if (streams[KEY_SMALL_TEMPERATURE] ~= nil) then
|
|
272
|
+
temperatureDecimals = checkBoundary(streams[KEY_SMALL_TEMPERATURE], 0, 0.9)
|
|
273
|
+
end
|
|
274
|
+
controlFanspeedValue = 0xFF
|
|
275
|
+
if (streams[KEY_POWER_OFF_TIME] ~= nil) then
|
|
276
|
+
closeTime = string2Int(streams[KEY_POWER_OFF_TIME])
|
|
277
|
+
end
|
|
278
|
+
if (streams[KEY_POWER_ON_TIME] ~= nil) then
|
|
279
|
+
openTime = string2Int(streams[streams[KEY_POWER_ON_TIME]])
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
local function binToModel(binData)
|
|
283
|
+
if (#binData < 23) then
|
|
284
|
+
return nil
|
|
285
|
+
end
|
|
286
|
+
local messageBytes = binData
|
|
287
|
+
if (dataType == 0x02 or dataType == 0x03 or dataType == 0x04 or dataType == 0x05) then
|
|
288
|
+
cmdType = messageBytes[0]
|
|
289
|
+
if ((cmdType == BYTE_CMD_COMMON) or (cmdType == BYTE_CMD_QUERY_COMMON)) then
|
|
290
|
+
powerValue = bit.band(messageBytes[1], 0x80)
|
|
291
|
+
modeValue = bit.band(messageBytes[1], 0x1F)
|
|
292
|
+
fanspeedValue = messageBytes[2]
|
|
293
|
+
temperatureValue = messageBytes[3]
|
|
294
|
+
indoorTemperature = messageBytes[4]
|
|
295
|
+
evaporatorEntranceTemp = messageBytes[5]
|
|
296
|
+
evaporatorExitTemp = messageBytes[6]
|
|
297
|
+
swingUDSiteValue = messageBytes[9]
|
|
298
|
+
openTime = messageBytes[10]
|
|
299
|
+
closeTime = messageBytes[11]
|
|
300
|
+
exhaustValue = bit.band(messageBytes[13], 0x08)
|
|
301
|
+
swingUDSwitchValue = bit.band(messageBytes[13], 0x04)
|
|
302
|
+
PTCValue = bit.band(messageBytes[13], 0x02)
|
|
303
|
+
ecoValue = bit.band(messageBytes[13], 0x01)
|
|
304
|
+
PTCSettingValue = bit.band(messageBytes[14], 0x60)
|
|
305
|
+
sleepSwitchValue = bit.band(messageBytes[14], 0x10)
|
|
306
|
+
digitDisplaySwitchValue = bit.band(messageBytes[14], 0x08)
|
|
307
|
+
swingLRSwitchValue = bit.band(messageBytes[14], 0x01)
|
|
308
|
+
controlFanspeedValue = 0xFF
|
|
309
|
+
swingLRSiteValue = messageBytes[17]
|
|
310
|
+
temperatureDecimals = messageBytes[19]
|
|
311
|
+
errorCodeMachineStyle = bit.band(messageBytes[18], 0x80)
|
|
312
|
+
errorHigh = bit.band(messageBytes[18], 0x7F)
|
|
313
|
+
errorLow = messageBytes[15]
|
|
314
|
+
isCanDecimals = bit.rshift(bit.band(messageBytes[14], 0x80), 7)
|
|
315
|
+
elseif (cmdType == BYTE_CMD_LOCK) then
|
|
316
|
+
lockWindLevel = messageBytes[1]
|
|
317
|
+
errorCode = messageBytes[4]
|
|
318
|
+
if (messageBytes[5] ~= 0xFF) then
|
|
319
|
+
lockCoolTemp = messageBytes[5]
|
|
320
|
+
end
|
|
321
|
+
if (messageBytes[6] ~= 0xFF) then
|
|
322
|
+
lockCoolTemp = messageBytes[6]
|
|
323
|
+
end
|
|
324
|
+
elseif (cmdType == BYTE_CMD_SMART) then
|
|
325
|
+
smartFunction = messageBytes[1]
|
|
326
|
+
elseif (cmdType == BYTE_CMD_NOT_SUPPORT) then
|
|
327
|
+
return nil
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
function jsonToData(jsonCmd)
|
|
333
|
+
if (#jsonCmd == 0) then
|
|
334
|
+
return nil
|
|
335
|
+
end
|
|
336
|
+
local infoM = {}
|
|
337
|
+
local bodyBytes = {}
|
|
338
|
+
local json = decode(jsonCmd)
|
|
339
|
+
local deviceSubType = json['deviceinfo']['deviceSubType']
|
|
340
|
+
if (deviceSubType == 1) then
|
|
341
|
+
end
|
|
342
|
+
local query = json['query']
|
|
343
|
+
local control = json['control']
|
|
344
|
+
local status = json['status']
|
|
345
|
+
if (query) then
|
|
346
|
+
for i = 0, 23 do
|
|
347
|
+
bodyBytes[i] = 0
|
|
348
|
+
end
|
|
349
|
+
bodyBytes[0] = 0x01
|
|
350
|
+
math.randomseed(tostring(os.time()):reverse():sub(1, 6))
|
|
351
|
+
bodyBytes[22] = math.random(0, 100)
|
|
352
|
+
bodyBytes[23] = crc8_854(bodyBytes, 0, 22)
|
|
353
|
+
infoM = getTotalMsg(bodyBytes, BYTE_QUERY_STATUS_REQUEST)
|
|
354
|
+
elseif (control) then
|
|
355
|
+
if (status) then
|
|
356
|
+
jsonToModel(status)
|
|
357
|
+
end
|
|
358
|
+
if (control) then
|
|
359
|
+
jsonToModel(control)
|
|
360
|
+
end
|
|
361
|
+
for i = 0, 23 do
|
|
362
|
+
bodyBytes[i] = 0
|
|
363
|
+
end
|
|
364
|
+
bodyBytes[0] = 0xC3
|
|
365
|
+
bodyBytes[1] = bit.bor(bit.band(powerValue, 0x80), bit.band(modeValue, 0x1F))
|
|
366
|
+
bodyBytes[2] = fanspeedValue
|
|
367
|
+
bodyBytes[3] = temperatureValue
|
|
368
|
+
if ((openTime == nil) or (openTime == 3825)) then
|
|
369
|
+
openTime = 0
|
|
370
|
+
end
|
|
371
|
+
bodyBytes[4] = math.floor(openTime / 15)
|
|
372
|
+
if ((closeTime == nil) or (closeTime == 3825)) then
|
|
373
|
+
closeTime = 0
|
|
374
|
+
end
|
|
375
|
+
bodyBytes[5] = math.floor(closeTime / 15)
|
|
376
|
+
bodyBytes[6] = bit.bor(
|
|
377
|
+
bit.bor(bit.band(ecoValue, 0x01), bit.band(swingUDSwitchValue, 0x04)),
|
|
378
|
+
bit.bor(bit.band(exhaustValue, 0x08), bit.band(PTCSettingValue, 0x30))
|
|
379
|
+
)
|
|
380
|
+
bodyBytes[7] = 0xFF
|
|
381
|
+
bodyBytes[8] = bit.bor(
|
|
382
|
+
bit.bor(bit.band(sleepSwitchValue, 0x10), bit.band(digitDisplaySwitchValue, 0x08)),
|
|
383
|
+
bit.band(swingLRSwitchValue, 0x01)
|
|
384
|
+
)
|
|
385
|
+
bodyBytes[9] = swingLRSiteValue
|
|
386
|
+
bodyBytes[10] = swingUDSiteValue
|
|
387
|
+
bodyBytes[11] = temperatureDecimals * 10
|
|
388
|
+
math.randomseed(tostring(os.time()):reverse():sub(1, 6))
|
|
389
|
+
bodyBytes[22] = math.random(0, 100)
|
|
390
|
+
bodyBytes[23] = crc8_854(bodyBytes, 0, 22)
|
|
391
|
+
infoM = getTotalMsg(bodyBytes, BYTE_CONTROL_REQUEST)
|
|
392
|
+
end
|
|
393
|
+
local ret = table2string(infoM)
|
|
394
|
+
ret = string2hexstring(ret)
|
|
395
|
+
return ret
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
function getTotalMsg(bodyData, cType)
|
|
399
|
+
local bodyLength = #bodyData
|
|
400
|
+
local msgLength = bodyLength + BYTE_PROTOCOL_LENGTH + 1
|
|
401
|
+
local msgBytes = {}
|
|
402
|
+
for i = 0, msgLength do
|
|
403
|
+
msgBytes[i] = 0
|
|
404
|
+
end
|
|
405
|
+
msgBytes[0] = BYTE_PROTOCOL_HEAD
|
|
406
|
+
msgBytes[1] = bodyLength + BYTE_PROTOCOL_LENGTH + 1
|
|
407
|
+
msgBytes[2] = BYTE_DEVICE_TYPE
|
|
408
|
+
msgBytes[9] = cType
|
|
409
|
+
for i = 0, bodyLength do
|
|
410
|
+
msgBytes[i + BYTE_PROTOCOL_LENGTH] = bodyData[i]
|
|
411
|
+
end
|
|
412
|
+
msgBytes[msgLength] = makeSum(msgBytes, 1, msgLength - 1)
|
|
413
|
+
local msgFinal = {}
|
|
414
|
+
for i = 1, msgLength + 1 do
|
|
415
|
+
msgFinal[i] = msgBytes[i - 1]
|
|
416
|
+
end
|
|
417
|
+
return msgFinal
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
function dataToJson(jsonCmd)
|
|
421
|
+
if (not jsonCmd) then
|
|
422
|
+
return nil
|
|
423
|
+
end
|
|
424
|
+
local json = decode(jsonCmd)
|
|
425
|
+
local deviceinfo = json['deviceinfo']
|
|
426
|
+
local deviceSubType = deviceinfo['deviceSubtype']
|
|
427
|
+
if (deviceSubType == 1) then
|
|
428
|
+
end
|
|
429
|
+
local status = json['status']
|
|
430
|
+
if (status) then
|
|
431
|
+
jsonToModel(status)
|
|
432
|
+
end
|
|
433
|
+
local binData = json['msg']['data']
|
|
434
|
+
local info = {}
|
|
435
|
+
local msgBytes = {}
|
|
436
|
+
local bodyBytes = {}
|
|
437
|
+
local msgLength = 0
|
|
438
|
+
local bodyLength = 0
|
|
439
|
+
info = string2table(binData)
|
|
440
|
+
dataType = info[10]
|
|
441
|
+
for i = 1, #info do
|
|
442
|
+
msgBytes[i - 1] = info[i]
|
|
443
|
+
end
|
|
444
|
+
msgLength = msgBytes[1]
|
|
445
|
+
bodyLength = msgLength - BYTE_PROTOCOL_LENGTH - 1
|
|
446
|
+
for i = 0, bodyLength do
|
|
447
|
+
bodyBytes[i] = msgBytes[i + BYTE_PROTOCOL_LENGTH]
|
|
448
|
+
end
|
|
449
|
+
binToModel(bodyBytes)
|
|
450
|
+
local streams = {}
|
|
451
|
+
streams[KEY_VERSION] = VALUE_VERSION
|
|
452
|
+
if (cmdType == BYTE_CMD_COMMON) then
|
|
453
|
+
streams[KEY_CMD_TYPE] = VALUE_CMD_COMMON
|
|
454
|
+
elseif (cmdType == BYTE_CMD_LOCK) then
|
|
455
|
+
streams[KEY_CMD_TYPE] = VALUE_CMD_LOCK
|
|
456
|
+
elseif (cmdType == BYTE_CMD_SMART) then
|
|
457
|
+
streams[KEY_CMD_TYPE] = VALUE_CMD_SMART
|
|
458
|
+
elseif (cmdType == BYTE_CMD_QUERY_COMMON) then
|
|
459
|
+
streams[KEY_CMD_TYPE] = VALUE_CMD_QUERY_COMMON
|
|
460
|
+
elseif (cmdType == BYTE_CMD_NOT_SUPPORT) then
|
|
461
|
+
streams[KEY_CMD_TYPE] = VALUE_CMD_NOT_SUPPORT
|
|
462
|
+
end
|
|
463
|
+
if ((cmdType == BYTE_CMD_COMMON) or (cmdType == BYTE_CMD_QUERY_COMMON)) then
|
|
464
|
+
if (powerValue == BYTE_POWER_ON) then
|
|
465
|
+
streams[KEY_POWER] = VALUE_ON
|
|
466
|
+
elseif (powerValue == BYTE_POWER_OFF) then
|
|
467
|
+
streams[KEY_POWER] = VALUE_OFF
|
|
468
|
+
end
|
|
469
|
+
if (modeValue == BYTE_MODE_AUTO) then
|
|
470
|
+
streams[KEY_MODE] = VALUE_MODE_AUTO
|
|
471
|
+
elseif (modeValue == BYTE_MODE_COOL) then
|
|
472
|
+
streams[KEY_MODE] = VALUE_MODE_COOL
|
|
473
|
+
elseif (modeValue == BYTE_MODE_HEAT) then
|
|
474
|
+
streams[KEY_MODE] = VALUE_MODE_HEAT
|
|
475
|
+
elseif (modeValue == BYTE_MODE_DRY) then
|
|
476
|
+
streams[KEY_MODE] = VALUE_MODE_DRY
|
|
477
|
+
elseif (modeValue == BYTE_MODE_FAN) then
|
|
478
|
+
streams[KEY_MODE] = VALUE_MODE_FAN
|
|
479
|
+
end
|
|
480
|
+
if (fanspeedValue == BYTE_FANSPEED_AUTO) then
|
|
481
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_AUTO
|
|
482
|
+
elseif (fanspeedValue == BYTE_FANSPEED_POWER) then
|
|
483
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_POWER
|
|
484
|
+
elseif (fanspeedValue == BYTE_FANSPEED_SUPER_HIGH) then
|
|
485
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_SUPER_HIGH
|
|
486
|
+
elseif (fanspeedValue == BYTE_FANSPEED_HIGH) then
|
|
487
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_HIGH
|
|
488
|
+
elseif (fanspeedValue == BYTE_FANSPEED_MID) then
|
|
489
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_MIDDLE
|
|
490
|
+
elseif (fanspeedValue == BYTE_FANSPEED_LOW) then
|
|
491
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_LOW
|
|
492
|
+
elseif (fanspeedValue == BYTE_FANSPEED_MICRON) then
|
|
493
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_MICRON
|
|
494
|
+
elseif (fanspeedValue == BYTE_FANSPEED_SLEEP) then
|
|
495
|
+
streams[KEY_WIND_SPEED] = VALUE_WIND_SLEEP
|
|
496
|
+
end
|
|
497
|
+
streams[KEY_TEMPERATURE] = int2String(temperatureValue)
|
|
498
|
+
streams[KEY_INDOOR_TEMPERATURE] = int2String((indoorTemperature - 40) / 2)
|
|
499
|
+
streams[KEY_EVAPORATOR_ENTRANCE_TEMPERATURE] = int2String((evaporatorEntranceTemp - 40) / 2)
|
|
500
|
+
streams[KEY_EVAPORATOR_EXIT_TEMPERATURE] = int2String((evaporatorExitTemp - 40) / 2)
|
|
501
|
+
if (swingUDSiteValue == BYTE_SWING_UD_NO_SITE) then
|
|
502
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_NO_SITE
|
|
503
|
+
elseif (swingUDSiteValue == BYTE_SWING_UD_SITE1) then
|
|
504
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_SITE1
|
|
505
|
+
elseif (swingUDSiteValue == BYTE_SWING_UD_SITE2) then
|
|
506
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_SITE2
|
|
507
|
+
elseif (swingUDSiteValue == BYTE_SWING_UD_SITE3) then
|
|
508
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_SITE3
|
|
509
|
+
elseif (swingUDSiteValue == BYTE_SWING_UD_SITE4) then
|
|
510
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_SITE4
|
|
511
|
+
elseif (swingUDSiteValue == BYTE_SWING_UD_SITE5) then
|
|
512
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_SITE5
|
|
513
|
+
elseif (swingUDSiteValue == BYTE_SWING_UD_SITE6) then
|
|
514
|
+
streams[KEY_WIND_SWING_UD_SITE] = VALUE_SWING_UD_SITE6
|
|
515
|
+
end
|
|
516
|
+
streams[KEY_POWER_ON_TIME] = int2String(openTime * 15)
|
|
517
|
+
streams[KEY_POWER_OFF_TIME] = int2String(closeTime * 15)
|
|
518
|
+
if (exhaustValue == BYTE_EXHAUST_ON) then
|
|
519
|
+
streams[KEY_EXHAUST] = VALUE_ON
|
|
520
|
+
elseif (exhaustValue == BYTE_EXHAUST_OFF) then
|
|
521
|
+
streams[KEY_EXHAUST] = VALUE_OFF
|
|
522
|
+
end
|
|
523
|
+
if (swingUDSwitchValue == BYTE_SWING_UD_ON) then
|
|
524
|
+
streams[KEY_WIND_UD] = VALUE_ON
|
|
525
|
+
elseif (swingUDSwitchValue == BYTE_SWING_UD_OFF) then
|
|
526
|
+
streams[KEY_WIND_UD] = VALUE_OFF
|
|
527
|
+
end
|
|
528
|
+
if (ecoValue == BYTE_ECO_ON) then
|
|
529
|
+
streams[KEY_ECO] = VALUE_ON
|
|
530
|
+
elseif (ecoValue == BYTE_ECO_OFF) then
|
|
531
|
+
streams[KEY_ECO] = VALUE_OFF
|
|
532
|
+
end
|
|
533
|
+
if (sleepSwitchValue == BYTE_SLEEP_ON) then
|
|
534
|
+
streams[KEY_SLEEP_SWITCH] = VALUE_ON
|
|
535
|
+
elseif (sleepSwitchValue == BYTE_SLEEP_OFF) then
|
|
536
|
+
streams[KEY_SLEEP_SWITCH] = VALUE_OFF
|
|
537
|
+
end
|
|
538
|
+
if (digitDisplaySwitchValue == BYTE_DIGIT_DISPLAY_ON) then
|
|
539
|
+
streams[KEY_DIGIT_DISPLAY_SWITCH] = VALUE_ON
|
|
540
|
+
elseif (digitDisplaySwitchValue == BYTE_DIGIT_DISPLAY_OFF) then
|
|
541
|
+
streams[KEY_DIGIT_DISPLAY_SWITCH] = VALUE_OFF
|
|
542
|
+
end
|
|
543
|
+
if (swingLRSwitchValue == BYTE_SWING_LR_ON) then
|
|
544
|
+
streams[KEY_WIND_SWING_LR] = VALUE_ON
|
|
545
|
+
elseif (swingLRSwitchValue == BYTE_SWING_LR_OFF) then
|
|
546
|
+
streams[KEY_WIND_SWING_LR] = VALUE_OFF
|
|
547
|
+
end
|
|
548
|
+
streams[KEY_CONTROL_FAN_SPEED] = controlFanspeedValue
|
|
549
|
+
if (swingLRSiteValue == BYTE_SWING_LR_NO_SITE) then
|
|
550
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_NO_SITE
|
|
551
|
+
elseif (swingLRSiteValue == BYTE_SWING_LR_SITE1) then
|
|
552
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_SITE1
|
|
553
|
+
elseif (swingLRSiteValue == BYTE_SWING_LR_SITE2) then
|
|
554
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_SITE2
|
|
555
|
+
elseif (swingLRSiteValue == BYTE_SWING_LR_SITE3) then
|
|
556
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_SITE3
|
|
557
|
+
elseif (swingLRSiteValue == BYTE_SWING_LR_SITE4) then
|
|
558
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_SITE4
|
|
559
|
+
elseif (swingLRSiteValue == BYTE_SWING_LR_SITE5) then
|
|
560
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_SITE5
|
|
561
|
+
elseif (swingLRSiteValue == BYTE_SWING_LR_SITE6) then
|
|
562
|
+
streams[KEY_WIND_SWING_LR_SITE] = VALUE_SWING_LR_SITE6
|
|
563
|
+
end
|
|
564
|
+
streams[KEY_SMALL_TEMPERATURE] = int2String(temperatureDecimals / 10)
|
|
565
|
+
if (isCanDecimals == 0x00) then
|
|
566
|
+
streams['support_decimals'] = 'on'
|
|
567
|
+
elseif (isCanDecimals == 0x01) then
|
|
568
|
+
streams['support_decimals'] = 'off'
|
|
569
|
+
end
|
|
570
|
+
if (errorCodeMachineStyle == 0x80) then
|
|
571
|
+
streams[KEY_ERROR_FROM_MACHINE_STYLE] = VALUE_ERROR_FROM_OUTSIDE_MACHINE
|
|
572
|
+
elseif (errorCodeMachineStyle == 0x00) then
|
|
573
|
+
streams[KEY_ERROR_FROM_MACHINE_STYLE] = VALUE_ERROR_FROM_INSIDE_MACHINE
|
|
574
|
+
end
|
|
575
|
+
streams[KEY_ERROR_CODE] = int2String(errorHigh * 255 + errorLow)
|
|
576
|
+
if (PTCSettingValue == 0x00) then
|
|
577
|
+
streams[KEY_PTC_SETTING] = VALUE_PTC_SETTING_AUTO
|
|
578
|
+
elseif (PTCSettingValue == 0x20) then
|
|
579
|
+
streams[KEY_PTC_SETTING] = VALUE_PTC_SETTING_ON
|
|
580
|
+
elseif (PTCSettingValue == 0x40) then
|
|
581
|
+
streams[KEY_PTC_SETTING] = VALUE_PTC_SETTING_OFF
|
|
582
|
+
end
|
|
583
|
+
if (PTCValue == 0x02) then
|
|
584
|
+
streams[KEY_PTC_POWER] = VALUE_ON
|
|
585
|
+
elseif (PTCValue == 0x00) then
|
|
586
|
+
streams[KEY_PTC_POWER] = VALUE_OFF
|
|
587
|
+
end
|
|
588
|
+
elseif (cmdType == BYTE_CMD_LOCK) then
|
|
589
|
+
elseif (cmdType == BYTE_CMD_SMART) then
|
|
590
|
+
end
|
|
591
|
+
local retTable = {}
|
|
592
|
+
retTable['status'] = streams
|
|
593
|
+
local ret = encode(retTable)
|
|
594
|
+
return ret
|
|
595
|
+
end
|
|
596
|
+
|
|
597
|
+
function print_lua_table(lua_table, indent)
|
|
598
|
+
indent = indent or 0
|
|
599
|
+
for k, v in pairs(lua_table) do
|
|
600
|
+
if type(k) == 'string' then
|
|
601
|
+
k = string.format('%q', k)
|
|
602
|
+
end
|
|
603
|
+
local szSuffix = ''
|
|
604
|
+
if type(v) == 'table' then
|
|
605
|
+
szSuffix = '{'
|
|
606
|
+
end
|
|
607
|
+
local szPrefix = string.rep(' ', indent)
|
|
608
|
+
formatting = szPrefix .. '[' .. k .. ']' .. ' = ' .. szSuffix
|
|
609
|
+
if type(v) == 'table' then
|
|
610
|
+
print(formatting)
|
|
611
|
+
print_lua_table(v, indent + 1)
|
|
612
|
+
print(szPrefix .. '},')
|
|
613
|
+
else
|
|
614
|
+
local szValue = ''
|
|
615
|
+
if type(v) == 'string' then
|
|
616
|
+
szValue = string.format('%q', v)
|
|
617
|
+
else
|
|
618
|
+
szValue = tostring(v)
|
|
619
|
+
end
|
|
620
|
+
print(formatting .. szValue .. ',')
|
|
621
|
+
end
|
|
622
|
+
end
|
|
623
|
+
end
|
|
624
|
+
|
|
625
|
+
function checkBoundary(data, min, max)
|
|
626
|
+
if (not data) then
|
|
627
|
+
data = 0
|
|
628
|
+
end
|
|
629
|
+
data = tonumber(data)
|
|
630
|
+
if (data == nil) then
|
|
631
|
+
data = 0
|
|
632
|
+
end
|
|
633
|
+
if ((data >= min) and (data <= max)) then
|
|
634
|
+
return data
|
|
635
|
+
else
|
|
636
|
+
if (data < min) then
|
|
637
|
+
return min
|
|
638
|
+
else
|
|
639
|
+
return max
|
|
640
|
+
end
|
|
641
|
+
end
|
|
642
|
+
end
|
|
643
|
+
|
|
644
|
+
function string2Int(data)
|
|
645
|
+
if (not data) then
|
|
646
|
+
data = tonumber('0')
|
|
647
|
+
end
|
|
648
|
+
data = tonumber(data)
|
|
649
|
+
if (data == nil) then
|
|
650
|
+
data = 0
|
|
651
|
+
end
|
|
652
|
+
return data
|
|
653
|
+
end
|
|
654
|
+
|
|
655
|
+
function int2String(data)
|
|
656
|
+
if (not data) then
|
|
657
|
+
data = tostring(0)
|
|
658
|
+
end
|
|
659
|
+
data = tostring(data)
|
|
660
|
+
if (data == nil) then
|
|
661
|
+
data = '0'
|
|
662
|
+
end
|
|
663
|
+
return data
|
|
664
|
+
end
|
|
665
|
+
|
|
666
|
+
function table2string(cmd)
|
|
667
|
+
local ret = ''
|
|
668
|
+
local i
|
|
669
|
+
for i = 1, #cmd do
|
|
670
|
+
ret = ret .. string.char(cmd[i])
|
|
671
|
+
end
|
|
672
|
+
return ret
|
|
673
|
+
end
|
|
674
|
+
|
|
675
|
+
function string2table(hexstr)
|
|
676
|
+
local tb = {}
|
|
677
|
+
local i = 1
|
|
678
|
+
local j = 1
|
|
679
|
+
for i = 1, #hexstr - 1, 2 do
|
|
680
|
+
local doublebytestr = string.sub(hexstr, i, i + 1)
|
|
681
|
+
tb[j] = tonumber(doublebytestr, 16)
|
|
682
|
+
j = j + 1
|
|
683
|
+
end
|
|
684
|
+
return tb
|
|
685
|
+
end
|
|
686
|
+
|
|
687
|
+
function string2hexstring(str)
|
|
688
|
+
local ret = ''
|
|
689
|
+
for i = 1, #str do
|
|
690
|
+
ret = ret .. string.format('%02x', str:byte(i))
|
|
691
|
+
end
|
|
692
|
+
return ret
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
function encode(cmd)
|
|
696
|
+
local tb
|
|
697
|
+
if JSON == nil then
|
|
698
|
+
JSON = require 'cjson'
|
|
699
|
+
end
|
|
700
|
+
tb = JSON.encode(cmd)
|
|
701
|
+
return tb
|
|
702
|
+
end
|
|
703
|
+
|
|
704
|
+
function decode(cmd)
|
|
705
|
+
local tb
|
|
706
|
+
if JSON == nil then
|
|
707
|
+
JSON = require 'cjson'
|
|
708
|
+
end
|
|
709
|
+
tb = JSON.decode(cmd)
|
|
710
|
+
return tb
|
|
711
|
+
end
|
|
712
|
+
|
|
713
|
+
function makeSum(tmpbuf, start_pos, end_pos)
|
|
714
|
+
local resVal = 0
|
|
715
|
+
for si = start_pos, end_pos do
|
|
716
|
+
resVal = resVal + tmpbuf[si]
|
|
717
|
+
if resVal > 0xff then
|
|
718
|
+
resVal = bit.band(resVal, 0xff)
|
|
719
|
+
end
|
|
720
|
+
end
|
|
721
|
+
resVal = 255 - resVal + 1
|
|
722
|
+
return resVal
|
|
723
|
+
end
|
|
724
|
+
local crc8_854_table = {
|
|
725
|
+
0,
|
|
726
|
+
94,
|
|
727
|
+
188,
|
|
728
|
+
226,
|
|
729
|
+
97,
|
|
730
|
+
63,
|
|
731
|
+
221,
|
|
732
|
+
131,
|
|
733
|
+
194,
|
|
734
|
+
156,
|
|
735
|
+
126,
|
|
736
|
+
32,
|
|
737
|
+
163,
|
|
738
|
+
253,
|
|
739
|
+
31,
|
|
740
|
+
65,
|
|
741
|
+
157,
|
|
742
|
+
195,
|
|
743
|
+
33,
|
|
744
|
+
127,
|
|
745
|
+
252,
|
|
746
|
+
162,
|
|
747
|
+
64,
|
|
748
|
+
30,
|
|
749
|
+
95,
|
|
750
|
+
1,
|
|
751
|
+
227,
|
|
752
|
+
189,
|
|
753
|
+
62,
|
|
754
|
+
96,
|
|
755
|
+
130,
|
|
756
|
+
220,
|
|
757
|
+
35,
|
|
758
|
+
125,
|
|
759
|
+
159,
|
|
760
|
+
193,
|
|
761
|
+
66,
|
|
762
|
+
28,
|
|
763
|
+
254,
|
|
764
|
+
160,
|
|
765
|
+
225,
|
|
766
|
+
191,
|
|
767
|
+
93,
|
|
768
|
+
3,
|
|
769
|
+
128,
|
|
770
|
+
222,
|
|
771
|
+
60,
|
|
772
|
+
98,
|
|
773
|
+
190,
|
|
774
|
+
224,
|
|
775
|
+
2,
|
|
776
|
+
92,
|
|
777
|
+
223,
|
|
778
|
+
129,
|
|
779
|
+
99,
|
|
780
|
+
61,
|
|
781
|
+
124,
|
|
782
|
+
34,
|
|
783
|
+
192,
|
|
784
|
+
158,
|
|
785
|
+
29,
|
|
786
|
+
67,
|
|
787
|
+
161,
|
|
788
|
+
255,
|
|
789
|
+
70,
|
|
790
|
+
24,
|
|
791
|
+
250,
|
|
792
|
+
164,
|
|
793
|
+
39,
|
|
794
|
+
121,
|
|
795
|
+
155,
|
|
796
|
+
197,
|
|
797
|
+
132,
|
|
798
|
+
218,
|
|
799
|
+
56,
|
|
800
|
+
102,
|
|
801
|
+
229,
|
|
802
|
+
187,
|
|
803
|
+
89,
|
|
804
|
+
7,
|
|
805
|
+
219,
|
|
806
|
+
133,
|
|
807
|
+
103,
|
|
808
|
+
57,
|
|
809
|
+
186,
|
|
810
|
+
228,
|
|
811
|
+
6,
|
|
812
|
+
88,
|
|
813
|
+
25,
|
|
814
|
+
71,
|
|
815
|
+
165,
|
|
816
|
+
251,
|
|
817
|
+
120,
|
|
818
|
+
38,
|
|
819
|
+
196,
|
|
820
|
+
154,
|
|
821
|
+
101,
|
|
822
|
+
59,
|
|
823
|
+
217,
|
|
824
|
+
135,
|
|
825
|
+
4,
|
|
826
|
+
90,
|
|
827
|
+
184,
|
|
828
|
+
230,
|
|
829
|
+
167,
|
|
830
|
+
249,
|
|
831
|
+
27,
|
|
832
|
+
69,
|
|
833
|
+
198,
|
|
834
|
+
152,
|
|
835
|
+
122,
|
|
836
|
+
36,
|
|
837
|
+
248,
|
|
838
|
+
166,
|
|
839
|
+
68,
|
|
840
|
+
26,
|
|
841
|
+
153,
|
|
842
|
+
199,
|
|
843
|
+
37,
|
|
844
|
+
123,
|
|
845
|
+
58,
|
|
846
|
+
100,
|
|
847
|
+
134,
|
|
848
|
+
216,
|
|
849
|
+
91,
|
|
850
|
+
5,
|
|
851
|
+
231,
|
|
852
|
+
185,
|
|
853
|
+
140,
|
|
854
|
+
210,
|
|
855
|
+
48,
|
|
856
|
+
110,
|
|
857
|
+
237,
|
|
858
|
+
179,
|
|
859
|
+
81,
|
|
860
|
+
15,
|
|
861
|
+
78,
|
|
862
|
+
16,
|
|
863
|
+
242,
|
|
864
|
+
172,
|
|
865
|
+
47,
|
|
866
|
+
113,
|
|
867
|
+
147,
|
|
868
|
+
205,
|
|
869
|
+
17,
|
|
870
|
+
79,
|
|
871
|
+
173,
|
|
872
|
+
243,
|
|
873
|
+
112,
|
|
874
|
+
46,
|
|
875
|
+
204,
|
|
876
|
+
146,
|
|
877
|
+
211,
|
|
878
|
+
141,
|
|
879
|
+
111,
|
|
880
|
+
49,
|
|
881
|
+
178,
|
|
882
|
+
236,
|
|
883
|
+
14,
|
|
884
|
+
80,
|
|
885
|
+
175,
|
|
886
|
+
241,
|
|
887
|
+
19,
|
|
888
|
+
77,
|
|
889
|
+
206,
|
|
890
|
+
144,
|
|
891
|
+
114,
|
|
892
|
+
44,
|
|
893
|
+
109,
|
|
894
|
+
51,
|
|
895
|
+
209,
|
|
896
|
+
143,
|
|
897
|
+
12,
|
|
898
|
+
82,
|
|
899
|
+
176,
|
|
900
|
+
238,
|
|
901
|
+
50,
|
|
902
|
+
108,
|
|
903
|
+
142,
|
|
904
|
+
208,
|
|
905
|
+
83,
|
|
906
|
+
13,
|
|
907
|
+
239,
|
|
908
|
+
177,
|
|
909
|
+
240,
|
|
910
|
+
174,
|
|
911
|
+
76,
|
|
912
|
+
18,
|
|
913
|
+
145,
|
|
914
|
+
207,
|
|
915
|
+
45,
|
|
916
|
+
115,
|
|
917
|
+
202,
|
|
918
|
+
148,
|
|
919
|
+
118,
|
|
920
|
+
40,
|
|
921
|
+
171,
|
|
922
|
+
245,
|
|
923
|
+
23,
|
|
924
|
+
73,
|
|
925
|
+
8,
|
|
926
|
+
86,
|
|
927
|
+
180,
|
|
928
|
+
234,
|
|
929
|
+
105,
|
|
930
|
+
55,
|
|
931
|
+
213,
|
|
932
|
+
139,
|
|
933
|
+
87,
|
|
934
|
+
9,
|
|
935
|
+
235,
|
|
936
|
+
181,
|
|
937
|
+
54,
|
|
938
|
+
104,
|
|
939
|
+
138,
|
|
940
|
+
212,
|
|
941
|
+
149,
|
|
942
|
+
203,
|
|
943
|
+
41,
|
|
944
|
+
119,
|
|
945
|
+
244,
|
|
946
|
+
170,
|
|
947
|
+
72,
|
|
948
|
+
22,
|
|
949
|
+
233,
|
|
950
|
+
183,
|
|
951
|
+
85,
|
|
952
|
+
11,
|
|
953
|
+
136,
|
|
954
|
+
214,
|
|
955
|
+
52,
|
|
956
|
+
106,
|
|
957
|
+
43,
|
|
958
|
+
117,
|
|
959
|
+
151,
|
|
960
|
+
201,
|
|
961
|
+
74,
|
|
962
|
+
20,
|
|
963
|
+
246,
|
|
964
|
+
168,
|
|
965
|
+
116,
|
|
966
|
+
42,
|
|
967
|
+
200,
|
|
968
|
+
150,
|
|
969
|
+
21,
|
|
970
|
+
75,
|
|
971
|
+
169,
|
|
972
|
+
247,
|
|
973
|
+
182,
|
|
974
|
+
232,
|
|
975
|
+
10,
|
|
976
|
+
84,
|
|
977
|
+
215,
|
|
978
|
+
137,
|
|
979
|
+
107,
|
|
980
|
+
53
|
|
981
|
+
}
|
|
982
|
+
function crc8_854(dataBuf, start_pos, end_pos)
|
|
983
|
+
local crc = 0
|
|
984
|
+
for si = start_pos, end_pos do
|
|
985
|
+
crc = crc8_854_table[bit.band(bit.bxor(crc, dataBuf[si]), 0xFF) + 1]
|
|
986
|
+
end
|
|
987
|
+
return crc
|
|
988
|
+
end
|
|
@@ -22,6 +22,7 @@ export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice
|
|
|
22
22
|
private displayService?;
|
|
23
23
|
private fanOnlyService?;
|
|
24
24
|
private fanService?;
|
|
25
|
+
private fanAutoService?;
|
|
25
26
|
private ecoModeService?;
|
|
26
27
|
private breezeAwayService?;
|
|
27
28
|
private dryModeService?;
|
|
@@ -70,6 +71,7 @@ export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice
|
|
|
70
71
|
setFanOnlyMode(value: CharacteristicValue): Promise<void>;
|
|
71
72
|
getFanState(): CharacteristicValue;
|
|
72
73
|
setFanState(value: CharacteristicValue): Promise<void>;
|
|
74
|
+
setFanAuto(value: CharacteristicValue): Promise<void>;
|
|
73
75
|
setHeatingCoolingTemperatureThresholds(thresholds: {
|
|
74
76
|
heating?: number;
|
|
75
77
|
cooling?: number;
|
|
@@ -5,6 +5,7 @@ const outDoorTemperatureSubtype = 'outdoor';
|
|
|
5
5
|
const displaySubtype = 'display';
|
|
6
6
|
const fanOnlySubtype = 'fanOnly';
|
|
7
7
|
const fanSubtype = 'fan';
|
|
8
|
+
const fanAutoSubtype = 'fanAuto';
|
|
8
9
|
const ecoModeSubtype = 'ecoMode';
|
|
9
10
|
const breezeAwaySubtype = 'breezeAway';
|
|
10
11
|
const dryModeSubtype = 'dryMode';
|
|
@@ -26,6 +27,7 @@ export default class AirConditionerAccessory extends BaseAccessory {
|
|
|
26
27
|
displayService;
|
|
27
28
|
fanOnlyService;
|
|
28
29
|
fanService;
|
|
30
|
+
fanAutoService;
|
|
29
31
|
ecoModeService;
|
|
30
32
|
breezeAwayService;
|
|
31
33
|
dryModeService;
|
|
@@ -136,6 +138,16 @@ export default class AirConditionerAccessory extends BaseAccessory {
|
|
|
136
138
|
else if (this.fanService) {
|
|
137
139
|
this.accessory.removeService(this.fanService);
|
|
138
140
|
}
|
|
141
|
+
// Fan Auto switch
|
|
142
|
+
this.fanAutoService = this.accessory.getServiceById(this.platform.Service.Switch, fanAutoSubtype);
|
|
143
|
+
if (this.configDev.AC_options.fanAutoSwitch) {
|
|
144
|
+
this.fanAutoService ??= this.accessory.addService(this.platform.Service.Switch, undefined, fanAutoSubtype);
|
|
145
|
+
this.handleConfiguredName(this.fanAutoService, fanAutoSubtype, 'Fan Auto');
|
|
146
|
+
this.fanAutoService.getCharacteristic(this.platform.Characteristic.On).onGet(this.getFanState.bind(this)).onSet(this.setFanAuto.bind(this));
|
|
147
|
+
}
|
|
148
|
+
else if (this.fanAutoService) {
|
|
149
|
+
this.accessory.removeService(this.fanAutoService);
|
|
150
|
+
}
|
|
139
151
|
// Display switch
|
|
140
152
|
this.displayService = this.accessory.getServiceById(this.platform.Service.Switch, displaySubtype);
|
|
141
153
|
if (this.configDev.AC_options.displaySwitch.flag) {
|
|
@@ -432,6 +444,7 @@ export default class AirConditionerAccessory extends BaseAccessory {
|
|
|
432
444
|
this.fanOnlyService?.updateCharacteristic(this.platform.Characteristic.On, this.getFanOnlyMode());
|
|
433
445
|
this.fanService?.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
|
|
434
446
|
this.fanService?.updateCharacteristic(this.platform.Characteristic.RotationSpeed, this.getRotationSpeed());
|
|
447
|
+
this.fanAutoService?.updateCharacteristic(this.platform.Characteristic.On, this.getFanState());
|
|
435
448
|
this.dryModeService?.updateCharacteristic(this.platform.Characteristic.On, this.getDryMode());
|
|
436
449
|
this.displayService?.updateCharacteristic(this.platform.Characteristic.On, this.getDisplayActive());
|
|
437
450
|
this.ecoModeService?.updateCharacteristic(this.platform.Characteristic.On, this.getEcoMode());
|
|
@@ -564,6 +577,9 @@ export default class AirConditionerAccessory extends BaseAccessory {
|
|
|
564
577
|
async setFanState(value) {
|
|
565
578
|
await this.device.set_fan_auto(value === this.platform.Characteristic.TargetFanState.AUTO);
|
|
566
579
|
}
|
|
580
|
+
async setFanAuto(value) {
|
|
581
|
+
await this.device.set_fan_auto(value === true);
|
|
582
|
+
}
|
|
567
583
|
setHeatingCoolingTemperatureThresholds(thresholds) {
|
|
568
584
|
const { minTemp, maxTemp, tempStep } = this.configDev.AC_options;
|
|
569
585
|
const heating = limitValue(thresholds?.heating ?? this.heatingThresholdTemperature, minTemp, maxTemp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirConditionerAccessory.js","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AirConditionerAccessory.js","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platformUtils.d.ts
CHANGED
package/dist/platformUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AA4BF,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;AAC3B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,8CAA2B,CAAA;IAC3B,oDAAiC,CAAA;AACnC,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAN,IAAY,MAOX;AAPD,WAAY,MAAM;IAChB,iCAAO,CAAA;IACP,mCAAQ,CAAA;IACR,yCAAW,CAAA;IACX,iCAAO,CAAA;IACP,yCAAW,CAAA;IACX,2CAAY,CAAA;AACd,CAAC,EAPW,MAAM,KAAN,MAAM,QAOjB;
|
|
1
|
+
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED