Can I add custom channels to a zigbee thing?

Hello,

First post after about 6 months of looking and configuring a openhab system on a raspberry-pi. For now, I only have a few KNX items (with a TON of warn messages in the logs but that’s a story for another time) and some zigbee lights (ikea and different dimmers).

After trying a few zigbee RGBW dimmers (paulmann, etc.) I settled on a Chinese (GLEDOPTO) dimmer I bought off amazon that let me control each channel (actually one color channel and one dimmer that controls the white channel separately).

I ordered a bunch (about 30) from aliexpress, apparently from the manufacturer, only to find that, although identical boxes, the device is not recognized with the same channels. Now it shows two identical sets of channels: one color and one color temperature dimmer. (but no white channel dimmer)

the main issue is that contrary to the amazon device:

  • I cannot control each channel individually
  • I cannot turn off the lights (at 0 it is still quite strong)

I would at least like to add the switch_level dimmer that the one that works correctly has but the *core.thing.Thing.json is rewritten after the restart (I edited with the openhab closed)
Is it rediscovered frequently?

I turned the zigbee debug in the karaf and I got a huge (to me) amount of reports that are completely useless to me as I couldn’t even locate the part of what was sent to the bus when a command was given. It’s available if someone has the time to look over it or (even better) has the time to point me in the right direction to read some documentation about how to read and interpret it.

here is a snippet from the thing.json from the first device:

      "zigbee:device:0000058A:00124b0019e96c97": {
        "class": "org.eclipse.smarthome.core.thing.internal.ThingImpl",
        "value": {
          "label": "Robert dulap",
          "bridgeUID": {
            "segments": [
              "zigbee",
              "coordinator_telegesis",
              "0000058A"
            ]
          },
          "channels": [
            {
              "acceptedItemType": "Dimmer",
              "kind": "STATE",
              "uid": {
                "segments": [
                  "zigbee",
                  "device",
                  "0000058A",
                  "00124b0019e96c97",
                  "00124B0019E96C97_10_switch_level"
                ]
              },
              "channelTypeUID": {
                "segments": [
                  "zigbee",
                  "switch_level"
                ]
              },
              "label": "Dimmer",
              "configuration": {
                "properties": {}
              },
              "properties": {
                "zigbee_endpoint": "10"
              },
              "defaultTags": []
            },
            {
              "acceptedItemType": "Color",
              "kind": "STATE",
              "uid": {
                "segments": [
                  "zigbee",
                  "device",
                  "0000058A",
                  "00124b0019e96c97",
                  "00124B0019E96C97_11_color_color"
                ]
              },
              "channelTypeUID": {
                "segments": [
                  "zigbee",
                  "color_color"
                ]
              },
              "label": "Color",
              "configuration": {
                "properties": {}
              },
              "properties": {
                "zigbee_endpoint": "11"
              },
              "defaultTags": []
            },
            {
              "acceptedItemType": "Dimmer",
              "kind": "STATE",
              "uid": {
                "segments": [
                  "zigbee",
                  "device",
                  "0000058A",
                  "00124b0019e96c97",
                  "00124B0019E96C97_11_color_temperature"
                ]
              },
              "channelTypeUID": {
                "segments": [
                  "zigbee",
                  "color_temperature"
                ]
              },
              "label": "Color Temperature",
              "configuration": {
                "properties": {}
              },
              "properties": {
                "zigbee_endpoint": "11"
              },
              "defaultTags": []
            }
          ],
          "configuration": {
            "properties": {
              "zigbee_macaddress": "00124B0019E96C97"
            }
          },
          "properties": {
            "zigbee_logicaltype": "ROUTER",
            "zigbee_powerlevel": "FULL",
            "modelId": "GLEDOPTO",
            "zigbee_networkaddress": "36659",
            "zigbee_powersource": "MAINS",
            "zigbee_stkversion": "2",
            "zigbee_datecode": "20131206",
            "zigbee_zclversion": "1",
            "zigbee_routes": "[{\"next_hop\":\"4736\",\"destination\":\"0\",\"state\":\"ACTIVE\"}]",
            "zigbee_lastupdate": "",
            "vendor": "GLEDOPTO",
            "zigbee_powermode": "RECEIVER_ON_IDLE",
            "zigbee_powersources": "[MAINS]",
            "hardwareVersion": "1",
            "zigbee_neighbors": "[{\"joining\":\"UNKNOWN\",\"address\":\"3907\",\"depth\":\"255\",\"lqi\":\"1\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"17240\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"47093\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"3552\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"9084\",\"depth\":\"255\",\"lqi\":\"1\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"55226\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"3989\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"46095\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"16912\",\"depth\":\"1\",\"lqi\":\"0\",\"macaddress\":\"00158D00015C5B5B\"},{\"joining\":\"UNKNOWN\",\"address\":\"4736\",\"depth\":\"255\",\"lqi\":\"1\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"},{\"joining\":\"UNKNOWN\",\"address\":\"0\",\"depth\":\"255\",\"lqi\":\"0\",\"macaddress\":\"FFFFFFFFFFFFFFFF\"}]",
            "zigbee_devices": "[]"
          },
          "uid": {
            "segments": [
              "zigbee",
              "device",
              "0000058A",
              "00124b0019e96c97"
            ]
          },
          "thingTypeUID": {
            "segments": [
              "zigbee",
              "device"
            ]
          },
          "location": "Robert"
        }
      },

