Request for integration with Tuya

What is the « Index export » feature? :slight_smile:

Hi @pierre-gilles,

This is the index of energy reinjected into the grid, i.e. the solar production surplus that is sent back. On Tuya, this corresponds to the reverse energy total.

« Export » for export to the grid.

Ok, I left a comment :slight_smile:

It’s done @pierre-gilles, thanks to you!!

Hi @GBoulvin :waving_hand:

I’ve made progress on several Tuya devices (up to PR10) and I’d like us to do a full validation pass, both locally AND in the cloud, before merging. I’ve pushed a test Docker image reusing the previous one so you can directly chain as if you were moving to the new version from your current test database (don’t hesitate to restart it once before updating the image to refresh the states and compare):

:spouting_whale: Test Image: terdious/gladys:tuya-smart-meter

Could you check the following points (tick local + cloud each time)? I indicate what works on my side.

# Device to test Local Cloud At my place (Terdious)
Base What already worked (PR1/PR4) — see your previous report :white_check_mark: my plug still works perfectly (protocol v3.3)
PR5 (#2470) Smart Meter :warning: I don’t have one
PR7 (#2476) LSC Power Plug :warning: I don’t have one
PR8 (#2478) Thermostat controller :white_check_mark: my 2 thermostats work well (v3.5)
PR9 (#2591) Air conditioner :white_check_mark: my Airton air conditioners OK (2 in v3.3, 1 in v3.5)
PR10 (#2594) Video doorbell (settings) :warning: I don’t have one

PR10 details (doorbell): for now only the 5 on/off settings (motion detection, recording, image flip, LED, OSD). Point to watch: the local poll of these P2P doorbells tends to timeout — if that’s your case, let me know, it will confirm that we stay in the cloud for this type of device. The bell and the camera will come in PR10-Bis.

Thanks a lot for the tests :folded_hands:

Alright @pierre-gilles, on Tuya’s side, if you can, it would be great to review these 3 PRs.

PR6-Bis appeared while I was coding the doorbell device for GBoulvin, it turned out we found how to maintain a permanent connection to have live info locally.

I am therefore ready on:

All the following ones up to PR10 are also ready, only the tests are missing for PR7 and PR10. PR8 and PR9 are tested on my side with at least 2 types of corresponding devices each.

PR5 is ok and merged, can you update PR6 with master?

PR6 update :wink:

@GBoulvin (We’re starting to think it’s harassment… I’m sorry ^^ just let me know if it’s too much :face_with_peeking_eye:),

After the tests requested in the post Tuya : Intégration chauffage et climatiseur - #85 par Terdious, could you continue with the doorbell for additional tests?
I’ve prepared (with my Glaude of course ^^) a small diagnostic view to try to retrieve everything in one go ^^ on your doorbell (and see others along the way like your cameras if you can)
For this second pass, this time it will be a new Docker image that I provide (you can start from the same database, no need to start from scratch): docker pull terdious/gladys:tuya-diag-video-doorbell-support.

What’s new: a « Diagnostic » page in the Tuya integration

This image includes a temporary diagnostic page, solely intended for debugging (it will be removed before the final PR — don’t be surprised by its « lab tool » side). You will find it directly in Integrations → Tuya → Diagnostic (left menu), or via the « Diagnostic » button on a device card.

What you will see (see my screenshots):

  • A device selector at the top: « All devices » for the overall flow, or a specific device. When a device is selected, a status line is displayed (protocol, IP, persistent connection, degraded state).
  • **« Feature values (live) »: 3 sections — Supported, Not supported and Ignored — with for each feature its Tuya code, its local DP, its cloud path, the raw value received from the device (with its origin: local push / cloud, and the time), and the Gladys transformed value. Each raw value has its small copy button, and the **« Copy content » button copies the entire card in Markdown.
  • **« Live events »: the service log in real-time (connections, DPS pushed by the device with their raw payload, reads, commands, errors), filterable by level and by text, with pause and **« Copy content » also.

What we expect from you with your doorbell :bellhop_bell:

The goal: capture the raw payloads that your doorbell sends when it rings or detects motion — that’s what we’re missing to implement the display of photo snapshots in Gladys.

  1. Open the Diagnostic page and select your doorbell from the list.
  2. Press the doorbell button (real ring), and if possible also trigger a motion detection by passing in front.
  3. Leave the page open for a few moments, then:
  • **« Copy content » of the Live events card → paste the result here (we are especially looking for the push_dps events with the DP 136 (doorbell_active), 154 (doorbell_pic) and 115 (movement_detect_pic));
  • **« Copy content » of the Feature values card → paste it too (the Not supported / Ignored sections should show the raw values of the photo DP).
  1. Check at the same time that the ring is reported in Gladys: this image adds a « Doorbell » feature (button) on your doorbell — after a real ring, you should see an event in its history, and be able to use it as a scene trigger. Let us know if it « ghosts » (trigger without press) or if a press is not reported.

:warning: Your doorbell is battery-powered, so it sleeps most of the time: it’s normal if it appears disconnected between two events. The important thing is to ring/pass in front while the page is open.

If you’re in doubt about what to copy: in doubt, copy everything :grinning_face_with_smiling_eyes: The photo payloads look like long base64 strings — that’s exactly what we’re looking for (they don’t contain your local key, only temporary encrypted references).

And of course, the page works for all your Tuya devices — if you see strange behavior on the outlets/other devices from previous PRs, a « Copy content » and we’ll have everything we need to investigate.
Don’t hesitate to try with your cameras as well and you can paste the contents in the corresponding issues :wink:

Thanks in advance, I’m available if needed, I’ll check the forum regularly! :folded_hands:

Some images:





On the homepage, the first time, there should be a prompt saying that the service is not configured and that you need to go to the « configuration » page as in the other integrations.

For PR5, Smart Meter, everything is OK (local and cloud). However, once selected locally, the message « suggest new features » appears (I would find « features » more appropriate :wink:

PR7, LSC Power Plug in 3.5, everything is OK (local and cloud). The ‹ child Lock › has arrived!

For PR10, the doorbell is well detected in the cloud but does not poll locally. I will test the dedicated image right away.

Tuya device snapshot — Visiophone Wifi

  • selector: tuya-bf0e59548489fcb4ea62of — external_id: tuya:bf0e59548489fcb4ea62of
  • device_type: video-doorbell — product_id: i5e3a4qxcsthszin
  • protocol: - — ip: - — local_override: 0
  • persistent: none — degraded: no

Supported features

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
Status LED basic_indicator 101 Indicator (dp 101) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-05T21:12:48.132Z 1 2026-07-05T21:12:17.898Z
Image flip basic_flip 103 Vision Flip (dp 103) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-05T21:12:48.132Z 0 2026-07-05T21:12:17.898Z
On-screen display basic_osd 104 OSD Watermark (dp 104) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-05T21:12:48.132Z 1 2026-07-05T21:12:17.898Z
Motion detection motion_switch 134 Motion Alert (dp 134) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-05T21:12:48.132Z 1 2026-07-05T21:12:17.898Z
Doorbell doorbell_active 136 Doorbell Active (dp 136) [spec.st, model, shadow] (cloud) 2026-07-05T21:12:48.132Z null -
Recording record_switch 150 Record Switch (dp 150) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-05T21:12:48.132Z 1 2026-07-05T21:12:17.898Z

Unsupported (raw only)

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change

Ignored

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
sd_format_state sd_format_state - Formatted State (dp 117) [spec.st, model, shadow] -20000 (cloud) 2026-07-05T21:12:48.132Z - -
sd_status sd_status - Memory Card Status (dp 110) [spec.st, model, shadow] 5 (cloud) 2026-07-05T21:12:48.132Z - -
motion_sensitivity motion_sensitivity - Motion Sensitivity (dp 106) [spec.fn, spec.st, model, shadow] 1 (cloud) 2026-07-05T21:12:48.132Z - -
record_mode record_mode - Recording Mode (dp 151) [spec.fn, spec.st, model, shadow] 2 (cloud) 2026-07-05T21:12:48.132Z - -
basic_nightvision basic_nightvision - Night Vision (dp 108) [spec.fn, spec.st, model, shadow] 0 (cloud) 2026-07-05T21:12:48.132Z - -
basic_device_volume basic_device_volume - Device Volume Control (dp 160) [spec.fn, spec.st, model, shadow] 10 (cloud) 2026-07-05T21:12:48.132Z - -
sd_storge sd_storge - Get Memory Card Capacity (dp 109) [spec.st, model, shadow] 100 0 100 (cloud) 2026-07-05T21:12:48.132Z
sd_format sd_format - Format Memory Card (dp 111) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-05T21:12:48.132Z - -
doorbell_pic doorbell_pic - Someone ring doorbell (dp 154) [spec.st, model, shadow] (cloud) 2026-07-05T21:12:48.132Z - -
movement_detect_pic movement_detect_pic - Motion Detected (dp 115) [spec.st, model, shadow] eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzgzMjg1ODQzLmpwZWc/cGFyYW09YUJyTFFoc1RvZVBqMzdWMHVCOWo5MHpoNVZzOEx2UGhSTHpZTklERGtjQT0iLCIiXV0sInYiOiIzLjAifQ== (cloud) 2026-07-05T21:12:48.132Z - -
2026-07-05T21:12:48.133Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:12:17.897Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:11:47.907Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:11:17.901Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:10:47.852Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:10:17.896Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:09:47.927Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:09:17.892Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:08:51.632Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":1,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:08:50.566Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[set_sent\] Command sent via cloud (motion_switch)
2026-07-05T21:08:50.324Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[set_command\] Command motion_switch -> true {"command":"motion_switch","value":1,"transformed":true}
2026-07-05T21:08:47.924Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:08:22.928Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:07:47.891Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:07:17.935Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:06:47.920Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:06:17.900Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:05:47.847Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-05T21:05:32.328Z \[debug\] \[Visiophone Wifi (bf0e59548489fcb4ea62of)\] \[poll_summary\] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":5,"cloud_missing":0,"fallback":"none"}

Here is the copy-paste :wink:

I activated motion detection via Gladys. It is well activated in the app and on the device.

However, the dashboard says:

After detection and pressing the button…

The local mode does not want to work (in 3.1: Local read failure: Invalid local poll response: parse data error, in 3.3: Local read failure: Local poll timeout)

The doorbell is not battery-powered (it is an old model, powered by 5V)I ran another test

Hi @GBoulvin,

A huge thank you for this test pass​:folded_hands:.

Here is the handling of each of your points:

1. « Service not configured » message on the homepage :white_check_mark: fixed You had the eye: the message only existed on the Configuration page, the Devices page (the landing page) gave no clue. This is corrected in PR6: it now displays the same type of warning as the Discovery page, with a direct link to the Tuya configuration page. You will see it in the next image.

2. Smart Meter: « propose new functions » that appears locally :magnifying_glass_tilted_left: need you to decide Two distinct things here:

  • The label: corrected, the button now says « Propose features » — the goal was to shorten this text for a nicer display on smaller screen formats. But indeed, if needed, it will be part of a UI/UX review. Let’s stay consistent :wink:
  • The substance: in local mode, this button appears when reading the DP returns DPS that are neither managed nor intentionally ignored — so either your meter exposes DPS that the cloud does not have (and the button then does exactly its job: inviting us to add them!), or there is a matching issue. To decide, can you simply click on the button and create the issue? It precisely lists the unknown DPS. Even better if you are on the diagnostic image: select the Smart Meter on the Diagnostic page and « Copy the content » of the Feature Values card — the Unsupported section will show us these DPS with their values. Depending on the result, we will complete the meter mapping. You can also do both, open the issue and paste the diagnostics in a follow-up message.

3. PR7 (LSC Power Plug 3.5) :tada: Nothing to add: local + cloud + child lock validated — thanks to you, PR7 is now functionally validated from end to end. Thank you!

Hi there!

I know you’re busy at the moment

Hi @gboulvin, I hope your vacation was great! :palm_tree:

We’ve made good progress, sorry for the length of the post to come ^^: the new test image (same tag: terdious/gladys:tuya-diag-video-doorbell-support, just re-pull) brings 4 new features to test on your doorbell:

  • Snapshots: the doorbell now has a camera image in Gladys, powered by photos taken at the ring / motion detection;

  • Pulsar (real-time cloud): Gladys receives Tuya events instantly, without waiting for the poll — essential for the doorbell (photo URLs are only valid for ~60 s);

  • Special local reading for cameras/doorbells: your feedback « parse data error » put us on the right track :folded_hands: — your doorbell responds locally but rejects the standard request (DP_QUERY). This is known behavior for Tuya cameras (the famous « device22 » of tinytuya/localtuya): local reading now automatically tries the alternative method (DP_REFRESH targeted at the device’s known DPs). Your doorbell being wired 5V (no battery sleep), we have real chances that local will work this time;

  • Enhanced local diagnostics: network scans and manual DP readings are now detailed in the Diagnostic page.

Here is the complete procedure, in order. As last time: the Diagnostic page logs everything, you just need to copy/paste the cards here.


0. Update

  1. Pull the new image + restart the container.
  2. Discovery page of the Tuya integration: your doorbell should offer « Update » → click (this adds the new « Snapshot » feature to the device). Without this step, no image!

1. Enable Pulsar (real-time)

On the Tuya IoT platform (Tuya Smart Developer Center → your project) - Don’t hesitate to tell me in private if you encounter difficulties, this will help improve the documentation:

  1. Message Service tab → Enable button (default AES-GCM algorithm, don’t change anything).
  2. :warning: Enabling the service is not enough: you need to create a rule. Messaging Rules tab → Production environment → create a rule by checking all message types (devicePropertyMessage, statusReport, deviceEventMessage, deviceOnline, deviceOffline…), with no filters (empty device/product/user) → Enable the rule. As long as no rule is active, a red banner will warn you that no message will be pushed.

On Gladys:

  1. Tuya integration → Configuration → check « Real-time events (Pulsar) » → Save.
  2. If a warning banner appears on the Devices/Discovery/Configuration pages: it means the Message Service is not (yet) enabled on Tuya’s side — the banner contains the direct link.
  3. Verification: turn a device on/off from the Smart Life app → the status should change instantly in Gladys (no poll delay).

:information_source: Small note: we discovered at my place that some Tuya products never publish events (manufacturer limitation, invisible on the config side). If one of your devices does not react in real-time while others do, it’s not a problem (the poll takes over) — but let us know, it enriches the file.

2. Doorbell tests — ring + snapshot (the big one :camera_with_flash:)

  1. Add (if not already done) the Camera widget to your dashboard with the doorbell.
  2. Open the Diagnostic page of the doorbell (button on the device card) and leave it open.
  3. Ring the doorbell (really :slightly_smiling_face:).
  4. Then walk in front to trigger a motion detection.
  5. Observe:
    • the « Doorbell » (ring) event should appear in Gladys (history / scene trigger) — and it should be instantaneous thanks to Pulsar;
    • the image of the Camera widget should update with the photo of the ring / motion;
    • the Diagnostic page will log media_* events: these are the ones we are waiting for. In particular, media_download_ok / media_download_failed will tell us which storage server hosts your photos (we test 3 candidates, no one documents the right one for Europe :sweat_smile:), and media_stored / media_image_too_big / media_image_unusable will tell us if the photo passes as is or via ffmpeg conversion.

→ To copy for us: the complete cards from the Diagnostic page after a ring and after a motion (like last time — events + raw values).

3. Local doorbell tests — this time we believe it :flexed_biceps:

Your « parse data error » in 3.1 was actually excellent news: the doorbell accepts the local TCP connection and responds — it just rejects the standard request format. This is typical of Tuya cameras/doorbells, and local reading now knows how to handle it. And as it is wired 5V, no battery excuse :grinning_face_with_smiling_eyes:. Here is the complete path:

  1. Open 2 tabs: the Diagnostic page of the doorbell + the Discovery page.
  2. Discovery page: launch the local automatic scan (UDP) → it lists the devices seen on your network with IP and protocol version. Check if the doorbell is listed (not all cameras announce themselves via UDP, so its absence doesn’t rule anything out).
  3. Diagnostic page: button « Local DP Read » with the doorbell’s IP (the one from your box/DHCP) → try 3.3, then 3.1, then 3.4 and 3.5. Each attempt will automatically trigger the alternative method if the standard request fails — if it succeeds, the Diagnostic card will mention « via DP_REFRESH fallback ».
  4. If a read succeeds: save the device with this IP + protocol, and activate « Local Substitution » on its page. Gladys will then open a persistent local connection to the doorbell (field persistent: connected on the Diagnostic page).
  5. The test we’re most interested in: persistent connection established → ring the doorbell. If the doorbell pushes its states locally, you’ll see a push_dps event in the Diagnostic with DP 136 (ring), and the « Raw Input (source) » column will switch to local_push — and that’s the jackpot: instant ring, no cloud at all. Two passes to be thorough:
    • Pure local pass: uncheck the toggle « Real-time Events (Pulsar) » in the Configuration, then click « Disconnect » (always on the Configuration page) → Gladys has NO Tuya cloud access left, only local polling and the persistent connection remain active. Ring → if the « Doorbell » event still appears in Gladys (with the push_dps in the Diagnostic), that’s the definitive proof of 100% local. Then reconnect (« Save ») and re-check Pulsar.
    • Both active pass: ring again → check the history of the doorbell: there should be only one Doorbell event per ring. If you see two (one per channel), copy the cards for us, we’ll add local/Pulsar deduplication.
  6. Even if all reads fail, we still try the persistent connection manually (forced step 4) — but since we don’t know the protocol 100%, choose it in this order:
    • if the UDP scan from step 2 listed the doorbell → take the protocol it displays, that’s the sure source;
    • otherwise start with 3.3: your « parse data error » in 3.1 is typical of a firmware ≥ 3.3 receiving an unencrypted request, and wired doorbells of this generation are mostly on 3.3;
    • normally Gladys refuses to save an unvalidated local config: on this test image, a warning appears but saving remains possible — that’s intentional;
    • observe the Diagnostic after a ring: persistent_connected but repeated errors or no data → the protocol is probably wrong; re-save in 3.4 then 3.5 (they at least fail « cleanly » right at connection if it’s not the right version), and 3.1 as a last resort;
    • no worries for the doorbell: existing protections (degraded « backoff », failed status of the persistent connection) prevent hammering it. Just remember to switch back to cloud at the end if nothing works.

→ Copy for us: the scan result + the DP read cards (success or failure) + the cards after a ring with the persistent connection active. That’s what will decide if the doorbell can work 100% locally or if it will remain cloud+Pulsar.

:warning: Remember to disable « Local Substitution » at the end of tests if local proves non-functional, to avoid slowing down polls.

4. Smart Meter — the button mystery

Thanks for your two local/cloud snapshots of the meter: you’re right, no difference in DPS between the two, and the « Unsupported » section is empty on both sides — the mapping is complete, nothing to extend. :+1:

Now to understand why the « Suggest Features » button was showing up locally. Our hypothesis: the button is based on metadata recorded on the device at the time of its addition — if your meter was added with an older image, its list of « intentionally ignored » DPs is incomplete and the front thinks it sees unknown DPs. To settle this:

  1. Discovery page: if the meter offers « Update », click (it refreshes its metadata);
  2. Switch it back to local and tell us if the button still appears.

If it persists after that, it’s a front-end detection bug and we’ll fix it with your capture.


Summary of what we expect :clipboard:

  1. Confirmation that real-time Pulsar works for you (+ any potentially silent devices);
  2. Diagnostic cards after ring and after motion (events media_* + raw values);
  3. Your visual verdict: does the photo appear in the Camera widget, and at what quality;
  4. Local scan + DP reads (all protocols) on the doorbell, + the cards after a ring with the local persistent connection active;
  5. Meter: does the « Suggest Features » button still appear locally after « Update »?

Thanks in advance, with all this we’ll be able to split into clean PRs! :rocket:


J’arrive à ça, c’est bon ?

Tuya device snapshot — Visiophone Wifi

  • selector: tuya-bf0e59548489fcb4ea62of — external_id: tuya:bf0e59548489fcb4ea62of
  • device_type: video-doorbell — product_id: i5e3a4qxcsthszin
  • protocol: 3.3 — ip: 192.168.1.205 — local_override: 0
  • persistent: none — degraded: no

Supported features

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
Status LED basic_indicator 101 Indicator (dp 101) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-16T19:34:09.246Z 1 2026-07-16T19:25:20.548Z
Image flip basic_flip 103 Vision Flip (dp 103) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-16T19:34:09.246Z 0 2026-07-16T19:25:20.548Z
On-screen display basic_osd 104 OSD Watermark (dp 104) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-16T19:34:09.246Z 1 2026-07-16T19:25:20.549Z
Motion detection motion_switch 134 Motion Alert (dp 134) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-16T19:34:09.246Z 0 2026-07-16T19:25:20.549Z
Doorbell doorbell_active 136 Doorbell Active (dp 136) [spec.st, model, shadow] (cloud) 2026-07-16T19:34:09.246Z null -
Recording record_switch 150 Record Switch (dp 150) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-16T19:34:09.246Z 1 2026-07-16T19:25:20.549Z
Snapshot doorbell_pic - Someone ring doorbell (dp 154) [spec.st, model, shadow] (cloud) 2026-07-16T19:34:09.246Z null -

Unsupported (raw only)

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change

Ignored

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
sd_format_state sd_format_state - Formatted State (dp 117) [spec.st, model, shadow] -20000 (cloud) 2026-07-16T19:34:09.246Z - -
sd_status sd_status - Memory Card Status (dp 110) [spec.st, model, shadow] 5 (cloud) 2026-07-16T19:34:09.246Z - -
motion_sensitivity motion_sensitivity - Motion Sensitivity (dp 106) [spec.fn, spec.st, model, shadow] 1 (cloud) 2026-07-16T19:34:09.246Z - -
record_mode record_mode - Recording Mode (dp 151) [spec.fn, spec.st, model, shadow] 2 (cloud) 2026-07-16T19:34:09.246Z - -
basic_nightvision basic_nightvision - Night Vision (dp 108) [spec.fn, spec.st, model, shadow] 0 (cloud) 2026-07-16T19:34:09.246Z - -
basic_device_volume basic_device_volume - Device Volume Control (dp 160) [spec.fn, spec.st, model, shadow] 10 (cloud) 2026-07-16T19:34:09.246Z - -
sd_storge sd_storge - Get Memory Card Capacity (dp 109) [spec.st, model, shadow] 100 0 100 (cloud) 2026-07-16T19:34:09.246Z
sd_format sd_format - Format Memory Card (dp 111) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-16T19:34:09.246Z - -
movement_detect_pic movement_detect_pic - Motion Detected (dp 115) [spec.st, model, shadow] eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MjMwMzAyLmpwZWc/cGFyYW09SEovNEMzaDM2YUZ2NVllVllUUzJNc1NQZXZRQkFoN0NMejI0eXZTL0tqdz0iLCIiXV0sInYiOiIzLjAifQ== (cloud) 2026-07-16T19:34:09.246Z - -
2026-07-16T19:32:11.091Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.cos.tuyacn.com: getaddrinfo ENOTFOUND ty-eu-storage30-pic.cos.tuyacn.com
2026-07-16T19:32:10.591Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.s3.eu-central-1.amazonaws.com: HTTP 403
2026-07-16T19:32:10.024Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.oss-eu-central-1.aliyuncs.com: HTTP 404
2026-07-16T19:32:09.269Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:31:39.384Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:31:09.250Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:30:39.246Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:30:09.258Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:29:39.284Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:29:09.251Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:28:44.901Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:1,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:28:43.830Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [set_sent] Command sent via cloud (motion_switch)
2026-07-16T19:28:43.439Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [set_command] Command motion_switch → true {« command »:« motion_switch »,« value »:1,« transformed »:true}
2026-07-16T19:28:39.252Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:28:09.245Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:27:39.244Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:27:09.245Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:26:39.245Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:26:09.260Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:26:02.117Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:25:39.367Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Local poll socket error: Error from socket: connect ECONNREFUSED 192.168.1.205:6668 (DP_REFRESH fallback also failed: Local poll socket error: Error from socket: connect ECONNREFUSED 192.168.1.205:6668)
2026-07-16T19:25:39.323Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-16T19:25:39.255Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:25:36.448Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Local poll socket error: Error from socket: connect ECONNREFUSED 192.168.1.205:6668 (DP_REFRESH fallback also failed: Local poll socket error: Error from socket: connect ECONNREFUSED 192.168.1.205:6668)
2026-07-16T19:25:36.427Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-16T19:25:32.196Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.3): Local poll timeout (DP_REFRESH fallback also failed: Local poll socket error)
2026-07-16T19:25:27.152Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.3)
2026-07-16T19:25:20.548Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:5,« cloud_missing »:0,« fallback »:« none »}


Pas trop mal donc pour ce qui est du cloud. Toutefois, on ne voit rien apparaître sur le dashboard :

Pour ce qui est du local…

Quand je clique sur le protocole DP 3.1, j’ai pour erreur : Échec de la lecture locale : Invalid local poll response: parse data error (via DP_REFRESH fallback)

Mais je peux quand même sauvegarder, comme prévu. Après, j’ai ceci dans la page diagnostique :

2026-07-16T19:48:52.171Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:49.215Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:48:42.194Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:39.215Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:48:32.173Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:29.214Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:48:22.249Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:22.171Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:19.213Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:48:13.468Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:12.185Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:09.225Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_probe_ok] Silent persistent socket answered the probe: state refreshed locally
2026-07-16T19:48:09.225Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:48:02.178Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:47:59.212Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:47:52.170Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:47:49.212Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:47:42.186Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:47:39.211Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:47:32.172Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:47:29.211Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:47:22.170Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:47:19.210Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:47:12.186Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:47:09.211Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:47:02.170Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:59.210Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:46:52.196Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:49.209Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:46:42.177Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:39.208Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:46:32.173Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:29.215Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_probe_ok] Silent persistent socket answered the probe: state refreshed locally
2026-07-16T19:46:29.215Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:22.198Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:19.208Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:46:12.173Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:46:09.208Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:46:02.166Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:59.207Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:45:52.197Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:49.207Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:45:42.173Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:39.207Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:45:32.166Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:29.207Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:45:22.194Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:20.248Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:20.244Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:19.206Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:45:15.252Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:12.169Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:45:09.206Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:45:02.160Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:59.206Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:44:52.193Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:49.228Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_probe_ok] Silent persistent socket answered the probe: state refreshed locally
2026-07-16T19:44:49.228Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:42.162Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:39.204Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:44:32.164Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:29.205Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:44:22.190Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:19.205Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:44:12.166Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:44:09.204Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:44:02.158Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:43:59.205Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:43:52.186Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:43:49.204Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:43:42.158Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:43:39.204Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:43:32.158Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:43:29.203Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:43:24.340Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Invalid local poll response: parse data error (via DP_REFRESH fallback)
2026-07-16T19:43:24.277Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-16T19:43:22.189Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:43:19.202Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T19:43:12.282Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« local_poll_failed »}
2026-07-16T19:43:12.182Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Invalid local poll response: parse data error (via DP_REFRESH fallback)
2026-07-16T19:43:12.165Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T19:43:12.139Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T19:43:09.266Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:43:04.511Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Invalid local poll response: parse data error (via DP_REFRESH fallback)
2026-07-16T19:43:04.480Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-16T19:42:39.376Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:42:09.296Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:41:39.263Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:41:37.040Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Invalid local poll response: parse data error (via DP_REFRESH fallback)
2026-07-16T19:41:36.965Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-16T19:41:09.259Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:40:39.258Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:40:12.695Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:40:09.267Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:39:39.261Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:39:09.281Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}
2026-07-16T19:38:39.350Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {« mode »:« cloud »,« local_handled »:0,« local_changed »:0,« cloud_handled »:6,« cloud_changed »:0,« cloud_missing »:0,« fallback »:« none »}


