Incorporating Matter

in Apple Home, it pretty instant for me when i’m turning light on or off.

So maybe a delay specific to Google Home. I let you check when you have time.

Yeah, i just realized the ON mode type is deprecated and should not be used (has a D next to it in the spec), so i will remove that from the possible command types.

Same here for Zwave on Amazon Alexa: no noticeable delay.

Edit: sorry, not tested with a lightbulb, but with a relay switch and a light attached …

I’ve bought a new toy, this time a Matter over Thread device, which does not have any channels.
I am not sure if Thread devices are supported at all yet, because of:

Support for using a Open Thread Border Router has been verified to work and will be coming soon to openHAB, but in some cases requires strong expertise in IPv6 routing as well as support in our mobile clients.

I was able to pair it to my Amazon Alexa and it works fine in the Alexa app, so far.

It is a Neo Door/Window Sensor NAS-DS07TM

debug matter log:
2024-11-28 17:34:45.274 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47978,"value":2}}}
2024-11-28 17:34:45.306 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"eventTriggered","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"10","priority":1,"systemTimestamp":285284,"data":{"previousState":3,"newState":2,"reason":1,"targetSoftwareVersion":null}}]}}}
2024-11-28 17:34:45.307 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47978,"value":2}
2024-11-28 17:34:45.326 [DEBUG] [nternal.client.MatterWebsocketClient] - eventTriggered message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"10","priority":1,"systemTimestamp":285284,"data":{"previousState":3,"newState":2,"reason":1,"targetSoftwareVersion":null}}]}
2024-11-28 17:34:45.367 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:34:45.346 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:34:50.555 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47979,"value":3}}}
2024-11-28 17:34:50.577 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"eventTriggered","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"11","priority":1,"systemTimestamp":290462,"data":{"previousState":2,"newState":3,"reason":4,"targetSoftwareVersion":null}}]}}}
2024-11-28 17:34:50.577 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47979,"value":3}
2024-11-28 17:34:50.597 [DEBUG] [nternal.client.MatterWebsocketClient] - eventTriggered message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"11","priority":1,"systemTimestamp":290462,"data":{"previousState":2,"newState":3,"reason":4,"targetSoftwareVersion":null}}]}
2024-11-28 17:34:50.617 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:34:50.638 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:34:53.894 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159539,"value":{"occupied":true}}}}
2024-11-28 17:34:53.913 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159539,"value":{"occupied":true}}
2024-11-28 17:35:31.084 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159543,"value":{"occupied":false}}}}
2024-11-28 17:35:31.103 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159543,"value":{"occupied":false}}
2024-11-28 17:35:32.407 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159544,"value":{"occupied":true}}}}
2024-11-28 17:35:32.437 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159544,"value":{"occupied":true}}
2024-11-28 17:35:59.803 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159547,"value":{"occupied":false}}}}
2024-11-28 17:35:59.824 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159547,"value":{"occupied":false}}
2024-11-28 17:36:01.046 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159548,"value":{"occupied":true}}}}
2024-11-28 17:36:01.067 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159548,"value":{"occupied":true}}
2024-11-28 17:36:25.438 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159550,"value":{"occupied":false}}}}
2024-11-28 17:36:25.460 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159550,"value":{"occupied":false}}
2024-11-28 17:36:31.342 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159551,"value":{"occupied":true}}}}
2024-11-28 17:36:31.384 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159551,"value":{"occupied":true}}
2024-11-28 17:36:34.144 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"5336394625017913049","endpointId":1,"clusterId":69,"attributeId":0,"attributeName":"stateValue"},"version":49906,"value":false}}}
2024-11-28 17:36:34.168 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"5336394625017913049","endpointId":1,"clusterId":69,"attributeId":0,"attributeName":"stateValue"},"version":49906,"value":false}
2024-11-28 17:36:34.189 [DEBUG] [er.internal.devices.types.DeviceType] - onEvent: No converter found for cluster: 69
2024-11-28 17:36:36.059 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"5336394625017913049","endpointId":1,"clusterId":69,"attributeId":0,"attributeName":"stateValue"},"version":49907,"value":true}}}
2024-11-28 17:36:36.078 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"5336394625017913049","endpointId":1,"clusterId":69,"attributeId":0,"attributeName":"stateValue"},"version":49907,"value":true}
2024-11-28 17:36:36.099 [DEBUG] [er.internal.devices.types.DeviceType] - onEvent: No converter found for cluster: 69
2024-11-28 17:36:50.453 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47980,"value":2}}}
2024-11-28 17:36:50.474 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"eventTriggered","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"12","priority":1,"systemTimestamp":410462,"data":{"previousState":3,"newState":2,"reason":1,"targetSoftwareVersion":null}}]}}}
2024-11-28 17:36:50.474 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47980,"value":2}
2024-11-28 17:36:50.495 [DEBUG] [nternal.client.MatterWebsocketClient] - eventTriggered message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"12","priority":1,"systemTimestamp":410462,"data":{"previousState":3,"newState":2,"reason":1,"targetSoftwareVersion":null}}]}
2024-11-28 17:36:50.518 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:36:50.549 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:36:55.787 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47981,"value":1}}}
2024-11-28 17:36:55.810 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"eventTriggered","data":{"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"13","priority":1,"systemTimestamp":415655,"data":{"previousState":2,"newState":1,"reason":1,"targetSoftwareVersion":null}}]}}}
2024-11-28 17:36:55.810 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"attributeId":2,"attributeName":"updateState"},"version":47981,"value":1}
2024-11-28 17:36:55.851 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:36:55.831 [DEBUG] [nternal.client.MatterWebsocketClient] - eventTriggered message {"path":{"nodeId":"5336394625017913049","endpointId":0,"clusterId":42,"eventId":0,"eventName":"stateTransition"},"events":[{"path":"undefined","eventNumber":"13","priority":1,"systemTimestamp":415655,"data":{"previousState":2,"newState":1,"reason":1,"targetSoftwareVersion":null}}]}
2024-11-28 17:36:55.899 [DEBUG] [r.internal.handler.ControllerHandler] - No handler found for node 5336394625017913049
2024-11-28 17:36:57.341 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159554,"value":{"occupied":false}}}}
2024-11-28 17:36:57.362 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159554,"value":{"occupied":false}}
2024-11-28 17:37:52.692 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159555,"value":{"occupied":true}}}}
2024-11-28 17:37:52.712 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159555,"value":{"occupied":true}}
2024-11-28 17:38:12.671 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159556,"value":{"occupied":false}}}}
2024-11-28 17:38:12.691 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159556,"value":{"occupied":false}}
2024-11-28 17:38:29.784 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159557,"value":{"occupied":true}}}}
2024-11-28 17:38:29.806 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159557,"value":{"occupied":true}}