Here is one from one of the new devices:

  "zigbee:device:0000058A:00124b001ada93cd": {
    "class": "org.eclipse.smarthome.core.thing.internal.ThingImpl",
    "value": {
      "label": "GLEDOPTO GL-C-007 5",
      "bridgeUID": {
        "segments": [
          "zigbee",
          "coordinator_telegesis",
          "0000058A"
        ]
      },
      "channels": [
        {
          "acceptedItemType": "Dimmer",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zigbee",
              "device",
              "0000058A",
              "00124b001ada93cd",
              "00124B001ADA93CD_10_switch_level"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zigbee",
              "switch_level"
            ]
          },
          "label": "Dimmer",
          "configuration": {
            "properties": {}
          },
          "properties": {
            "zigbee_endpoint": "10"
          },
          "defaultTags": []
        },
        {
          "acceptedItemType": "Color",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zigbee",
              "device",
              "0000058A",
              "00124b001ada93cd",
              "00124B001ADA93CD_11_color_color"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zigbee",
              "color_color"
            ]
          },
          "label": "Color",
          "configuration": {
            "properties": {}
          },
          "properties": {
            "zigbee_endpoint": "11"
          },
          "defaultTags": []
        },
        {
          "acceptedItemType": "Dimmer",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zigbee",
              "device",
              "0000058A",
              "00124b001ada93cd",
              "00124B001ADA93CD_11_color_temperature"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zigbee",
              "color_temperature"
            ]
          },
          "label": "Color Temperature",
          "configuration": {
            "properties": {}
          },
          "properties": {
            "zigbee_endpoint": "11"
          },
          "defaultTags": []
        },
        {
          "acceptedItemType": "Color",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zigbee",
              "device",
              "0000058A",
              "00124b001ada93cd",
              "00124B001ADA93CD_12_color_color"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zigbee",
              "color_color"
            ]
          },
          "label": "Color",
          "configuration": {
            "properties": {}
          },
          "properties": {
            "zigbee_endpoint": "12"
          },
          "defaultTags": []
        },
        {
          "acceptedItemType": "Dimmer",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zigbee",
              "device",
              "0000058A",
              "00124b001ada93cd",
              "00124B001ADA93CD_12_color_temperature"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zigbee",
              "color_temperature"
            ]
          },
          "label": "Color Temperature",
          "configuration": {
            "properties": {}
          },
          "properties": {
            "zigbee_endpoint": "12"
          },
          "defaultTags": []
        }
      ],
      "configuration": {
        "properties": {
          "zigbee_macaddress": "00124B001ADA93CD"
        }
      },
      "properties": {
        "zigbee_logicaltype": "ROUTER",
        "zigbee_powerlevel": "FULL",
        "modelId": "GLEDOPTO",
        "zigbee_networkaddress": "17240",
        "zigbee_powersource": "MAINS",
        "zigbee_stkversion": "2",
        "zigbee_datecode": "20131206",
        "zigbee_zclversion": "1",
        "zigbee_routes": "[]",
        "zigbee_lastupdate": "",
        "vendor": "GLEDOPTO",
        "zigbee_powermode": "RECEIVER_ON_IDLE",
        "zigbee_powersources": "[MAINS]",
        "hardwareVersion": "1",
        "zigbee_neighbors": "[]",
        "zigbee_devices": "[]"
      },
      "uid": {
        "segments": [
          "zigbee",
          "device",
          "0000058A",
          "00124b001ada93cd"
        ]
      },
      "thingTypeUID": {
        "segments": [
          "zigbee",
          "device"
        ]
      },
      "location": "Séjour"
    }
  },

Is it possible to try to force it to see it as the other one?
Is it possible that it will be added later in a proper way?
I can add photos of the boards if needed.

I don’t know if it’s relevant but here is how it behaves:
It shows two sets of channels: one color and one color temperature dimmer. If the color temperature is anything other than 0 the rgb are equal and mixed with the white channel to simulate warm/cold. If I touch anything from the color channel again, it shuts down the white completely and the color is displayed correctly according to the channel parameters.

No - the binding will re-detect the channels when it restarts.

No - but what do you mean by “proper way”?

Can you describe better what this means?

Can you provide a debug log? If the binding is sending the OFF command, and the device is not turning off, then there may be a problem with the device, or its compatibility with ZigBee. It’s hard to tell without a debug log though.

Wow, that was so fast! Thank you so much!

I was kinda (but not really) hoping that somewhere there is a zigbee alliance server where each and every certified zigbee device has a description of some specific way to communicate with it.

What I’m trying to say is that the initial device had a dimmer channel for the white and a HSL for the color so with a RGBtoHSL and the dimmer channel I could send whatever value I wanted for each RGBW channel. Now I cannot.

I can try… It’s a mess in there and it’s a bit late here so I’ll add more tomorrow evening.
the new one is ending in F5C and the old one is ending in C97

at 22:35 I turned the old one to full red, at 22:36 i turned the color off
at 22:37 I turned the new one to full red, at 22:38 I turned the color off and it only lowered to a “min”
obviously the time is approx.


2018-12-10 22:34:19.470 [me.event.ThingUpdatedEvent] - Thing 'zigbee:device:0000058A:90fd9ffffe90ee71' has been updated.
2018-12-10 22:34:19.998 [me.event.ThingUpdatedEvent] - Thing 'zigbee:device:0000058A:90fd9ffffe86fa2a' has been updated.
2018-12-10 22:34:20.935 [me.event.ThingUpdatedEvent] - Thing 'zigbee:device:0000058A:d0cf5efffe16f448' has been updated.
2018-12-10 22:34:22.339 [me.event.ThingUpdatedEvent] - Thing 'zigbee:device:0000058A:90fd9ffffe8ed43d' has been updated.
2018-12-10 22:34:23.500 [me.event.ThingUpdatedEvent] - Thing 'zigbee:device:0000058A:d0cf5efffe13bc5a' has been updated.
2018-12-10 22:34:24.039 [me.event.ThingUpdatedEvent] - Thing 'zigbee:device:0000058A:00124b0019e96c97' has been updated.
2018-12-10 22:35:26.577 [ome.event.ItemCommandEvent] - Item 'zigbee_device_0000058A_00124b0019e96c97_00124B0019E96C97_11_color_color' received command 95
2018-12-10 22:35:26.595 [vent.ItemStateChangedEvent] - zigbee_device_0000058A_00124b0019e96c97_00124B0019E96C97_11_color_color changed from 0,0,0 to 0,0,95
2018-12-10 22:35:27.943 [ome.event.ItemCommandEvent] - Item 'zigbee_device_0000058A_00124b0019e96c97_00124B0019E96C97_11_color_color' received command 100
2018-12-10 22:35:27.967 [vent.ItemStateChangedEvent] - zigbee_device_0000058A_00124b0019e96c97_00124B0019E96C97_11_color_color changed from 0,0,95 to 0,0,100
2018-12-10 22:35:36.207 [vent.ItemStateChangedEvent] - temp1_s changed from 22.3 to 22.2
2018-12-10 22:36:06.179 [ome.event.ItemCommandEvent] - Item 'zigbee_device_0000058A_00124b0019e96c97_00124B0019E96C97_11_color_color' received command 0
2018-12-10 22:36:06.199 [vent.ItemStateChangedEvent] - zigbee_device_0000058A_00124b0019e96c97_00124B0019E96C97_11_color_color changed from 0,0,100 to 0,0,0
2018-12-10 22:36:36.307 [vent.ItemStateChangedEvent] - temp1_s changed from 22.2 to 22.3
2018-12-10 22:37:04.156 [ome.event.ItemCommandEvent] - Item 'GLEDOPTOGLC007_Color' received command 100
2018-12-10 22:37:04.175 [vent.ItemStateChangedEvent] - GLEDOPTOGLC007_Color changed from 0,100,0 to 0,100,100
2018-12-10 22:37:36.400 [vent.ItemStateChangedEvent] - temp1_s changed from 22.3 to 22.2
2018-12-10 22:37:44.657 [vent.ItemStateChangedEvent] - GLEDOPTOGLC0071_Color1 changed from 0,0,0 to 0,0,100
2018-12-10 22:38:06.697 [ome.event.ItemCommandEvent] - Item 'GLEDOPTOGLC007_Color' received command 0
2018-12-10 22:38:06.715 [vent.ItemStateChangedEvent] - GLEDOPTOGLC007_Color changed from 0,100,100 to 0,100,0
2018-12-10 22:38:36.521 [vent.ItemStateChangedEvent] - temp1_s changed from 22.2 to 22.3
2018-12-10 22:38:47.045 [vent.ItemStateChangedEvent] - GLEDOPTOGLC0071_Color1 changed from 0,0,100 to 0,0,0

Tomorrow I’ll try to add debug logs with what happens when I try to mix a color and the white channel.

No - it doesn’t work like that. The binding downloads the data from the device itself.

What do you have now? Just the color control? If so, that is correct - the binding will not provide multiple channels as ESH provides these channels through inheritance (ie color supports dimmer, and dimmer supports onoff).

Wow, you’re too fast. I was trying to insert the openhab.log for the timeframe but I’m way over budget for the 48000 characters but I’m a new user so I can’t upload files either…

here is how the new device is presented in paperUI control

and here is how the old device is:

in the old one, the first slider controls the white leds.
In the new one, there is either white leds controled by the brightness from the color slider or the colored leds controled by the three color sliders

the 2 channels from the new one do not let me choose for example 50% red and 50 % white (0% blue and 0% green)

Best is to upload it somewhere like dropbox, and then just provide the link here…

This looks correct. With this you can send OnOff, Dimmer and Color commands, and you can define these controls in the same ways as if the individual channels were if you made available.

Maybe the old device might look the same if it is rediscovered as we removed the dimmer channel in newer bindings (at least, it should be removed).

Strange - maybe this device is non-standard?

Can you provide a link to the exact device please?