Skip to content

Conversation

@fst-dresden-elektronik
Copy link
Contributor

No description provided.

const e = exposes.presets;

const tzLocal = {
flsm_color_hs: {
Copy link
Owner

Choose a reason for hiding this comment

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

Why not use

export const light_color: Tz.Converter = {
instead?

Copy link
Contributor Author

@fst-dresden-elektronik fst-dresden-elektronik Dec 23, 2025

Choose a reason for hiding this comment

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

Because when using tz.light_color the device did not change color. I had to build this custom solution for the device to accept color changes.

Copy link
Owner

Choose a reason for hiding this comment

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

I think because it doesn't support x/y, can you try with just h/s: m.light({endpointNames: ["l1", "l2", "l3", "l4", "l5"], color: {modes: ["hs"]}})

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The challenge with this product is that the endpoints are dynamic. The device has DIP switches that configure which endpoint is exposed. As far as I understand, the extend field and the m.light function are static, so I had to work around this using the exposes and configure fields. In the end, this worked perfectly and corrected the previous “simple” implementation, which was incomplete (it only exposed five static lights, but the actual behavior depends on the DIP switch configuration).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Maybe there is a different way to implement this? I am new to zigbee2MQTT.

Copy link
Owner

Choose a reason for hiding this comment

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

Yes we can identify using fingerprint (so a different definition is used for every mode): example:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants