[APP][Pro] Tuya Local

Hi Andi,

thank you for the quick update! I installed the TEST version and configured DP Phase JSON = 102, with Phase A/B/C left at 0 as requested.

The JSON parsing is working very well for the measurements now. Voltage, current, temperature and especially the total charging power look correct.

For example, while charging at 16 A I get:

{"L1":[2290,151,34],"L2":[2290,156,35],"L3":[2290,154,35],"t":240,"p":105,"d":11410,"e":21}

Homey correctly shows approximately 10,500 W, which matches the actual charging power.

There seems to be one remaining issue with session energy. Homey currently shows 0.051 kWh and this value does not update while charging.

I compared two DP102 readings a few minutes apart:

First reading:
d:9010, e:14

Later reading:
d:11410, e:21

During this time the charger was running at approximately 10.5 kW, but Homey’s “Charged Energy” remained at 0.051 kWh.

The increase of e from 14 to 21 looks plausible for session energy with the configured JSON session energy divisor = 10, so the scaling may already be correct. It looks like the Homey session-energy capability is simply not being updated from this value.

Apart from that, the new DP102 JSON support appears to be working great.

I can also provide the complete DP Debug output and support bundle if you need them.

Thank you again for implementing this so quickly!
Sebastian

Good catch, and your reasoning was right — the scaling is fine, the value simply never reached the tile. You found a real bug, and not only in the JSON support.

When you set DP Phase JSON on a running app, the app is supposed to create the tiles that data point now feeds. The check that notices such a change was blind to any setting that shares its tile with a second data point — and dp_phase_json is one of those. So the measurements worked (those tiles already existed from your earlier setup) while Session Energy was never created. Restarting the app would have fixed it, which is why this went unnoticed for so long. It affected seventeen settings across three drivers; all of them are fixed now.

One thing to check when you try the next version 1.0.236 - https://homey.app/a/com.tuyalocal/test/: the tile you quoted, “Charged Energy”, is the lifetime total, not the session. The session one is called “Session Energy”. Your e of 14 → 21 is 1.4 → 2.1 kWh, so the 0.051 kWh you saw was a leftover from before — a different tile entirely.

And the question from last time still stands, if you get the chance: what does your charger’s own lifetime counter read? Your d of 11410 is either 11.41 kWh or 114.10 kWh, and that one comparison would settle it.

Hi Andi,

I checked the charger’s original app.

The actual lifetime total shown by the charger app is 1332.1 kWh (104 charging sessions).

So the DP102 value d:11410 does not appear to be the lifetime counter — neither 11.41 kWh nor 114.10 kWh matches the charger’s lifetime total.

Interestingly, the charging session on September 20 ended at 12.1 kWh after 2h32m. During that same charging session, our DP102 reading was d:11410.

This makes d:11410 → 11.410 kWh look very plausible as a value related to the current charging session, because the session was still running when that DP Debug screenshot was taken and later finished at 12.1 kWh.

The original app currently shows:

  • Lifetime energy: 1332.1 kWh
  • Lifetime charging sessions: 104
  • September 20 session: 12.1 kWh
  • September 20 duration: 2h32m

I can provide a screenshot of this page as well.

Sebastian

Please send me the complete DP Debug output and support bundle - Thank you

Hi Andi,

here is the complete support bundle as requested.

One additional observation regarding DP102: the latest value is:

{“L1”:[2350,0,0],“L2”:[2350,0,0],“L3”:[2350,0,0],“t”:220,“p”:0,“d”:16800,“e”:37}

As mentioned in my previous post, the charger’s own app shows 1332.1 kWh lifetime energy, so d clearly does not appear to represent the lifetime counter.

The latest completed charging session in the charger app was 12.1 kWh, and during that session we observed d:11410, which would fit very well with 11.410 kWh at that point during the ongoing session.

Tuya Local 1.0.236 is otherwise working correctly now. Homey successfully showed the live phase measurements and Session Energy, which reached 3.1 kWh during our test.

I have attached/pasted the complete support bundle below.

Thank you!

Tuya Local v1.0.236 — support bundle

Generated: 2026-09-20T20:49:54.630Z
App started: 2026-09-20T20:37:14.228Z (running 12m 40s)
Homey: 13.5.0
Cloud lookup: configured (eu) — account listing not attempted since the app started

DEVICE Wallbox

driver ev_charger
model dé EV Charger gd version (product gxrtu5vljdthtd3g)
device id bf2272…
available yes
protocol configured 3.5, connected 3.5 ip
status Connected · last seen 20.09.26, 22:49:47 · poll 10s
history 1 connection since app start · up 12m 39s total · avg 12m 39s · longest 12m 39s
packets 91 received · 0.12/s while connected · data ever received: yes
DP mapping
dp_charge_current 150
dp_clear_energy 0
dp_connection_state 0
dp_current_a 0
dp_current_b 0
dp_current_c 0
dp_energy_total 0
dp_fault 0
dp_live_updates 0
dp_phase_a 0
dp_phase_b 0
dp_phase_c 0
dp_phase_json 102
dp_power_total 0
dp_session_energy 0
dp_switch 18
dp_temperature 0
dp_timer_on 0
dp_voltage_a 0
dp_voltage_b 0
dp_voltage_c 0
dp_work_mode 0
dp_work_state 109
other settings
amp_scale “1”
command_gap_ms 100
current_max 16
current_min 6
current_scale “1”
estimate_power true
fire_and_forget true
json_current_divisor 10
json_energy_divisor 10
json_power_factor 100
json_temp_divisor 10
json_voltage_divisor 10
lock_protocol false
nominal_voltage 230
offline_grace_seconds 60
phase_count “3”
power_scale “1”
reconnect_interval 0
session_energy_scale “0.1”
temp_scale “1”
total_energy_scale “0.1”
total_energy_source “estimate”
voltage_scale “1”
live DPs (updated 2026-09-20T20:44:03.767Z)
DP 101 200 number
DP 102 “{“L1”:[2350,0,0],“L2”:[2350,0,0],“L3”:[2350,0,0],“t”:220,“p”:0,“d”:16800,“e”:37}” string
DP 105 “{“t”:“2026-09-20 15:09:32”, “s”:“15:09”,“e”:“17:42”,“d”:9159,“c”:121}” string
DP 106 “{“r”:“Type B, AC 30mA + DC 6mA”,“fv”:“2.9.13”,“cp”:“9.2”,“t”:“280”,“e”:“2621”}” string
DP 107 “[6, 8, 10, 13, 16]” string
DP 109 “IDLEINS” string
DP 150 16 number
DP 151 “{“m”:0,“dt”:0,“ss”:“00:00”,“se”:“08:00”}” string
DP 152 16 number
DP 153 “state: WORKING → IDLEINS” string
DP 188 false boolean
DP 189 598 number
cloud spec code / dp / type / value / range
x_work_state 101 value null
x_metrics 102 string null
x_selftest 103 string null
x_alarm 104 string null
x_charge_history 105 string null
x_charger_info 106 string null
x_adjust_current 107 string null
x_downcounter 108 value null
x_work_st_debug 109 enum null
x_do_charge 140 bool null
x_do_reset 141 bool null
x_do_reboot 142 bool null
x_charge_current 150 value null
x_charge_mode 151 string null
x_max_current_cfg 152 value null
x_lang_cfg 153 string null
x_socket_cfg 154 value null
x_nfc_cfg 155 bool null
x_earch_free_cfg 156 bool null
x_product_varient 157 value null
x_heartbeat 188 bool null
dp_num 189 value null

