Closed pavel808 closed 3 months ago
This involves making changes not only to the example application code, but also to the internal components and connectedhomeip
@pavel808 Ideally, any functionality you want to achieve should be exposed through APIs/events in the SDK and you should not have to modify the core components. Can you please let us know what are you trying to do?
@dhrishi Thank you for your reply.
Ok, so what I am trying to do is adapt the light example to have new 64 bit value attributes, and to be able to receive such values via commands from a client such as chip-tool.
I tried simply re-using attributes for saturation and hue etc., and the commands to change them, but I need to be able to deal with 64 bit values.
I realized then that it probably makes most sense to create a separate cluster server for my purpose. I took the levelcontrol cluster server as a reference and duplicated the functionality everywhere I saw it (in components and connectedhomeip etc.) and renamed it to my own, with the new IDs attributes commands etc.
Of course, now I am unable to build these changes.
In the end I want to be able to use chip-tool to send commands to update the new attributes via my new cluster server. So i'm not sure how to achieve this any other way.
@pavel808 Okay. Basically you are looking to create a custom cluster and handling the commands. Can you please refer this and see if it helps. All your changes can just be in your application and need not even be in the esp-matter component.
@dhrishi Thanks. I will look into this and let you know.
Closing this as the question is answered. Please raise a new issue in case of any problems
I am adding a new Matter cluster server to the light example in examples/light .This involves making changes not only to the example application code, but also to the internal components and connectedhomeip .
How do I execute a build that builds all changes made to the components and connectedhomeip etc. ?
By running idf.py build from the example/light folder, it doesn't detect changes made to components, connectedhomeip or anything else in the lower layers. It only builds the application.
Thanks in advance