Skip to content
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

Add color functionality to Muller Licht Remote Control #111

Closed
ASNNetworks opened this issue Aug 10, 2020 · 38 comments
Closed

Add color functionality to Muller Licht Remote Control #111

ASNNetworks opened this issue Aug 10, 2020 · 38 comments
Assignees
Labels
new-device New device

Comments

@ASNNetworks
Copy link

ASNNetworks commented Aug 10, 2020

New Device Support

Device Information

  • Device Model: Tint Remote Control
    71o5enz9xhL AC_SL1500

  • Device Description: Remote Control

  • Device Manufacturer: Muller Licht

Integrations

If possible, provide the event mappings for the different actions that can be performed on the controller. Specify the integration.

If you can provide mappings for multiple integrations, copy the section below as many times as needed.

Integration: deconz

Actions

Power button. There is press and release after hold, not hold event.

  • `button_color_ring_press: event: 1002
  • `button_color_ring_release event: 1002

RGB color ring. The ring consists of multiple areas you can press, but all gave same event. There is press and hold, but both give same event and there is no continous firing. Holding fires event later than press. So works like a delayed press.

  • `button_color_ring_press: event: 6002
  • `button_color_ring_hold event: 6002

Tint/hue down (left). There is press and hold for continue firing, no separate events for hold and release after hold. Continue firing is not consistent I noticed.

  • `button_tint_down_press: event: 4002
  • `button_tint_down_hold event: 4002

Tint/hue up (right). There is press and hold for continue firing, no separate events for hold and release after hold. Continue firing is not consistent I noticed.

  • `button_tint_up_press: event: 5002
  • `button_tint_up_hold event: 5002

Brightness down (left). There is no continuous fire, only press, hold or release after hold.

  • `button_brightness_down_press: event: 3002
  • `button_brightness_down_hold event: 3001
  • `button_brightness_down_release event: 3003

Brightness up (right). There is no continuous fire, only press, hold or release after hold.

  • `button_brightness_down_press: event: 2002
  • `button_brightness_down_hold event: 2001
  • `button_brightness_down_release event: 2003

Scene buttons. Only support press events, no hold or double/triple.

  • button_scene_reading_press: event: 7002
  • `button_scene_sunset_press: event: 8002
  • `button_scene_party_press: event: 9002
  • button_scene_night_press: event: 10002
  • `button_scene_fire_press: event: 11002
  • `button_scene_heart_press: event: 12002

Notes

I notice that the hold function of events 4002 and 5002 have some kind of internal counter or bug. For instance: if I continue holding 4002, it wil stop at a point. If I try again, it will not continue fire. If I then press or hold 5002, for 2 or more times events (s not just once) I can again continue firing 4002, until it reaches some kind of limit and then again.

Also the button at the buttom (group button) doesn't work. It also doesn't change the behaviour of the buttons or events (sadly). It has 4 toggles (1, 2, 3 and ALL). BUT if you select ALL, then the remote does not work (nog events fired)

@xaviml
Copy link
Owner

xaviml commented Aug 10, 2020

Hi @ASNNetworks,

This seems a very interesting controller. In general, I see that the controller sends the same event_id for different actions, which will make its integration not as easy as other controllers. To address this, could you send for each event, the event JSON you see in the Developer Tools? Maybe the event_id is the same, but other attributes might change.

For the non-continuous firing events (like the brightness buttons), I will be able to easily integrate since there is an event for each action (press, hold and release) and no firings when holding the button. However, for the continuous firing, the integration will consist of calling the "click" actions and everytime is fired while hold, it will change the value, rather than ControllerX doing it with a "hold" action.

I will comment for each button:

Power button. There is press and release after hold, not hold event.

For this button, I will be giving only the action for toggle when pressing, so there should be no problems. The only problem could be that if you hold the button, then the light will toggle on and off for every event sent from the controller.

RGB color ring.

I will need to think on how to make this work, it will depend on how the full event looks like.