LOG — warnings, errors and connection events, newest first
29 of 29 distinct messages from 98 of 436 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-20T20:37:16.076Z [INFO] [Wallbox] The phase JSON carries d=13800, which this driver does not map: it is either 13.80 kWh counted in watt-hours or 138.00 kWh counted in hundredths, and two readings cannot tell which. Compare it against your charger’s own lifetime counter and report it, and it can be mapped properly.
2026-09-20T20:05:39.661Z [WARN] [Wallbox] DP 189 is counting up (477 → 598) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 189 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge.
2026-09-20T19:41:45.448Z [WARN] [Wallbox] DP 101 is counting up (100 → 300) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 101 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge.
2026-09-20T19:41:36.165Z [WARN] [Wallbox] 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.
2026-09-20T19:41:36.164Z [WARN] [Wallbox] 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.
2026-09-20T19:41:27.632Z [WARN] [Wallbox] Disconnected: socket closed (up 16m 3s, 86 packets)
2026-09-20T19:27:04.674Z [INFO] [Wallbox] The phase JSON carries d=4240, which this driver does not map: it is either 4.24 kWh counted in watt-hours or 42.40 kWh counted in hundredths, and two readings cannot tell which. Compare it against your charger’s own lifetime counter and report it, and it can be mapped properly.
2026-09-20T17:48:14.160Z [WARN] [Wallbox] Disconnected: socket closed (up 1h 37m, 316 packets)
2026-09-20T17:48:14.159Z [WARN] [Wallbox] Disconnected: socket closed (up 1h 37m, 317 packets)
2026-09-20T17:48:14.158Z [WARN] [Wallbox] Disconnected: socket closed (up 1h 37m, 154 packets)
2026-09-20T17:53:16.467Z [WARN] [Wallbox] work_state: unknown value “SLEEP” — expected one of charger_free, charger_insert, charger_free_fault, charger_wait, charger_charging, charger_pause, charger_end, charger_fault, charger_start_wait, charger_stop_wait ×12 since 2026-09-20T16:17:06.283Z
2026-09-20T17:48:18.901Z [WARN] [Wallbox] work_state: unknown value “IDLE” — expected one of charger_free, charger_insert, charger_free_fault, charger_wait, charger_charging, charger_pause, charger_end, charger_fault, charger_start_wait, charger_stop_wait ×9 since 2026-09-20T16:12:08.923Z
2026-09-20T16:11:14.620Z [WARN] [Wallbox] Disconnected: socket closed (up 12s, 1 packet)
2026-09-20T16:11:07.607Z [WARN] [Wallbox] Disconnected: socket closed (up 3h 9m, 651 packets)
2026-09-20T16:11:01.203Z [WARN] [Wallbox] Disconnected: socket closed (up 22s, 2 packets)
2026-09-20T16:10:57.607Z [WARN] [Wallbox] Disconnected: socket closed (up 1h 20m, 413 packets)
2026-09-20T16:10:35.612Z [WARN] [Wallbox] Disconnected: socket closed (up 1h 10m, 255 packets)
2026-09-20T20:38:59.031Z [WARN] [Wallbox] DP 101 is counting up (200 → 300) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 101 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge. ×3 — 15:19:12, 15:19:12, 20:38:59
2026-09-20T15:08:10.146Z [WARN] [Wallbox] DP 189 is counting up (135 → 229) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 189 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge. ×2 — 15:08:10, 15:08:10
2026-09-20T14:50:40.734Z [WARN] [Wallbox] Disconnected: socket closed (up 14m 29s, 48 packets)
2026-09-20T14:08:41.759Z [WARN] [Wallbox] DP 189 is counting up (49 → 135) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 189 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge.
2026-09-20T20:43:56.353Z [WARN] [Wallbox] work_state: unknown value “IDLEINS” — expected one of charger_free, charger_insert, charger_free_fault, charger_wait, charger_charging, charger_pause, charger_end, charger_fault, charger_start_wait, charger_stop_wait ×17 since 2026-09-20T13:08:29.094Z
2026-09-20T13:08:29.076Z [WARN] [Wallbox] DP 101 is counting up (204 → 300) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 101 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge.
2026-09-20T13:02:07.632Z [WARN] [Wallbox] work_state: unknown value “PAUSE” — expected one of charger_free, charger_insert, charger_free_fault, charger_wait, charger_charging, charger_pause, charger_end, charger_fault, charger_start_wait, charger_stop_wait
2026-09-20T17:48:17.203Z [WARN] [Wallbox] work_mode: could not set “{“m”:0,“dt”:0,“ss”:“00:00”,“se”:“08:00”}”. Many chargers report modes they don’t implement — check DP 33 (mode_set) for the real list. ×3 — 13:01:46, 16:11:17, 17:48:17
2026-09-20T20:38:58.728Z [WARN] [Wallbox] work_state: unknown value “WORKING” — expected one of charger_free, charger_insert, charger_free_fault, charger_wait, charger_charging, charger_pause, charger_end, charger_fault, charger_start_wait, charger_stop_wait ×15 since 2026-09-20T13:01:46.133Z
2026-09-20T12:39:43.956Z [WARN] [Wallbox] DP 150 is counting up (11 → 16) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 150 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge.
2026-09-20T12:32:34.921Z [WARN] [Wallbox] DP 101 is counting up (101 → 200) but is not mapped to anything. If the charged-energy total stays at zero, set “Session Energy DP” to 101 in the device settings — on most of these chargers the rising counter is DP 1, while DP 25 holds the previous session and does not move during a charge.
2026-09-20T20:37:15.437Z [INFO] [Wallbox] Connected ×16 since 2026-09-20T12:28:10.596Z

