Skip to content

Add protocol 3.5 dual lamp#4612

Draft
miicha wants to merge 4 commits intomake-all:mainfrom
miicha:add-protocol-3.5-dual-lamp
Draft

Add protocol 3.5 dual lamp#4612
miicha wants to merge 4 commits intomake-all:mainfrom
miicha:add-protocol-3.5-dual-lamp

Conversation

@miicha
Copy link
Copy Markdown

@miicha miicha commented Mar 1, 2026

add some additional control options for this (and possibly other similar ones) https://www.amazon.de/dp/B0DGQ6WJDB with separate control of RGB and White LED.

Micha added 2 commits March 1, 2026 20:32
…e some commands from tuya app. this change forces an updatedps for selected dps (usualla 20 and/or 21 should be enough and can be set in corresponding device yml to true)
@github-project-automation github-project-automation bot moved this to 👀 In review in Tuya Local Mar 1, 2026
@make-all make-all moved this from 👀 In review to 🏗 Stalled in Tuya Local Mar 2, 2026
)
# Device DPS not initialized (e.g. after power
# cycle) — nudge with updatedps to force init
if "unvalid" in str(poll["Payload"]):
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

poll.get("Err") == 900 seems to be the condition you want here based on logs in issues received with the word "unvalid" in them. This should be more efficient and more reliable in case the underlying dummy text in the payload for this condition is changed by a device manufacturer.

@@ -0,0 +1,190 @@
name: RGBCW ceiling light
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the name, and more so the filename, are deceptive, because this is not a normal RGBCW light, it is separate RGB and CCT (CW) lights. The use of dp ids in the 100-199 range for core functions is not generic, so probably using the manufacturer in the filename is more appropriate (but name here should remain generic in case of rebranding, maybe just add a space between RGB and CW).

name: RGBCW ceiling light v3.5
entities:
- entity: switch
name: Master power
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leave out this name, it should be obvious from this being the main switch and separated from the lights that it is for the whole device.

- id: 20
type: boolean
name: switch
- entity: light
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding the following to make it obvious that the switch above overrides the on/off switch here:

    - id: 20
      type: boolean
      name: available

min: 0
max: 1000
- entity: select
name: Scene
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should use a translation_key instead of name (scene is lowercase in that case). I'm not sure why the CI has not flagged this.

mapping:
- scale: 1000
- entity: text
name: Scene data
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use translation_key: scene here. Because it is a different entity type than the select above, the names do not have to be unique, and it makes sense to have them the same because they are exactly the same setting, just more control here.

name: value
optional: true
- entity: switch
name: Unknown 34
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unknown dps should generally just be added as attributes on other entities for observation, not made into full entities by themselves.

min: 1
max: 100
- entity: select
name: Power-on behaviour
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dps 33 and 35 should probably have text entities also, to allow full control.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🏗 Stalled

Development

Successfully merging this pull request may close these issues.

2 participants