Tint/hue

I will apply a "click" action to it, instead of a "hold" one as I said before related to continuous firing events.

Brightness

No problems, easy to integrate with a "click" and "hold" action.

Scene buttons

Since they are custom settings, I will leave them without any associated action and user will be able to set their actions through the mapping attribute.

Regarding the group button, it probably changes a variable in each of the events sent through deCONZ, normally the "endpoint_id" or something like this. Let me know if this is true.

Cheers,
Xavi M.

@ASNNetworks
Copy link
Author

ASNNetworks commented Aug 11, 2020

@xaviml thank you for your quick response! So I've fired all events and copy/pasted the JSON's, see below. Also, the group button does not fire off events. Using that button lights up 1 of the 3 leds (or all three together). It doesn;t matter which one is lit up, gives the same events. However, lighting up all three blocks all events entirely. I think we cannot use that button and it has some functionality for Muller Licht's own devices/hub.

Power button. Only support press events, no hold or double/triple. Releasing after hold give press event

`button_color_ring_press: event: 1002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 1002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:46:23.436724+00:00",
"context": {
"id": "4c19be5223de4c97ba967d060a110fa6",
"parent_id": null,
"user_id": null
}
}

RGB color ring. The ring consists of multiple areas you can press, but all gave same event. There is press and hold, but both give same event and there is no continous firing. Holding fires event later than press. So works like a delayed press.

`button_color_ring_press: event: 6002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 6002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:50:37.518400+00:00",
"context": {
"id": "1d78b8d073e44c679d5d87e4063420bd",
"parent_id": null,
"user_id": null
}
}

`button_color_ring_hold event: 6002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 6002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:50:47.771260+00:00",
"context": {
"id": "6f9540dd5b0d4ad99408945c48d7a974",
"parent_id": null,
"user_id": null
}
}

**Edit: To fully test this button ring, I also pressed other sides of the ring. Though I am convinced all sides fire the same event (sadly).

Top:**
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 6002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T20:37:42.231354+00:00",
"context": {
"id": "459270247b7c4a7cab108d8a0379e46f",
"parent_id": null,
"user_id": null
}
}

Left:
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 6002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T20:38:03.630549+00:00",
"context": {
"id": "483790b536954365b57d5923ad35408d",
"parent_id": null,
"user_id": null
}
}

Right:
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 6002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T20:38:11.516027+00:00",
"context": {
"id": "15b68e5ca53148d498b583c26cf4e541",
"parent_id": null,
"user_id": null
}
}

Tint/hue down (left). There is press and hold for continue firing, no separate events for hold and release after hold. Continue firing is not consistent I noticed.

`button_tint_down_press: event: 4002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 4002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:51:10.458637+00:00",
"context": {
"id": "14f4804ca33a4e778ca8c3be036f2c93",
"parent_id": null,
"user_id": null
}
}

`button_tint_down_hold event: 4002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 4002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:51:25.023742+00:00",
"context": {
"id": "a7dabdee977d41698731fa98cdfe6add",
"parent_id": null,
"user_id": null
}
}

Tint/hue up (right). There is press and hold for continue firing, no separate events for hold and release after hold. Continue firing is not consistent I noticed.

`button_tint_up_press: event: 5002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 5002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:51:47.954623+00:00",
"context": {
"id": "b9ceb3eedb6a46a997d519f21d551e15",
"parent_id": null,
"user_id": null
}
}

`button_tint_up_hold event: 5002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 5002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:51:54.257137+00:00",
"context": {
"id": "8059a972496844f3bf025dc36fdaf2ff",
"parent_id": null,
"user_id": null
}
}

Brightness down (left). There is no continuous fire, only press, hold or release after hold.

`button_brightness_down_press: event: 3002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 3002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:52:23.737203+00:00",
"context": {
"id": "706540f742924ea8a5b419f2fa5137b4",
"parent_id": null,
"user_id": null
}
}

`button_brightness_down_hold event: 3001
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 3001
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:52:56.028886+00:00",
"context": {
"id": "695c5dbd31c5424ebfd972de6113c97e",
"parent_id": null,
"user_id": null
}
}

`button_brightness_down_release event: 3003
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 3003
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:53:00.426976+00:00",
"context": {
"id": "c6ee6ecffef546cc92545d90efccdc76",
"parent_id": null,
"user_id": null
}
}

Brightness up (right). There is no continuous fire, only press, hold or release after hold.

`button_brightness_down_press: event: 2002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 2002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:53:16.663554+00:00",
"context": {
"id": "f96342daa1fb4c2b8b049ce4e47436f7",
"parent_id": null,
"user_id": null
}
}

`button_brightness_down_hold event: 2001
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 2001
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:53:40.210503+00:00",
"context": {
"id": "ef3d64fd4b9d467ea29086a4086aa940",
"parent_id": null,
"user_id": null
}
}

`button_brightness_down_release event: 2003
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 2003
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:53:44.023720+00:00",
"context": {
"id": "76b51e61882c4300a3957361caf629eb",
"parent_id": null,
"user_id": null
}
}

Scene buttons. Only support press events, no hold or double/triple. Releasing after hold give press event

button_scene_reading_press: event: 7002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 7002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:54:32.162839+00:00",
"context": {
"id": "4004657f4d3a4d7c8b5212de56f161e2",
"parent_id": null,
"user_id": null
}
}

`button_scene_sunset_press: event: 8002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 8002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:54:41.445799+00:00",
"context": {
"id": "6bb09dac734a4d8eb55aacf72399eff2",
"parent_id": null,
"user_id": null
}
}

`button_scene_party_press: event: 9002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 9002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:54:46.479257+00:00",
"context": {
"id": "bd4a0a98e4194927a3895c0f79b26620",
"parent_id": null,
"user_id": null
}
}

button_scene_night_press: event: 10002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 10002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:54:52.431053+00:00",
"context": {
"id": "9f5a50399668444f8d26f6e4713fe25a",
"parent_id": null,
"user_id": null
}
}

`button_scene_fire_press: event: 11002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 11002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:54:58.939988+00:00",
"context": {
"id": "1b9d7bef68a849f19acde75c793d7346",
"parent_id": null,
"user_id": null
}
}