Hi Andi,

I have one additional idea/question regarding the EV Charger driver.

The Wallbox device in Homey has a State of Charge / battery percentage tile, but my charger itself apparently does not provide the vehicle’s SoC through any of its Tuya DPs, so this tile currently remains empty.

My Kia EV4 is also integrated into Homey through a separate car integration, and its battery SoC is already available there as a Homey capability (for example 77.5%).

Would it be possible to add an optional setting to the Tuya Local EV Charger driver that allows the user to select another Homey device/capability as the source for the vehicle SoC?

For example:

SoC source → Kia EV4 → Battery level

Tuya Local could then display that value in the Wallbox’s existing State of Charge tile while leaving it empty when no external source is configured.

I realise this value would not actually come from the Tuya charger itself, but it would make the EV Charger device in Homey much more complete for chargers that cannot obtain the vehicle SoC directly.

If accessing another Homey device from the driver is not desirable, perhaps exposing the Wallbox SoC capability so that it can be updated through a Flow would be another option.

Just an idea – thanks again for all the work on the driver!

Sebastian

Hi Andy

I’m having a strange problem with the Pet Feeder that you got working in your Tuya Local app.

It’s feeding at unscheduled times.

At the moment, there is only one event scheduled using a Homey flow, and that feeds one portion at 6 am. I also have a flow set up to react to a voice command in Google Home.

It has just fed a portion at 9:13 pm; a couple of days ago it fed two portions without a request. There does not appear to be any pattern to the feedings. The log for the device only appears to show alerts, so I can’t track the feedings.

In the great scheme of things, it’s a minor problem; I just do fewer voice requests for a feed, but if you could have a look at the problem, I would be grateful.

Stephen

Hi Stephen - Please send me the support bundle - Thank you

Hi Sebastian,

Your bundle answered more than it was sent for — thank you.

DP 105 is the answer, and your own data proves it three ways:
{"t":"2026-09-20 15:09:32","s":"15:09","e":"17:42","d":9159,"c":121}
s to e spans 9148 seconds, d counts 9159, and c of 121 is 12.1 kWh — your charge, with the 2 h 32 min you reported.

Which also shows that d in DP 102 means duration, not energy. Your latest reading settles it: idle after that 12.1 kWh charge, d=16800, having grown by 3000 in seven minutes. As energy that’s 3.0 kWh where your charger can deliver 1.28; as seconds it’s seven times too fast. d:11410 looked like a perfect fit — so did e before it, and both were coincidences. Neither field is mapped any more; both go to the Logs tab instead. The 3.1 kWh you saw was that guess, not a measurement.

After updating to 1.0.237:

  • Charge History DP → 105 — exact session energy at the end of each charge
  • Total energy source → Session counter (yours is on Estimate)
  • Switch DP → try 140. Yours is 18, and there’s no DP 18 anywhere in your traffic — your start/stop has been going nowhere. The cloud spec calls DP 140 x_do_charge.

Your states IDLE, IDLEINS, WORKING, PAUSE and SLEEP were rejected as unknown seventeen times, which is why the state tile sat still and charging session finished never fired. Fixed.

On the state of charge: no, sorry. That tile isn’t mine — it’s part of another app, a slot this app never fills. Filling it would mean requesting homey:manager:api, which Homey shows at install as access to every device in your home. The app currently asks for no permissions at all, and I won’t trade that for one number. A mirrored value would also look identical to a measured one while going stale unnoticed.

But what you want to do already works: When Kia EV4 battery level changes → And above 80% → Then turn off Wallbox, or use Set charge current to taper.

BR
Andi

Hello Andi,

I have two thermostats connected via a B+Z Gateway one is Zigbee and one is Bluetooth.

I can controll the Gateway and both thermostats whith the Tuya app and the Zigbee one also with Homey and the Tuya app by Drenso.

The Gateway I can install with your app as generic device.

Am I right, that it is not possible to create the thermostat devices with your app?

Hi Dietrich,

Since you’re already able to install the Gateway as a generic device using my app, there’s a good chance this might be possible.

Could you please provide the Cloud DP Table for that device? You can find instructions on how to generate and share it in the app settings and help section.

Once I have that information, I can take a closer look and see what’s possible.

Kind regards,
Andi

I hope, this is what you need.

Tuya Local 1.0.237 — support bundle (5 devices)

Support bundle
Tuya Local v1.0.237 — support bundle
Generated: 2026-09-21T21:42:30.169Z
App started: 2026-09-21T20:27:05.557Z (running 1h 15m)
Homey: 13.4.1
Cloud lookup: configured (eu) — account listing ok, 40 device(s) (2026-09-21T20:56:47.994Z)
========================================================================

