#matter binding in python-matter-server

1 messages · Page 1 of 1 (latest)

neon talon
#

If possible, please send me an email. I'm not often on discord.

wind void
#

So you tested this between a switch and a lamp?

neon talon
mystic horizon
#

I’ll have a look within a few days, nice work!

neon talon
#

I plan to separate the ACL from the binding and create a new dialog to control the ACL.

neon talon
#

After test, problem (https://discord.com/channels/330944238910963714/1368586567022546964) cannot be solved simply by modifying the binding function.
the processing procedure is determined by the device (for example: Endpoint 1 of the source device controls endpoint 1 of the target device, and endpoint 2 of the source device controls endpoint 2 of the target device).
The Binding function is simply adds the device to the binding list, and then adds the corresponding permissions in the ACL.
So I gave up solving the problem. (Maybe it's not a problem. It just depends on how you implement this function).

neon talon
wind void
#

Do you have any screenshots to see what it looks like?

neon talon
#

binding:
go to the binding cluster , it will show the binding button .

#

the ACL , I haven't figured out how to achieve it yet. It's like this for now.

#

If you have better attention, please give me a sketch and let me implement it.

mystic horizon
#

@neon talon very nice progress !
Both bindings and ACL are advanced topics so (almost) impossible to make very userfriendly. Adding this to the Matter server debug web UI at least lets experienced people have a play with it and we can work from there.

#

My feedback for now is that it needs one additional step, which is some preselects for the various options. So instead of manually having to select e.g. an authmode you can select an option. Same for fabricIndex, provilege, endoint etc. We have that data so we can list it in the dropdown.

#

If that is added, I'd say open up a PR (or 2, if you want to split it into 2 parts) against the matter server repo so we can review and merge. Thanks for your efforts on this!

#

BTW, thinking about next steps after this base functionality has been added to Matter Server is that we should create an abstraction in HA to create a binding and make a userfriendly way to bind two devices without having to manually deal with ACL's endpoints and such. But that is food for thought for later.

neon talon
#

Ok. I will add select in the ACL.

I will try to enable PR after getting everyone's confirmation.
But before that, I think there is still a lot of work to be done, such as UI design, naming interface commands, etc.

(UI design has taken me a lot of time. need help!!!!. )

wind void
mystic horizon
wind void
#

I ran a test with the latest commit and it worked fine. I tried with 2 DK:

  • nRF5340 DK as a light
  • SL xG24 Explorer Kit as a switch
wind void
#

Do you think it can be merged as it works as expected?

mystic horizon
#

I think so, we can always iterate on it more later.

neon talon
#

@wind void
If possible, the development of composite devices can be attempted, such as one device containing multiple endpoints (e.g., multi-channel switches/lights). After my tests, no problems occurred.

I'm contacting my friends and asking them to help me test. I'm waiting for feedback.

wind void
neon talon
neon talon
#

The greatest challenge :
You have a friend who knows about computers, and then teach him to install the test environment.

wind void
#

It works according to your tests and my tests. I think you can put a comment in the PR to get it validated.

neon talon
#

The current test environment is based on the devices in the development environment, not the devices that have been released, so this is an invalid test.
It can only be said that this function is theoretically feasible.

wind void
#

I agree, but this interface is dedicated to developers and not to Home Assistant users directly. @mystic horizon agree with that.

wind void
#

Hello @neon talon. I did a manual pairing test using WS directly. Binding Eve Thermo Valve and Matter Temperature sensor worked fine.
I can send you the commands to see if there's a difference with the commands generated by the acl and binding dialogs.

neon talon
#

@wind void Sure. You can take a screenshot of the command content and send it here. Let me see what the differences are between them.
I guess there is only the difference of cluster.

wind void
#

Server / Temp sensor

  • [TempFabricID] = 3
  • [TempNodeID] = 24
  • [TempEpID] = 2

Client / EVE Thermo

  • [ThermostatFabricID] = 9
  • [ThermostatNodeID] = 23
#

ACL request

{
   "message_id": "2",
   "command":"write_attribute",
   "args":{
      "node_id":24,
      "attribute_path":"0/31/0",
      "value": [{"fabricIndex": 3, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 9, "privilege": 3, "authMode": 2, "subjects": [23], "targets": [{"cluster": 1026, "endpoint": 2, "deviceType": null}]}]
   }
}
#

Binding request

{
   "message_id": "3",
   "command":"write_attribute",
   "args":{
      "node_id": 23,
      "attribute_path":"1/30/0",
      "value": [
          {"fabricIndex": 3, "node": 24, "endpoint": 2, "cluster": 1026}
        ]
   }
}
neon talon
#

In ACL, the value item is the target we need to focus on. It has two sub-items. The first one is added when commissioning. The second one was added when the binding command was executed.

#

The core code is as follows:

#

According to the instructions in the spec document. The execution permission of the binding command should be 3 (operate).

#

It was set to 5 (Administer) in the code. This was my mistake

plain snow
#

hey guys how can I help to test this? i have some Matter devices with binding clusters; If I don't set up dev environment, do I need wait for next official release of Matter Server add-on?

wind void
wind void
plain snow
wind void
plain snow
#

So basically, I just need to stop my Matter server and run this one? Or I can run both and do commission on the webui?

wind void
plain snow
#

Oh I thought the matter wheel is maintained separately from the container addon

wind void
#

Let us know when you've tested it

mystic horizon
#

I've published a new beta so if you have the beta toggle enabled (or use the container) you now have the possibility to test this

dense orchid
#

assuming this may take a bit after publishing to become available through public distribution servers, no diff than the non-beta. Made the config changes earlier today and restarted the matter server but still on 8.0 stable.

mystic horizon
plain snow
#

I’m setting up a new HAOS in VM. There are still devices in review that I don’t want to mess up with.

plain snow
#

wow wow, Eve thermo control can set temperture on my Aqara M3 AC (via IR)

#

but it forced a heating mode...

dense orchid
#

Working between Inovelli white dimmer and Aqara t2 bulb. really nice.

#

added a second binding for the dimming cluster to the same switch so now both on/off and dimming are controlled on the T2. dims quickly and smoothly.

plain snow
#

Eve Motion x Eve Energy doesn't work

#

I also have a smoke detector with binding cluster, will try to trigger it

#

this is really a maze, not sure what would happen with binded devices

dense orchid
#

On/off/dim Also works with a Nanoleaf essentials NL67 bound to the same inovelli switch

plain snow
#

sounds great, but I dont have dimmer switch

dense orchid
#

Interesting the bound bulbs did not come on when an HA automation turned the inovelli switch on or if i control the inovelli from HA or apple Home. They only follow on/off/dim from physically pressing the switch paddle.

plain snow
#

that's different clusters I think?

#

I should ask them for a unit for daily testing, matter devices are mostly not available in my region even it's where they are manufactured 😮‍💨

dense orchid
#

owners seem like good folks, i'm in a beta group for a couple of diff white switch.

plain snow
#

@dense orchid yea I really love how they make products, the transparency is gorgeous

do you mind my quoting your results in my article at Matter Alpha?

#

tried another combo: NL sense+ and NL cono lamp, nothing happens after clicking on add

#

the lamp itself also has a binding cluster, maybe it can sync with other lights

wind void
#

Does un-binding also work?

neon talon
#

@plain snow Could you check the content of the ACL in endpoint 0 of node 14?

plain snow
#

Here's another issue I countered

#

Click on the binding button won't open the dialogue, and the show vaule button shows error

neon talon
plain snow
neon talon
plain snow
#

that's a device side issue?

neon talon
# plain snow that's a device side issue?

It's not clear yet. After the command was sent, an exception was received . "node-binding-dialog-BtBffQBB.js:1 Uncaught (in promise) Error: Invalid input: expected an object".

#

I need some time to reproduce this problem.

plain snow
#

thanks, let me know if you need any assistance

plain snow
neon talon
plain snow
#

That’s a different issue, the firm just confirmed that the device doesn’t support binding yet

neon talon
plain snow
#

HA Matter Server beta should be on Matter 1.4 right?

#

Matter certification says the device is a 1.3🤔

wind void
#

If it works with other 1.3 devices, it only adevice issue.

neon talon
# plain snow

This data is read directly from the device when the controller starts.
Because the content of the data is incorrect, clicking the binding button has no effect.
As for the specific reason why it's incorrect, I'm also unable to answer this question regarding the underlying communication of python-matter-server. I'm very sorry.

neon talon
mystic horizon
#

I have no clue what this is all about - maybe try to explain it to me in detail

plain snow
plain snow
mystic horizon
plain snow
nimble wind
#

May I ask, how is the Fabric-index handled in a binding here? When I was playing around with Matter binding a year or so ago, not only did the target node, endpoint, and cluster have to be specified, but so did the Fabric index. Best Regards

neon talon
pale wadi
#

Hey i am trying to bind a eve thermo control to an eve thermo but it doesnt work. Do i need to bind Binding Cluster 30 to Binding Cluster 30. When i press Add nothing happens

neon talon
wind void
wicked arrow
pale wadi
#

I have no iPhone and on Android it needs the devices to be in the Google home app what I don't want. I want the devices direkt in home Assistent with matter binding.

wind void
pale wadi
#

How is this not supported. When I scroll up in the chat there is someone binding a thermo control to a aquara thermostat.

mystic horizon
native gyro
#

where is the debug ui?

dense orchid
# native gyro where is the debug ui?

in the HA settings/Addons/Matter Server/configuration select Use the latest beta version, then I restarted the matter sever addon.

Then open the matter server webui, select the node you are interested in and select/click thru each Endpoint until you find the one listing a Binding cluster. Then click on the binding cluster. Then you have a new Binding option in-between Update and Share. click that and you are off to the races.

native gyro
#

gotcha.. not running beta, I've finally had stable matter experience with 30+ inovelli switches and a little hesitant to go beta on that one. anyone know when this makes it to stable?

pale wadi
mystic horizon
oblique night
#

Did anybody test the binding/clustering features with Tado’s Smart Radiator Thermostat X and an external temperature sensor/thermostat of another vendor yet? I have just postponed buying those during the prime days due to the fact that they are still running on Matter 1.1 based firmware and binding was/is only possible with Tado‘s own app, bridge and external thermostat.

neon totem
#

Problem: matter binding only applies to physical switch presses on Inovelli VTM31-SN. "Virtual" state changes to the switch in HA (e.g. via automation, dashboard, voice) have no affect on the bound endpoint. Thus, virtual changes result in the two endpoints falling out of sync.

In a separate beta chat (#1351530689207603272 message) someone suggested this was a limitation of the matter standard. I took a look at the matter standard, and.. I'll be honest I have no idea what it's saying. What I do know is that the vast majority of users will be looking for both physical and virtual changes to stay in sync.

@mystic horizon sorry to ping but am curious what your thoughts are on this. Is it true the matter standard restricts binding from virtual changes, and if so is there another way we could systematically solve for this in HA? Of course a script could be used to bridge the gap, but that somewhat defeats the purpose of binding and is not something all users are capable of.

neon talon
dense orchid
neon totem
# neon talon I'm very sorry that I didn't understand the problem you described. Maybe you cou...

For both examples there's a switch A that is bound to light B.

Example 1: You walk into a room and click up on the light switch; A and B go from off to on. Then you say "hey google, turn off light A"; A is off, B is still on, and the light didn't turn off.

Example 2: An automation is triggered that turns off A; A goes from on to off and B stays on. Later, you decide the light is too bright and hold down on A to dim the light; A is off and brightness value is null, thus no changes to A, and B stays the same brightness.

#

Currently the only changes that are bound between the two endpoints are changes that were initiated by physically pressing on the switch, which doesn't seem like the intended result. Zigbee for example, binds all changes afaik.

neon talon
#

As in the problem of example 1, after the binding is completed, HA is used to control A. If they can both be effective at the same time, it proves that the binding of A and B is effective.
However, if A third controller is used to control A, or if B does not respond after the button of A is pressed. This might be another issue. Their control logics are not the same.

Based on my development experience with esp-matter, this requires developers to complete the state synchronization among these control logics themselves. The chip manufacturer did not provide corresponding examples.

neon totem
# neon talon As in the problem of example 1, after the binding is completed, HA is used to co...

My apologies for not being more clear, but there wouldn't be a third controller in this scenario--"hey google" would be passed into HA via the Google Assistant Integration. All virtual changes to endpoint A would be initiated/sent by the Python Matter Server.

If the matter spec truly limits binding to physical changes only, then I expect nearly all users are going to run into major issues with it. I can't really think of a scenario where you'd want two devices to stay in sync when physically controlled and fall out of sync when virtually controlled. So I think we either need to: a) classify this as a bug and look for a fix, or b) confirm its a matter spec limitation and create a feature request to allow the matter controller to bind/sync "virtual" changes between endpoints.

#

Or it could just be an Inovelli specific bug. Does anyone have a non-Inovelli switch they could test this on?

dense orchid
#

In an Inovelli beta group and I have asked them if their firmware can be changed to mirror/sync the virtual controlled endpoint and actuator controlled endpoints for their switches. Can’t think of a single reason they should be out of sync either.

With how new and unexplored this is not sure that anyone knows exactly how things should be set up.

dense orchid
#

The Inovelli beta group leans to B) Matter Spec Limitation

dense orchid
#

Running this by the group to see if this Bindings UI change would be a reasonable ask: allow multiple comma separated clusters to be input for each Node ID/endpoint pair.
for instance instead of separately entering new lines for each. could be helpful for dimmable bulbs where at the moment both OnOff Clusterid 6 and LevelControl ClusterID 8 need to be bound in order for full bulb control dimming and on/off control.

neon talon
neon talon
dense orchid
bleak cosmos
# neon totem My apologies for not being more clear, but there wouldn't be a third controller ...

I"m a bit late to this issue on bindings, but I do not think it is a bug.

I'll explain with respect to Inovelli switch endpoints ("EP")). I'm > 95% confident what I say below is correct based on the standards.

Starting with EP 1: note that EP is a dimmable light device. type 0x0101. The Matter Device Specification version 1.4, Section 4.2.4, shows its permitted clusters. Note the absence of a binding cluster (I'll address that in a second post). Also, the device type 0x0101 clusters are in "Server" mode. In the matter specification, "Server" means the cluster can respond to commands, from a controller, like Home Assistant, but they do not generate commands. So, as a starting point, based on the Mandatory cluster requirement for the light device type, no commands can be sent from EP 1.

EP 2, on the other hand, is a Dimmer Switch type 0x0104. This is poorly named and it would all be much clearer if it was called a "Dimmer Controller" because, in fact, it acts as a controller. Now look at the Matter Device Specification version 1.4, Section 6.1.4 which shows its cluster. In this case, the clusters are in "Client" mode (except Identify which appears as both Server and Client). In the Matter spec, a "client" cluster is one that sends a command to a server asking the server to do something. So, in this case, endpoint 2 acts to send control signals to other device. But, other than Identify, it lacks Server clusters so it does not respond to commands.

Thus, the starting point is EP 1 and EP 2 have very different functions and are independent as they have completely different cluster types (client versus server).

bleak cosmos
# bleak cosmos I"m a bit late to this issue on bindings, but I do not think it is a bug. I'll...

Now, let's look at the Binding cluster. This is needed to "bind" to other devices. To see when an endpoint can have a Binding cluster, you need to look in Section 1.1.7 of the Device Library Specification. The Binding line shows that including a Binding cluster is in "Conformance" with the standard if it is on a endpoint that is both "Simple" and which has "Client" clusters. ("Simple & Client"). So, as EP 1 clusters are "Server", it cannot have a Binding cluster and, thus, cannot be used to bind to and control other devices.

Thus, EP 2, and only EP 2, has client clusters that can be bound to and send commands to another device, and the binding cluster is on that endpoint; thus EP 1 and EP 2 are independent by design, and its not an Inovelli bug. This independence is why remotely changing the setting of EP 1, the light, does not cause EP 2 to do anything.

So, one might ponder, why not just combine the clusters of EP 1 and 2 having a "mega-EP" where everything is both server and client. Well, Section 9.2 of the Matter Core Specification says you cannot put two Simple device types on the same endpoint unless the clusters of one of them are a subset of the other. That subset requirement isn't met for the device type 0x0101 and 0x0104, so combining them on one EP is not permitted. And I'd say that trying to get EP 1 to somehow activate EP 2 would be an "end-run" around this requirement which I'd imagine would create a device certification risk.

My conclusion: encourage vendors to implement the Group cluster which gets most (if not all) the desired function; if a change is needed on the Binding side, that should be worked by chip vendors through the standards process, and not independently as a "custom feature" due to risk of unpredictable behavior across vendors.

dense orchid
#

@neon talon any chance Group Binding is undertaken with this merge. Your work has brought Cluster binding to HA, but seems HA will also need group bindings to cover virtual/automation use cases.

regardless thank you for getting us to this point.

neon talon
wind void
bleak cosmos
#

@neon talon I've been helping Inovelli beta test some of their switches. An issue has come up with bindings and, since I understand that you're the originator of that code, maybe its an easy fix for you? This also related to Python Matter Server issue 1198. Inovelli's firmware developer has determined the issue is:

It has now been confirmed that when a binding is added via the HA binding interface, the bound device generates a new ACL entry. However, deleting the binding does not remove the corresponding ACL. Even when the same binding content is added repeatedly, a new ACL is created each time. This behavior leads to unnecessary consumption of device resources, ultimately resulting in the issue observed.

Would it be easy for you to add a check before modifying the ACL to see if there is already an entry, and to add code to delete the ACL entry on removal of the last binding using that ACL entry (and to clean up any 'old' excess entries added by current code)?

neon talon
bleak cosmos
forest steeple
#

Hi, sorry if this is unrelated but can I also bind esphome thread devices? I noticed so far only commercial devices have been tested

rapid rose
#

binding is part of the matter protocol, allowing matter devices to send commands or data updates directly to other matter devices. esphome doesn't (currently) support matter, so you need something in-between to translate between the two protocols. In other words: use a home assistant automation.

timber sundial
#

Hi all, I tried to update my matter server to the beta in order to test binding, but it seemed like it didn’t work. I didn’t see any binding options for my inovelli devices, and the version for the server was still listed as 8.0.0. Any advice?

rapid rose
#

just to confirm - you're looking in the matter server add-on's web ui? there is no ui for binding added to home assistant itself yet. This message describes how to update the matter server and where to find the binding ui: #1368077978319327323 message

timber sundial
#

Correct, however I just tried again and finally found it. Man, you really have to click through each node and endpoint to figure out which ones can be bound!

rapid rose
#

hopefully when the HA ui is added it's made a bit simpler than that - for example, ZHA supports "device" binding which appears to do something along the lines of starting the binding from one device, selecting a target device, and then it binds the matching server and client clusters on the two devices..

timber sundial
#

Are there recommendations for how exactly to figure out which clusters should be used for binding? For example, if I’m trying to bind my Inovelli dimmer switch to my Inovelli canopy module such that pressing the update button on the switch turns on the light on the canopy module, what would I be looking for?

rapid rose
#

I think in this case the dimmer switch should have client clusters for "OnOff" and "LevelControl" that allows it to be bound to and control a dimmable light. i think this is wrong, i need to look into it a bit more :)

#

but i'm not exactly sure how it works, i don't have any compatible devices to try it with yet

#

regardless. the way it works once the bindings are set up is that the switch will be sending matter commands directly to the OnOff (and LevelControl, if available) clusters on the light.

timber sundial
#

So this is the only endpoint where, if I click into one of the clusters, I get the option for binding. Does it matter which cluster I do the binding through?

timber sundial
#

Ignore that, actually, I had success binding the Inovelli White Series Dimmer Switch to the light component of the White Series Canopy Module! Woo!

#

What I would love to figure out now is if I can bind the config button on the dimmer switch to be able to control the fan on the canopy module. My guess for right now is no because the dimmer switch lists 3 more endpoints that are listed as generic switches, but none of those provide the option to bind anything.

rapid rose
#

yeah, to my understanding binding usually works by having one device send specific control commands to another device - the matter 'generic switch' stuff is designed only as a way to report button/switch state to a controller.

#

(generic switches may - and should - be implemented alongside any direct control features that buttons also have, if any)

neon totem
timber sundial
timber sundial
#

So I tried the binding of the dimmer part of the switch, and I had some issues. From what I could tell, it caused the fan motor to not get enough power, which resulted in some weird sounds coming from the fan motor when turned on. I decided to remove the device, factory reset, and redo the binding with just the on/off capability for now at least

rapid rose
#

you should in general not run motors off dimmers :/

#

i think inovelli has a separate switch without a dimmer available which is rated for motors?

dense orchid
#

Correct, Inovelli has directly stated that the dimmer switch is not to be used with fans as it can not handle the electrical load by design. The dimmer switch can be changed in settings to On/Off, but the electrical load still runs through the dimmer circuitry. They make an On/off switch and an AC fan switch (has low/med/high setting capability) designed for this purpose.

forest steeple
rapid rose
#

Esphome doesn't do matter. It uses the esphome native API over thread

#

Binding is a matter thing, completely unrelated to thread.

forest steeple
#

I see, so it’s not matter that’s being handled with esphome

#

So if i create my own matter over thread devices like with espzerocode I probably could get binding to work with that?

neon talon
neon totem
dawn fractal
wind void
plain snow
#

Wow that’s new

mystic horizon
dawn fractal
#

Thanks @mystic horizon for being transparent about this.

dense orchid
#

Moving to Matter.js should really keep the HA at the forefront among Matter Controllers. Assume tentative replacement timelines will be announced once established internally?

neon talon
#

Currently, matter.js is still in its early stages and there is still a lot of work to be done.

oblique night
#

Can’t hide my excitement after reading those news. 🙌🏼

dense orchid
#