En résumé, le 3.1 est bien connecté malgré le message d’erreur ! Si je choisis le protocole 3.3, 3.4 et 3.5, ça ne fonctionne pas :

2026-07-16T20:16:41.365Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:16:39.286Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:16:31.348Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:16:31.331Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:16:29.431Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:16:29.324Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Invalid local poll response: parse data error (via DP_REFRESH fallback)
2026-07-16T20:16:28.298Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_disconnected] Persistent local connection dropped by the device
2026-07-16T20:16:28.293Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:16:25.282Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_disconnected] Persistent local connection dropped by the device
2026-07-16T20:16:25.277Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:16:22.384Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:16:22.319Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll socket error: Error from socket: read ECONNRESET)
2026-07-16T20:16:22.260Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_disconnected] Persistent local connection dropped by the device
2026-07-16T20:16:22.260Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: Error from socket: read ECONNRESET
2026-07-16T20:16:22.248Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:16:22.247Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:16:22.182Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:16:19.241Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_disconnected] Persistent local connection dropped by the device
2026-07-16T20:16:19.236Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:16:18.425Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:16:18.314Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:16:16.200Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_disconnected] Persistent local connection dropped by the device
2026-07-16T20:16:16.200Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:16:14.576Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:16:08.572Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-16T20:16:08.414Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:16:08.304Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:15:59.717Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:15:59.495Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:15:58.418Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:15:58.307Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:15:44.940Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.5): Local poll socket error: Error from socket: read ECONNRESET (DP_REFRESH fallback also failed: Local poll socket error: Error from socket: read ECONNRESET)
2026-07-16T20:15:44.852Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.5)
2026-07-16T20:15:42.426Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:15:42.318Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll socket error: Error from socket: read ECONNRESET (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:15:35.426Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-16T20:15:35.287Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:15:25.495Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: HMAC mismatch: expected 3edb24fc0923355ea5add79c0834f05124461cccbbd79c7be7fa5354097d58b0, was 6030b642613fcf3f6ed2000ee4ff55fd083c1338270573b621614548cef2dc73. ... (truncated)
2026-07-16T20:15:25.468Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:15:22.210Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:15:21.943Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.4): Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:15:19.281Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:15:17.222Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: Timeout waiting for status response from device id: bf0e59548489fcb4ea62of
2026-07-16T20:15:17.220Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: persistent socket error
2026-07-16T20:15:15.939Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.4)
2026-07-16T20:15:12.216Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:15:09.280Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:15:07.245Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: Timeout waiting for status response from device id: bf0e59548489fcb4ea62of
2026-07-16T20:15:07.244Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: persistent socket error
2026-07-16T20:15:02.242Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:15:02.186Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-16T20:15:02.179Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:15:01.642Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:14:59.279Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:14:59.247Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.3): Local poll timeout (DP_REFRESH fallback also failed: Local poll timeout)
2026-07-16T20:14:53.244Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.3)
2026-07-16T20:14:51.640Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:14:49.278Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-16T20:14:41.667Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:14:39.292Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_probe_ok] Silent persistent socket answered the probe: state refreshed locally
2026-07-16T20:14:39.292Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:14:31.647Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_dps] DPS pushed by the device
2026-07-16T20:14:29.276Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active

Mais aucune action sur la sonnette ne provoque de changement dans Gladys, avec ou sans Pulsar, dont je ne suis pas sûr d’avoir bien compris son fonctionnement…

Pour le Smart Meter, le bouton n’apparaît qu’après avoir cliqué sur « lecture locale des DP ». Si je choisis le protocole et mets à jour, le message de propositions d’ajout n’apparaît pas

J’espère avoir pus répondre aux interrogations mais ça faisait beaucoup de choses et je crains d’en avoir oublié. Mais je reste dispo pour la suite :wink:

Hi @GBoulvin, huge thanks for this pass — it’s decisive: we’ve cracked the mystery of your doorbell :tada: Here’s the point-by-point report, followed by the new round of tests.

Image terdious:tuya-diag-video-doorbell-support => up to date

## Report of your tests

**1. Your Tuya platform config: perfect :white_check_mark:** — Active Message Service + Production rule with all types checked, that’s exactly what was needed (answer to your question: yes, it’s good!).

**2. The doorbell: mystery solved — it’s a « device22 »** :detective: Its identifier is exactly 22 characters long, and this family of devices (typically cameras/doorbells) **never responds to the standard local request**, regardless of the protocol — it’s documented in tinytuya/localtuya, and that explains all our failures from the start. Your attempts also cleanly eliminated the protocols: **3.4** (HMAC error = wrong version), **3.5** (connection dropped), **3.3** (silent). **3.1 is the right candidate** : the doorbell responds (even if it’s to refuse our format), and your persistent connection held — first time we’ve seen this socket live!

**3. However, the « DPS pushed by the device » every 10 s lied to you** (and to us too :sweat_smile:) : they were **data-free frames** (heartbeat echoes), not real states — hence the lack of change in Gladys. Worse: this mode froze the doorbell’s cloud states. **Both are fixed in the new image.**

**4. Photos: your logs have decided** — none of the 3 storage servers we were testing is the right one (404/403/DNS), and it wasn’t an expiration issue (download started 28 s after the photo). The right track is elsewhere: the **Pulsar alert messages** contain the URL of the photo ready to download. Hence the importance of the Pulsar point below.

**5. Counter: resolved :check_mark:** — the button came from metadata recorded with an old image; « Update » refreshed them. Nothing else to do.

## New image (same tag, re-pull) — what’s changed

1. **3rd local read method** : the real « device22 » request (targeted query with null values) is automatically attempted when the first two fail;

2. The Diagnostic page now shows **the raw content of each frame** received on the persistent socket (push_frame_raw) — we’ll finally see what your doorbell is saying;

3. A live but silent persistent socket **no longer blocks cloud refresh** : no more frozen states during local tests.

:stopwatch: Small warning: failing local DP reads are slower than before (we now try 3 methods instead of one) — it’s normal, no need to worry if a test takes ~10 s.

## Test A — Pulsar first (5 min, it conditions the rest)

Your platform config is good, but your logs show **no Pulsar events on Gladys’ side** — and we’ve confirmed in the meantime that the same setup works at Terdious, so the block is probably on Gladys’ side for you. Check in order:

1. Tuya Integration → **Configuration** → is the **« Real-time events (Pulsar) »** box checked + saved?

2. Diagnostic page (any device): do you see a **`pulsar_connected`** event after container restart? Without filtering on a device you can just type « pulsar » in the log search. And I think you need at least one device in Cloud mode and not in local. Test both if you can.

3. Simple test: turn a plug on/off from the Smart Life app → the change must appear **instantly** in Gladys (not 30 s later).

**→ For us to copy: the result of the 3 points.** Without Pulsar, the cloud ring is almost invisible (the info only stays for a few seconds, our 30 s read misses it) and the photos expire before download.

## Test B — Local doorbell, the decisive test (10 min)

1. **First, put the doorbell back in cloud mode** (local substitution unchecked) if it’s not already done, re-pull the image, restart.

2. Diagnostic page → **« Local DP read » in 3.1**:warning: do the read **before** activating local substitution: the doorbell only accepts one local session at a time, an active persistent socket causes reads to fail (that’s what happened in your 22:16 attempts).

3. Whatever the result: save in **3.1 + local substitution** (forced save with the warning, like last time), wait for persistent: connected.

4. **Ring the doorbell**, then walk in front for motion.

5. **→ For us to copy: the DP read card from step 2 + the push_dps / push_frame_raw cards around the ring and the motion.** If the doorbell pushes its DP 136 locally, it’s a success: instant ring without cloud. If the raw frames show something else, they’ll tell us exactly what to do next.

6. Switch back to cloud at the end.

## Test C — once Pulsar is OK: the cloud ring + the photo

Pulsar active (Test A validated) and doorbell in cloud mode: **ring the doorbell** and copy us **all the pulsar_* cards** that appear around the ring. We’re expecting the complete alert message with the photo URL — that’s what will allow us to finally connect the Camera widget image (and the instant « Doorbell » event in cloud).

## Recap :clipboard:

1. Pulsar: the 3 checks (toggle, pulsar_connected, plug test);

2. Local read 3.1 (new method) → full card;

3. Ring + motion in persistent 3.1 → push_dps/push_frame_raw cards;

4. Pulsar OK → ring in cloud mode → pulsar_* cards (alert message + photo URL).

Thanks again — we’ve never been this close! :door::bell:

Oui oui !

Yes !

2026-07-18T09:26:49.681Z [info] [pulsar_connected] Pulsar connected: real-time cloud events active

Je ne dirais pas instantanément mais plutôt en moins de deux secondes

2026-07-18T09:29:11.660Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:29:11.651Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_report] Pulsar real-time report (switch_1) {"switch_1":true}
2026-07-18T09:29:08.440Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:29:08.431Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_report] Pulsar real-time report (switch_1) {"switch_1":false}
2026-07-18T09:29:05.117Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:29:05.106Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_report] Pulsar real-time report (switch_1) {"switch_1":true}
2026-07-18T09:28:59.056Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:28:59.046Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_report] Pulsar real-time report (switch_1) {"switch_1":false}
2026-07-18T09:28:53.794Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:28:53.785Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [pulsar_report] Pulsar real-time report (switch_1) {"switch_1":true}
2026-07-18T09:28:50.593Z [debug] [Chauffage cabinet (bf2be3c32ea4d8f561ujmu)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}

C’est bon :

2026-07-18T09:34:36.411Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:34:36.184Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:34:29.295Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"local_poll_failed"}
2026-07-18T09:34:29.172Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_poll_failed] Local poll failed, falling back to cloud: Invalid local poll response: parse data error ; DP_REFRESH fallback answered without DPS: parse data error ; null-value SET query failed: Local poll timeout
2026-07-18T09:34:26.410Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:34:26.159Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:34:26.145Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established
2026-07-18T09:34:24.267Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Invalid local poll response: parse data error ; DP_REFRESH fallback answered without DPS: parse data error ; null-value SET query failed: Local poll timeout
2026-07-18T09:34:21.231Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-18T09:34:16.519Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:34:15.147Z [error] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_failed] Manual local DP read failed (protocol=3.1): Invalid local poll response: parse data error ; DP_REFRESH fallback answered without DPS: parse data error ; null-value SET query failed: Local poll timeout
2026-07-18T09:34:12.102Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [local_dp_read_started] Manual local DP read (ip=192.168.1.205 protocol=3.1)
2026-07-18T09:33:46.530Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:33:16.499Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}

Tuya device snapshot — Visiophone Wifi

  • selector: tuya-bf0e59548489fcb4ea62of — external_id: tuya:bf0e59548489fcb4ea62of
  • device_type: video-doorbell — product_id: i5e3a4qxcsthszin
  • protocol: 3.1 — ip: 192.168.1.205 — local_override: 1
  • persistent: connected — degraded: no

Supported features

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
Status LED basic_indicator 101 Indicator (dp 101) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:41:46.540Z 1 2026-07-18T09:32:00.625Z
Image flip basic_flip 103 Vision Flip (dp 103) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:41:46.540Z 0 2026-07-18T09:32:00.626Z
On-screen display basic_osd 104 OSD Watermark (dp 104) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:41:46.540Z 1 2026-07-18T09:32:00.626Z
Motion detection motion_switch 134 Motion Alert (dp 134) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:41:46.540Z 0 2026-07-18T09:32:00.626Z
Doorbell doorbell_active 136 Doorbell Active (dp 136) [spec.st, model, shadow] (cloud) 2026-07-18T09:41:46.540Z null -
Recording record_switch 150 Record Switch (dp 150) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:41:46.540Z 1 2026-07-18T09:32:00.627Z
Snapshot doorbell_pic - Someone ring doorbell (dp 154) [spec.st, model, shadow] (cloud) 2026-07-18T09:41:46.540Z null -