Matter over Thread devices definitely do work… I have 4 Onvis plugs working… You have to add them to Alexa/Google Home/Apple first and then generate a pairing code there to use in openHAB.

Thx, yes, I did that. Only the Channels are missing …

So thread doesn’t have anything todo with channels, think of thread as an alternative to wifi, once it gets on a thread gateway (you alexa) , which is just like getting a wifi device on a access point, it gets a IPV6 address which openHAB talks to. In this regard, wifi or thread doesn’t matter, its just something now on your IP network (and we don’t have any logic yet which cares or knows about thread).

If you have the device commissioned with openHAB, then thats great and there should not be connectively issues.

Since you don’t have any channels, we don’t yet have support for the “clusters” that device support, but are now pretty easy to add.

I don’t see the required JSON structure in your log. Can you disable the Matter Endpoint thing (the one with out channels) then enable it again and watch the logs? You should see a large JSON dump of the device like

onWebSocketText {"type":"response","message":{"type":"resultSuccess","id":"a529a1c0-265b-4565-a2c1-e7ad71287d5e","result":{"id":"12567601143696401857","endpoints":{"0":.....

once i have that i can implement the missing clusters and the endponit will automatically add those channels (no need to remove it or anything)

Thx for fast answer and clarification :+1:

Here we go:

JSON dump
2024-11-28 19:15:38.795 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159908,"value":{"occupied":true}}}}
2024-11-28 19:15:38.818 [DEBUG] [nternal.client.MatterWebsocketClient] - attributeChanged message {"path":{"nodeId":"16466168520051028243","endpointId":3,"clusterId":1030,"attributeId":0,"attributeName":"occupancy"},"version":2155159908,"value":{"occupied":true}}
2024-11-28 19:15:44.789 [DEBUG] [nternal.client.MatterWebsocketClient] - onWebSocketText {"type":"response","message":{"type":"resultSuccess","id":"824929b9-6ede-44f5-9caf-3e84c85a955c","result":{"id":"5336394625017913049","endpoints":{"0":{"number":0,"clusters":{"Descriptor":{"id":29,"name":"Descriptor","deviceTypeList":[{"deviceType":22,"revision":1},{"deviceType":18,"revision":1}],"serverList":[29,31,40,42,48,49,50,51,52,53,47,60,62,63,70,308149248],"clientList":[41],"partsList":[1],"clusterRevision":2,"featureMap":{"tagList":false},"attributeList":[0,1,2,3,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"unknownAttribute_0xfffa":[]},"AccessControl":{"id":31,"name":"AccessControl","acl":[{"privilege":5,"authMode":2,"subjects":["5401842803788648264"],"targets":null,"fabricIndex":2}],"extension":[],"subjectsPerAccessControlEntry":64,"targetsPerAccessControlEntry":3,"accessControlEntriesPerFabric":4,"clusterRevision":1,"featureMap":{},"attributeList":[0,1,2,3,4,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"unknownAttribute_0xfffa":[0,1]},"BasicInformation":{"id":40,"name":"BasicInformation","dataModelRevision":17,"vendorName":"NEO","vendorId":4991,"productName":"Door Sensor","productId":1122,"nodeLabel":"","location":"XX","hardwareVersion":1,"hardwareVersionString":"0.0.1","softwareVersion":1,"softwareVersionString":"2.1.1","manufacturingDate":"20200101","partNumber":"NAS-DS07W10","productUrl":"","productLabel":"","serialNumber":"100160819003D0","localConfigDisabled":false,"reachable":true,"uniqueId":"3c2ef5fffe182835","capabilityMinima":{"caseSessionsPerFabric":3,"subscriptionsPerFabric":3},"clusterRevision":1,"featureMap":{},"attributeList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"unknownAttribute_0xfffa":[0,1,2]},"OtaSoftwareUpdateRequestor":{"id":42,"name":"OtaSoftwareUpdateRequestor","defaultOtaProviders":[],"updatePossible":true,"updateState":1,"updateStateProgress":null,"clusterRevision":1,"featureMap":{},"attributeList":[0,1,2,3,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[],"unknownAttribute_0xfffa":[0,1,2]},"GeneralCommissioning":{"id":48,"name":"GeneralCommissioning","breadcrumb":0,"basicCommissioningInfo":{"failSafeExpiryLengthSeconds":60,"maxCumulativeFailsafeSeconds":900},"regulatoryConfig":0,"locationCapability":0,"supportsConcurrentConnection":true,"clusterRevision":1,"featureMap":{},"attributeList":[0,1,2,3,4,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0,2,4],"generatedCommandList":[1,3,5],"unknownAttribute_0xfffa":[]},"NetworkCommissioning":{"id":49,"name":"NetworkCommissioning","maxNetworks":1,"networks":[{"networkId":"9f4e6f6f1b64b3fe","connected":true}],"interfaceEnabled":true,"lastNetworkingStatus":0,"lastNetworkId":"9f4e6f6f1b64b3fe","lastConnectErrorValue":null,"scanMaxTimeSeconds":10,"connectMaxTimeSeconds":20,"clusterRevision":1,"featureMap":{"wiFiNetworkInterface":false,"threadNetworkInterface":true,"ethernetNetworkInterface":false},"attributeList":[0,1,2,3,4,5,6,7,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0,3,4,6,8],"generatedCommandList":[1,5,7],"unknownAttribute_0xfffa":[]},"DiagnosticLogs":{"id":50,"name":"DiagnosticLogs","clusterRevision":1,"featureMap":{},"attributeList":[65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[1],"unknownAttribute_0xfffa":[]},"GeneralDiagnostics":{"id":51,"name":"GeneralDiagnostics","networkInterfaces":[{"name":"AMZN-Thread-efb1","isOperational":true,"offPremiseServicesReachableIPv4":null,"offPremiseServicesReachableIPv6":null,"hardwareAddress":"10bd0120837a0508","iPv4Addresses":[],"iPv6Addresses":[],"type":4}],"rebootCount":1,"upTime":6321,"totalOperationalHours":1,"bootReason":6,"activeHardwareFaults":[],"activeRadioFaults":[],"activeNetworkFaults":[],"testEventTriggersEnabled":false,"clusterRevision":1,"featureMap":{"dataModelTest":false},"attributeList":[0,1,2,3,4,5,6,7,8,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[],"unknownAttribute_0xfffa":[0,1,2,3]},"SoftwareDiagnostics":{"id":52,"name":"SoftwareDiagnostics","threadMetrics":[{"id":9,"name":"Bluetoot","stackFreeMinimum":170},{"id":1,"name":"Bluetoot","stackFreeMinimum":292},{"id":3,"name":"THREAD","stackFreeMinimum":965},{"id":5,"name":"APP","stackFreeMinimum":531},{"id":8,"name":"Bluetoot","stackFreeMinimum":99},{"id":7,"name":"Tmr Svc","stackFreeMinimum":788},{"id":2,"name":"Monitori","stackFreeMinimum":490},{"id":6,"name":"IDLE","stackFreeMinimum":230},{"id":4,"name":"CHIP","stackFreeMinimum":407}],"currentHeapFree":18520,"currentHeapUsed":22440,"clusterRevision":1,"featureMap":{"watermarks":true},"attributeList":[0,1,2,3,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[],"currentHeapHighWatermark":31144,"unknownAttribute_0xfffa":[0]},"ThreadNetworkDiagnostics":{"id":53,"name":"ThreadNetworkDiagnostics","channel":11,"routingRole":2,"networkName":"AMZN-Thread-efb1","panId":61361,"extendedPanId":"11479235023205610494","meshLocalPrefix":"40fddead00beef0000","neighborTable":[{"extAddress":"164520292524685897","age":109,"rloc16":34816,"linkFrameCounter":7862,"mleFrameCounter":23760,"lqi":3,"averageRssi":-59,"lastRssi":-60,"frameErrorRate":6,"messageErrorRate":0,"rxOnWhenIdle":true,"fullThreadDevice":true,"fullNetworkData":true,"isChild":false}],"routeTable":[{"extAddress":"164520292524685897","rloc16":34816,"routerId":34,"nextHop":0,"pathCost":0,"lqiIn":3,"lqiOut":3,"age":109,"allocated":true,"linkEstablished":true}],"partitionId":1822975779,"weighting":64,"dataVersion":149,"stableDataVersion":112,"leaderRouterId":34,"activeTimestamp":0,"pendingTimestamp":0,"delay":0,"securityPolicy":{"rotationTime":672,"flags":8335},"channelPage0Mask":"00110840","operationalDatasetComponents":{"activeTimestampPresent":true,"pendingTimestampPresent":false,"masterKeyPresent":true,"networkNamePresent":true,"extendedPanIdPresent":true,"meshLocalPrefixPresent":true,"delayPresent":false,"panIdPresent":true,"channelPresent":true,"pskcPresent":true,"securityPolicyPresent":true,"channelMaskPresent":true},"activeNetworkFaultsList":[0,0,0,0],"clusterRevision":1,"featureMap":{"packetCounts":true,"errorCounts":true,"mleCounts":true,"macCounts":true},"attributeList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[],"overrunCount":0,"detachedRoleCount":1,"childRoleCount":1,"routerRoleCount":0,"leaderRoleCount":0,"attachAttemptCount":1,"partitionIdChangeCount":1,"betterPartitionAttachAttemptCount":0,"parentChangeCount":0,"txTotalCount":7246,"txUnicastCount":7232,"txBroadcastCount":17,"txAckRequestedCount":7238,"txAckedCount":7241,"txNoAckRequestedCount":17,"txDataCount":2731,"txDataPollCount":4536,"txBeaconCount":0,"txBeaconRequestCount":0,"txOtherCount":0,"txRetryCount":220,"txDirectMaxRetryExpiryCount":1,"txIndirectMaxRetryExpiryCount":0,"txErrCcaCount":24,"txErrAbortCount":0,"txErrBusyChannelCount":0,"rxTotalCount":4587,"rxUnicastCount":4579,"rxBroadcastCount":0,"rxDataCount":4549,"rxDataPollCount":0,"rxBeaconCount":0,"rxBeaconRequestCount":0,"rxOtherCount":4,"rxAddressFilteredCount":0,"rxDestAddrFilteredCount":9,"rxDuplicatedCount":30,"rxErrNoFrameCount":0,"rxErrUnknownNeighborCount":1,"rxErrInvalidSrcAddrCount":0,"rxErrSecCount":0,"rxErrFcsCount":0,"rxErrOtherCount":0,"unknownAttribute_0xfffa":[]},"PowerSource":{"id":47,"name":"PowerSource","status":1,"order":0,"description":"","endpointList":[],"clusterRevision":2,"featureMap":{"wired":false,"battery":true,"rechargeable":false,"replaceable":false},"attributeList":[0,1,2,11,12,13,14,15,16,31,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"batVoltage":3300,"batPercentRemaining":200,"batTimeRemaining":1,"batChargeLevel":0,"batReplacementNeeded":false,"batReplaceability":0,"unknownAttribute_0xfffa":[]},"AdministratorCommissioning":{"id":60,"name":"AdministratorCommissioning","windowStatus":0,"adminFabricIndex":null,"adminVendorId":null,"clusterRevision":1,"featureMap":{"basic":true},"attributeList":[0,1,2,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0,1,2],"generatedCommandList":[],"unknownAttribute_0xfffa":[]},"OperationalCredentials":{"id":62,"name":"OperationalCredentials","nocs":[{"noc":"153001010124020137032414001826040724fa2c2605875aa74137062415012711d91e7f55a3ae0e4a18240701240801300941047e02ae0984e58f591f6d5b0d3a8446893181dc967638055c208d38387be46c6e8d0ae6c2b434204384bb4e43811c192fa148e233ab321b7ff73363b98c7bb222370a35012801182402013603040204011830041493087ca300597351de5bb64e983136b944777c22300514c4f2549cadf3cb7edbe9cc8fbb7385d47778eb6b18300b4005bd7d9b5067acde6729a86a2e8f91948eb15f408bc09442e137a7cf3d63db5cfcddc7f01f909a804bc5030f834c3e8758f5fc43c59821ac63792e03d36f29a618","icac":null,"fabricIndex":2}],"fabrics":[{"rootPublicKey":"04f68571e93a5a93fbe5d380665d01d223b3f708a4010546dd6c4f780ac57b7f7f12dc5f55d341c283d493f02383acf6fd223d70cda611211623afc28355af9742","vendorId":65521,"fabricId":"1","nodeId":"5336394625017913049","label":"","fabricIndex":2}],"supportedFabrics":5,"commissionedFabrics":2,"trustedRootCertificates":["15300111008f7e89d8d67b0aecdeae6d212deaa3b724020137032714d894477fd1553601182604537ac72a2605e378cd5937062714d894477fd15536011824070124080130094104047302d8c1c429049055346a31cf2c7e62d7266a3ddeb60a854810d9a8d3ed50a2e90bb5f1fad51b29b727c153946b64718ae2422ea10dfc9b7db0cbc48164d4370a3501290118300414c6e675219d6a1ebb8e664f86d80fe11c3758b859240261300514c6e675219d6a1ebb8e664f86d80fe11c3758b85918300b40092a586ace30018a5fa614cca2c2b23c58ab6c75dc8e759f95a7ba13db97d84043b532505e0cf61c187d29c00f56f90a4952dfb195163d49bbb1f5402e52ad9818","15300101002402013703241400182604e719f22c260567509f4137062414001824070124080130094104f68571e93a5a93fbe5d380665d01d223b3f708a4010546dd6c4f780ac57b7f7f12dc5f55d341c283d493f02383acf6fd223d70cda611211623afc28355af9742370a3501290118240260300414c4f2549cadf3cb7edbe9cc8fbb7385d47778eb6b300514c4f2549cadf3cb7edbe9cc8fbb7385d47778eb6b18300b4045e4e050eec0f0bd83caa6e9b5637546fced5d367e2919e2336b2e51be41297281aadede1b40d6c34d582d0746e4110456789dab6eac3085fb404b641f80673f18"],"currentFabricIndex":2,"clusterRevision":1,"featureMap":{},"attributeList":[0,1,2,3,4,5,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0,2,4,6,7,9,10,11],"generatedCommandList":[1,3,5,8],"unknownAttribute_0xfffa":[]},"GroupKeyManagement":{"id":63,"name":"GroupKeyManagement","groupKeyMap":[],"groupTable":[],"maxGroupsPerFabric":24,"maxGroupKeysPerFabric":5,"clusterRevision":2,"featureMap":{"cacheAndSync":false},"attributeList":[0,1,2,3,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0,1,3,4],"generatedCommandList":[2,5],"unknownAttribute_0xfffa":[]},"IcdManagement":{"id":70,"name":"IcdManagement","idleModeDuration":43200,"activeModeDuration":200,"activeModeThreshold":5000,"clusterRevision":1,"featureMap":{"checkInProtocolSupport":true,"userActiveModeTrigger":false,"longIdleTimeSupport":false},"attributeList":[0,1,2,3,4,5,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0,2,3],"generatedCommandList":[1],"registeredClients":[],"icdCounter":0,"clientsSupportedPerFabric":2,"unknownAttribute_0xfffa":[]},"Unknown cluster 0x125dfc00":{"id":308149248,"name":"Unknown cluster 0x125dfc00","clusterRevision":1,"featureMap":{},"attributeList":[65528,65529,65530,65531,308084736,308084737,308084738,308084739,308084740,308084741,308084742,308084744,65532,65533],"acceptedCommandList":[1203456,1203457,1203458,1203459,1203711],"generatedCommandList":[1203456,1203457,1203458,1203459,1203711],"unknownAttribute_0xfffa":[],"unknownAttribute_0x125d0000":"","unknownAttribute_0x125d0001":"","unknownAttribute_0x125d0002":"","unknownAttribute_0x125d0003":0,"unknownAttribute_0x125d0004":0,"unknownAttribute_0x125d0005":"ifsiucjl5lhk0qqd","unknownAttribute_0x125d0006":"3c2ef5fffe182835","unknownAttribute_0x125d0008":131082}}},"1":{"number":1,"clusters":{"Identify":{"id":3,"name":"Identify","identifyTime":0,"identifyType":2,"clusterRevision":4,"featureMap":{},"attributeList":[0,1,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[],"unknownAttribute_0xfffa":[]},"BooleanState":{"id":69,"name":"BooleanState","stateValue":true,"clusterRevision":1,"featureMap":{},"attributeList":[0,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"unknownAttribute_0xfffa":[]},"Descriptor":{"id":29,"name":"Descriptor","deviceTypeList":[{"deviceType":21,"revision":1}],"serverList":[3,69,29,308149281],"clientList":[],"partsList":[],"clusterRevision":2,"featureMap":{"tagList":false},"attributeList":[0,1,2,3,65528,65529,65530,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"unknownAttribute_0xfffa":[]},"Unknown cluster 0x125dfc21":{"id":308149281,"name":"Unknown cluster 0x125dfc21","clusterRevision":4,"featureMap":{},"attributeList":[65528,65529,65530,65531,308084737,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"unknownAttribute_0xfffa":[],"unknownAttribute_0x125d0001":true}}}}},"error":"undefined"}}
2024-11-28 19:15:44.813 [DEBUG] [nternal.client.MatterWebsocketClient] - result type: resultSuccess 
2024-11-28 19:15:44.836 [DEBUG] [nternal.client.MatterWebsocketClient] - Cluster not found: Unknown cluster 0x125dfc00 
2024-11-28 19:15:44.856 [DEBUG] [nternal.client.MatterWebsocketClient] - Cluster not found: Unknown cluster 0x125dfc21 
2024-11-28 19:15:44.877 [DEBUG] [r.internal.handler.ControllerHandler] - discoverChildEndpoint 5336394625017913049
2024-11-28 19:15:44.898 [DEBUG] [r.internal.handler.ControllerHandler] - discoverChildEndpoint 5336394625017913049
2024-11-28 19:15:44.917 [DEBUG] [nal.discovery.MatterDiscoveryService] - discoverChildEndpointThing: matter:endpoint:echo-controller:5336394625017913049_1 matter:controller:echo-controller 1
2024-11-28 19:15:44.937 [DEBUG] [ter.internal.handler.EndpointHandler] - updateEndpoint 1 5336394625017913049
2024-11-28 19:15:44.958 [DEBUG] [ter.internal.handler.EndpointHandler] - Setting Online 1 5336394625017913049
2024-11-28 19:15:44.983 [DEBUG] [er.internal.devices.types.DeviceType] - Creating channels for cluster: BooleanState
2024-11-28 19:15:45.013 [DEBUG] [.devices.converter.ConverterRegistry] - No converter found for cluster 69
2024-11-28 19:15:45.034 [DEBUG] [er.internal.devices.types.DeviceType] - Creating channels for cluster: Descriptor
2024-11-28 19:15:45.055 [DEBUG] [.devices.converter.ConverterRegistry] - No converter found for cluster 29
2024-11-28 19:15:45.076 [DEBUG] [er.internal.devices.types.DeviceType] - Creating channels for cluster: Identify
2024-11-28 19:15:45.100 [DEBUG] [.devices.converter.ConverterRegistry] - No converter found for cluster 3
2024-11-28 19:15:45.120 [DEBUG] [er.internal.devices.types.DeviceType] - updateCluster: finished processing for cluster: 69
2024-11-28 19:15:45.142 [DEBUG] [er.internal.devices.types.DeviceType] - updateCluster: finished processing for cluster: 29
2024-11-28 19:15:45.161 [DEBUG] [er.internal.devices.types.DeviceType] - updateCluster: finished processing for cluster: 3
2024-11-28 19:15:45.182 [DEBUG] [r.internal.handler.ControllerHandler] - updateNode END 5336394625017913049

Excellent, very simple device, exposes a BooleanState cluster, i just uploaded a new jar if you want to give it a try.

1 Like

Wow, lightning fast, it works :+1:
It looks like Matter becomes my new favorite toy …

1 Like

Hi @digitaldan

Here is the output trying to pair the EVE Motion Sensor - it finds the device but fails to pair. I can ping the device from the openhab server using the IP6 address. Logs below.

2024-11-28 16:33:41.543 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: New exchange channel: udp://fd09:ce54:4ca7:9f90:3613:43ff:fe95:b9a6:5540 on session secure/45596 protocol: 1 id: 45471 session: secure/45596 peerSessionId: 45596 active threshold ms: 4000 active interval ms: 300 idle interval ms: 500 maxTransmissions: 5 useMrp: true
2024-11-28 16:33:41.549 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45596/45471/234866790 type: 1/5 acked: undefined reqAck: true duplicate: false payload: 1526002edcad1a24ff0118
2024-11-28 16:33:41.550 [TRACE] [internal.util.MatterWebsocketService] - InteractionMessenger: Received DataReport chunk with 0 attributes and 0 events, suppressResponse: undefined, moreChunkedMessages: undefined, subscriptionId: 447601710
2024-11-28 16:33:41.551 [TRACE] [internal.util.MatterWebsocketService] - ExchangeManager: Message » id: 45596/45471/195836497 type: 1/1 acked: 234866790 reqAck: true duplicate: false payload: 1524000024ff0c18
2024-11-28 16:33:41.552 [TRACE] [internal.util.MatterWebsocketService] - InteractionClient: Subscription result empty for subscription ID 447601710
2024-11-28 16:33:41.569 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45596/45471/234866791 type: 0/16 acked: 195836497 reqAck: false duplicate: false payload: 
2024-11-28 16:33:44.942 [TRACE] [internal.util.MatterWebsocketService] - MdnsScanner: Sending 3 query records for 3 queries with 0 known answers. Re-Announce in 48 seconds
2024-11-28 16:33:45.826 [TRACE] [internal.util.MatterWebsocketService] - MdnsScanner: Found commissionable device EE8787884893B8F0._matterc._udp.local with data: SII: 3300 SAI: 1100 SAT: undefined T: 0 DT: 263 PH: 36 ICD: 0 VP: 4874+89 DN: Eve Motion RI: 1E0011B4ACDF58A976DB727CA6AFEE63C5ED PI: 
2024-11-28 16:33:46.812 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: New exchange channel: udp://fd09:ce54:4ca7:9f90:3613:43ff:fe7f:369d:5540 on session secure/45613 protocol: 1 id: 36128 session: secure/45613 peerSessionId: 45613 active threshold ms: 4000 active interval ms: 300 idle interval ms: 500 maxTransmissions: 5 useMrp: true
2024-11-28 16:33:46.813 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45613/36128/245887690 type: 1/5 acked: undefined reqAck: true duplicate: false payload: 1526008fb3ae6c24ff0118
2024-11-28 16:33:46.814 [TRACE] [internal.util.MatterWebsocketService] - InteractionMessenger: Received DataReport chunk with 0 attributes and 0 events, suppressResponse: undefined, moreChunkedMessages: undefined, subscriptionId: 1823388559
2024-11-28 16:33:46.815 [TRACE] [internal.util.MatterWebsocketService] - ExchangeManager: Message » id: 45613/36128/86540872 type: 1/1 acked: 245887690 reqAck: true duplicate: false payload: 1524000024ff0c18
2024-11-28 16:33:46.816 [TRACE] [internal.util.MatterWebsocketService] - InteractionClient: Subscription result empty for subscription ID 1823388559
2024-11-28 16:33:46.862 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45613/36128/245887691 type: 0/16 acked: 86540872 reqAck: false duplicate: false payload: 
2024-11-28 16:33:48.440 [TRACE] [internal.util.MatterWebsocketService] - MdnsScanner: Found commissionable device 73074A8714A6881A._matterc._udp.local with data: SII: 3300 SAI: 1100 SAT: undefined T: 0 DT: 263 PH: 36 ICD: 0 VP: 4874+89 DN: Eve Motion RI: 1F0066A186B8C89FE3C8EF3C2EE7B907ABA7 PI: 
2024-11-28 16:34:00.952 [DEBUG] [nternal.client.MatterWebsocketClient] - sendMessage: {"id":"dcd864b4-2dff-4a12-a657-a9d395bbffc3","namespace":"nodes","function":"pairNode","args":["12024210708"]}
2024-11-28 16:34:00.956 [TRACE] [internal.util.MatterWebsocketService] - Controller: Received request: {"id":"dcd864b4-2dff-4a12-a657-a9d395bbffc3","namespace":"nodes","function":"pairNode","args":["12024210708"]}
2024-11-28 16:34:00.957 [TRACE] [internal.util.MatterWebsocketService] - ClientController: Executing function nodes.pairNode(["12024210708"])
2024-11-28 16:34:00.962 [DEBUG] [internal.util.MatterWebsocketService] - PeerCommissioner: Commissioning device with identifier {"shortDiscriminator":5} and 1 scanners and knownAddress "undefined"
2024-11-28 16:34:00.964 [DEBUG] [internal.util.MatterWebsocketService] - ControllerDiscovery: Start Discovering devices using identifier {"shortDiscriminator":5} ...
2024-11-28 16:34:00.965 [DEBUG] [internal.util.MatterWebsocketService] - ControllerDiscovery: Found 1 devices using identifier {"shortDiscriminator":5}
2024-11-28 16:34:00.967 [TRACE] [internal.util.MatterWebsocketService] - ControllerDiscovery: Server addresses to try: undefined: udp://fd3a:77cd:2952:1:3613:43ff:fe7f:1a39:5540,undefined: udp://fd09:ce54:4ca7:9f90:3613:43ff:fe7f:1a39:5540,undefined: udp://fe80::3613:43ff:fe7f:1a39%eth0:5540,undefined: udp://192.168.0.73:5540
2024-11-28 16:34:00.968 [TRACE] [internal.util.MatterWebsocketService] - ControllerDiscovery: Try to communicate with udp://fd3a:77cd:2952:1:3613:43ff:fe7f:1a39:5540 ...
2024-11-28 16:34:00.970 [DEBUG] [internal.util.MatterWebsocketService] - PeerCommissioner: Commissioning device SII: undefined SAI: undefined SAT: undefined T: 0 DT: 65535 PH: 36 ICD: 0 VP: 4921+44 DN: undefined RI: 0300DC8B8D7AA973BF6098CAE5E12136FBD1 PI: 
2024-11-28 16:34:00.971 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: New exchange channel: udp://fd3a:77cd:2952:1:3613:43ff:fe7f:1a39:5540 on session insecure/2309424140222650780 protocol: 0 id: 65319 session: insecure/2309424140222650780 peerSessionId: 0 active threshold ms: 4000 active interval ms: 300 idle interval ms: 500 maxTransmissions: 5 useMrp: true
2024-11-28 16:34:00.973 [TRACE] [internal.util.MatterWebsocketService] - ExchangeManager: Message » id: 0/65319/122452144 type: 0/32 acked: undefined reqAck: true duplicate: false payload: 1530012022a530a423a10e2c4340358ff6d1b1d5172bf72dd6ebd7dc71c590be3072ee06250285b2240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2024-11-28 16:34:00.993 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 0/65319/252223498 type: 0/16 acked: 122452144 reqAck: false duplicate: false payload: 
2024-11-28 16:34:04.065 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: New exchange channel: udp://fd3a:77cd:2952:1:d10b:b5fa:d3f0:7eaa:5540 on session secure/45606 protocol: 1 id: 47408 session: secure/45606 peerSessionId: 45606 active threshold ms: 4000 active interval ms: 300 idle interval ms: 500 maxTransmissions: 5 useMrp: true
2024-11-28 16:34:04.066 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45606/47408/212924273 type: 1/5 acked: undefined reqAck: true duplicate: false payload: 1526003c0233e824ff0b18
2024-11-28 16:34:04.067 [TRACE] [internal.util.MatterWebsocketService] - InteractionMessenger: Received DataReport chunk with 0 attributes and 0 events, suppressResponse: undefined, moreChunkedMessages: undefined, subscriptionId: 3895657020
2024-11-28 16:34:04.067 [TRACE] [internal.util.MatterWebsocketService] - ExchangeManager: Message » id: 45606/47408/267645577 type: 1/1 acked: 212924273 reqAck: true duplicate: false payload: 1524000024ff0c18
2024-11-28 16:34:04.068 [TRACE] [internal.util.MatterWebsocketService] - InteractionClient: Subscription result empty for subscription ID 3895657020
2024-11-28 16:34:04.077 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45606/47408/212924274 type: 0/16 acked: 267645577 reqAck: false duplicate: false payload: 
2024-11-28 16:34:08.227 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: New exchange channel: udp://fd3a:77cd:2952:1:3613:43ff:fe7f:1a39:5540 on session secure/45628 protocol: 1 id: 23845 session: secure/45628 peerSessionId: 45628 active threshold ms: 4000 active interval ms: 300 idle interval ms: 500 maxTransmissions: 5 useMrp: true
2024-11-28 16:34:08.229 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45628/23845/86739991 type: 1/5 acked: undefined reqAck: true duplicate: false payload: 15260043992af424ff0118
2024-11-28 16:34:08.230 [TRACE] [internal.util.MatterWebsocketService] - InteractionMessenger: Received DataReport chunk with 0 attributes and 0 events, suppressResponse: undefined, moreChunkedMessages: undefined, subscriptionId: 4096432451
2024-11-28 16:34:08.231 [TRACE] [internal.util.MatterWebsocketService] - ExchangeManager: Message » id: 45628/23845/151421141 type: 1/1 acked: 86739991 reqAck: true duplicate: false payload: 1524000024ff0c18
2024-11-28 16:34:08.232 [TRACE] [internal.util.MatterWebsocketService] - InteractionClient: Subscription result empty for subscription ID 4096432451
2024-11-28 16:34:08.273 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 45628/23845/86739992 type: 0/16 acked: 151421141 reqAck: false duplicate: false payload: 
2024-11-28 16:34:12.225 [TRACE] [internal.util.MatterWebsocketService] - ControllerDiscovery: Failed to communicate with udp://fd3a:77cd:2952:1:3613:43ff:fe7f:1a39:5540, try other servers ... NoResponseTimeoutError
2024-11-28 16:34:12.227 [TRACE] [internal.util.MatterWebsocketService] - none:   at StandardTimer.eval [as callback] (webpack://matter-server/./node_modules/@matter/general/dist/cjs/util/DataReadQueue.js?:53:24)
2024-11-28 16:34:12.228 [TRACE] [internal.util.MatterWebsocketService] - none:   at Timeout.eval (webpack://matter-server/./node_modules/@matter/general/dist/cjs/time/Time.js?:134:12)
2024-11-28 16:34:12.232 [TRACE] [internal.util.MatterWebsocketService] - none:   at listOnTimeout (node:internal/timers:573:17)
2024-11-28 16:34:12.233 [TRACE] [internal.util.MatterWebsocketService] - none:   at process.processTimers (node:internal/timers:514:7)
2024-11-28 16:34:12.234 [TRACE] [internal.util.MatterWebsocketService] - ControllerDiscovery: Try to communicate with udp://fd09:ce54:4ca7:9f90:3613:43ff:fe7f:1a39:5540 ...
2024-11-28 16:34:12.235 [DEBUG] [internal.util.MatterWebsocketService] - PeerCommissioner: Commissioning device SII: undefined SAI: undefined SAT: undefined T: 0 DT: 65535 PH: 36 ICD: 0 VP: 4921+44 DN: undefined RI: 0300DC8B8D7AA973BF6098CAE5E12136FBD1 PI: 
2024-11-28 16:34:12.236 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: New exchange channel: udp://fd09:ce54:4ca7:9f90:3613:43ff:fe7f:1a39:5540 on session insecure/3132451234344396798 protocol: 0 id: 65320 session: insecure/3132451234344396798 peerSessionId: 0 active threshold ms: 4000 active interval ms: 300 idle interval ms: 500 maxTransmissions: 5 useMrp: true
2024-11-28 16:34:12.237 [TRACE] [internal.util.MatterWebsocketService] - ExchangeManager: Message » id: 0/65320/122452145 type: 0/32 acked: undefined reqAck: true duplicate: false payload: 15300120975df3c88cf84f18de916435ed842678960fee04fe3ff65ec4bff9d67f5e1157250286b2240300280435052501f40125022c012503a00f24041124050c26060000030124070a1818
2024-11-28 16:34:12.239 [TRACE] [internal.util.MatterWebsocketService] - MessageExchange: Message « id: 0/65320/252223499 type: 0/16 acked: 122452145 reqAck: false duplicate: false payload: 

Where did you get the pairing code from?

From Homekit. The EVE app automatically includes the devices in HomeKit

If you can ping fd3a:77cd:2952:1:3613:43ff:fe7f:1a39:5540 from the same instance running openHAB, then i’m not sure, the log says its not getting any response trying to talk to that IP. Either there is a connectivity issue and it can’t actually reach that IP , or the pairing code is not valid. What does your openHAB system look like, hardware, OS, network, etc…?

Dan, as you are using Hue bridge as Matter bridge, what do you thing about this article ?

It is dated end of 2023 so maybe Hue made improvements through firmware upgrades ?

I will be able in the current of next week to provide a feedback of how it works with a Switchbot hub 2 (acting as a Matter bridge) and few temperature/humidity sensors from this company.

For the announcement of a more public version, maybe it could be interesting to mention a list of already validated devices working with the binding and the known problems or limits with few tested devices. WDYT ?

I can ping the device from OpenHAB. I’m running 4.3M4 on a PI 4. Eero network. I was able to pair the device to Alexa from HomeKIT. And then pair with OpenHAB from Alexa… how does that make sense?

openhabian@openhabian:~ $ ping fd3a:77cd:2952:1:3613:43ff:fe7f:1a39
PING fd3a:77cd:2952:1:3613:43ff:fe7f:1a39(fd3a:77cd:2952:1:3613:43ff:fe7f:1a39) 56 data bytes
64 bytes from fd3a:77cd:2952:1:3613:43ff:fe7f:1a39: icmp_seq=1 ttl=255 time=2.13 ms
64 bytes from fd3a:77cd:2952:1:3613:43ff:fe7f:1a39: icmp_seq=2 ttl=255 time=79.9 ms
64 bytes from fd3a:77cd:2952:1:3613:43ff:fe7f:1a39: icmp_seq=3 ttl=255 time=3.25 ms

So its working ? Pairing codes are uniquely generated by already paired clients, so it likely something about the pairing code was not working in homekit, i don’t know why other then maybe something about how it automatically added the device was strange?

When you generate a pairing code, the system tells the device to open its commissioning window and response to pairing requests, it also generates a pairing code that it gives to both the device and then displays this for you to use in your client, usually this is good for 15 mins or less. The system (alexa, apple, etc…) is no longer part of the pairing process at this point, your client (openHAB) talks directly to the device. If you you unpaired from the Alexa or Apple, openHAB would not be affected unless you tell that system to delete all pairings (which any client is capable of doing) . So Alexa generated a different pairing code (pin code + discriminator) that the device did respond to.

1 Like

I have not had any issue, and they have updated the firmware many time since then.