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

Support Hue Feture enabled on a ColorTemperature only Device Type #372

Closed
Garfonso opened this issue Jan 29, 2025 · 3 comments
Closed

Support Hue Feture enabled on a ColorTemperature only Device Type #372

Garfonso opened this issue Jan 29, 2025 · 3 comments
Assignees
Labels
backend/matter issue is relevant for backend/matter enhancement New feature or request fixed issue is fixed and can be retested

Comments

@Garfonso
Copy link

Some vendors might create devices that are not matching the specifications and have functions, that are supported ioBroker and matter in general but not expected on a specific device, since it is classified as something else.

One example is this "Color temperature light" by Razer which also has a hue-color control cluster:


  Endpoint 0 (MA-rootnode):
    Cluster-Servers:
      Cluster-Server "Descriptor" (0x1d) 
        Global-Attributes:
          "clusterRevision" (0xfffd): value = 2
          "featureMap" (0xfffc): value = {}
          "attributeList" (0xfffb): value = [0,1,2,3,65528,65529,65531,65532,65533]
          "acceptedCommandList" (0xfff9): value = []
          "generatedCommandList" (0xfff8): value = []
        Attributes:
          "deviceTypeList" (0x0): value = [{"deviceType":22,"revision":2}]
          "serverList" (0x1): value = [29]
          "clientList" (0x2): value = [29,31,40,48,49,51,54,60,62,63,320601088]
          "partsList" (0x3): value = []
        Commands:
 
        Events:
 
    Cluster-Clients:
      Cluster-Client "Descriptor" (0x1d) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "deviceTypeList" (0x0)
          "serverList" (0x1)
          "clientList" (0x2)
          "partsList" (0x3)
        Commands:
 
        Events:
 
      Cluster-Client "AccessControl" (0x1f) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "acl" (0x0)
          "subjectsPerAccessControlEntry" (0x2)
          "targetsPerAccessControlEntry" (0x3)
          "accessControlEntriesPerFabric" (0x4)
        Commands:
 
        Events:
          "accessControlEntryChanged" (0x0)
          "accessControlExtensionChanged" (0x1)
      Cluster-Client "BasicInformation" (0x28) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "dataModelRevision" (0x0)
          "vendorName" (0x1)
          "vendorId" (0x2)
          "productName" (0x3)
          "productId" (0x4)
          "nodeLabel" (0x5)
          "location" (0x6)
          "hardwareVersion" (0x7)
          "hardwareVersionString" (0x8)
          "softwareVersion" (0x9)
          "softwareVersionString" (0xa)
          "capabilityMinima" (0x13)
        Commands:
 
        Events:
          "startUp" (0x0)
          "shutDown" (0x1)
          "leave" (0x2)
          "reachableChanged" (0x3)
      Cluster-Client "GeneralCommissioning" (0x30) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "breadcrumb" (0x0)
          "basicCommissioningInfo" (0x1)
          "regulatoryConfig" (0x2)
          "locationCapability" (0x3)
          "supportsConcurrentConnection" (0x4)
        Commands:
          "armFailSafe"
          "setRegulatoryConfig"
          "commissioningComplete"
        Events:
 
      Cluster-Client "NetworkCommissioning" (0x31) (Features: wiFiNetworkInterface)
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "maxNetworks" (0x0)
          "networks" (0x1)
          "interfaceEnabled" (0x4)
          "lastNetworkingStatus" (0x5)
          "lastNetworkId" (0x6)
          "lastConnectErrorValue" (0x7)
          "scanMaxTimeSeconds" (0x2)
          "connectMaxTimeSeconds" (0x3)
        Commands:
          "scanNetworks"
          "addOrUpdateWiFiNetwork"
          "removeNetwork"
          "connectNetwork"
          "reorderNetwork"
        Events:
 
      Cluster-Client "GeneralDiagnostics" (0x33) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "networkInterfaces" (0x0)
          "rebootCount" (0x1)
          "testEventTriggersEnabled" (0x8)
        Commands:
          "testEventTrigger"
        Events:
          "hardwareFaultChange" (0x0)
          "radioFaultChange" (0x1)
          "networkFaultChange" (0x2)
          "bootReason" (0x3)
      Cluster-Client "AdministratorCommissioning" (0x3c) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "windowStatus" (0x0)
          "adminFabricIndex" (0x1)
          "adminVendorId" (0x2)
        Commands:
          "openCommissioningWindow"
          "revokeCommissioning"
          "openBasicCommissioningWindow"
        Events:
 
      Cluster-Client "OperationalCredentials" (0x3e) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "nocs" (0x0)
          "fabrics" (0x1)
          "supportedFabrics" (0x2)
          "commissionedFabrics" (0x3)
          "trustedRootCertificates" (0x4)
          "currentFabricIndex" (0x5)
        Commands:
          "attestationRequest"
          "certificateChainRequest"
          "csrRequest"
          "addNoc"
          "updateNoc"
          "updateFabricLabel"
          "removeFabric"
          "addTrustedRootCertificate"
        Events:
 
      Cluster-Client "GroupKeyManagement" (0x3f) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "groupKeyMap" (0x0)
          "groupTable" (0x1)
          "maxGroupsPerFabric" (0x2)
          "maxGroupKeysPerFabric" (0x3)
        Commands:
          "keySetWrite"
          "keySetRead"
          "keySetRemove"
          "keySetReadAllIndices"
        Events:
 
      Cluster-Client "WiFiNetworkDiagnostics" (0x36) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "bssid" (0x0)
          "securityType" (0x1)
          "wiFiVersion" (0x2)
          "channelNumber" (0x3)
          "rssi" (0x4)
        Commands:
 
        Events:
          "disconnection" (0x0)
          "associationFailure" (0x1)
          "connectionStatus" (0x2)
      Cluster-Client "Unknown cluster 0x131bfc00" (0x131bfc00) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "unknownAttribute_0x0" (0x0) (Unknown)
          "unknownAttribute_0x1" (0x1) (Unknown)
          "unknownAttribute_0x2" (0x2) (Unknown)
          "unknownAttribute_0x3" (0x3) (Unknown)
        Commands:
 
        Events:
 
    Child-Endpoints:
      Endpoint 1 (MA-colortemperaturelight):
    Cluster-Servers:
      Cluster-Server "Descriptor" (0x1d) 
        Global-Attributes:
          "clusterRevision" (0xfffd): value = 2
          "featureMap" (0xfffc): value = {}
          "attributeList" (0xfffb): value = [0,1,2,3,65528,65529,65531,65532,65533]
          "acceptedCommandList" (0xfff9): value = []
          "generatedCommandList" (0xfff8): value = []
        Attributes:
          "deviceTypeList" (0x0): value = [{"deviceType":268,"revision":4}]
          "serverList" (0x1): value = [29]
          "clientList" (0x2): value = [3,4,5,6,8,29,768]
          "partsList" (0x3): value = []
        Commands:
 
        Events:
 
    Cluster-Clients:
      Cluster-Client "Descriptor" (0x1d) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "deviceTypeList" (0x0)
          "serverList" (0x1)
          "clientList" (0x2)
          "partsList" (0x3)
        Commands:
 
        Events:
 
      Cluster-Client "Identify" (0x3) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "identifyTime" (0x0)
          "identifyType" (0x1)
        Commands:
          "identify"
          "triggerEffect"
        Events:
 
      Cluster-Client "Groups" (0x4) (Features: groupNames)
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "nameSupport" (0x0)
        Commands:
          "addGroup"
          "viewGroup"
          "getGroupMembership"
          "removeGroup"
          "removeAllGroups"
          "addGroupIfIdentifying"
        Events:
 
      Cluster-Client "Unknown cluster 0x5" (0x5) 
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "unknownAttribute_0x0" (0x0) (Unknown)
          "unknownAttribute_0x1" (0x1) (Unknown)
          "unknownAttribute_0x2" (0x2) (Unknown)
          "unknownAttribute_0x3" (0x3) (Unknown)
          "unknownAttribute_0x4" (0x4) (Unknown)
        Commands:
 
        Events:
 
      Cluster-Client "OnOff" (0x6) (Features: lighting)
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "onOff" (0x0)
          "globalSceneControl" (0x4000)
          "onTime" (0x4001)
          "offWaitTime" (0x4002)
          "startUpOnOff" (0x4003)
        Commands:
          "off"
          "on"
          "toggle"
          "offWithEffect"
          "onWithRecallGlobalScene"
          "onWithTimedOff"
        Events:
 
      Cluster-Client "LevelControl" (0x8) (Features: onOff, lighting)
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "currentLevel" (0x0)
          "maxLevel" (0x3)
          "options" (0xf)
          "onLevel" (0x11)
          "minLevel" (0x2)
          "remainingTime" (0x1)
          "startUpCurrentLevel" (0x4000)
        Commands:
          "moveToLevel"
          "move"
          "step"
          "stop"
          "moveToLevelWithOnOff"
          "moveWithOnOff"
          "stepWithOnOff"
          "stopWithOnOff"
        Events:
 
      Cluster-Client "ColorControl" (0x300) (Features: hueSaturation, colorTemperature)
        Global-Attributes:
          "clusterRevision" (0xfffd)
          "featureMap" (0xfffc)
          "attributeList" (0xfffb)
          "acceptedCommandList" (0xfff9)
          "generatedCommandList" (0xfff8)
        Attributes:
          "remainingTime" (0x2)
          "colorMode" (0x8)
          "options" (0xf)
          "numberOfPrimaries" (0x10)
          "enhancedColorMode" (0x4001)
          "colorCapabilities" (0x400a)
          "currentHue" (0x0)
          "currentSaturation" (0x1)
          "colorTemperatureMireds" (0x7)
          "colorTempPhysicalMinMireds" (0x400b)
          "colorTempPhysicalMaxMireds" (0x400c)
          "coupleColorTempToLevelMinMireds" (0x400d)
          "startUpColorTemperatureMireds" (0x4010)
        Commands:
          "moveToHue"
          "moveHue"
          "stepHue"
          "moveToSaturation"
          "moveSaturation"
          "stepSaturation"
          "moveToHueAndSaturation"
          "moveToColorTemperature"
          "stopMoveStep"
          "moveColorTemperature"
          "stepColorTemperature"
        Events:
 
    Child-Endpoints:

Image

It is correctly added as color temperature light in matter, but it would be nice to also allow control of the color feature. Not sure, if the vendor can ot will fix this.

@Apollon77 Apollon77 changed the title Support (known) functions not expected on a certain device type Support Hue Feture enabled on a ColorTemperature only Device Type Jan 29, 2025
@Apollon77
Copy link
Collaborator

I think the idea would be more to combine the "ColorControl supporting" device types more code.-wise. will get a bit more complex but might work ...

@Apollon77 Apollon77 added enhancement New feature or request backend/matter issue is relevant for backend/matter labels Jan 29, 2025
@Apollon77 Apollon77 self-assigned this Jan 29, 2025
@Apollon77
Copy link
Collaborator

should be fixed in 4.0.12

@Apollon77 Apollon77 added the fixed issue is fixed and can be retested label Feb 1, 2025
@Garfonso
Copy link
Author

Garfonso commented Feb 5, 2025

Thanks. :-)

@Garfonso Garfonso closed this as completed Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend/matter issue is relevant for backend/matter enhancement New feature or request fixed issue is fixed and can be retested
Projects
None yet
Development

No branches or pull requests

2 participants