Unsupported (raw only)

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change

Ignored

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
sd_format_state sd_format_state - Formatted State (dp 117) [spec.st, model, shadow] -20000 (cloud) 2026-07-18T09:41:46.540Z - -
sd_status sd_status - Memory Card Status (dp 110) [spec.st, model, shadow] 5 (cloud) 2026-07-18T09:41:46.540Z - -
motion_sensitivity motion_sensitivity - Motion Sensitivity (dp 106) [spec.fn, spec.st, model, shadow] 1 (cloud) 2026-07-18T09:41:46.540Z - -
record_mode record_mode - Recording Mode (dp 151) [spec.fn, spec.st, model, shadow] 2 (cloud) 2026-07-18T09:41:46.540Z - -
basic_nightvision basic_nightvision - Night Vision (dp 108) [spec.fn, spec.st, model, shadow] 0 (cloud) 2026-07-18T09:41:46.540Z - -
basic_device_volume basic_device_volume - Device Volume Control (dp 160) [spec.fn, spec.st, model, shadow] 10 (cloud) 2026-07-18T09:41:46.540Z - -
sd_storge sd_storge - Get Memory Card Capacity (dp 109) [spec.st, model, shadow] 100 0 100 (cloud) 2026-07-18T09:41:46.540Z
sd_format sd_format - Format Memory Card (dp 111) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:41:46.540Z - -
movement_detect_pic movement_detect_pic - Motion Detected (dp 115) [spec.st, model, shadow] eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MjMxNTA3LmpwZWc/cGFyYW09ZGc4bmRGL3BvR2lRbHc0aHFFYXZWUnM1ckJVN09EcXhTbWpmQld5MlpUdz0iLCIiXV0sInYiOiIzLjAifQ== (cloud) 2026-07-18T09:41:46.540Z - -
2026-07-18T09:41:36.560Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:41:36.436Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:41:36.436Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:41:36.435Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:41:36.186Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:41:33.979Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:41:33.978Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_invalid_payload] Media payload of doorbell_pic could not be decoded aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc2OTEuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQxMzNaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT05MzIyZWVjNWJiNmM3NzI4OGMyNjUwNzRjZjUwMTZiYmJkYWUwY2VlZTUyMzRlMzI2NzcwZjgyNTFhOGZiYTg4
2026-07-18T09:41:33.976Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (doorbell_pic) {"doorbell_pic":"aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc2OTEuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQxMzNaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT05MzIyZWVjNWJiNmM3NzI4OGMyNjUwNzRjZjUwMTZiYmJkYWUwY2VlZTUyMzRlMzI2NzcwZjgyNTFhOGZiYTg4"}
2026-07-18T09:41:33.703Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"3.3\u0000\u0000\u0000\u0000\u0000\u0000XB\u0000\u0000\u0000\u0001$k��tf�K���C�@�o\u000e5�y�=�8p�w\u0003Kߞi�Yr8�jն\u0002�ž��^X�\u0001Q�P���!Pb�%{m��\n����p��ݥ\u0015\u0000��Ё~K\u0002fȱA��,\u0007�2���:\u0001�M��\r�CA���@L�( M\���\U�4�{�N��^�_�{��Jx�Ib�\u001aca��56ͷ4��P/F\u0013�5���4�{\r�8Q)(N]J�����\u001c�T�\u001f"���\u0019�]���<�5��J\u0016\έ�G\r��UA��%�\u0001�H\ng����dh�i�%�\u0001�H\ng����dh�i\u001a�A�(\b�T��$:�\u0016��̈\u0002�����%�3����\u0007�Zx�����AqzlWMr?���N����l�B��p߱\u0011-�o����4��+\u000b2{�[�d��l2�\u0017��З_�|\u0002zwK � �zJ��$F����򗢮\u0000�\u0003\��n���\u0014�k=��:;��܂7���~e�\u000eKpl\u0003�\u0002�!~U\u001c\u001c]|�\u0019"39�A�:�\bجn_\u0000\bIܐ\É�l�H�I��\u001b�\u0005Q-�����ޓ��~L��@͋ȡ���O���\f]+�\n�JcǶP\u0006�'f@\u0003р��H��"�m��\u0017\u0007�b��+��2���\u0007��\u001d��7Hҕ��/u#m��\u0011��[�+Y��|M\u0019��a,\u0005T\u001e�\u0003���u)5�!�((�.\u0005�a��b�~/\b��v\u000e�����\u000e�ɫ��iޑ]Mt�x9vD��\u0019���9+�h���\u001b�G/f��w%\u0003�N�ӟ�5���U�\u001c,Mh�v�8]\u0003=��[\u0007���\u0018��\u0005��dٗ�\u001b\u0007\u0012W�+� ��N�J.#�/X-�Re�o��P\u00013�\u001a#�F|8\u0001O\f&|ZV��-�r5@f\u0007̝O\u0010�����׮�����: I9l�:)-F&]�i�\u000e1\\Q���o��^��\t �X�7�E�k�%��i>a�P9l�\u0005cV+\u0016�<�\u0012�\u0012�s?\u0015k��\u0014�� ե\u00193�*,\u0004��;��l4\t\u0017�{�ap���?�p\u001a_�@�6\u001c�3QV/%\u0018\u0012\u000e\u0016\u0014�\��(�0n�0N�\u001c]�<}"�\u0015Tl�0%Oʹ�?�­W\u001a�oC�8�\u001beB\u0013+��j-�D\u000e���(N\u001ai~G��Ŷ\t|\u0018�v{�i�\b9G�G�'\u0016[)\u0003H�\u0006�\\\u0002\u0011�\u0018ͧ��iMP���E^�k_\u0013�e���'�\f:�\t���^\u001f�0ȡ��r�]!\u001f\u0011��WWh\u001aF��\u0017.�\b\u0004\u0006��#�Dq��+\"\u001c�,���ȟ�\u000e�*w\u001d\u001f�؜�51bH��dA$b%��!Z�<��Q��x+.隯\n�aB��\f(�y2ȨH����PWt ��=�dy�T��B\r\u0003%~+\u0006��٘����-mR(EYW��\u001b5��\u000e�TD�xN֜\u001290V��lw�\u000486��Eae�Q\n��\u000e\u0010��@bǑ\u0004��SW\u0011�&�ҳ�\u0010��A~-d�jM�\u000bq\u0002\u00183ܘoʝ�\u0010�kg���\u001eэV7\rL�}�[\u001e�\u0018\b�\u001e��\u0006�K��U�r�k4ϓ�O`:_|���1C�@\r��dτ���'�\u001b�m�iP�"}
2026-07-18T09:41:26.547Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:41:26.433Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:41:26.433Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:41:26.433Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:41:26.208Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}




Ca parle bien, là ! C’est juste le bouton car il semble que la détection changée via le toggle Gladys n’était pas activée… Voici donc la détection de mouvement :

Tuya device snapshot — Visiophone Wifi

  • selector: tuya-bf0e59548489fcb4ea62of — external_id: tuya:bf0e59548489fcb4ea62of
  • device_type: video-doorbell — product_id: i5e3a4qxcsthszin
  • protocol: 3.1 — ip: 192.168.1.205 — local_override: 1
  • persistent: connected — degraded: no

Supported features

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
Status LED basic_indicator 101 Indicator (dp 101) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:44:46.557Z 1 2026-07-18T09:32:00.625Z
Image flip basic_flip 103 Vision Flip (dp 103) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:44:46.557Z 0 2026-07-18T09:32:00.626Z
On-screen display basic_osd 104 OSD Watermark (dp 104) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:44:46.557Z 1 2026-07-18T09:32:00.626Z
Motion detection motion_switch 134 Motion Alert (dp 134) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:44:46.557Z 0 2026-07-18T09:32:00.626Z
Doorbell doorbell_active 136 Doorbell Active (dp 136) [spec.st, model, shadow] (cloud) 2026-07-18T09:44:46.557Z null -
Recording record_switch 150 Record Switch (dp 150) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:44:46.557Z 1 2026-07-18T09:32:00.627Z
Snapshot doorbell_pic - Someone ring doorbell (dp 154) [spec.st, model, shadow] aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc4ODcuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFx… (truncated) (pulsar) 2026-07-18T09:44:48.557Z null -

Unsupported (raw only)

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change

Ignored

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
sd_format_state sd_format_state - Formatted State (dp 117) [spec.st, model, shadow] -20000 (cloud) 2026-07-18T09:44:46.557Z - -
sd_status sd_status - Memory Card Status (dp 110) [spec.st, model, shadow] 5 (cloud) 2026-07-18T09:44:46.557Z - -
motion_sensitivity motion_sensitivity - Motion Sensitivity (dp 106) [spec.fn, spec.st, model, shadow] 1 (cloud) 2026-07-18T09:44:46.557Z - -
record_mode record_mode - Recording Mode (dp 151) [spec.fn, spec.st, model, shadow] 2 (cloud) 2026-07-18T09:44:46.557Z - -
basic_nightvision basic_nightvision - Night Vision (dp 108) [spec.fn, spec.st, model, shadow] 0 (cloud) 2026-07-18T09:44:46.557Z - -
basic_device_volume basic_device_volume - Device Volume Control (dp 160) [spec.fn, spec.st, model, shadow] 10 (cloud) 2026-07-18T09:44:46.557Z - -
sd_storge sd_storge - Get Memory Card Capacity (dp 109) [spec.st, model, shadow] 100 0 100 (cloud) 2026-07-18T09:44:46.557Z
sd_format sd_format - Format Memory Card (dp 111) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:44:46.557Z - -
movement_detect_pic movement_detect_pic - Motion Detected (dp 115) [spec.st, model, shadow] eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY3ODgzLmpwZWc/cGFyYW09TUJpTE43bDdWNG1TUXhHd3M3QXdLYWhnOVhzanROMmRDc2pJV0ZnejBuND0iLCIiXV0sInYiOiIzLjAifQ== (cloud) 2026-07-18T09:44:46.557Z - -
2026-07-18T09:44:56.552Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:44:56.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:44:56.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:56.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:56.225Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:48.567Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:44:48.557Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_invalid_payload] Media payload of doorbell_pic could not be decoded aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc4ODcuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQ0NDhaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT04YzIzODYxMjAwNWJmMjYwNDc2YTk4OGExMTgwZTM5YWNiMGJhZjEwN2VlZTMyZmM5OTM1ZDczNGRlZjE0YTkx
2026-07-18T09:44:48.557Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (doorbell_pic) {"doorbell_pic":"aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc4ODcuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQ0NDhaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT04YzIzODYxMjAwNWJmMjYwNDc2YTk4OGExMTgwZTM5YWNiMGJhZjEwN2VlZTMyZmM5OTM1ZDczNGRlZjE0YTkx"}
2026-07-18T09:44:48.250Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"3.3\u0000\u0000\u0000\u0000\u0000\u0000XO\u0000\u0000\u0000\u0001$k��tf�K���C�@�o\u000e5�y�=�8p�w\u0003Kߞi�Yr`8�jն\u0002�ž��^X�\u0001Q�P���!Pb�%{m��\n����p��ݥ\u0015\u0000��Ё~K\u0002fȱA��,\u0007�2���:\u0001�M��\r�CA���`@L�( M\\���\\U�4�{�N��^�`_�{��Jx`�Ib�\u001aca��56�m�\u00140<8!��\u001a!_�2va\r�8Q)(N]J�����\u001c�T�\u001f\"���\u0019�]���<�5��J\u0016\\έ�G\r��UA��%�\u0001�H\ng����dh�i�%�\u0001�H\ng����dh�i\u001a�A�(\b�T��$:�\u0016��̈\u0002�����%�3����\u0007�Zx�����AqzlWMr?���N����l�B��p߱\u0011-�o����4��+\u000b2{�[�d��l2�\u0017��З_�|\u0002zwK � �zJ��$F����򗢮\u0000�\u0003\\��n���\u0014�k=��:;��܂7���~e�\u000eKpl\u0003�\u0002�!~U\u001c\u001c]|�\u0019\"39�A�:�\bجn_\u0000\bIܐ\\É�l�H�I��\u001b�\u0005Q-�����ޓ��~L��@͋ȡ���O���\f]+�\n�JcǶP\u0006�'f@\u0003р��H��\"�m��\u0017\u0007�b��+��2���\u0007��\u001d��7Hҕ��/u#m��\u0011��[�+Y��|M\u0019��a,\u0005T\u001e�\u0003���u)5�!�((�.\u0005�a��b�~/\b��v\u000e�����\u000e�ɫ��iޑ]Mt�x9vD��\u0019���9+�h���\u001b�G/f��w%\u0003�N�ӟ�5���`U�\u001c,Mh�v�8]\u0003=��[\u0007���\u0018��\u0005��dٗ�\u001b\u0007\u0012W�+� ��N�J.#�/X-�Re�o��P\u00013�\u001a#�F|8\u0001O\f&|ZV��-�r5@f\u0007̝O\u0010�����׮�����: I9l�:)-F&]�i�\u000e1\\Q���o��^��\t �X�7�E�k�%��i>a�P9l�\u0005cV+\u0016�<�\u0012�\u0012�s?\u0015k��\u0014�� ե\u00193�*,`\u0004��;��l4\t\u0017�{�ap���?�p\u001a_�@�6\u001c�3QV/%\u0018\u0012\u000e\u0016\u0014�\\��(�0n�0N�\u001c]�<}\"�\u0015Tl�0%Oʹ�?�­W\u001a�oC�8�\u001be`B\u0013+��j-�D\u000e���(N\u001ai~G��Ŷ\t|\u0018�v{�i�\b9G�G�'\u0016[)\u0003H�\u0006�\\\u0002\u0011�\u0018ͧ��iMP���E^�k_\u0013�e���'�\f:�\t���^\u001f�0ȡ��r�]!\u001f\u0011��WWh\u001aF��\u0017.�\b\u0004\u0006��#�Dq��+\"\u001c�\u0015�$\u000e\\d�\f$ìKqb�|���k� \u0003�>�\u0000\u001fg\"�3!Z�<��Q��x+.隯\n�aB��\f(�y2ȨH����PWt ��=�dy�T��B\r\u0003%~+\u0006��٘����-mR(EYW��\u001b5��\u000e�TD�xN`֜\u001290V��lw�\u0004�4Iӧo-F�m��[�5�/RX\u0013,��X�l=�`�\u0005�C'T�BI$��7\u0000�\\��=>�\u001c�GsǎJTXca؀�kfD2\u001eqc�`LgS\u0003$Ǖ�h;�ϾO��i��]�1\t,?�9PM>e�+���\t�b�@�E��lɎ\u0001q/��"}
2026-07-18T09:44:46.557Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:44:46.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:44:46.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:46.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:46.194Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:45.113Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.cos.tuyacn.com: getaddrinfo ENOTFOUND ty-eu-storage30-pic.cos.tuyacn.com
2026-07-18T09:44:45.068Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.s3.eu-central-1.amazonaws.com: HTTP 403
2026-07-18T09:44:44.939Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.oss-eu-central-1.aliyuncs.com: HTTP 404
2026-07-18T09:44:44.206Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY3ODgzLmpwZWc/cGFyYW09TUJpTE43bDdWNG1TUXhHd3M3QXdLYWhnOVhzanROMmRDc2pJV0ZnejBuND0iLCIiXV0sInYiOiIzLjAifQ=="}
2026-07-18T09:44:44.196Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_encrypted_unsupported] Encrypted movement_detect_pic image not supported yet
2026-07-18T09:44:44.195Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJ2IjoiMy4wIiwiYnVja2V0IjoidHktZXUtc3RvcmFnZTMwLXBpYyIsImZpbGVzIjpbWyIvMTc2MDczLTE2MTg2OTQxNi1wcDAxYmYwMGViNmExYTk2Y2Q1MC9kZXRlY3QvMTc4NDM2Nzg4My5qcGVnIiwiMTVjMDVmZmI2OTNlNGE0NCJdXX0="}
2026-07-18T09:44:43.854Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"3.3\u0000\u0000\u0000\u0000\u0000\u0000XM\u0000\u0000\u0000\u0001q���\u001c\u0010\u0005\u0001�ٱ�\u001c��������q=����}V�\u0010�]\u0013�26~e[���\u0007�8�\f?u�}d�_�U\u00021 ��s|Q�x������۽��B\u0014];ܝ�Z��f�]\r\u0006Mođ�KG\u0014���f��!�\u0018��F��o2?�;i�_y��\bP11\u0015�٩\tR�U�ND\u001b\u0000'�0Ag]zs��y~d�8�3g��w\u001a����J�����m4�\nB���3��\u0007}�j89\nߠ��@b\u0012Tb&V�J���\ne��Y��\u0013�ڍ"}
2026-07-18T09:44:36.570Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:44:36.456Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:44:36.456Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:36.455Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:36.192Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}


