WebThingsIO / zigbee-adapter

Zigbee adapter add-on for WebThings Gateway
Mozilla Public License 2.0
46 stars 29 forks source link

GE Link bulbs identified as multi-level switch #98

Open yomatters opened 5 years ago

yomatters commented 5 years ago

I was given several GE Link bulbs as a gift several years ago. I'm able to pair them with my Digi XStick and control them (mostly; one is a little temperamental) through the Things Gateway. However, they show up as multi-level switches rather than bulbs. Here's the relevant portion of the ~/.mozilla-iot/config/zb-XXXXXXXX.json file:

"7ce5240000065744": {
  "addr64": "7ce5240000065744",
  "addr16": "8cff",
  "activeEndpoints": {
    "1": {
      "profileId": "0104",
      "deviceId": "0101",
      "deviceVersion": 2,
      "inputClusters": [
        "0000",
        "0003",
        "0004",
        "0005",
        "0006",
        "0008",
        "1000"
      ],
      "outputClusters": [
        "0019"
      ],
      "classifierAttributesPopulated": true
    }
  },
  "properties": {
    "level": {
      "name": "level",
      "value": 100,
      "visible": true,
      "label": "Level",
      "type": "number",
      "@type": "LevelProperty",
      "unit": "percent",
      "minimum": 0,
      "maximum": 100,
      "profileId": 260,
      "endpoint": 1,
      "clusterId": 8,
      "attr": "currentLevel",
      "attrId": 0,
      "fireAndForget": false,
      "bindNeeded": false,
      "configReportNeeded": false,
      "initialReadNeeded": false,
      "level": 254
    },
    "on": {
      "name": "on",
      "value": false,
      "visible": true,
      "label": "On/Off",
      "type": "boolean",
      "@type": "OnOffProperty",
      "profileId": 260,
      "endpoint": 1,
      "clusterId": 6,
      "attr": "onOff",
      "attrId": 0,
      "fireAndForget": false,
      "bindNeeded": false,
      "configReportNeeded": false,
      "initialReadNeeded": false
    }
  },
  "name": "zb-7ce5240000065744-multiLevelSwitch",
  "type": "multiLevelSwitch",
  "@type": [
    "OnOffSwitch",
    "MultiLevelSwitch"
  ],
  "defaultName": "zb-7ce5240000065744-multiLevelSwitch",
  "extendedTimeout": true,
  "activeEndpointsPopulated": true,
  "nodeInfoEndpointsPopulated": true,
  "modelId": "ZLL Light",
  "powerSource": 1
},
"7ce52400000655b1": {
  "addr64": "7ce52400000655b1",
  "addr16": "62f9",
  "activeEndpoints": {
    "1": {
      "profileId": "0104",
      "deviceId": "0101",
      "deviceVersion": 2,
      "inputClusters": [
        "0000",
        "0003",
        "0004",
        "0005",
        "0006",
        "0008",
        "1000"
      ],
      "outputClusters": [
        "0019"
      ],
      "classifierAttributesPopulated": true
    }
  },
  "properties": {
    "level": {
      "name": "level",
      "value": 100,
      "visible": true,
      "label": "Level",
      "type": "number",
      "@type": "LevelProperty",
      "unit": "percent",
      "minimum": 0,
      "maximum": 100,
      "profileId": 260,
      "endpoint": 1,
      "clusterId": 8,
      "attr": "currentLevel",
      "attrId": 0,
      "fireAndForget": false,
      "bindNeeded": false,
      "configReportNeeded": false,
      "initialReadNeeded": false,
      "level": 254
    },
    "on": {
      "name": "on",
      "value": true,
      "visible": true,
      "label": "On/Off",
      "type": "boolean",
      "@type": "OnOffProperty",
      "profileId": 260,
      "endpoint": 1,
      "clusterId": 6,
      "attr": "onOff",
      "attrId": 0,
      "fireAndForget": false,
      "bindNeeded": false,
      "configReportNeeded": false,
      "initialReadNeeded": false
    }
  },
  "name": "zb-7ce52400000655b1-multiLevelSwitch",
  "type": "multiLevelSwitch",
  "@type": [
    "OnOffSwitch",
    "MultiLevelSwitch"
  ],
  "defaultName": "zb-7ce52400000655b1-multiLevelSwitch",
  "extendedTimeout": true,
  "activeEndpointsPopulated": true,
  "nodeInfoEndpointsPopulated": true,
  "modelId": "ZLL Light",
  "powerSource": 1,
  "rxOnWhenIdle": 1
}
dhylands commented 5 years ago

Thanks for the report. I'm pretty sure I can improve this.