DEVICE  Steckdosenleiste rechts
  driver     wall_switch
  model      NX-4473  (product 0oaikegxcfwwfcsr)
  device id  bfe198…
  available  yes
  protocol   configured 3.3, connected 3.3  ip 192.168.13.2
  status     Connected · last seen 21.09.26, 23:42:23 · poll 30s
  history    2 connections since app start · up 1h 15m total · avg 37m 40s · longest 59m 38s
  packets    93 received · 0.02/s while connected · data ever received: yes
  DP mapping
    dp_countdown_1             0
    dp_countdown_2             0
    dp_countdown_3             9
    dp_countdown_4             10
    dp_relay_status            38
    dp_switch_1                1
    dp_switch_2                2
    dp_switch_3                3
    dp_switch_4                4
  other settings
    aggregate_main             false
    command_gap_ms             100
    fire_and_forget            false
    lock_protocol              false
    name_switch_1              "USB"
    name_switch_2              "Senseo"
    name_switch_3              "Wasserkocher"
    name_switch_4              "Mikrowelle"
    offline_grace_seconds      60
    reconnect_interval         0
    relay_status               "off"
  live DPs   (updated 2026-09-21T20:42:56.244Z)
    DP 1     true                         boolean
    DP 2     false                        boolean
    DP 3     true                         boolean
    DP 4     false                        boolean
    DP 9     0                            number
    DP 10    0                            number
    DP 11    0                            number
    DP 12    0                            number
    DP 38    "off"                        string
  cloud spec  code / dp / type / value / range
    switch_1                   1     Boolean   null             
    switch_2                   2     Boolean   null             
    switch_3                   3     Boolean   null             
    switch_4                   4     Boolean   null             
    countdown_1                9     Integer   null             0-86400 s
    countdown_2                10    Integer   null             0-86400 s
    countdown_3                11    Integer   null             0-86400 s
    countdown_4                12    Integer   null             0-86400 s
    relay_status               38    Enum      null             power_off,power_on,last
------------------------------------------------------------------------

DEVICE  Bridge
  driver     generic
  model      ZX-5210  (product facdcmf5xlsejeku)
  device id  bf4780…
  available  yes
  protocol   configured 3.4, connected 3.4  ip 192.168.5.10
  status     Connected · last seen 21.09.26, 23:42:04 · poll 30s
  history    3 connections since app start · up 1h 13m total · avg 24m 34s · longest 29m 56s
  packets    124 received · 0.03/s while connected · data ever received: yes
  other settings
    command_gap_ms             100
    dp_config                  "[{\"dp\":4,\"cap\":\"onoff\",\"label\":\"On/Off (Switch)\",\"settable\":true},{\"dp\":32,\"cap\":\"generic_picker_1\",\"label\":\"Custom Picker 1\",\"settable\":true}]"
    fire_and_forget            true
    lock_protocol              false
    offline_grace_seconds      60
    reconnect_interval         0
  live DPs   (updated 2026-09-21T21:20:55.095Z)
    DP 2     "auto"                       string
    DP 4     true                         boolean
    DP 8     false                        boolean
    DP 13    100                          number
    DP 24    212                          number
    DP 31    "all"                        string
    DP 32    "normal"                     string
    DP 40    false                        boolean
    DP 45    0                            number
    DP 46    "202101010101202101010101"   string
    DP 101   0                            number
    DP 102   50                           number
    DP 103   0                            number
    DP 104   230                          number
    DP 105   50                           number
    DP 108   false                        boolean
    DP 109   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
    DP 110   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
    DP 111   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
    DP 112   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
    DP 113   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
    DP 114   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
    DP 115   "KgCqMACqQgDmhACqkACqkADSkACqkADSkACqkADS" string
  cloud spec  code / dp / type / value / range
    switch_alarm_sound         4     Boolean   null             
    master_state               32    Enum      null             normal,alarm
    factory_reset              34    Boolean   null             
    alarm_active               45    String    null             
------------------------------------------------------------------------

DEVICE  Alex Bad
  driver     smart_plug
  model      Smart plug-EU  (product eljrqdagltsgoycp)
  device id  bf084c…
  available  yes
  protocol   configured 3.3, connected 3.3  ip 192.168.13.15
  status     Connected · last seen 21.09.26, 23:41:43 · poll 30s
  history    2 connections since app start · up 1h 15m total · avg 37m 41s · longest 1h 1m
  packets    131 received · 0.03/s while connected · data ever received: yes
  DP mapping
    dp_countdown               9
    dp_current                 18
    dp_energy                  17
    dp_fault                   26
    dp_power                   19
    dp_power_factor            0
    dp_relay_status            38
    dp_switch                  1
    dp_voltage                 20
  other settings
    command_gap_ms             100
    current_scale              "0.001"
    fire_and_forget            true
    kwh_scale                  "0.001"
    lock_protocol              false
    offline_grace_seconds      60
    power_scale                "0.1"
    reconnect_interval         0
    relay_status               "memory"
    voltage_scale              "0.1"
  live DPs   (updated 2026-09-21T21:40:16.276Z)
    DP 1     true                         boolean
    DP 9     0                            number
    DP 17    1                            number
    DP 18    0                            number
    DP 19    0                            number
    DP 20    2363                         number
    DP 21    1                            number
    DP 22    536                          number
    DP 23    28194                        number
    DP 24    15438                        number
    DP 25    2710                         number
    DP 26    0                            number
    DP 38    "memory"                     string
    DP 39    "relay"                      string
    DP 40    false                        boolean
    DP 41    ""                           string
    DP 42    ""                           string
    DP 44    ""                           string
    DP 46    false                        boolean
  cloud spec  code / dp / type / value / range
    switch_1                   1     Boolean   null             
    countdown_1                9     Integer   null             0-86400 s
    add_ele                    17    value     null             0-50000 kW·h
    cur_current                18    value     null             0-30000 mA
    cur_power                  19    value     null             0-80000 W
    cur_voltage                20    value     null             0-5000 V
    test_bit                   21    value     null             
    voltage_coe                22    value     null             0-100000000
    electric_coe               23    value     null             0-100000000
    power_coe                  24    value     null             0-1000000000
    electricity_coe            25    value     null             0-1000000
    fault                      26    bitmap    null             
    relay_status               38    Enum      null             power_off,power_on,last
    light_mode                 39    Enum      null             relay,pos,none
    child_lock                 40    Boolean   null             
    cycle_time                 41    String    null             
    random_time                42    String    null             
    switch_inching             44    String    null             
    overcharge_switch          46    Boolean   null             
------------------------------------------------------------------------

DEVICE  Alex Wohnzimmer
  driver     smart_plug
  model      Smart plug-EU  (product eljrqdagltsgoycp)
  device id  bf9a74…
  available  yes
  protocol   configured 3.3, connected 3.3  ip 192.168.13.12
  status     Connected · last seen 21.09.26, 23:42:24 · poll 30s
  history    2 connections since app start · up 1h 15m total · avg 37m 41s · longest 48m 44s
  packets    130 received · 0.03/s while connected · data ever received: yes
  DP mapping
    dp_countdown               9
    dp_current                 18
    dp_energy                  17
    dp_fault                   26
    dp_power                   19
    dp_power_factor            0
    dp_relay_status            38
    dp_switch                  1
    dp_voltage                 20
  other settings
    command_gap_ms             100
    current_scale              "0.001"
    fire_and_forget            true
    kwh_scale                  "0.001"
    lock_protocol              false
    offline_grace_seconds      60
    power_scale                "0.1"
    reconnect_interval         0
    relay_status               "memory"
    voltage_scale              "0.1"
  live DPs   (updated 2026-09-21T21:35:57.248Z)
    DP 1     true                         boolean
    DP 9     0                            number
    DP 17    1                            number
    DP 18    0                            number
    DP 19    0                            number
    DP 20    2349                         number
    DP 21    1                            number
    DP 22    566                          number
    DP 23    29676                        number
    DP 24    16250                        number
    DP 25    2570                         number
    DP 26    0                            number
    DP 38    "memory"                     string
    DP 39    "relay"                      string
    DP 40    false                        boolean
    DP 41    ""                           string
    DP 42    ""                           string
    DP 44    ""                           string
    DP 46    false                        boolean
  cloud spec  code / dp / type / value / range
    switch_1                   1     Boolean   null             
    countdown_1                9     Integer   null             0-86400 s
    add_ele                    17    value     null             0-50000 kW·h
    cur_current                18    value     null             0-30000 mA
    cur_power                  19    value     null             0-80000 W
    cur_voltage                20    value     null             0-5000 V
    test_bit                   21    value     null             
    voltage_coe                22    value     null             0-100000000
    electric_coe               23    value     null             0-100000000
    power_coe                  24    value     null             0-1000000000
    electricity_coe            25    value     null             0-1000000
    fault                      26    bitmap    null             
    relay_status               38    Enum      null             power_off,power_on,last
    light_mode                 39    Enum      null             relay,pos,none
    child_lock                 40    Boolean   null             
    cycle_time                 41    String    null             
    random_time                42    String    null             
    switch_inching             44    String    null             
    overcharge_switch          46    Boolean   null             
------------------------------------------------------------------------

DEVICE  Licht Badezimmer
  driver     light
  model      *NX-4648*  (product ohaebnvyrmgx2sh6)
  device id  bf9960…
  available  yes
  protocol   configured 3.3, connected 3.3  ip 192.168.10.8
  status     Connected · last seen 21.09.26, 23:42:20 · poll 30s
  history    5 connections since app start · up 1h 15m total · avg 15m 2s · longest 29m 43s
  packets    518 received · 0.11/s while connected · data ever received: yes
  DP mapping
    dp_brightness              22
    dp_color                   24
    dp_color_mode              21
    dp_color_temp              23
    dp_onoff                   20
  other settings
    brightness_max             1000
    color_mode_color_val       "colour"
    color_mode_white_val       "white"
    color_temp_invert          false
    color_temp_max             1000
    command_gap_ms             100
    fire_and_forget            true
    lock_protocol              false
    offline_grace_seconds      60
    power_off_watts            0
    power_on_watts             0
    reconnect_interval         0
  live DPs   (updated 2026-09-21T21:37:22.463Z)
    DP 20    false                        boolean
    DP 21    "white"                      string
    DP 22    1000                         number
    DP 23    500                          number
    DP 24    "00ee03e803e8"               string
    DP 25    "000e0d0000000000000000c80000" string
    DP 26    0                            number
    DP 30    "AAAAAAA="                   string
    DP 31    "AAA="                       string
    DP 32    "AAA="                       string
    DP 209   "AAAA"                       string
    DP 210   "AAAA"                       string
  cloud spec  code / dp / type / value / range
    switch_led                 20    Boolean   null             
    work_mode                  21    Enum      null             white,colour,scene,music
    bright_value               22    value     null             
    temp_value                 23    value     null             
    colour_data                24    string    null             
    scene_data                 25    string    null             
    countdown                  26    value     null             
    music_data                 27    Json      null             
    control_data               28    Json      null             
    rhythm_mode                30    Raw       null             
    sleep_mode                 31    Raw       null             
    wakeup_mode                32    Raw       null             
    cycle_timing               209   Raw       null             
    random_timing              210   Raw       null             
    bright_value_v2            undefined Integer   null             10-1000
    temp_value_v2              undefined Integer   null             0-1000
    colour_data_v2             undefined Json      null             
    scene_data_v2              undefined Json      null             
    countdown_1                undefined Integer   null             0-86400 s
------------------------------------------------------------------------

LOG — warnings, errors and connection events, newest first
  120 of 141 distinct messages from 300 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-21T21:36:15.729Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 18m 52s, 134 packets)
  2026-09-21T21:17:20.944Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 10m 2s, 65 packets)
  2026-09-21T21:15:50.588Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 48m 44s, 88 packets)
  2026-09-21T21:12:31.787Z  [WARN]  [Bridge]  Disconnected: socket closed (up 20m 2s, 37 packets)
  2026-09-21T21:07:15.344Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 10m 22s, 71 packets)
  2026-09-21T21:03:40.205Z  [WARN]  [Bridge]  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.
  2026-09-21T21:03:35.180Z  [WARN]  [Bridge]  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.
  2026-09-21T20:56:49.635Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 29m 43s, 205 packets)
  2026-09-21T20:51:49.141Z  [ERROR]  [Bridge]  Connection failed: connect EHOSTUNREACH 192.168.5.10:6668 — nothing answered at that address. The device is switched off, asleep, or its IP address has changed; a fixed address in the router prevents the last one. The protocol version is not the cause here.  ×2 — 20:51:21, 20:51:49
  2026-09-21T20:51:49.140Z  [ERROR]  [Bridge]  Error from socket: connect EHOSTUNREACH 192.168.5.10:6668 — nothing answered at that address. The device is switched off, asleep, or its IP address has changed; a fixed address in the router prevents the last one. The protocol version is not the cause here.  ×2 — 20:51:21, 20:51:49
  2026-09-21T20:50:49.443Z  [WARN]  [Bridge]  Disconnected: socket closed (up 23m 43s, 29 packets)
  2026-09-21T20:42:49.206Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 15m 43s, 17 packets)
  2026-09-21T20:41:09.171Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 14m 3s, 25 packets)
  2026-09-21T20:21:34.890Z  [WARN]  [Alex Bad]  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.  ×2 — 20:21:24, 20:21:34
  2026-09-21T20:21:34.889Z  [WARN]  [Alex Bad]  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.  ×2 — 20:21:24, 20:21:34
  2026-09-21T20:21:15.964Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 58m 43s, 105 packets)
  2026-09-21T20:07:11.884Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 37m 53s, 273 packets)
  2026-09-21T20:03:24.043Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 41m 13s, 43 packets)
  2026-09-21T19:47:18.865Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 1h 55m, 213 packets)
  2026-09-21T19:33:20.240Z  [WARN]  [Bridge]  Disconnected: socket closed (up 1h 4m, 65 packets)
  2026-09-21T19:29:15.099Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 4m 32s, 29 packets)
  2026-09-21T19:24:39.989Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 14m 32s, 100 packets)
  2026-09-21T19:22:29.342Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 1h 25m, 151 packets)
  2026-09-21T19:22:08.844Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 50m 1s, 51 packets)
  2026-09-21T19:10:04.974Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 20m 3s, 145 packets)
  2026-09-21T18:49:58.904Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 2m 22s, 15 packets)
  2026-09-21T18:47:34.314Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 6m 12s, 43 packets)
  2026-09-21T18:41:18.474Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 25m 2s, 171 packets)
  2026-09-21T18:32:04.579Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 9m 50s, 11 packets)
  2026-09-21T18:29:03.501Z  [WARN]  [Bridge]  Disconnected: socket closed (up 16m 43s, 18 packets)
  2026-09-21T18:12:18.073Z  [WARN]  [Bridge]  Disconnected: socket closed (up 49m 43s, 52 packets)
  2026-09-21T18:12:08.156Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 17m 50s, 19 packets)
  2026-09-21T18:00:18.005Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 44m 33s, 310 packets)
  2026-09-21T17:57:32.275Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 1h 4m, 113 packets)
  2026-09-21T17:54:14.445Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 22m 2s, 23 packets)
  2026-09-21T17:51:58.853Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 1h 11m, 127 packets)
  2026-09-21T17:32:08.987Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 2h 0m, 124 packets)
  2026-09-21T17:22:32.167Z  [WARN]  [Bridge]  Disconnected: socket closed (up 20m 2s, 21 packets)
  2026-09-21T17:15:42.198Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 13m 22s, 92 packets)
  2026-09-21T17:02:26.691Z  [WARN]  [Bridge]  Disconnected: socket closed (up 13m 32s, 21 packets)
  2026-09-21T17:02:16.687Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 24m 33s, 170 packets)
  2026-09-21T16:53:26.424Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 47m 4s, 90 packets)
  2026-09-21T20:51:07.214Z  [WARN]  [Bridge]  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.  ×3 — 16:48:47, 20:50:57, 20:51:07
  2026-09-21T20:51:07.213Z  [WARN]  [Bridge]  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.  ×3 — 16:48:47, 20:50:57, 20:51:07
  2026-09-21T16:48:39.656Z  [WARN]  [Bridge]  Disconnected: socket closed (up 1h 8m, 78 packets)
  2026-09-21T16:41:15.167Z  [WARN]  [Alex Wohnzimmer]  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.
  2026-09-21T16:41:15.166Z  [WARN]  [Alex Wohnzimmer]  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.
  2026-09-21T16:41:07.557Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 43m 3s, 81 packets)
  2026-09-21T16:37:41.250Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 24m 22s, 169 packets)
  2026-09-21T16:13:15.742Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 9m 42s, 65 packets)
  2026-09-21T16:06:18.981Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 1h 16m, 141 packets)
  2026-09-21T15:58:00.864Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 2h 45m, 303 packets)
  2026-09-21T15:52:25.259Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 6m 42s, 44 packets)
  2026-09-21T15:45:39.459Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 17m 52s, 121 packets)
  2026-09-21T15:40:43.063Z  [WARN]  [Bridge]  Disconnected: socket closed (up 1m 2s, 2 packets)
  2026-09-21T15:39:38.003Z  [WARN]  [Bridge]  Disconnected: socket closed (up 1h 1m, 75 packets)
  2026-09-21T15:32:05.267Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 40m 1s, 61 packets)
  2026-09-21T15:27:43.649Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 4m 32s, 30 packets)
  2026-09-21T15:23:08.422Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 9m 2s, 59 packets)
  2026-09-21T15:14:02.316Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 12m 32s, 87 packets)
  2026-09-21T15:01:26.955Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 31m 3s, 217 packets)
  2026-09-21T14:52:01.064Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 1h 10m, 71 packets)
  2026-09-21T14:50:42.051Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 1h 43m, 189 packets)
  2026-09-21T14:38:41.987Z  [WARN]  [Bridge]  Disconnected: socket closed (up 1h 10m, 76 packets)
  2026-09-21T14:30:20.587Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 16m 32s, 114 packets)
  2026-09-21T18:16:13.075Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 15m 52s, 107 packets)  ×2 — 14:13:44, 18:16:13
  2026-09-21T13:57:49.224Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 6m 22s, 43 packets)
  2026-09-21T13:51:24.598Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 30m 3s, 210 packets)
  2026-09-21T13:41:55.270Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 50m 0s, 51 packets)
  2026-09-21T13:29:06.841Z  [WARN]  [Bridge]  Disconnected: socket closed (up 21m 12s, 24 packets)
  2026-09-21T13:21:18.623Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 23m 52s, 163 packets)
  2026-09-21T13:13:10.241Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 1h 7m, 111 packets)
  2026-09-21T13:07:50.111Z  [WARN]  [Bridge]  Disconnected: socket closed (up 52m 53s, 60 packets)
  2026-09-21T13:07:44.740Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 56m 33s, 103 packets)
  2026-09-21T12:57:23.242Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 29m 53s, 205 packets)
  2026-09-21T12:51:51.929Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 39m 53s, 41 packets)
  2026-09-21T12:27:27.533Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 12m 32s, 85 packets)
  2026-09-21T12:14:54.071Z  [WARN]  [Bridge]  Disconnected: socket closed (up 28m 52s, 32 packets)
  2026-09-21T12:14:51.921Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 10m 42s, 72 packets)
  2026-09-21T12:11:56.559Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 10m 0s, 11 packets)
  2026-09-21T12:11:09.039Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 59m 23s, 113 packets)
  2026-09-21T12:06:33.825Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 2h 24m, 261 packets)
  2026-09-21T12:04:06.096Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 4m 2s, 23 packets)
  2026-09-21T12:01:53.771Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 12m 52s, 14 packets)
  2026-09-21T12:00:01.123Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 20m 32s, 146 packets)
  2026-09-21T11:48:59.176Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 37m 3s, 38 packets)
  2026-09-21T11:45:58.315Z  [WARN]  [Bridge]  Disconnected: socket closed (up 17m 12s, 18 packets)
  2026-09-21T11:39:25.636Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 59m 13s, 426 packets)
  2026-09-21T21:12:34.627Z  [INFO]  [Bridge]  Connected  ×17 since 2026-09-21T11:28:46.214Z
  2026-09-21T11:28:42.750Z  [WARN]  [Bridge]  Disconnected: socket closed (up 1h 41m, 115 packets)
  2026-09-21T11:11:53.050Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 1h 10m, 71 packets)
  2026-09-21T11:11:42.252Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 40m 24s, 68 packets)
  2026-09-21T10:37:05.088Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 59m 3s, 420 packets)
  2026-09-21T10:31:14.620Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 1h 36m, 176 packets)
  2026-09-21T10:01:49.574Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 30m 0s, 32 packets)
  2026-09-21T09:47:18.960Z  [INFO]  [Tuya-Gerät]  Connected
  2026-09-21T09:42:13.435Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 52m 2s, 91 packets)
  2026-09-21T09:37:59.171Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 8m 2s, 54 packets)
  2026-09-21T09:29:54.020Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 1m 32s, 9 packets)
  2026-09-21T09:28:18.644Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 34m 33s, 251 packets)
  2026-09-21T09:21:43.640Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 3m 50s, 5 packets)
  2026-09-21T09:17:50.153Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 1h 26m, 87 packets)
  2026-09-21T08:54:57.771Z  [WARN]  [Alex Bad]  Disconnected: socket closed (up 3h 3m, 318 packets)
  2026-09-21T08:50:27.555Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 23m 23s, 162 packets)
  2026-09-21T21:15:54.155Z  [INFO]  [Alex Wohnzimmer]  Connected  ×10 since 2026-09-21T08:50:10.968Z
  2026-09-21T08:50:07.538Z  [WARN]  [Alex Wohnzimmer]  Disconnected: socket closed (up 7h 7m, 752 packets)
  2026-09-21T08:27:02.200Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 2m 32s, 16 packets)
  2026-09-21T08:24:26.548Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 11m 42s, 79 packets)
  2026-09-21T08:12:41.192Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 3m 2s, 17 packets)
  2026-09-21T08:09:35.702Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 16m 33s, 119 packets)
  2026-09-21T07:53:00.247Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 16m 2s, 119 packets)
  2026-09-21T18:22:11.288Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 10m 0s, 12 packets)  ×3 — 07:51:43, 09:31:46, 18:22:11
  2026-09-21T07:41:39.822Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 11m 12s, 12 packets)
  2026-09-21T07:36:54.559Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 3m 32s, 25 packets)
  2026-09-21T07:33:19.793Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 11m 12s, 82 packets)
  2026-09-21T07:30:25.119Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: socket closed (up 58m 43s, 62 packets)
  2026-09-21T07:22:04.831Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 26m 43s, 184 packets)
  2026-09-21T06:55:18.932Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 20m 33s, 141 packets)
  2026-09-21T06:34:43.084Z  [WARN]  [Licht Badezimmer]  Disconnected: socket closed (up 18m 2s, 122 packets)
  2026-09-21T06:31:39.369Z  [WARN]  [Steckdosenleiste rechts]  Disconnected: Error from socket: read ECONNRESET (up 30m 1s, 34 packets)
  … 21 older message(s) not shown.

