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

How to set accessory/device name in Homekit? (CON-1325) #1074

Open
dzungpv opened this issue Sep 3, 2024 · 2 comments
Open

How to set accessory/device name in Homekit? (CON-1325) #1074

dzungpv opened this issue Sep 3, 2024 · 2 comments

Comments

@dzungpv
Copy link

dzungpv commented Sep 3, 2024

I read all the issue but not found a way to set display name of the accessory / node in the Homekit.
basic_information does nothing and the bridged_device_basic_information I could not make it work.
I create a thermostat, a fan and two lights. I try with multiple endpoint in a node and It can add to Homekit, but I could not found a way to set name for light, it show Light and Light2.
I try bridge but could not add more than 2 devices, it show

PacketBuffer: pool EMPTY

Seem like bridge is the only way but I could not make it work

I follow some hint here but not working #201 (comment)
#356 (comment)

I don' know why a basic feature like set the name off a device/node/accessory does not include in the simple way

@github-actions github-actions bot changed the title How to set accessory/device name in Homekit? How to set accessory/device name in Homekit? (CON-1325) Sep 3, 2024
@dzungpv
Copy link
Author

dzungpv commented Sep 3, 2024

I add only two light on the bridge, and add label like this:

    char fan_mode_name[] = "Fan mode";
    cluster::bridged_device_basic_information::config_t cfg_fan_md_br;
    cluster_t *cluster_fan_md_br = cluster::bridged_device_basic_information::create(aggregator, &cfg_fan_md_br, CLUSTER_FLAG_SERVER);
    cluster::bridged_device_basic_information::attribute::create_node_label(cluster_fan_md_br, fan_mode_name, strlen(fan_mode_name));

and

    // dev2->dev->endpoint;  // bridged endpoint for device
    char name[] = "ROOM1 LIGHT1";
    cluster_t *cluster = cluster::get(dev2->dev->endpoint, chip::app::Clusters::BridgedDeviceBasicInformation::Id);
    attribute::create(cluster, chip::app::Clusters::BridgedDeviceBasicInformation::Attributes::NodeLabel::Id, ATTRIBUTE_FLAG_WRITABLE, esp_matter_char_str(name, strlen(name)));
    attribute::create(cluster, chip::app::Clusters::BridgedDeviceBasicInformation::Attributes::ProductName::Id, ATTRIBUTE_FLAG_WRITABLE, esp_matter_char_str(name, strlen(name)));

But it still show: "Matter Accessory, 2" and "Matter Accessory, 3", iOS 17.6.1

@jadhavrohit924
Copy link
Contributor

Hi @dzungpv Please check #1046 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants