Thanks so much for a great app!
I recently added my Air Condition to the app but numeric mode/fan speed enums are not read or written (v1.0.237)
My AC runs on protocol 3.5 and has a stable connection with Homey and Tuya IOS app. It doesn’t answer status requests but receives all data. “Temperature” changes and “Power” toggle works via Homey.
DP 4 “mode”: Auto=“0”, Cool=“1”, Dry=“2”, Fan=“3”, Heat=“4”.
DP Debug shows DP 4 change when I switch modes in the Tuya app, but the Homey mode picker doesn’t follow. Changing the mode in Homey sends nothing to the AC, and there’s no log entry at all.
Entering 1,4,0,2,3 in Mode under device settings gives “cannot restrict options… current value ‘auto’ is not in that list”.
Could the AC driver support a value mapping for mode (e.g. cool=1,heat=4,auto=0,dry=2,fan=3)? The same probably applies to fan speed (DP 5 is also a numeric enum). Support bundle and cloud lookup output attached.
Air Conditioner
DP 1 switch Boolean false {}
DP 2 temp_set Integer 2300 1600–3100 step 50 ℃
DP 3 temp_current value 2470 -10000–10000 step 50 ℃
DP 4 mode enum 0
DP 5 fan_speed_enum enum 0
DP 7 auto bool true
DP 8 eco bool false
DP 9 drying bool false
DP 12 heat Boolean false {}
DP 13 light Boolean true {}
DP 16 beep Boolean true {}
DP 24 temp_set_f Integer 73 61–88 step 1 ℉
DP 26 health Boolean false {}
DP 27 cleaning Boolean false {}
DP 31 gear_vertical enum 8
DP 34 gear_horizontal enum 8
DP 39 fresh_air_valve bool false {}
DP 40 supply_fan_speed enum 0
DP 101 temperature_type bool false
DP 102 eight_add_hot bool false
DP 103 heat_status bool false
DP 104 high_temperature_wind bool false
DP 105 cool_feel_wind bool false
DP 106 new_wind_auto_switch bool false
DP 107 weektimer1 string
DP 108 freshair_status bool false
DP 109 weektimer2 string
DP 110 filter_block_status bool false
DP 111 ai_eco_switch bool false
DP 112 access_card_insert bool false
DP 113 upper_tem_limit value 3100
DP 114 lower_tem_limit value 1600
DP 115 wind_speed_percentage value 0
DP 116 ure value 1400
DP 117 external_unit_fanspeed value 720
DP 118 outdoor_fan_tarspeed value 0
DP 119 compressor_frequency value 42
DP 120 outdoor_comptar_freqrun value 42
DP 121 outdoor_comptar_freqset value 0
DP 122 outdoor_eevtar_opendegree value 0
DP 123 soft_wind enum 0
DP 124 ai_eco_status enum 0
DP 125 regular_reporting enum 1
DP 126 sleep_enum enum 0
DP 127 electricity value 0
DP 128 electricity_starttime value 1790253854
DP 129 electricity_endtime value 1790253974
DP 130 clearele_starttime value 0
DP 131 clearele_endtime value 0
DP 132 generator_mode enum 0
DP 133 capabilities raw FAMHCAkLDA0VFxwfISIjJCcoKSox
DP 134 error_code raw AA==
DP 135 light_sense bool false
DP 136 specialtimer string
DP 137 vertical_wind enum 0
DP 138 horizontal_wind enum 0
DP 139 wakeup_word enum 0
DP 140 wakeup_status enum 0
DP 141 volume value 10
DP 142 voice_switch bool false
DP 143 voice_status enum 0
DP 144 examine_mode bool false
DP 145 stores_mode bool false
DP 146 sound_location enum 0
DP 147 smart_windmode enum 0
DP 148 mic_distance value 0
DP 149 filter_blocknotify bool false
DP 150 max_volume value 1
DP 151 auto_gen_mode enum 0
DP 152 power_source enum 0
DP 153 ble_module_status enum 0
DP 154 ble_module_mac string
DP 155 newwind_super bool false
DP 156 light_senser_status bool false
DP 157 anti_directblow bool false
DP 158 widearea_wind bool false
DP 159 encircle_wind bool false
DP 160 zone_wind bool false
DP 161 left_ht_direction enum 0
DP 162 right_ht_direction enum 0
DP 163 wind3d_switch bool false
DP 164 wind3d_type enum 0
DP 165 solar_power value 0
DP 166 grid_power value 0
DP 167 solar_electricity value 0
DP 168 solar_state enum 0
DP 169 openadr_eventlist string
DP 170 openadr_switch bool false
DP 171 openadr_status bool false
DP 172 openadr_request enum 0
DP 173 fireplace_sw bool false
DP 174 lowheat_sw bool false
DP 175 lowheat_tempc value 800
DP 176 lowheat_tempf value 46
DP 194 voice_welcome_play_switch bool false
DP 195 virtual_ai_time value 0
DP 196 virtual_ai_save value 0
DP 197 voice_language string
DP 198 virtual_period value 120
DP 199 virtual_electricity value 0
DP — mode_auto Boolean true {}
DP — mode_eco Boolean false {}
DP — mode_dry Boolean false {}
Tuya Local 1.0.237 — support bundle (1 device)
Support bundle
Tuya Local v1.0.237 — support bundle
Generated: 2026-09-24T12:40:21.260Z
App started: 2026-09-24T06:16:49.896Z (running 6h 23m)
Homey: 13.5.0
Cloud lookup: configured (eu) — account listing not attempted since the app started
========================================================================
DEVICE Air Conditioner
driver air_conditioner
model T-plus-Audio (product nn2ooaacswz6uyi0)
device id bf7712…
available yes
protocol configured 3.5, connected 3.5 ip 192.168.0.181
status Connected · last seen 9/24/26, 2:40:18 PM · poll 30s
history 2 connections since app start · up 6h 23m total · avg 3h 11m · longest 6h 20m
packets 1195 received · 0.05/s while connected · data ever received: yes
DP mapping
dp_anion 0
dp_child_lock 7
dp_countdown_left 0
dp_countdown_timer 0
dp_current_temp 3
dp_eco 8
dp_fan_speed 5
dp_fault 20
dp_mode 4
dp_onoff 1
dp_sleep 9
dp_swing 8
dp_swing_h 0
dp_target_temp 2
other settings
alarm_grace_seconds 30
command_gap_ms 100
fan_speed_values "2,auto,low,medium,high,turbo"
fire_and_forget true
lock_protocol true
mode_values "cool,heat,auto,dry,fan"
offline_grace_seconds 60
reconnect_interval 0
swing_values "off,on"
temp_divisor 100
temp_max 31
temp_min 16
temp_step 1
live DPs (updated 2026-09-24T12:40:17.251Z)
DP 1 false boolean
DP 2 2300 number
DP 3 2470 number
DP 4 "0" string
DP 5 "0" string
DP 7 true boolean
DP 8 false boolean
DP 9 false boolean
DP 13 true boolean
DP 16 true boolean
DP 24 73 number
DP 26 false boolean
DP 27 false boolean
DP 31 "8" string
DP 34 "8" string
DP 101 false boolean
DP 102 false boolean
DP 103 false boolean
DP 104 false boolean
DP 105 false boolean
DP 111 false boolean
DP 113 3100 number
DP 114 1600 number
DP 116 1400 number
DP 117 720 number
DP 118 0 number
DP 119 42 number
DP 120 42 number
DP 121 0 number
DP 122 0 number
DP 123 "0" string
DP 124 "0" string
DP 125 "1" string
DP 126 "0" string
DP 127 0 number
DP 128 1790253494 number
DP 129 1790253614 number
DP 132 "0" string
DP 137 "0" string
DP 138 "0" string
cloud spec code / dp / type / value / range
switch 1 Boolean null
temp_set 2 Integer null 1600-3100 ℃
temp_current 3 value null -10000-10000 ℃
mode 4 enum null
fan_speed_enum 5 enum null
auto 7 bool null
eco 8 bool null
drying 9 bool null
heat 12 Boolean null
light 13 Boolean null
beep 16 Boolean null
temp_set_f 24 Integer null 61-88 ℉
health 26 Boolean null
cleaning 27 Boolean null
gear_vertical 31 enum null
gear_horizontal 34 enum null
fresh_air_valve 39 bool null
supply_fan_speed 40 enum null
temperature_type 101 bool null
eight_add_hot 102 bool null
heat_status 103 bool null
high_temperature_wind 104 bool null
cool_feel_wind 105 bool null
new_wind_auto_switch 106 bool null
weektimer1 107 string null
freshair_status 108 bool null
weektimer2 109 string null
filter_block_status 110 bool null
ai_eco_switch 111 bool null
access_card_insert 112 bool null
upper_tem_limit 113 value null
lower_tem_limit 114 value null
wind_speed_percentage 115 value null
ure 116 value null
external_unit_fanspeed 117 value null
outdoor_fan_tarspeed 118 value null
compressor_frequency 119 value null
outdoor_comptar_freqrun 120 value null
outdoor_comptar_freqset 121 value null
outdoor_eevtar_opendegree 122 value null
soft_wind 123 enum null
ai_eco_status 124 enum null
regular_reporting 125 enum null
sleep_enum 126 enum null
electricity 127 value null
electricity_starttime 128 value null
electricity_endtime 129 value null
clearele_starttime 130 value null
clearele_endtime 131 value null
generator_mode 132 enum null
capabilities 133 raw null
error_code 134 raw null
light_sense 135 bool null
specialtimer 136 string null
vertical_wind 137 enum null
horizontal_wind 138 enum null
wakeup_word 139 enum null
wakeup_status 140 enum null
volume 141 value null
voice_switch 142 bool null
voice_status 143 enum null
examine_mode 144 bool null
stores_mode 145 bool null
sound_location 146 enum null
smart_windmode 147 enum null
mic_distance 148 value null
filter_blocknotify 149 bool null
max_volume 150 value null
auto_gen_mode 151 enum null
power_source 152 enum null
ble_module_status 153 enum null
ble_module_mac 154 string null
newwind_super 155 bool null
light_senser_status 156 bool null
anti_directblow 157 bool null
widearea_wind 158 bool null
encircle_wind 159 bool null
zone_wind 160 bool null
left_ht_direction 161 enum null
right_ht_direction 162 enum null
wind3d_switch 163 bool null
wind3d_type 164 enum null
solar_power 165 value null
grid_power 166 value null
solar_electricity 167 value null
solar_state 168 enum null
openadr_eventlist 169 string null
openadr_switch 170 bool null
openadr_status 171 bool null
openadr_request 172 enum null
fireplace_sw 173 bool null
lowheat_sw 174 bool null
lowheat_tempc 175 value null
lowheat_tempf 176 value null
voice_welcome_play_switch 194 bool null
virtual_ai_time 195 value null
virtual_ai_save 196 value null
voice_language 197 string null
virtual_period 198 value null
virtual_electricity 199 value null
mode_auto undefined Boolean null
mode_eco undefined Boolean null
mode_dry undefined Boolean null
------------------------------------------------------------------------
LOG — warnings, errors and connection events, newest first
35 of 35 distinct messages from 123 of 500 entries. Repeats are folded into one line. The device sections above carry the DP mapping and the live values — please include them when quoting this report.
2026-09-24T12:37:13.134Z [WARN] [Air Conditioner] Disconnected: socket closed (up 6h 20m, 1182 packets)
2026-09-24T12:37:11.133Z [WARN] [Air Conditioner] Ignoring malformed packet from device: The value of "offset" is out of range. It must be >= 0 and <= 6. Received 8
2026-09-23T20:20:48.734Z [WARN] [Air Conditioner] 5 failures — trying protocol 3.3 (configured: 3.4)
2026-09-23T20:17:35.426Z [WARN] [Air Conditioner] Disconnected: socket closed (up 1s, no data received)
2026-09-23T20:17:56.118Z [WARN] [Air Conditioner] Status request failed: Timeout waiting for status response from device id: bf7712e--------- ×5 — 20:17:29, 20:17:34, 20:17:41, 20:17:44, 20:17:56
2026-09-23T20:17:00.058Z [WARN] [Air Conditioner] Connected and answering keep-alives, but 2 status requests in a row went unanswered and no data has ever arrived on this connection. That combination points at the Local Key or the Device ID, not at the protocol: a keep-alive needs neither, a status request needs both, so a device that answers the first and drops the second is receiving something it cannot decrypt. Re-copy both from the Tuya IoT platform — the Local Key changes every time the device is re-added in the Smart Life app. With cloud credentials saved, Settings → Fix It → Check local keys makes that comparison for every device in one press.
2026-09-23T20:16:43.558Z [WARN] [Air Conditioner] Disconnected: Error from socket: read ECONNRESET (up 748ms, no data received)
2026-09-23T20:16:43.557Z [ERROR] [Air Conditioner] Error from socket: read ECONNRESET — the device closed the connection without us having sent it anything, so the protocol version cannot be the cause on 3.3: nothing is written on connect below 3.4. A device that drops an idle connection this fast usually has its single local connection slot taken — these accept exactly one. Check the Tuya or Smart Life app, another integration, and whether a second device in this app points at the same address.
2026-09-23T20:21:53.830Z [WARN] [Air Conditioner] Disconnected: socket closed (up 2s, no data received) ×11 since 2026-09-23T20:16:39.370Z
2026-09-23T20:19:52.338Z [WARN] [Air Conditioner] Connection failed: Handshake timed out after 15s — the device accepted the connection but never completed the key exchange, which usually means it does not speak the protocol version being tried. The app rotates through the others on its own; if it settles on one that works, the log says so and that version belongs in the device settings. ×7 since 2026-09-23T20:16:03.128Z
2026-09-23T19:49:25.984Z [WARN] [Air Conditioner] ac_mode: cannot restrict options to [1, 4, 0, 2, 3] — current value "auto" is not in that list. Update the device to a supported value first, or include "auto" in the setting.
2026-09-23T19:45:43.617Z [WARN] [Air Conditioner] ac_mode: cannot restrict options to [1, 4, 0, 2, 3] — current value "cool" is not in that list. Update the device to a supported value first, or include "cool" in the setting.
2026-09-23T13:32:48.825Z [WARN] [Air Conditioner] Disconnected: socket closed (up 50s, 7 packets)
2026-09-23T13:31:55.453Z [WARN] [Air Conditioner] Disconnected: socket closed (up 2m 42s, 18 packets)
2026-09-24T12:37:15.710Z [INFO] [Air Conditioner] Connected ×27 since 2026-09-23T13:29:12.986Z
2026-09-23T12:39:03.036Z [ERROR] [Cloud] Device list failed: No devices found (assoc: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; S2/uid=bay17901: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; S3/smartlife: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; S3/tuyaSmart: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; schema: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; v2: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; s6: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; s7: uri path invalid) ×3 — 12:13:16, 12:15:07, 12:39:03
2026-09-23T12:39:03.036Z [ERROR] [Cloud] All strategies failed — assoc: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; S2/uid=bay17901: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; S3/smartlife: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; S3/tuyaSmart: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; schema: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; v2: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; s6: No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ; s7: uri path invalid ×3 — 12:13:16, 12:15:07, 12:39:03
2026-09-23T12:39:03.005Z [WARN] [Cloud] S6: p1 failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:07, 12:39:03
2026-09-23T12:39:02.957Z [WARN] [Cloud] S5: p1 failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:07, 12:39:02
2026-09-23T12:39:02.911Z [WARN] [Cloud] S4: /v1.0/devices failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:07, 12:39:02
2026-09-23T12:39:02.864Z [WARN] [Cloud] S3 legacy: /users/bay17901/devices failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:07, 12:39:02
2026-09-23T12:39:02.738Z [WARN] [Cloud] S3/tuyaSmart: failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:07, 12:39:02
2026-09-23T12:39:02.681Z [WARN] [Cloud] S3/smartlife: failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:07, 12:39:02
2026-09-23T12:39:02.368Z [WARN] [Cloud] S2/uid=bay17901: failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:06, 12:39:02
2026-09-23T12:39:02.316Z [WARN] [Cloud] S1: iot-01/associated-users failed — code=28841107 msg=No permission. The data center is suspended.Please go to the cloud development platform to enable the data center. ×3 — 12:13:16, 12:15:06, 12:39:02
2026-09-23T12:51:23.978Z [ERROR] [Cloud] Device list failed: No devices found (S2/uid=bay17901: permission deny; S3/smartlife: permission deny; S3/tuyaSmart: permission deny; schema: permission deny; s6: device_ids param is illegal, please check it; s7: uri path invalid) ×3 — 11:33:00, 11:37:06, 12:51:23
2026-09-23T12:51:23.978Z [ERROR] [Cloud] All strategies failed — S2/uid=bay17901: permission deny; S3/smartlife: permission deny; S3/tuyaSmart: permission deny; schema: permission deny; s6: device_ids param is illegal, please check it; s7: uri path invalid ×3 — 11:33:00, 11:37:06, 12:51:23
2026-09-23T12:51:23.978Z [WARN] [Cloud] S7: p1 failed — code=1108 msg=uri path invalid ×6 — 11:33:00, 11:37:06, 12:13:16, 12:15:07, 12:39:03, 12:51:23
2026-09-23T12:51:23.944Z [WARN] [Cloud] S6: p1 failed — code=1109 msg=device_ids param is illegal, please check it ×3 — 11:33:00, 11:37:06, 12:51:23
2026-09-23T12:51:23.587Z [WARN] [Cloud] S4: /v1.0/devices failed — code=1106 msg=permission deny ×3 — 11:33:00, 11:37:06, 12:51:23
2026-09-23T12:51:23.518Z [WARN] [Cloud] S3 legacy: /users/bay17901/devices failed — code=1106 msg=permission deny ×3 — 11:33:00, 11:37:06, 12:51:23
2026-09-23T12:51:22.470Z [WARN] [Cloud] S3/tuyaSmart: failed — code=1106 msg=permission deny ×3 — 11:32:59, 11:37:05, 12:51:22
2026-09-23T12:51:22.343Z [WARN] [Cloud] S3/smartlife: failed — code=1106 msg=permission deny ×3 — 11:32:59, 11:37:05, 12:51:22
2026-09-23T12:51:22.088Z [WARN] [Cloud] S2/uid=bay17901: failed — code=1106 msg=permission deny ×3 — 11:32:59, 11:37:05, 12:51:22
2026-09-23T11:32:30.263Z [ERROR] [Cloud] Token failed: sign invalid ×2 — 11:31:28, 11:32:30