Hi Andi
I’m afraid I have had another unexpected feeding at 02:15. Looks like the time may have some significance, as this was about the last one that went off.
Dump included
c22c1f94-c664-4e65-b629-a35b22aa71d4
thanks
Stephen
Hi Andi
I’m afraid I have had another unexpected feeding at 02:15. Looks like the time may have some significance, as this was about the last one that went off.
Dump included
c22c1f94-c664-4e65-b629-a35b22aa71d4
thanks
Stephen
Hi Dietrich, you were right — I built the tiles and forgot the cards. They’re in 1.0.254.
Nine cards: the daylight threshold and the sensitivity each trigger on change and hand the new value to the flow, all four can be checked in a condition, and all four can be set in an action.
The pickers use your own names, so with 50lux=2 mapped the flow says “50lux” and the sensor gets the 2.
One thing I had wrong: the hold time was readable but not settable from the tile. It’s a slider now.
Thanks for pushing on it.
Hello Andi,
thank you for the flow cards.
The slider for the hold time has to be divided by ten. It now goes up to 36000 instead of 3600. ![]()
Hi Dietrich, it’s in 1.0.255 — and your “divided by ten” was exactly right.
It’s how Tuya writes a range: the raw numbers the device sends, plus where the decimal point goes. Your pir_delay is 5–3600 seconds with one decimal, which reads min 50, max 36000. So 36000 was one hour in tenths of a second, and the app was sending you a hold time ten times too short.
It now reads that from your sensor’s own spec. If you have Cloud Lookup set up, use Apply — no need to re-pair. It also finds cds, pir_sensitivity, pir_delay and switch_pir by name now, so no manual mapping next time.
Can you check once: set 60 s and confirm the tile says 60?
Hi, can you please add support for this Power World Heat pump?
Thanks in advance!
Martin
**Tuya Local 1.0.253 — support bundle (1 device)**
```
Tuya Local v1.0.253 — support bundle
Generated: 2026-10-07T23:24:11.216Z
App started: 2026-10-07T18:53:22.195Z (running 4h 30m)
Homey: 13.5.1
Cloud lookup: configured (eu) — account listing ok, 12 device(s) (2026-10-07T23:23:27.457Z)
========================================================================
DEVICE Heat Pump
driver heat_pump
model PW58421 (product 16sthwpnxt6u7ewz)
device id bf3d02…
available yes
protocol configured 3.4, connected 3.4 ip 10.0.1.247
status Connected · last seen 10/8/26, 1:24:11 AM · poll 30s
history 2 connections since app start · up 3h 41m total · avg 1h 50m · longest 2h 1m
packets 11973 received · 0.90/s while connected · data ever received: yes
DP mapping
dp_current_temp 102
dp_fault 15
dp_mode 2
dp_onoff 1
dp_power_level 104
dp_preset 0
dp_silent 0
dp_target_temp 106
other settings
command_gap_ms 100
current_temp_divisor 0
fault_bits ""
fault_status "—"
fire_and_forget true
lock_protocol false
mode_values "smart,heat,cool,auto"
offline_grace_seconds 60
preset_values "sleep,comfort,boost"
reconnect_interval 0
silent_true_means "smart"
silent_values "smart,silence"
temp_divisor 1
temp_max 45
temp_min 12
temp_step 1
live DPs (updated 2026-10-07T23:23:28.211Z)
DP 1 true boolean
DP 2 "smart" string
DP 5 "heat" string
DP 6 "c" string
DP 15 0 number
DP 101 36 number
DP 102 39 number
DP 103 7 number
DP 104 42 number
DP 105 4 number
DP 106 3 number
DP 107 38 number
DP 108 14 number
DP 109 390 number
DP 111 0 number
DP 112 4 number
DP 113 55 number
DP 114 374 number
DP 115 50 number
DP 116 599 number
DP 117 0 number
DP 140 "AAAAJAAAAGQAAAA3AAAA7gAABR0AAAAbAAAAZAAAAKwAAAAAAAAAAAAAAAEAAAfqAAAACgAAAAgAAAABAAAAFwAAABcAAAAAAAAAAAAAAAA=" string
cloud spec code / dp / type / value / range
switch 1 Boolean null
mode 2 Enum null smart,strong,mute
work_mode 5 Enum null wth,heat,cool,wth_heat,wth_cool
temp_unit_convert 6 Enum null c,f
fault 15 bitmap null
intemp 101 value null -50-220 ℃
outtemp 102 value null -50-220 ℃
whjtemp 103 value null -50-220 ℃
cmptemp 104 value null 0-400 ℃
hqtemp 105 value null -50-220 ℃
ptemp 106 value null -50-220 ℃
cptemp 107 value null -50-220 ℃
wttemp 108 value null -50-220 ℃
step_run 109 value null 0-500 P
stepb_run 111 value null 0-500 P
cmp_cur 112 value null 0-65 A
sink_temp 113 value null -99-220 ℃
dc_bus_voltage 114 value null 0-999 V
cmp_act_frep 115 value null 0-500 Hz
dc_fan_speed 116 value null 0-2000
dc_fan2_speed 117 value null 0-2000
parameter_group_1 118 Raw null
parameter_group_2 119 Raw null
parameter_group_3 120 Raw null
parameter_group_4 121 Raw null
parameter_group_5 122 Raw null
parameter_group_6 123 Raw null
parameter_group_7 124 Raw null
reset 125 Boolean null
parameter_group_8 126 Raw null
parameter_group_23 140 Raw null
------------------------------------------------------
Hi Martin,
good news: your heat pump already connects and reports — it just has the wrong numbers in a few places. You can fix those now under the device’s settings:
Mode DP → 5, values wth,heat,cool,wth_heat,wth_cool
Preset DP → 2, values smart,strong,mute
Target temperature DP → 0 — DP 106 is one of its temperature sensors, not the setpoint
Power level DP → 0 — DP 104 is the compressor temperature
The harder part: your model doesn’t publish the target temperature as a data point of its own. It’s packed inside one of the “parameter group” blocks. To find it, could you change the target temperature in the Smart Life app by one degree, note the old and new value, and send me a new support bundle right after? Whichever block changes is the one.
Thanks for your reply - and solution! Yes, I was able to get the pump into Homey, but as you said, I could not control it. “Target” is always 12, and changing it does nothing.
I tried looking the DPs when changing it in the Tuya app, but no luck. But I’ve looked at what I think is the “parameter group”, and looked for differences:
Temp first (30, 31, 33 and 40), then the group:
30:118 “AAAAAgAAAAUAAAAyAAAADAAAAB4AAAABAAAAAAAAABcAAAAeAAAARgAAAEEAAAAAAAAAFwAAAAYAAAAAAAAAAAAAAB4AAAABAAAAAQAAAB4=” string
31:118 “AAAAAgAAAAUAAAAyAAAADAAAAB8AAAABAAAAAAAAABcAAAAeAAAARgAAAEEAAAAAAAAAFwAAAAYAAAAAAAAAAAAAAB4AAAABAAAAAQAAAB4=” string
33:118 “AAAAAgAAAAUAAAAyAAAADAAAAB8AAAABAAAAAAAAABcAAAAeAAAARgAAAEEAAAAAAAAAFwAAAAYAAAAAAAAAAAAAAB4AAAABAAAAAQAAAB4=” string
40:118 “AAAAAgAAAAUAAAAyAAAADAAAACEAAAABAAAAAAAAABcAAAAeAAAARgAAAEEAAAAAAAAAFwAAAAYAAAAAAAAAAAAAAB4AAAABAAAAAQAAAB4=” string
30:140 “AAAAAwAAAGQAAAALAAAA7gAAAQUAAAANAAAAXwAAAK4AAAAAAAAAAAAAAAgAAAfqAAAACgAAAAgAAAAJAAAAIwAAACwAAAAAAAAAAAAAAAA=” string
31:140 “AAAAAwAAAGQAAAAMAAAA7gAAAR0AAAAMAAAAZAAAAK8AAAAAAAAAAAAAAAgAAAfqAAAACgAAAAgAAAAJAAAAJQAAADEAAAAAAAAAAAAAAAA=” string
33:140 “AAAAAwAAAGQAAAAMAAAA7gAAAR0AAAAMAAAAZAAAAK8AAAAAAAAAAAAAAAgAAAfqAAAACgAAAAgAAAAJAAAAJQAAADEAAAAAAAAAAAAAAAA=” string
40:140 “AAAAAQAAAGQAAAAMAAAA7gAAAR0AAAAEAAAAXwAAAK0AAAAAAAAAAAAAAAgAAAfqAAAACgAAAAgAAAAJAAAAJgAAADsAAAAAAAAAAAAAAAA=” string
Hope this is usefull!
Martin
Hi Stephen, thanks — this log settles one thing: the feeder really did dispense. Its own record says 02:14:48, nine seconds after the app restarted at 02:14:39. That restart is most likely Homey installing an app update overnight. Last time was the same. Each feed came about a second after the first message the app sent on a fresh connection, so something at the start of a connection sets it off. The log just can’t show which message.
Version 1.0.257 can record that. If you could, during the day:
Until it’s fixed, turning off automatic updates for Tuya Local stops the 2 am surprises.
Hi Andi,
that is ok now. Thank you.
Hi Martin, it’s in 1.0.258, built on your captures. Set these in the pump’s settings:
Target Temperature DP → 118
Target Temperature Field → 5
The target tile then shows the pump’s own setpoint. Setting it from Homey sends the whole settings block back with only that value changed, and always from a copy the pump reported since the app connected, so nothing else in it gets overwritten with old values.
Could you try it with the Tuya app open and tell me whether it follows? If the pump takes a different value than you asked for, Homey will say which one. That would also answer whether 40 is allowed.
Hi,
I uppgraded to 1.0.258, and added the 2 codes, and when trying to change the target temp using the Homey-app, I get this popup : “The heat pump has not reported DP 118 since connecting and did not sent it when asked”.
I used the Tuya app to change it to 45.
Reopened Homey, and now it’s 45. Yay!
Changing it to 42 in Homey - no error message.
Checking the Tuya app again - 42. Yay again.
You did it! Thanks!!
Hi Martin,
one more improvement in 1.0.259: the “has not reported DP 118” message after a reconnect should be gone. When the pump doesn’t send its settings block, the app now gets it from the Tuya cloud. You already have Cloud Lookup set up, so there’s nothing for you to do.
That also means a flow that sets the target works at any time, not only after you’ve used the Tuya app. If the message ever comes back, let me know.
Hi Andi
Some how my outdoor smart plug ON/OFF wont work from homey APP. DP state will not change if i check them in DP debug
If i press ON/OFF button from plug directly, Homey will change button state in app (OFF and ON) . Also i can see in DP debug DP1 state changing False to True and True to False
Very strange to me, i have tried change protocol version, remove and add smart plug again but still same. Connection to Homey is fine, but command from homey not change anything
Diag. report d250d1f8-72d6-4576-aab8-9665e23a9e50 If this helps..
Hi Mikko, thanks for the report. Homey reads your plug fine, but every command from Homey goes unanswered: the plug receives it and silently ignores it. That usually means one of two things:
Is it a WiFi plug, or connected through a Tuya hub/gateway (Zigbee)?
Please compare the Device ID: in Smart Life, open the plug →
→ Device Information → Virtual ID, against the Device ID in the Homey device settings. Are they exactly the same?
If both look right, please update to 1.0.259 and, in the plug’s settings, turn off Fire and Forget and turn on Record connection start. Then restart the app, press ON and OFF in Homey within 20 seconds, and send me the log. It will show exactly what the plug answers.
This is WIFI plug, device id is exact same. I change to experimental version, but wont work still. Hope i do everything right what asked.. =D
diag.report ce9105f5-958e-4462-aa95-947fd4f8594b
Here is also log from APP, i think it show all from the beging
09/10/2026, 17.20.30 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.20.30 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 17.20.22 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.20.22 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.20.13 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.20.13 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.20.08 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.20.08 [WRN] [Smart Plug] GET timed out 4× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 17.20.03 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.20.03 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 17.19.58 [INF] [Smart Plug] Trace +15.70 s ← CONTROL (7) seq 6
09/10/2026, 17.19.58 [INF] [Smart Plug] Trace +15.64 s → CONTROL (7) seq 6: dps {1=true}
09/10/2026, 17.19.58 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.19.58 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.19.53 [INF] [Smart Plug] Trace +10.69 s ← CONTROL (7) seq 5
09/10/2026, 17.19.53 [INF] [Smart Plug] Trace +10.63 s → CONTROL (7) seq 5: dps {1=false}
09/10/2026, 17.19.53 [WRN] [Smart Plug] Set DP 1 timed out (value may still have applied)
09/10/2026, 17.19.53 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.19.53 [INF] [Smart Plug] Trace +10.57 s ← HEART_BEAT (9) seq 0
09/10/2026, 17.19.53 [INF] [Smart Plug] Trace +10.53 s → HEART_BEAT (9) seq 4
09/10/2026, 17.19.48 [INF] [Smart Plug] Trace +5.66 s ← CONTROL (7) seq 3
09/10/2026, 17.19.48 [INF] [Smart Plug] Trace +5.61 s → CONTROL (7) seq 3: dps {1=true}
09/10/2026, 17.19.45 [INF] [Smart Plug] Trace +2.90 s ← DP_REFRESH (18) seq 2
09/10/2026, 17.19.45 [INF] [Smart Plug] Trace +2.70 s ← STATUS (8) seq 0: dps {20=2309}
09/10/2026, 17.19.45 [INF] [Smart Plug] Trace +2.66 s → DP_REFRESH (18) seq 2: {dpId [1,9,18,19,20,26,38]}
09/10/2026, 17.19.44 [INF] [Smart Plug] Trace +1.18 s ← DP_QUERY (10) seq 1: dps {1=false, 9=0, 17=2, 18=0, 19=0, 20=2304, 21=1, 22=529, 23=27189, 24=14378, 25=2900, 26=0, 41="", 42=""}
09/10/2026, 17.19.43 [INF] [Smart Plug] Trace +1.04 s → DP_QUERY (10) seq 1: dps {}
09/10/2026, 17.19.43 [INF] [Smart Plug] Connected
09/10/2026, 17.19.42 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.3)
09/10/2026, 17.19.41 [INF] [App] Started — v1.0.259
09/10/2026, 17.16.56 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 17.16.44 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.16.38 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.16.29 [INF] [Smart Plug] Connected
09/10/2026, 17.14.57 [INF] [Smart Plug] Trace +10.34 s ← HEART_BEAT (9) seq 0
09/10/2026, 17.14.57 [INF] [Smart Plug] Trace +10.29 s → HEART_BEAT (9) seq 3
09/10/2026, 17.14.50 [INF] [Smart Plug] Trace +3.09 s ← DP_REFRESH (18) seq 2
09/10/2026, 17.14.49 [INF] [Smart Plug] Trace +2.90 s ← STATUS (8) seq 0: dps {20=2304}
09/10/2026, 17.14.49 [INF] [Smart Plug] Trace +2.76 s → DP_REFRESH (18) seq 2: {dpId [1,9,18,19,20,26]}
09/10/2026, 17.14.47 [WRN] [Smart Plug] Protocol 3.3 works on this device (configured: 3.4) — saving it to "Protocol Version" so the next reconnect starts there.
09/10/2026, 17.14.47 [INF] [Smart Plug] Trace +0.93 s ← DP_QUERY (10) seq 1: dps {1=false, 9=0, 17=2, 18=0, 19=0, 20=2322, 21=1, 22=529, 23=27189, 24=14378, 25=2900, 26=0, 41="", 42=""}
09/10/2026, 17.14.47 [INF] [Smart Plug] Trace +0.79 s → DP_QUERY (10) seq 1: dps {}
09/10/2026, 17.14.47 [INF] [Smart Plug] Connected
09/10/2026, 17.14.46 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.3)
09/10/2026, 17.14.30 [INF] [Smart Plug] Reconnecting in 17s (attempt 5)
09/10/2026, 17.14.30 [WRN] [Smart Plug] 5 failures — trying protocol 3.3 (configured: 3.4)
09/10/2026, 17.14.30 [WRN] [Smart Plug] 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.
09/10/2026, 17.14.15 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.14.15 [INF] [Smart Plug] Trace +0.20 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.14.15 [INF] [Smart Plug] Trace +0.09 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.14.15 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.13.58 [INF] [Smart Plug] Reconnecting in 17s (attempt 4)
09/10/2026, 17.13.58 [WRN] [Smart Plug] 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.
09/10/2026, 17.13.43 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.13.43 [INF] [Smart Plug] Trace +0.22 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.13.43 [INF] [Smart Plug] Trace +0.11 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.13.43 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.13.30 [INF] [Smart Plug] Reconnecting in 13s (attempt 3)
09/10/2026, 17.13.30 [WRN] [Smart Plug] 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.
09/10/2026, 17.13.15 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.13.15 [INF] [Smart Plug] Trace +0.18 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.13.15 [INF] [Smart Plug] Trace +0.13 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.13.15 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.13.08 [INF] [Smart Plug] Reconnecting in 7s (attempt 2)
09/10/2026, 17.13.08 [WRN] [Smart Plug] 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.
09/10/2026, 17.12.53 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.12.53 [INF] [Smart Plug] Trace +0.33 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.12.53 [INF] [Smart Plug] Trace +0.24 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.12.53 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.12.50 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 17.12.50 [WRN] [Smart Plug] 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.
09/10/2026, 17.12.35 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.12.35 [INF] [Smart Plug] Trace +0.15 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.12.35 [INF] [Smart Plug] Trace +0.04 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.12.35 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.12.28 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.12.28 [INF] [Smart Plug] Trace +0.17 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.12.27 [INF] [Smart Plug] Trace +0.03 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.12.27 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.12.21 [INF] [Smart Plug] Reconnecting in 6s (attempt 2)
09/10/2026, 17.12.21 [WRN] [Smart Plug] 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.
09/10/2026, 17.12.06 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.12.06 [INF] [Smart Plug] Trace +0.17 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.12.06 [INF] [Smart Plug] Trace +0.06 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.12.06 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.12.03 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 17.12.03 [WRN] [Smart Plug] 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.
09/10/2026, 17.11.48 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 17.11.48 [INF] [Smart Plug] Trace +0.27 s ← unreadable frame, 60 bytes, SESS_KEY_NEG_START (3), header 000055aa 00000001 00000003 0000002c: HMAC mismatch: expected 643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f088, was 9dfca36014754fad2588334ac020e793093f698abdf4efa776cd679bd0db62fb. 000055aa00000001000000030000002c00000001b3264be2643b5e2b9e641dee8c06369fb015e00bb132e8952eac80290196488004f4f0880000aa55
09/10/2026, 17.11.48 [INF] [Smart Plug] Trace +0.17 s → SESS_KEY_NEG_START (3) seq 1: 16 bytes
09/10/2026, 17.11.48 [INF] [Smart Plug] Trace +0.00 s Trace: recording every frame of the first 20 s of this connection (protocol 3.4)
09/10/2026, 17.11.47 [INF] [App] Started — v1.0.259
09/10/2026, 17.02.32 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.02.23 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 17.01.46 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.01.41 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.01.15 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 17.01.03 [INF] [Smart Plug] Connected
09/10/2026, 16.58.41 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 16.58.36 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 16.56.53 [INF] [Smart Plug] Connected
09/10/2026, 16.56.51 [INF] [App] Started — v1.0.259
09/10/2026, 16.55.01 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 16.54.56 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 16.54.22 [INF] [Smart Plug] Protocol Version set to 3.3
09/10/2026, 16.54.22 [WRN] [Smart Plug] Protocol 3.3 works on this device (configured: 3.4) — saving it to "Protocol Version" so the next reconnect starts there.
09/10/2026, 16.54.21 [INF] [Smart Plug] Connected
09/10/2026, 16.54.06 [INF] [Smart Plug] Reconnecting in 15s (attempt 5)
09/10/2026, 16.54.06 [WRN] [Smart Plug] 5 failures — trying protocol 3.3 (configured: 3.4)
09/10/2026, 16.54.06 [WRN] [Smart Plug] 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.
09/10/2026, 16.53.51 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 16.53.36 [INF] [Smart Plug] Reconnecting in 14s (attempt 4)
09/10/2026, 16.53.36 [WRN] [Smart Plug] 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.
09/10/2026, 16.53.21 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 16.53.09 [INF] [Smart Plug] Reconnecting in 12s (attempt 3)
09/10/2026, 16.53.09 [WRN] [Smart Plug] 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.
09/10/2026, 16.52.54 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 16.52.48 [INF] [Smart Plug] Reconnecting in 6s (attempt 2)
09/10/2026, 16.52.48 [WRN] [Smart Plug] 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.
09/10/2026, 16.52.33 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 16.52.30 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 16.52.30 [WRN] [Smart Plug] 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.
09/10/2026, 16.52.15 [ERR] [Smart Plug] HMAC mismatch — the signature on that frame does not match the one computed from the Local Key. On 3.4 that is either a wrong key or the wrong framing altogether, and those look alike from here, so the app finishes trying the other versions before drawing a conclusion.
09/10/2026, 16.52.13 [INF] [App] Started — v1.0.253
09/10/2026, 16.00.00 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.59.39 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.49.27 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.49.21 [WRN] [Smart Plug] GET timed out 4× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.49.16 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.49.10 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.49.05 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.48.52 [INF] [Smart Plug] Connected
09/10/2026, 15.48.47 [INF] [Smart Plug] Reconnecting in 5s (attempt 2)
09/10/2026, 15.48.47 [WRN] [Smart Plug] Connection failed: connection timed out — nothing answered in time. The device is asleep, still starting up after a power cut, or busy with another connection; these devices accept exactly one. The app keeps retrying on its own.
09/10/2026, 15.48.47 [WRN] [Smart Plug] connection timed out — nothing answered in time. The device is asleep, still starting up after a power cut, or busy with another connection; these devices accept exactly one. The app keeps retrying on its own.
09/10/2026, 15.48.40 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.48.39 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 15.48.39 [WRN] [Smart Plug] Disconnected: socket closed (up 1m 12s, 9 packets)
09/10/2026, 15.48.18 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.48.13 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.47.45 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.47.27 [INF] [Smart Plug] Connected
09/10/2026, 15.35.03 [WRN] [Smart Plug] GET timed out 8× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.34.54 [WRN] [Smart Plug] GET timed out 7× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.34.49 [WRN] [Smart Plug] GET timed out 6× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.34.44 [WRN] [Smart Plug] GET timed out 5× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.34.37 [WRN] [Smart Plug] GET timed out 4× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.30.05 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.30.00 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.29.48 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.29.15 [INF] [Smart Plug] Connected
09/10/2026, 15.29.14 [INF] [App] Started — v1.0.253
09/10/2026, 15.29.00 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.28.55 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.28.44 [WRN] [Smart Plug] Turn On Behavior changed but dp_relay_status = 0 — no command sent. Set the DP number first.
09/10/2026, 15.27.06 [WRN] [Smart Plug] GET timed out 7× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.27.00 [WRN] [Smart Plug] GET timed out 6× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.26.55 [WRN] [Smart Plug] GET timed out 5× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.26.34 [WRN] [Smart Plug] GET timed out 4× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.26.29 [WRN] [Smart Plug] GET timed out 3× in a row — this device looks push-only: it never answers a status request. Set Polling Interval to 0 to stop asking.
09/10/2026, 15.26.24 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 15.26.19 [INF] [Smart Plug] GET timed out — no status response this time
09/10/2026, 12.12.17 [INF] [Smart Plug] Connected
09/10/2026, 12.12.14 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 12.12.14 [WRN] [Smart Plug] Disconnected: socket closed (up 2h 60m, 5 packets)
09/10/2026, 9.12.23 [INF] [Smart Plug] Connected
09/10/2026, 9.12.20 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 9.12.20 [WRN] [Smart Plug] Disconnected: Error from socket: read ECONNRESET (up 4h 0m, 7 packets)
09/10/2026, 9.12.20 [ERR] [Smart Plug] Error from socket: read ECONNRESET — likely a protocol version mismatch. The app retries the other versions on its own after 5 failed attempts. If it stays offline, set Protocol Version manually in the device settings; 3.3 and 3.4 are the common ones.
09/10/2026, 5.12.19 [INF] [Smart Plug] Connected
09/10/2026, 5.12.17 [INF] [Smart Plug] Reconnecting in 3s (attempt 1)
09/10/2026, 5.12.17 [WRN] [Smart Plug] Disconnected: Error from socket: read ECONNRESET (up 4h 0m, 3 packets)
09/10/2026, 5.12.17 [ERR] [Smart Plug] Error from socket: read ECONNRESET — likely a protocol version mismatch. The app retries the other versions on its own after 5 failed attempts. If it stays offline, set Protocol Version manually in the device settings; 3.3 and 3.4 are the common ones.
09/10/2026, 1.12.17 [INF] [Smart Plug] Connected
09/10/2026, 1.12.14 [INF] [Smart Plug] Reconnecting in 2s (attempt 1)
09/10/2026, 1.12.14 [WRN] [Smart Plug] Disconnected: socket closed (up 4h 53m, 446 packets)
@Andi Subject: Curtain motor position not updating in Homey (Tuya Local)
Hi Andi,
I’m experiencing an issue with my curtain motor using the Tuya Local app.
The curtain can be controlled through Homey, but its position is no longer updating correctly. This also happens when operating the curtain manually.
Here are my current settings:
The last position update was on October 5, although Homey has received other status updates since then.
I also tested protocol 3.4 previously, but the problem remains.
Could this be related to how the app reads or processes position updates from the motor? Is there anything else I should check or change?
Thanks for your help!
Thanks Mikko, you did everything right, and the recording shows exactly what’s happening. Your plug confirms every ON/OFF from Homey within 50 ms, then doesn’t switch. The ID and protocol are fine.
The only difference between what it answers and what it ignores is how one field in the command is filled in. Version 1.0.260 adds a setting to send commands the way other Tuya tools do. Could you:
Update to 1.0.260: Tuya Local | Homey
In the plug’s settings, turn on Alternative command format (leave Record connection start on).
Restart the app, press ON and OFF in Homey within 20 seconds, and tell me whether it switches. Send me the log either way.
And quickly: does ON/OFF work from the Smart Life app?
Hi Mario, thanks for the details. Most likely your motor reports its actual position on a different data point than the one used to set it. DP 2 is usually the target position and only changes when a position is set. The real position is usually on DP 3, and open/close or moving it by hand only changes that one. The app doesn’t read it yet, so the tile stays on the last position that was set.
Could you check? In the Tuya Local settings, open DP Debug, turn on Auto-refresh, move the curtain by hand, and tell me which DP changes. Or send a support bundle from the Fix It tab. If it’s DP 3, I’ll add a setting for it.
@Andi Hi Andi,
I tested it using DP Debug with Auto-refresh enabled, and you were right!
After operating the curtain through Homey:
So DP 3 appears to report the actual curtain position, while DP 2 remains unchanged.
I’ve attached screenshots of both readings.
Would it be possible to add a separate setting for the actual position DP (DP 3), so Homey can correctly display the curtain’s position?
Thanks! greetings mark