Tuya device snapshot — Visiophone Wifi

  • selector: tuya-bf0e59548489fcb4ea62of — external_id: tuya:bf0e59548489fcb4ea62of
  • device_type: video-doorbell — product_id: i5e3a4qxcsthszin
  • protocol: 3.1 — ip: 192.168.1.205 — local_override: 0
  • persistent: none — degraded: no

Supported features

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
Status LED basic_indicator 101 Indicator (dp 101) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:49:46.613Z 1 2026-07-18T09:45:16.548Z
Image flip basic_flip 103 Vision Flip (dp 103) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:49:46.613Z 0 2026-07-18T09:45:16.548Z
On-screen display basic_osd 104 OSD Watermark (dp 104) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:49:46.613Z 1 2026-07-18T09:45:16.549Z
Motion detection motion_switch 134 Motion Alert (dp 134) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:49:46.613Z 1 2026-07-18T09:46:06.580Z
Doorbell doorbell_active 136 Doorbell Active (dp 136) [spec.st, model, shadow] (cloud) 2026-07-18T09:49:46.613Z null -
Recording record_switch 150 Record Switch (dp 150) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:49:46.613Z 1 2026-07-18T09:45:16.549Z
Snapshot doorbell_pic - Someone ring doorbell (dp 154) [spec.st, model, shadow] (cloud) 2026-07-18T09:49:46.613Z null -

Unsupported (raw only)

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change

Ignored

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
sd_format_state sd_format_state - Formatted State (dp 117) [spec.st, model, shadow] -20000 (cloud) 2026-07-18T09:49:46.613Z - -
sd_status sd_status - Memory Card Status (dp 110) [spec.st, model, shadow] 5 (cloud) 2026-07-18T09:49:46.613Z - -
motion_sensitivity motion_sensitivity - Motion Sensitivity (dp 106) [spec.fn, spec.st, model, shadow] 1 (cloud) 2026-07-18T09:49:46.613Z - -
record_mode record_mode - Recording Mode (dp 151) [spec.fn, spec.st, model, shadow] 2 (cloud) 2026-07-18T09:49:46.613Z - -
basic_nightvision basic_nightvision - Night Vision (dp 108) [spec.fn, spec.st, model, shadow] 0 (cloud) 2026-07-18T09:49:46.613Z - -
basic_device_volume basic_device_volume - Device Volume Control (dp 160) [spec.fn, spec.st, model, shadow] 10 (cloud) 2026-07-18T09:49:46.613Z - -
sd_storge sd_storge - Get Memory Card Capacity (dp 109) [spec.st, model, shadow] 100 0 100 (cloud) 2026-07-18T09:49:46.613Z
sd_format sd_format - Format Memory Card (dp 111) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:49:46.613Z - -
movement_detect_pic movement_detect_pic - Motion Detected (dp 115) [spec.st, model, shadow] eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY4MTA3LmpwZWc/cGFyYW09bWdMWTEvTVNTd2xNWU1pd3pUUVlkRld6bGtIbEJxV2YyRGcvQ0REMXl1QT0iLCIiXV0sInYiOiIzLjAifQ== (cloud) 2026-07-18T09:49:46.613Z - -
2026-07-18T09:44:56.552Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:44:56.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:44:56.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:56.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:56.225Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:48.567Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:44:48.557Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_invalid_payload] Media payload of doorbell_pic could not be decoded aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc4ODcuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQ0NDhaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT04YzIzODYxMjAwNWJmMjYwNDc2YTk4OGExMTgwZTM5YWNiMGJhZjEwN2VlZTMyZmM5OTM1ZDczNGRlZjE0YTkx
2026-07-18T09:44:48.557Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (doorbell_pic) {"doorbell_pic":"aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjc4ODcuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQ0NDhaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT04YzIzODYxMjAwNWJmMjYwNDc2YTk4OGExMTgwZTM5YWNiMGJhZjEwN2VlZTMyZmM5OTM1ZDczNGRlZjE0YTkx"}
2026-07-18T09:44:48.250Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"3.3\u0000\u0000\u0000\u0000\u0000\u0000XO\u0000\u0000\u0000\u0001$k��tf�K���C�@�o\u000e5�y�=�8p�w\u0003Kߞi�Yr`8�jն\u0002�ž��^X�\u0001Q�P���!Pb�%{m��\n����p��ݥ\u0015\u0000��Ё~K\u0002fȱA��,\u0007�2���:\u0001�M��\r�CA���`@L�( M\\���\\U�4�{�N��^�`_�{��Jx`�Ib�\u001aca��56�m�\u00140<8!��\u001a!_�2va\r�8Q)(N]J�����\u001c�T�\u001f\"���\u0019�]���<�5��J\u0016\\έ�G\r��UA��%�\u0001�H\ng����dh�i�%�\u0001�H\ng����dh�i\u001a�A�(\b�T��$:�\u0016��̈\u0002�����%�3����\u0007�Zx�����AqzlWMr?���N����l�B��p߱\u0011-�o����4��+\u000b2{�[�d��l2�\u0017��З_�|\u0002zwK � �zJ��$F����򗢮\u0000�\u0003\\��n���\u0014�k=��:;��܂7���~e�\u000eKpl\u0003�\u0002�!~U\u001c\u001c]|�\u0019\"39�A�:�\bجn_\u0000\bIܐ\\É�l�H�I��\u001b�\u0005Q-�����ޓ��~L��@͋ȡ���O���\f]+�\n�JcǶP\u0006�'f@\u0003р��H��\"�m��\u0017\u0007�b��+��2���\u0007��\u001d��7Hҕ��/u#m��\u0011��[�+Y��|M\u0019��a,\u0005T\u001e�\u0003���u)5�!�((�.\u0005�a��b�~/\b��v\u000e�����\u000e�ɫ��iޑ]Mt�x9vD��\u0019���9+�h���\u001b�G/f��w%\u0003�N�ӟ�5���`U�\u001c,Mh�v�8]\u0003=��[\u0007���\u0018��\u0005��dٗ�\u001b\u0007\u0012W�+� ��N�J.#�/X-�Re�o��P\u00013�\u001a#�F|8\u0001O\f&|ZV��-�r5@f\u0007̝O\u0010�����׮�����: I9l�:)-F&]�i�\u000e1\\Q���o��^��\t �X�7�E�k�%��i>a�P9l�\u0005cV+\u0016�<�\u0012�\u0012�s?\u0015k��\u0014�� ե\u00193�*,`\u0004��;��l4\t\u0017�{�ap���?�p\u001a_�@�6\u001c�3QV/%\u0018\u0012\u000e\u0016\u0014�\\��(�0n�0N�\u001c]�<}\"�\u0015Tl�0%Oʹ�?�­W\u001a�oC�8�\u001be`B\u0013+��j-�D\u000e���(N\u001ai~G��Ŷ\t|\u0018�v{�i�\b9G�G�'\u0016[)\u0003H�\u0006�\\\u0002\u0011�\u0018ͧ��iMP���E^�k_\u0013�e���'�\f:�\t���^\u001f�0ȡ��r�]!\u001f\u0011��WWh\u001aF��\u0017.�\b\u0004\u0006��#�Dq��+\"\u001c�\u0015�$\u000e\\d�\f$ìKqb�|���k� \u0003�>�\u0000\u001fg\"�3!Z�<��Q��x+.隯\n�aB��\f(�y2ȨH����PWt ��=�dy�T��B\r\u0003%~+\u0006��٘����-mR(EYW��\u001b5��\u000e�TD�xN`֜\u001290V��lw�\u0004�4Iӧo-F�m��[�5�/RX\u0013,��X�l=�`�\u0005�C'T�BI$��7\u0000�\\��=>�\u001c�GsǎJTXca؀�kfD2\u001eqc�`LgS\u0003$Ǖ�h;�ϾO��i��]�1\t,?�9PM>e�+���\t�b�@�E��lɎ\u0001q/��"}
2026-07-18T09:44:46.557Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:44:46.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:44:46.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:46.445Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:46.194Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:45.113Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.cos.tuyacn.com: getaddrinfo ENOTFOUND ty-eu-storage30-pic.cos.tuyacn.com
2026-07-18T09:44:45.068Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.s3.eu-central-1.amazonaws.com: HTTP 403
2026-07-18T09:44:44.939Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.oss-eu-central-1.aliyuncs.com: HTTP 404
2026-07-18T09:44:44.206Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY3ODgzLmpwZWc/cGFyYW09TUJpTE43bDdWNG1TUXhHd3M3QXdLYWhnOVhzanROMmRDc2pJV0ZnejBuND0iLCIiXV0sInYiOiIzLjAifQ=="}
2026-07-18T09:44:44.196Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_encrypted_unsupported] Encrypted movement_detect_pic image not supported yet
2026-07-18T09:44:44.195Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJ2IjoiMy4wIiwiYnVja2V0IjoidHktZXUtc3RvcmFnZTMwLXBpYyIsImZpbGVzIjpbWyIvMTc2MDczLTE2MTg2OTQxNi1wcDAxYmYwMGViNmExYTk2Y2Q1MC9kZXRlY3QvMTc4NDM2Nzg4My5qcGVnIiwiMTVjMDVmZmI2OTNlNGE0NCJdXX0="}
2026-07-18T09:44:43.854Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"3.3\u0000\u0000\u0000\u0000\u0000\u0000XM\u0000\u0000\u0000\u0001q���\u001c\u0010\u0005\u0001�ٱ�\u001c��������q=����}V�\u0010�]\u0013�26~e[���\u0007�8�\f?u�}d�_�U\u00021 ��s|Q�x������۽��B\u0014];ܝ�Z��f�]\r\u0006Mođ�KG\u0014���f��!�\u0018��F��o2?�;i�_y��\bP11\u0015�٩\tR�U�ND\u001b\u0000'�0Ag]zs��y~d�8�3g��w\u001a����J�����m4�\nB���3��\u0007}�j89\nߠ��@b\u0012Tb&V�J���\ne��Y��\u0013�ڍ"}
2026-07-18T09:44:36.570Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:44:36.456Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:44:36.456Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:36.455Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:44:36.192Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}

Détection de mouvement :

Tuya device snapshot — Visiophone Wifi

  • selector: tuya-bf0e59548489fcb4ea62of — external_id: tuya:bf0e59548489fcb4ea62of
  • device_type: video-doorbell — product_id: i5e3a4qxcsthszin
  • protocol: 3.1 — ip: 192.168.1.205 — local_override: 0
  • persistent: none — degraded: no

Supported features

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
Status LED basic_indicator 101 Indicator (dp 101) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:52:16.619Z 1 2026-07-18T09:48:16.651Z
Image flip basic_flip 103 Vision Flip (dp 103) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:52:16.619Z 0 2026-07-18T09:48:16.651Z
On-screen display basic_osd 104 OSD Watermark (dp 104) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:52:16.619Z 1 2026-07-18T09:48:16.652Z
Motion detection motion_switch 134 Motion Alert (dp 134) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:52:16.619Z 1 2026-07-18T09:49:16.601Z
Doorbell doorbell_active 136 Doorbell Active (dp 136) [spec.st, model, shadow] (cloud) 2026-07-18T09:52:16.619Z null -
Recording record_switch 150 Record Switch (dp 150) [spec.fn, spec.st, model, shadow] true (cloud) 2026-07-18T09:52:16.619Z 1 2026-07-18T09:48:16.652Z
Snapshot doorbell_pic - Someone ring doorbell (dp 154) [spec.st, model, shadow] (cloud) 2026-07-18T09:52:16.619Z null -

Unsupported (raw only)

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change

Ignored

