espressif / esp-matter

Espressif's SDK for Matter
Apache License 2.0
686 stars 155 forks source link

How to build all the layers in the repository (CON-1230) #989

Closed pavel808 closed 3 months ago

pavel808 commented 4 months ago

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

dhrishi commented 4 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?

pavel808 commented 4 months ago

@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.

dhrishi commented 4 months ago

@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.

pavel808 commented 4 months ago

@dhrishi Thanks. I will look into this and let you know.

dhrishi commented 3 months ago

Closing this as the question is answered. Please raise a new issue in case of any problems