Py-Matter-server 8.1.1 with fix for matter binding delete error and making the cluster designation optional released yesterday. Any non-beta users seeing it in HA to update yet? I am not.

https://github.com/matter-js/python-matter-server/releases/tag/8.1.1

GitHub

What’s Changed

#1242 - Set the cluster item in Binding as an option (@Luxni)
#1243 - replace async-timeout with asyncio.timeout (@dotlambda)
#1231 - Add comprehensive GitHub Copilot instructions a...

bleak cosmos
# dense orchid Py-Matter-server 8.1.1 with fix for matter binding delete error and making the c...

Very positive experience with 8.1.1 so far. I have about 145 Matter devices, about 125 of which are thread. Not sure why, but after a restart Server 8.1.1 seems to recover the network considerably faster than 8.1.0. Previously, it might take hours to recovery every device - now I'm seeing times around 10 minutes! Maybe the new asyncio.timeout mechanism provides some kind of unexpected improvement? In any case, definitely seems to work better (though Apple tvOS which is used for thread border routing was also recently updated to tvOS26, o it can be hard to say what element of a complex thread setup is really behind the improvement).

cosmic wind
#

can someone guide me on how to set up binding? I have an sample ESP light switch with Binding cluster and a nanoleaf light with on/off cluster which I want to set binding for.

I did set up ACL on the light to include the switch successfully, I am now trying to send binding command but it fails with status 0x87 (CONSTRAINT_ERROR) so it looks like I'm sending over something wrong...

with python-matter-server my command looks like this:

{
  "message_id" : "100",
  "command" : "set_node_binding",
  "args" : {
    "node_id" : <SwitchNodeId>,
    "endpoint" : 1, // switch endpoint with Binding cluster
    "bindings" : [ {
      "node" : <LightNodeId>,
      "group" : null,
      "endpoint" : 1, // light endpoint with On/Off cluster
      "cluster" : 6 // On/Off cluster
    } ]
  }
}

can anyone spot my mistake?

cosmic wind
#

I also get error trying to set binding with the web interface python-matter-server provides, I go to switch binding cluster and enter new binding like <lightId>/1/6 which is the path to the On/Off Cluster, and I get an error saying "add target acl error!"

nimble wind
#

I also have the ESP Light switch, and in the Matter Server Web UI, goto the Light Switch, goto Endpoint #1 and there you should see the Binding Cluster. Click on the Binding Cluster and in the UI you should now see a button "Binding". Click on the button and a dialog pop up should appear with a text box each for target: node id, endpoint, cluster. Fill in each individual text box for the target.

cosmic wind
#

that's exactly what I'm doing and I try to input my path to light which is <LightNodeId>/1/6 and I get an error every time. In my case this looks like this

#

and I get "add target acl error!"

wind void
#

Try it on a device that you know works and has already been validated.

cosmic wind
#

what device would that be for a switch? In europe I can just find really expensive matter switches (that actually support matter binding) while as far as I am aware many of the cheaper ones don't support it

#

and the light I'm trying to bind to is nanoleaf NL67 in case that could be causing issues

neon talon
#

@cosmic wind
As far as I know, due to the matter version of some devices, the binding function is not compatible.

In nanoleaf devices, some devices returned an unknown data when writing to the acl, which led to the failure of binding.

#

please check the matter version of your current device.
It needs >= matter 1.3.

cosmic wind
#

Appreciate the help! Buy damn, seems like there's really nothing for EU. Did anyone get this working with something else? If so please let me know

nimble wind
cosmic wind
nimble wind
#

However if the error is an ACL error, that would pertain to the NL not allowing a new ACL entry being created. It may be you need to upgrade the NL firmware (not sure).

cosmic wind
#

thank you I'll give it a try tomorrow probably

cosmic wind
#

I finally tested it today and with this new Nanoleaf version binding indeed does work, which is great!

#

Another thing that is confusing me is that in documentation I see binding TargetStruct defined like this:

#

but inside of python matter server interface binding looks like this:

#

there is attribute 254 (which I'm guessing is fabric id) that is missing entirely from the official documentation (documentation has cluster instead)?

cosmic wind
#

ah I see it doesn't have to be included when sending the command. But I do however need to be setting cluster to null in both cases (both for ACL or binding), it doesn't work if I try to set it to 6 (which is the on/off for the light)

pseudo crane
#

I'm really interested in trying out and maybe helping developing binding in home assistant/python-matter-server but being from the EU I couldn't find ANY device that I was able to buy and supports matter 1.3
Just to get some test devices to develop I think a couple esp c6 dev modules and the esp-lowcode-matter project from espressif look very promising. Currently no binding support, but there's already a feature request. Maybe you can check it out and show interest https://github.com/espressif/esp-lowcode-matter/issues/28

GitHub

Checklist Checked the issue tracker for similar issues to ensure this is not a duplicate. Provided a clear description of your suggestion. Included any relevant context or examples. Issue or Sugges...

neon talon
pseudo crane
#

Right forgot about that since I try to avoid working with idf and rather use platformio but couldn't get this to work with pio

#

Will check it out again tho! Thanks

gray monolith
#

How do we enable this matter binding stuff in HA?

pseudo crane
sand trench
#

Hello! I've been discovering matter binding in the last days, but I had a real hard time to find the requirements online. I have understood that generally it should be in Matter 1.3 or higher, is that right? And is that it?
Specifically, I am thinking about buying a Philips Hue Essential, and it would be great to use matter bindings in the future. Could someone help me understand what information to look for?
On the CSA database I was able to see that these philips products are Matter 1.3, but still I don't know if that's enough.

Thanks!

plain snow
sand trench
plain snow
sand trench
plain snow
#

Maybe someone can help to maintain a site or database with testing results of all kinds of device combo. That’s a good idea? @gloomy basin

pseudo crane
#

Does anyone own a device like a light switch or light dimmer that supports binding and can send me the data model tree map? Or is this published somewhere? I would like an example that I can reimplement on an esp32 for testing

bleak cosmos
# pseudo crane Does anyone own a device like a light switch or light dimmer that supports bindi...

You need to download the Matter Device Library specification from the csa web site. https://csa-iot.org/developer-resource/specifications-download-request/

Comments below refer to chapters in the Version 1.4.2 specification set ...

For Matter, if you want a device to act as a controller, you need to add one of the Switches and Controls Device Types from Chapter 6 of the Device Library Specification. So, for example, if you want a first switch to control a dimmable light, the first switch has to have a "Dimmer Switch" endpoint as set out in Chapter 6.2.

Note that the names of the device types in Chapter 6 are pretty confusing. Read them as if they had the word "Controller" added to the end and it will be clearere. So, for example, Chapter 6.2 specifies a "Dimmer Switch" device type - you should read this as being a "Dimmer Switch controller". The actual thing-to-be-dimmed is one of the devices in Chapter 4 (or 5.1-or 5.4) .

Be sure to read the introduction to Chapter 6 which helps explain how the controller types interact with the to-be-controlled types.

The Connectivity Standards Alliance Specifications Download Request Form

pseudo crane
#

I will look closer into that but I‘m somewhat aware of the interaction. What I would be interested in is how a specific dimmer switch data model looks like. I bought a matter light switch (pre 1.3 tho) and it is just a regular light switch and in homeassistant this get‘s it‘s own toggle switch with a state (and an LED reflecting that stat) so it must have a Server cluster. This one specifically doesn‘t have a client cluster but I expect a switch that can bind to a light needs to have the binding cluster and a client cluster and the client and server clusters for On/Off and Level are bound internally. Would love to have this verified tho