`button_scene_heart_press: event: 12002
{
"event_type": "deconz_event",
"data": {
"id": "zbt_remote_all_rgbw_27",
"unique_id": "00:15:8d:00:03:8b:f5:ff",
"event": 12002
},
"origin": "LOCAL",
"time_fired": "2020-08-11T17:55:06.716632+00:00",
"context": {
"id": "82a6b26987ce4c1da4db2354ae72afa6",
"parent_id": null,
"user_id": null
}
}

@xaviml
Copy link
Owner

xaviml commented Aug 17, 2020

Hi @ASNNetworks,

Thanks for the answer. I will let you know when I look at it closely and what I can integrate in ControllerX.

Cheers,
Xavi M.

xaviml added a commit that referenced this issue Sep 19, 2020
Add deCONZ support for new controller: MLI-404011 (Müller Licht)

related to #111
@xaviml
Copy link
Owner

xaviml commented Sep 20, 2020

This has been released in ControllerX v3.5.0. You can find the details in here. You will see that some actions were not added since hold actions are not supported for some buttons.

@xaviml xaviml closed this as completed Sep 20, 2020
@hdejongh
Copy link

hdejongh commented Jan 4, 2021

Hi Xaviml,

just received this controller.
I noticed that all thought the event for the colour wheel doesn't change the X,Y do change.
Also the angel changes.. Is that something you could work with?

dresden-elektronik/deconz-rest-plugin#1209


Pressing or holding the colour wheel results in a Move to Color command. The xy values depend on the last values sent and where on the wheel you press or hold. I think the wheel has four different contacts (let's call them North, East, South, West). Each press "moves" the xy values towards the corresponding point on the CIE 1931 colour space: North: (0.3010, 0.1487) - pink-ish, East: (0.7, 0.3) - red, South: (0.3726, 0.5885) - green-ish, and West: (0.1164, 0.3473) Turquoise-ish. A hold "moves" directly to the corresponding point.
So e.g. to get yellow, hold South for green-ish and then press East to move towards red. There seem to be eight steps between adjacent directions; opposite directions go through an in-between direction: East/West over South; and North/South over East. So a total of 36 different xy values.

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Hi @ASNNetworks,

Could you show me a deCONZ event from HA? So I can see how the angle or XY color is passed through there?

Regards,
Xavi M.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

Hi @ASNNetworks,

Could you show me a deCONZ event from HA? So I can see how the angle or XY color is passed through there?

Regards,
Xavi M.

i think you mean me:) I'll get it for you shortly.

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Yes, sorry.. haha I got the name of the OP instead of yours.. it was meant to you @hdejongh

Thanks,

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

ok i did 12 presses:
3 right (event 11/10/9)
3 down (event 8/7/6)
3 left (event 5/4/3)
3 up (event 2/1/0)

and those correspond with (top to down) :

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 330,
        "xy": [
            0.12,
            0.08
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:15.881897+00:00",
    "context": {
        "id": "acf49a248098275501f740009f276e12",
        "parent_id": null,
        "user_id": null
    }
}

Event 10 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 320,
        "xy": [
            0.1191,
            0.1431
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:14.930966+00:00",
    "context": {
        "id": "3d2bd97686fa5e20112d208dde3b8d41",
        "parent_id": null,
        "user_id": null
    }
}

Event 9 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 310,
        "xy": [
            0.1184,
            0.1974
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:14.306160+00:00",
    "context": {
        "id": "4e4ec70c0da41c9f42e56a0caa13d336",
        "parent_id": null,
        "user_id": null
    }
}

Event 8 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 300,
        "xy": [
            0.1178,
            0.2436
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:10.240688+00:00",
    "context": {
        "id": "e7d5576debdf86118b8d515b0931daa4",
        "parent_id": null,
        "user_id": null
    }
}

Event 7 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 310,
        "xy": [
            0.1184,
            0.1974
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:09.505563+00:00",
    "context": {
        "id": "885d2e0631874c33c6168e3b78555853",
        "parent_id": null,
        "user_id": null
    }
}

Event 6 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 320,
        "xy": [
            0.1191,
            0.1431
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:09.089144+00:00",
    "context": {
        "id": "b0ae9a633fc13825f0293eed0c1cfdec",
        "parent_id": null,
        "user_id": null
    }
}

Event 5 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 330,
        "xy": [
            0.12,
            0.08
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:04.353807+00:00",
    "context": {
        "id": "83c6dad920396861735854fcdcfe838e",
        "parent_id": null,
        "user_id": null
    }
}

Event 4 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 340,
        "xy": [
            0.1951,
            0.1085
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:03.714423+00:00",
    "context": {
        "id": "619a15a59d34bf8da54cc3da1a69c5c1",
        "parent_id": null,
        "user_id": null
    }
}

Event 3 fired 10:19 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 350,
        "xy": [
            0.2543,
            0.1309
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:19:03.144791+00:00",
    "context": {
        "id": "d86e313c23b50bcbe0024bb50c757995",
        "parent_id": null,
        "user_id": null
    }
}

Event 2 fired 10:18 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 0,
        "xy": [
            0.301,
            0.1487
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:18:52.866692+00:00",
    "context": {
        "id": "2f2abe43663e3f6d0e2115b591c9ebcd",
        "parent_id": null,
        "user_id": null
    }
}

Event 1 fired 10:18 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 0,
        "xy": [
            0.301,
            0.1487
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:18:52.168318+00:00",
    "context": {
        "id": "4307225fc417de9a320b9efc9f32b5ad",
        "parent_id": null,
        "user_id": null
    }
}

Event 0 fired 10:18 AM:

{
    "event_type": "deconz_event",
    "data": {
        "id": "woonkamer_muller",
        "unique_id": "00:15:8d:00:03:8c:85:f9",
        "event": 6002,
        "device_id": "e0c57b047dd4131016d2c96eb92466c9",
        "angle": 0,
        "xy": [
            0.301,
            0.1487
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2021-01-05T09:18:51.544072+00:00",
    "context": {
        "id": "ac16be055b8b137f57f8ba47b804b364",
        "parent_id": null,
        "user_id": null
    }
}

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Thanks @hdejongh for the answer. I will reopen this ticket, and change the title. There are some internal changes that need to happen to implement this, so it won't be straight away.

Regards,
Xavi M.

@xaviml xaviml reopened this Jan 5, 2021
@xaviml xaviml changed the title Muller Licht Remote Control Add color functionality to Muller Licht Remote Control Jan 5, 2021
@hdejongh
Copy link

hdejongh commented Jan 5, 2021

how about i send you a remote which you can keep so you can test it your self?
Do you also have a conbee2 stick?

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Hi @hdejongh,

Thank you for the offering. I am happy if you are able to test this functionality once I release some beta versions. I have a way of developing this in an easy way and I am confident in developing it without the need of the controller itself.

Thanks again and very kind of you :)
Xavi M.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

np i would love to test!
To bad the lowest button doesnt do anything (i see no events popping up in HA)

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Hi @hdejongh,

ControllerX v4.4.0b0 will be released in 5-10 minutes from now. It ships this functionality. It reads the deconz event to get the xy color when pressing the color wheel (6002 event).

You can toggle "Show beta" in HACS to get this release.

Regards,
Xavi M.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

Did you create a default mapping or should i do that? cause nothing happens when i press the ring...

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

I did add it to the default mapping. Did you restart AppDaemon addon after updating?

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Check AppDaemon logs for errors or warning if possible as well. Thank you :)

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

restarted HA, no joy for the ring.

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

What do you see in the AppDaemon logs when pressing the ring?

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

there are no appdaemon logs:)
i have no idea what im doing wrong....

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

log:
logfile: /config/appdaemon/appdaemon.log
errorfile: /config/appdaemon/appdaemon.log

that's probably wrong...

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

How did you install AppDaemon? Was it through the addon? If so, you can go to the addon and click to the "Logs" tab you will see on the top (if you are in a computer). You will see a "refresh" button that you can use to refresh the logs.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

stupid me doing 2 things at the same time. I actually looked already here a couple of days ago while using a debug log feature in our app:). I added the log_level

Woonkamer_Muller:
log_level: DEBUG
module: controllerx
class: MLI404011LightController
controller: woonkamer_muller
integration: deconz
light: light.lg_woonkamer

2021-01-05 20:24:13.027549 DEBUG Woonkamer_Muller: Calling listen_event for Woonkamer_Muller
2021-01-05 20:24:39.580425 DEBUG Woonkamer_Muller: 🎮 Button event triggered, but not registered: 6002
2021-01-05 20:24:40.909180 DEBUG Woonkamer_Muller: 🎮 Button event triggered, but not registered: 6002
2021-01-05 20:26:42.733265 DEBUG Woonkamer_Muller: 🎮 Button event triggered, but not registered: 6002
2021-01-05 20:26:43.036370 DEBUG Woonkamer_Muller: 🎮 Button event triggered, but not registered: 6002

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

No worries, I assumed you knew where to find the logs, my fault. Thank you for adding the debug log as well. I see that it does not recognize the 6002 event. When initializing AppDaemon, do you see something like:

INFO Woonkamer_Muller: 🎮 ControllerX v4.4.0b0

Regards,

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

I just saw your message:

restarted HA, no joy for the ring.

You need to restart AppDaemon addon, not Home Assistant.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

ok it works but if you press multiple times on the same spot the color keeps changing...
it's like its cycling through all colours which are between so lets say you click "right" which is red (and i first have to click it around 10 times before it becomes red). and then you click left light blue it will first go yellow then green and than blue....

so its not instant...

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

better explanation:

first i set the light with my regular hue dimmer on orange:
2021-01-05 20:49:47.694606 INFO hue_dimmer_woonkamer: 🏃 Running (<bound method Controller.call_services of <cx_devices.phillips.HueDimmerController object at 0x7f78a7433a30>>, [('light/turn_on', {'entity_id': 'light.lg_woonkamer', 'brightness_pct': 100, 'color_name': 'orange', 'transition': 2})]) now
2021-01-05 20:49:47.697959 INFO hue_dimmer_woonkamer: 🤖 Service: light.turn_on
2021-01-05 20:49:47.701267 INFO hue_dimmer_woonkamer: - entity_id: light.lg_woonkamer
2021-01-05 20:49:47.704409 INFO hue_dimmer_woonkamer: - brightness_pct: 100
2021-01-05 20:49:47.707867 INFO hue_dimmer_woonkamer: - color_name: orange
2021-01-05 20:49:47.711134 INFO hue_dimmer_woonkamer: - transition: 2

then i press multiple times on the muller remote to the right (red)

2021-01-05 20:53:50.632367 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:50.635052 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:50.641400 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:50.644843 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:50.648267 INFO Woonkamer_Muller: - xy_color: [0.116, 0.3787]
2021-01-05 20:53:50.651654 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:50.652961 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.116, 0.3787], 'transition': 0.3}
2021-01-05 20:53:52.693054 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:52.695946 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:52.702232 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:52.705924 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:52.709430 INFO Woonkamer_Muller: - xy_color: [0.1154, 0.4196]
2021-01-05 20:53:52.712991 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:52.714298 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.1154, 0.4196], 'transition': 0.3}
2021-01-05 20:53:55.346325 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:55.349239 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:55.355757 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:55.359657 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:55.363994 INFO Woonkamer_Muller: - xy_color: [0.1147, 0.472]
2021-01-05 20:53:55.367821 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:55.369249 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.1147, 0.472], 'transition': 0.3}
2021-01-05 20:53:56.092782 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:56.095991 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:56.102881 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:56.106927 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:56.110912 INFO Woonkamer_Muller: - xy_color: [0.1137, 0.5456]
2021-01-05 20:53:56.114798 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:56.116618 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.1137, 0.5456], 'transition': 0.3}
2021-01-05 20:53:56.759428 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:56.762116 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:56.768180 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:56.771992 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:56.775434 INFO Woonkamer_Muller: - xy_color: [0.1122, 0.6531]
2021-01-05 20:53:56.779033 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:56.780205 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.1122, 0.6531], 'transition': 0.3}
2021-01-05 20:53:58.293300 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:58.296480 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:58.303152 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:58.307865 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:58.312147 INFO Woonkamer_Muller: - xy_color: [0.3151, 0.6393]
2021-01-05 20:53:58.315979 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:58.317412 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.3151, 0.6393], 'transition': 0.3}
2021-01-05 20:53:59.189583 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:59.192261 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:59.198376 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:59.201818 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:59.205245 INFO Woonkamer_Muller: - xy_color: [0.4143, 0.5518]
2021-01-05 20:53:59.208700 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:59.209832 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.4143, 0.5518], 'transition': 0.3}
2021-01-05 20:53:59.602516 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:53:59.605501 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:53:59.612121 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:53:59.623422 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:53:59.649097 INFO Woonkamer_Muller: - xy_color: [0.4466, 0.5233]
2021-01-05 20:53:59.652613 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:53:59.654093 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.4466, 0.5233], 'transition': 0.3}
2021-01-05 20:54:01.289095 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:54:01.291930 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:54:01.298693 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:54:01.302401 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:54:01.307151 INFO Woonkamer_Muller: - xy_color: [0.5982, 0.3897]
2021-01-05 20:54:01.310720 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:54:01.312173 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.5982, 0.3897], 'transition': 0.3}
2021-01-05 20:54:03.823920 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:54:03.826565 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:54:03.832690 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:54:03.836178 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:54:03.839608 INFO Woonkamer_Muller: - xy_color: [0.7, 0.3]
2021-01-05 20:54:03.842963 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:54:03.844153 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.7, 0.3], 'transition': 0.3}
2021-01-05 20:54:05.252040 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:54:05.255107 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:54:05.261784 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:54:05.265382 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:54:05.269046 INFO Woonkamer_Muller: - xy_color: [0.7, 0.3]
2021-01-05 20:54:05.272624 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:54:05.274041 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.7, 0.3], 'transition': 0.3}
2021-01-05 20:54:06.442962 INFO Woonkamer_Muller: 🎮 Button event triggered: 6002
2021-01-05 20:54:06.446145 INFO Woonkamer_Muller: 🏃 Running change_xy_color now
2021-01-05 20:54:06.452669 INFO Woonkamer_Muller: 🤖 Service: light.turn_on
2021-01-05 20:54:06.457200 INFO Woonkamer_Muller: - entity_id: light.lg_woonkamer
2021-01-05 20:54:06.461254 INFO Woonkamer_Muller: - xy_color: [0.7, 0.3]
2021-01-05 20:54:06.465089 INFO Woonkamer_Muller: - transition: 0.30
2021-01-05 20:54:06.466596 DEBUG Woonkamer_Muller: call_service: light/turn_on, {'entity_id': 'light.lg_woonkamer', 'xy_color': [0.7, 0.3], 'transition': 0.3}

so the last 3 presses its red

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Thank you for reporting back with logs.

I see that the xy_color is not consistent even when pressing right (red) multiple times. Could you check in "Developer Tools > Events", then start listening for deconz_event. Once listening for the event, could you click consistenly to the same spot and report in here what you see? I would like to see if the controller is reporting the same xy_color.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

i already did that this afternoon. in my initial post: #111 (comment)
3 times same spot...

ill try multiple times again cause i think eventually it will stay the same color

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

ok tried it again, if you keep pressing the same spot multiple times then eventually it stops changing the xy_color. but that can take over. if i go from bottom to top it will take at least 20 presses to reach the final (correct) color...
Angle shows it aswell. lets say i click left as soon as the event shows 90 i will have reach the right color.
down is 180, left is 270 up is 0. so 360 degrees...

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

I missed that, sorry. I see now that the only consistent one is when clicking up multiple times, but for the rest, the xy color seems to be random.

The only thing I did in ControllerX was to read that xy color and use light.on service by passing xy_color attribute with the value from the deconz event. You can try it manually from Developer Tools, and see if you get the same colors.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

not really random its always connected the angle..
i pressed so many times the battery's are already empty:)

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

Oh!!! it needs to be a long press! if you do a long press its working fine. short press will just add "10 degrees" and keep doing that until you reach the right color

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

Oh!!! it needs to be a long press! if you do a long press its working fine. short press will just add "10 degrees" and keep doing that until you reach the right color

Which event does it send? just the 6002 one time? You can see that in the AppDaemon logs

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

yes only one time

@xaviml
Copy link
Owner

xaviml commented Jan 5, 2021

So is everything working fine? Let me know if you find anything not working properly. I will release the v4.4.0 in a couple of days.

@hdejongh
Copy link

hdejongh commented Jan 5, 2021

yes its working fine, but the remote isn't very high quality... so its kinda hard to select the right color.
But your script works flawless many thanks!

@xaviml
Copy link
Owner

xaviml commented Jan 12, 2021

Color ring functionality has been added to ControllerX v4.4.0.

@xaviml xaviml closed this as completed Jan 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-device New device
Projects
None yet
Development

No branches or pull requests

3 participants