-
Notifications
You must be signed in to change notification settings - Fork 506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DDF for iluminize Multi 5 (4A) #7977
DDF for iluminize Multi 5 (4A) #7977
Conversation
Hey @bluemoehre, thanks for your pull request! Tip Modified bundles can be downloaded here. DDB changesModified
ValidationTip Everything is fine ! 🕣 Updated for commit 1adcf5d |
That cluster/attribute |
Just define the capabilities with static values. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You didn’t post screenshots of the Basic cluster, so I don’t know what ZCL version the device supports, but I would expect it to support attribute reporting.
Did you re-read the endpoints and Simple Descriptor each time after changing the mode? It might not make sense to expose an RGBW light as Extended Color Light. The colour temperatures will be ugly, mixing RGB and W.
"status": "Gold", | ||
"subdevices": [ | ||
{ | ||
"type": "$TYPE_COLOR_TEMPERATURE_LIGHT", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That type should only expose ct
; not xy
nor hue
/sat
nor effect
(for colorloop
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked this again, but the controller does provide these as shown in the screenshot.
In terms of colorspaces it is absolutely possible to convert CCT into HUE and XY. So maybe it is just the first we see doing it?
For the effects I wonder anyhow why there shouldn't be some on dimmable & CCT controllers. Candle / fire flicker would be possible =)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you expose xy
, the type should be Extended Color Light, not Color Temperature Light. However, API clients will expect the light to display colours when you're exposing xy
. I don't see any additional value in exposing xy
on a CCT light, as it wouldn't enable anything that isn't already enabled through ct
. I do see issues with sending the wrong message that the light would expose colours.
Yes, in theory it's possible to express ct
value as xy
(but, obviously not the other way around). In practice setting ct
will drive the WW/CW channels, whereas setting xy
will drive the RGB channels, resulting in a different experience.
The only standard effect is colorloop
, which is only available on lights supporting colors through hs
(as it loops hue
values). Hue-specific effects like candle
are exposed over the manufacturer-specific 0xFC03 cluster, which this controller doesn't implement.
"static": 0 | ||
}, | ||
{ | ||
"name": "config/bri/couple_ct", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the controller support this? I’d default it to false. Also, I would expect it to support execute_if_off
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you could tell me the cluster + attribute address I will re-check.
BTW: I find it very hard with the DDF editor to match against the controller. My workflow is always drop everything in, then compare endpoints if active. It takes too long and easily causes to miss something. Is there a better way to match the written path vs available clusters/addresses?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It’s a bit in the Options attribute, as is execute_if_off
. In the Level Control cluster, hence config/bri
. The Color Control cluster has the same attribute, but only with the execute_if_off
bit. These are documented (briefly) in the item’s JSON file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I double checked, but it is as displayed in the screenshots:
Level Control Options bitmap is: 0x01
Color Control Options bitmap is: 0x01
do I need to adjust something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the light actually change brightness when off when the Execute If Off bit in the Level Control cluster is set, and colour (temperature) when the but in Color Control is set?
Does the light actually change colour temperature when changing brightness while the Couple Color Temp to Level bit is set?
"default": true | ||
}, | ||
{ | ||
"name": "config/color/xy/startup_x", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are only supported on Hue lights.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(… same as below)
"default": "0xffff" | ||
}, | ||
{ | ||
"name": "config/color/xy/startup_y", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are only supported on Hue lights.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I already talked to the manufacturer and they told me, they have been adding that on purpose to fulfill some Apple requirements. Else it wont be compatible with Home Kit. Anyhow, if it won't cause problems, I can remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added what? HomeKit doesn’t have poweron settings, and certainly not for colour. I’ve seen some vendors that (illegally) expose the Hue Manufacturer Code 0x100B in the Node Descriptor (also missing from the screenshots), so the Hue bridge exposes them to HomeKit. In that case, they might expose the Hue-specific attributes for poweron xy as well. However, they are not in the screenshots? Do you see them in the GUI? And do they work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So they (illegally) pretend to be a Hue light, so the Hue bridge exposes it to HomeKit. Do they implement the manufacturer-specific versions of 0x0003 and 0x0004 (Hue Startup Current X and Hue Startup Current Y)? If you set these, and power cycle the light, does it come up with the specified colour?
@ebaauw Seems like my idea to copy from another DDF was not the best. Since we have the bot checking DDF files. Are you able to add these hints/rules to it? Then we can run it vs all existing files and do a clean up? This way the next person won't trap into the same problems. |
I already mounted it behind a wall ... but I gonna try to upload these as well.
Since re-reading didn't work all time, causing deCONZ to show old stuff, I deleted the node from the network and then hard reset the controller each time. |
added Basic cluster for Dimmer Mode (2nd image in PR description) |
@Zehir maintains the DDF validator; I haven’t looked into its internals. It does check for mandatory items, but I don’t think it currently checks for superfluous or deprecated items. Of course, the validator cannot check against the actual device features. I often copy an existing DDF as a start to create new DDF, but I do check the validity and appropriateness of each item in the GUI. There’s also some hidden (from API clients) capabilities that change the API behaviour, like using Move to Level (with On/Off) or Off with Effect. You need to check in the GUI if the device supports these. There’s a brief description in each item’s JSON file (under |
ZCL Version 3 is Zigbee 3 and should support attribute reporting. |
So we need to additionally add some reporting config everywhere? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi and thank you for your contribution 👍
We would like to ask you to create a new device support request (new issue -> device support) in this repository and to link it against your pull request. Please also make sure one device support PR only covers one device. This fosters consistency, allowing everybody to find device related information at the very same place and helps expediting searches if required. Furthermore, it enables the devs to check and verify if a DDF is created correctly or if any changes/optimizations are necessary.
Thank you very much for your support!
done |
Thanks a lot 👍 |
@ebaauw is the PR ready for merging? |
I suppose so. I don't have the device so I cannot validate the DDF. |
@ebaauw it would help (me) to understand the status of an issue, if you could resolve all started conversations, where you think it now looks good. This prevents to miss something we had been discussing without having a solution. (Additionally I am not sure if someone could merge with unsolved discussions.) I will also check myself everything here and in other tickets … |
Since the DDF (by design) won't affect any other devices, merging an incomplete or even wrong DDF would cause no harm, other than the device not working as expected. The idea of a DDF, particularly of the So for example, if the DDF advertises the device supports Execute If Off, the deCONZ REST API assumes it does, and will happily send a Move to Level while the device is off, and update |
This pull request is now merged. The new DDB files have been uploaded to the store. DDB FilesModified
🕣 Updated for commit 5bf4142 |
Controller by iluminize, which can emulate multiple controllers (Dimmer, CCT, RGBW, RGBCCT).
Will solve #7985
All Screenshots
Dimmer
CCT
RGBW
RGBWCCT