Feature Code Local DP Cloud path Raw input (origin) Raw at Gladys value Last change
sd_format_state sd_format_state - Formatted State (dp 117) [spec.st, model, shadow] -20000 (cloud) 2026-07-18T09:52:16.619Z - -
sd_status sd_status - Memory Card Status (dp 110) [spec.st, model, shadow] 5 (cloud) 2026-07-18T09:52:16.619Z - -
motion_sensitivity motion_sensitivity - Motion Sensitivity (dp 106) [spec.fn, spec.st, model, shadow] 1 (cloud) 2026-07-18T09:52:16.619Z - -
record_mode record_mode - Recording Mode (dp 151) [spec.fn, spec.st, model, shadow] 2 (cloud) 2026-07-18T09:52:16.619Z - -
basic_nightvision basic_nightvision - Night Vision (dp 108) [spec.fn, spec.st, model, shadow] 0 (cloud) 2026-07-18T09:52:16.619Z - -
basic_device_volume basic_device_volume - Device Volume Control (dp 160) [spec.fn, spec.st, model, shadow] 10 (cloud) 2026-07-18T09:52:16.619Z - -
sd_storge sd_storge - Get Memory Card Capacity (dp 109) [spec.st, model, shadow] 100 0 100 (cloud) 2026-07-18T09:52:16.619Z
sd_format sd_format - Format Memory Card (dp 111) [spec.fn, spec.st, model, shadow] false (cloud) 2026-07-18T09:52:16.619Z - -
movement_detect_pic movement_detect_pic - Motion Detected (dp 115) [spec.st, model, shadow] eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY4MjczLmpwZWc/cGFyYW09eTBBRFIvK0xuc25pcmVpVzRYZkJiV2J3Q0NMSWxxQUVoaFBaYktES1BIVT0iLCIiXV0sInYiOiIzLjAifQ== (cloud) 2026-07-18T09:52:16.619Z - -
2026-07-18T09:51:16.627Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:51:14.445Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.cos.tuyacn.com: getaddrinfo ENOTFOUND ty-eu-storage30-pic.cos.tuyacn.com
2026-07-18T09:51:14.397Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.s3.eu-central-1.amazonaws.com: HTTP 403
2026-07-18T09:51:14.281Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.oss-eu-central-1.aliyuncs.com: HTTP 404
2026-07-18T09:51:14.148Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY4MjczLmpwZWc/cGFyYW09eTBBRFIvK0xuc25pcmVpVzRYZkJiV2J3Q0NMSWxxQUVoaFBaYktES1BIVT0iLCIiXV0sInYiOiIzLjAifQ=="}
2026-07-18T09:51:14.138Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_encrypted_unsupported] Encrypted movement_detect_pic image not supported yet
2026-07-18T09:51:14.138Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJ2IjoiMy4wIiwiYnVja2V0IjoidHktZXUtc3RvcmFnZTMwLXBpYyIsImZpbGVzIjpbWyIvMTc2MDczLTE2MTg2OTQxNi1wcDAxYmYwMGViNmExYTk2Y2Q1MC9kZXRlY3QvMTc4NDM2ODI3My5qcGVnIiwiZjJhZWY2ZjY5ODlhM2M0MiJdXX0="}
2026-07-18T09:50:46.936Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:50:46.616Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:50:16.585Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:49:46.613Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:49:16.600Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:48:46.895Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:48:33.138Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:48:33.128Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_invalid_payload] Media payload of doorbell_pic could not be decoded aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjgxMTEuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQ4MzJaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT05MTBlMDhiNTllNjljN2E1YThkMzA0ZDgwYmYyYWE1YzA1YjJjYWY4OTJkOWRjMThmZDQxNmMxNjI3M2NiNmM0
2026-07-18T09:48:33.128Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (doorbell_pic) {"doorbell_pic":"aHR0cHM6Ly90eS1ldS1zdG9yYWdlMzAtcGljLnMzLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tLzE3NjA3My0xNjE4Njk0MTYtcHAwMWJmMDBlYjZhMWE5NmNkNTAvZGV0ZWN0LzE3ODQzNjgxMTEuanBlZz9YLUFtei1TZWN1cml0eS1Ub2tlbj1Gd29HWlhJdllYZHpFTHYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkYlMkZ3RWFETGh5ZjkzUEI0RWdOVGZ6SFNLREFpcjB0bGNjTTVQS3p0ZTBIYnNjaGFuMUdWREVVYlIwRCUyRk5CMlRnemxrMzhrbHhwMjN0WDcza1ZGN2E0TUpNJTJGdWl3aHJadFZsWWxiM281M0RFeWRHZEJyUXFoM2twQktaaUVJJTJCN2xmVUtlanRWa3JDVDU2RjV2bWxPOWU5STlFdlcxVlhrQTZEb1ZCV2dJdVNGaXElMkZNaWpHUUJqcU1lN3VFc2pSdHFxMDdlV05CV0ZWcTRZMm00Qkt1Q1JvbktOdTRUeWc2MXlrWW1yMWs3aVFWV09aRFNtWjQyTmh5MURyOWF1NjRzdTFQalBEJTJCRFBzeXZXeE5Kend4MUR6UWlFaUtUWGlpcmFvUDhOYkxUWlolMkZ6M3BvZGNwVzNGNjJuN0drSkNhVmR3UDFEMSUyQk9ZNUJZaDlxeUljJTJCTkNJNk1UdjRuYUFmVUxGT2FSTzYzJTJCSWRxOFpEUE1uNmk0b3pKVHQwZ1l5S2ZxZ3VRdEdBNndTVTJvb3I4UXY0RU5ZRFBFbHlyR00zMmMxRE9hdWdDNnRqMm1hZ09uNmVtTDUmWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BU0lBVVRQTVVKSkpaSUwzVE9IWiUyRjIwMjYwNzE4JTJGZXUtY2VudHJhbC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQwOTQ4MzJaJlgtQW16LUV4cGlyZXM9NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmJ1Y2tldD10eS1ldS1zdG9yYWdlMzAtcGljJnY9MS4wJlgtQW16LVNpZ25hdHVyZT05MTBlMDhiNTllNjljN2E1YThkMzA0ZDgwYmYyYWE1YzA1YjJjYWY4OTJkOWRjMThmZDQxNmMxNjI3M2NiNmM0"}
2026-07-18T09:48:29.654Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.cos.tuyacn.com: getaddrinfo ENOTFOUND ty-eu-storage30-pic.cos.tuyacn.com
2026-07-18T09:48:29.610Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.s3.eu-central-1.amazonaws.com: HTTP 403
2026-07-18T09:48:29.507Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_download_failed] Snapshot download failed on ty-eu-storage30-pic.oss-eu-central-1.aliyuncs.com: HTTP 404
2026-07-18T09:48:28.888Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJidWNrZXQiOiJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiZmlsZXMiOltbIi8xNzYwNzMtMTYxODY5NDE2LXBwMDFiZjAwZWI2YTFhOTZjZDUwL2RldGVjdC8xNzg0MzY4MTA3LmpwZWc/cGFyYW09bWdMWTEvTVNTd2xNWU1pd3pUUVlkRld6bGtIbEJxV2YyRGcvQ0REMXl1QT0iLCIiXV0sInYiOiIzLjAifQ=="}
2026-07-18T09:48:28.878Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [media_encrypted_unsupported] Encrypted movement_detect_pic image not supported yet
2026-07-18T09:48:28.878Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (movement_detect_pic) {"movement_detect_pic":"eyJ2IjoiMy4wIiwiYnVja2V0IjoidHktZXUtc3RvcmFnZTMwLXBpYyIsImZpbGVzIjpbWyIvMTc2MDczLTE2MTg2OTQxNi1wcDAxYmYwMGViNmExYTk2Y2Q1MC9kZXRlY3QvMTc4NDM2ODEwNy5qcGVnIiwiMDRlZWQ5NzNkNzM2NWI0ZiJdXX0="}
2026-07-18T09:48:16.650Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:47:46.597Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:47:16.599Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:46:46.617Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:46:26.701Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"none"}
2026-07-18T09:46:26.591Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:46:26.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle
2026-07-18T09:46:26.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS probe answer on the persistent socket {"payload":"parse data error"}
2026-07-18T09:46:26.446Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:46:26.228Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:46:16.543Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_summary] Poll completed {"mode":"cloud","local_handled":0,"local_changed":0,"cloud_handled":6,"cloud_changed":0,"cloud_missing":0,"fallback":"persistent_alive_cloud_refresh"}
2026-07-18T09:46:16.447Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_alive_no_dps] Persistent socket alive without DPS: keeping it, cloud refresh this cycle

A small clarification: As I feared, the activation of the motion detection mode when you’re local isn’t propagated to the device…

Edit: Oh yes… After restarting the container… ?

2026-07-18T09:57:05.848Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:57:05.074Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_duplicate_skipped] Twin-format Pulsar report already routed
2026-07-18T09:57:05.066Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [pulsar_report] Pulsar real-time report (motion_switch) {"motion_switch":true}
2026-07-18T09:57:04.868Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"3.3\u0000\u0000\u0000\u0000\u0000\u0000Xg\u0000\u0000\u0000\u0001�,i9�\b9&q�B�\u0010����M�\u0010��D�o��o!\u0018}cv�ޞg��>\u0005�L�\u0010"}
2026-07-18T09:57:04.847Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [set_sent] Command sent via cloud (motion_switch)
2026-07-18T09:57:04.693Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [set_local_failed] Local set failed, falling back to cloud: Timeout waiting for status response from device id: bf0e59548489fcb4ea62of
2026-07-18T09:57:02.615Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:57:01.648Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:56:59.677Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [set_persistent_failed] Persistent set failed, using a dedicated local connection: Timeout waiting for status response from device id: bf0e59548489fcb4ea62of
2026-07-18T09:56:59.676Z [warn] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_error] Persistent socket error: persistent socket error
2026-07-18T09:56:54.676Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:56:54.668Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [set_command] Command motion_switch -> true {"command":"motion_switch","value":1,"transformed":true}
2026-07-18T09:56:52.616Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:56:51.659Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:56:42.613Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:56:41.671Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:56:32.616Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [poll_skipped] Poll skipped: persistent local push active
2026-07-18T09:56:31.648Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:56:21.648Z [debug] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [push_frame_raw] Non-DPS frame received on the persistent socket {"payload":"parse data error"}
2026-07-18T09:56:21.629Z [info] [Visiophone Wifi (bf0e59548489fcb4ea62of)] [persistent_connected] Persistent local connection established