Hi Dietrich,

Could you please go to Cloud Lookup:

Fetch Devices, then find the Zigbee thermostat in the list — not the gateway. Sub-devices should appear there too.
Show DPs on its row → Copy Cloud DP Table.

Andi

Here you are

Heizung Wohnzimmer
DP 2 temp_set Integer 230 50–300 step 5 °C
DP 3 temp_current value 231 0–500 step 1 °C
DP 4 mode Enum manual auto, manual
DP 7 child_lock Boolean false {}
DP 17 window_state enum open open, close
DP 18 window_check Boolean true {}
DP 19 valve_state enum open open, close
DP 20 valve_check Boolean true {}
DP 21 battery_percentage value 50 0–100 step 1 %
DP 102 cloud_temp value 50

Hi Andi,
we have now done some extensive testing with the wallbox using Tuya Local v1.0.237, and the new DP102 JSON parsing is working really well.

DP102 measurements are confirmed as follows:

  • L1/L2/L3 voltage: value / 10
  • L1/L2/L3 current: value / 10
  • L1/L2/L3 power: value × 100 W
  • t / 10 = temperature
  • p × 100 = total charging power
  • e / 10 = current session energy in kWh

We were able to verify the session energy directly against the original Tuya app. For example, DP102 reported e:28 while the Tuya app showed 2.8 kWh. During another test, e:12 and later e:14 correctly resulted in 1.2 kWh and 1.4 kWh in Homey.

We also completed a full start → stop → start test with a vehicle that automatically resumes charging when the wallbox is enabled again.

Charging:
DP101 = 300
DP109 = WORKING
DP153 = relay: on / sometimes charge: t=… e=…
DP102 contains the actual voltage/current/power values.

Stopped from the Tuya app:
DP101 = 204
DP109 = PAUSE
DP153 = relay: off
DP102 current/power = 0.

Started again from the Tuya app:
DP101 = 300
DP109 = WORKING
DP153 = relay: on
and shortly afterwards DP102 reported 225 V / 15.2 A / 3.4 kW on L1, confirming that charging had actually resumed.

We also observed DP109 = IDLEINS with another vehicle. In that state the vehicle was still plugged in and the wallbox was ready, but the vehicle itself was not requesting any power: 0 A / 0 W. So IDLEINS is clearly different from PAUSE.

One remaining improvement might therefore be the mapping of the DP109 states such as WORKING, PAUSE, IDLEINS, IDLE and SLEEP to the corresponding Homey charging states. Some of these were still reported as unknown values in the support logs.

Apart from that, the new JSON parsing in v1.0.237 now seems to be working very well. Thanks again for implementing it!

Hi Dietrich,

That’s exactly what I needed, thank you. Two pieces of good news.

Your thermostat fits the driver as it stands. It’s a standard radiator valve, and my thermostat driver’s defaults already point at the right data points without any change — DP 2 target temperature, DP 3 measured temperature, DP 4 mode. Both temperatures count in tenths, so your 230 and 231 are 23.0 °C and 23.1 °C. Child lock (7) and battery (21) are settings I’d just aim at the right numbers; window detection (17/18) and valve state (19/20) aren’t mapped yet and I’d add them. So if the connection works, this becomes a proper thermostat in Homey, not a generic device.

And the missing piece is now visible. It turned out the app had been reading the sub-device identifier out of your Bridge’s packets all along and overwriting it with the next one, without ever showing it. That’s built now: in the next version, DP Debug → Bridge gets a section called Sub-devices behind this gateway, listing each identifier with the data points that arrived under it. It’s in the copied table and the support bundle too.

When you have that version, please look there and tell me what you see — including if it’s empty. Empty is an answer as well: it would mean your Bridge relays its thermostats only to the cloud and never hands them out locally, and that closes the question quickly instead of us both guessing. If your thermostat’s DP 2 and DP 3 turn up under an identifier, we’re most of the way there.

One thing that might get in the way: your Bridge disconnects often and never answers a status request, so everything it tells us is unsolicited. If it only ever pushes its own data points, nothing will appear even if the sub-devices are reachable. Should that happen, it isn’t the end of it — it just means we have to ask rather than wait.

Pleas update to https://homey.app/a/com.tuyalocal/test/

Kind regards,
Andi

Hi Sebastian,

You’re right, and those three comparisons settled it — 28 against 2.8 kWh, 12 against 1.2, 14 against 1.4, read from both at the same moment. That’s the first controlled measurement this question has had.

My mistake is worth naming: I moved to d because e at 14 and 21 seemed “long past” a session ending at 12.1 kWh — but that the session was nearly finished at those moments I knew only from d itself. I put the assumption I was testing into the test. Read early in a session, 1.4 and 2.1 kWh are unremarkable. Then, finding d incoherent, I dropped e as well, which doesn’t follow either.

In 1.0.238: e ÷ 10 is the default again, and a divisor of 1000 stored by 1.0.237 is corrected on startup. d stays unmapped — it isn’t monotonic (54150, 9010, 16800), it read 16800 while idle right after your 12.1 kWh charge, and it grew by 3000 in seven minutes. Probably a running time.

One question: on 1.0.237 the session field defaulted to none, and Homey gives a new setting its default only at pairing — so an untouched 1.0.237 should have written nothing to that tile. Did you set the field to e yourself, or were those readings from 1.0.235? I want to be sure there isn’t a second problem in there.

DP 109: all five states have been mapped since 1.0.237, and you’ve confirmed the one I had to infer — I read IDLEINS as plugged-in-but-idle from your DP 153 logging WORKING → IDLEINS as power fell to zero. They’re selectable in the Detailed charger state condition card now too.

Two things if you’re curious: one reading with DP 102 and DP 153 captured at the same instant would settle d for good — DP 153 writes charge: t=… e=… in full precision. And your Switch DP is 18, which doesn’t exist anywhere in your traffic; the cloud spec lists DP 140 as x_do_charge. That’s presumably why you’re starting and stopping from the Tuya app rather than Homey.

Thanks again — this took three attempts, and your measurement is why it’s now right rather than merely confident.

Please first update to: Tuya Local | Homey

Kind regards,
Andi

Hello Andi,

I made a new device with the updated version and this is what I get

Hi Andi,
I’ve now got the DP102/DP153 comparison you asked for, captured at essentially the same moment:

DP102:
d: 12350
e: 11

DP153:
charge: t=1225s (20min) e=1.130kWh

So e is confirmed again: 11 / 10 = 1.1 kWh, matching DP153’s 1.130 kWh.

d also looks very interesting now:
12350 / 10 = 1235 seconds
while DP153 reports t=1225 seconds.

That’s only a 10-second difference, which matches the 10-second polling/update interval configured for the charger. So it looks very likely that DP102 d / 10 is the charging/session duration in seconds.

Also, I changed the Switch DP from 18 to 140 as suggested. Start and stop from Homey now work correctly. After starting, it takes a short moment before the power value appears again in the Homey tile, but then everything updates normally.

Current session energy is also matching exactly between Tuya and Homey — for example both showed 0.6 kWh at the same time.

So at this point everything appears to be working correctly.