<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/108057/multi-generic-switch-in-matter</link><description>Hi there, 
 I&amp;#39;m working on NCS 2.4.2 with 52840. Currently,I have tried using a single generic switch, and it works. However, I want to configure multiple generic switches. But according to Matter Device Library v1.2 Chapter 6.6.4.2, a TagList SHALL be</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 29 Feb 2024 09:19:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/108057/multi-generic-switch-in-matter" /><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/471483?ContentTypeID=1</link><pubDate>Thu, 29 Feb 2024 09:19:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c43e2e2-9999-4911-be3d-60e93a7b160a</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Update from the developers:&lt;/p&gt;
&lt;p&gt;The hardcoded Fixed Label is implemented in the &lt;a href="https://github.com/nrfconnect/sdk-connectedhomeip/tree/v2.4.2/examples/all-clusters-app/nrfconnect"&gt;All Clusters Example Application&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Fixed Label cluster is not supported by all ecosystems. Google Home lists the unsupported features &lt;a href="https://developers.home.google.com/matter/get-started#unsupported_features"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By using the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.2/nrf/protocols/matter/getting_started/tools.html#chip-tool-for-linux-or-macos"&gt;chip-tool&lt;/a&gt;, you are able to test more features than with most commercial ecosystems. Make sure that the chip-tool version installed is from your NCS version (v2.4.2). See &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.2/matter/chip_tool_guide.html"&gt;this documentation&lt;/a&gt; for installation and use.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/471343?ContentTypeID=1</link><pubDate>Wed, 28 Feb 2024 14:03:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1344bf48-5d53-4375-9705-ef1e656fa9e1</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Ethan,&lt;/p&gt;
&lt;p&gt;Thank you for your continued patience.&lt;/p&gt;
&lt;p&gt;I have asked the developers for some assistance on how the LabelList should be filled. When they reply I will share it with you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/471281?ContentTypeID=1</link><pubDate>Wed, 28 Feb 2024 12:28:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19e88065-6d27-4e25-8ee6-da4fb7b87788</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;The err = b indicates that the current buffer for an outgoing ReportData buffer has run out. It is not serious, because the data will be sent in the next chunk.&lt;/p&gt;
&lt;p&gt;The devs are aware of the misleading message classification.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/469920?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2024 03:19:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:058f2438-3ba7-456c-b969-e6820279d9db</guid><dc:creator>EthanZhao</dc:creator><description>&lt;p&gt;&lt;span&gt;By the way, there is another issue. I frequently encounter an error during device pairing with HomeApp.&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;E: 83484 [DMG]Error retrieving data from clusterId: 0x0000_001D, err = b
.....
E: 83021 [DMG]Error retrieving data from clusterId: 0x0000_003E, err = b
......
E: 55885 [DMG]Error retrieving data from clusterId: 0x0000_0028, err = b
..........&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;nbsp;found that error &amp;quot;b&amp;quot; in CHIPError.h means &amp;quot;&amp;nbsp;&lt;/span&gt;The attempt to allocate a buffer or object failed due to a lack of memory&amp;quot;.&amp;nbsp;&amp;nbsp;&lt;span&gt;Although I have increased CONFIG_CHIP_MALLOC_SYS_HEAP_SIZE, the issue still persists in every pairing attempt.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/469918?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2024 01:33:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:63b27db0-5ba0-44c6-838a-800d8cdf3de7</guid><dc:creator>EthanZhao</dc:creator><description>&lt;p&gt;Hi Maria,&lt;/p&gt;
&lt;p&gt;Thanks for your replay. In this product,I need two generic switch.&lt;br /&gt;I&amp;#39;ve been used zap tool to add fixed label cluster in each generic switch endpoint and&amp;nbsp;&lt;span&gt;modified&lt;/span&gt; the hard-coded part in DeviceInfoProviderImpl.cpp like&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;bool DeviceInfoProviderImpl::FixedLabelIteratorImpl::Next(FixedLabelType &amp;amp; output)
{
    bool retval = true;

    // A hardcoded list for testing only
    CHIP_ERROR err = CHIP_NO_ERROR;

    const char * labelPtr = nullptr;
    const char * valuePtr = nullptr;

    VerifyOrReturnError(mIndex &amp;lt; 2, false);

    ChipLogProgress(DeviceLayer, &amp;quot;Get the fixed label with index:%u at endpoint:%d&amp;quot;, static_cast&amp;lt;unsigned&amp;gt;(mIndex), mEndpoint);


    switch(mEndpoint)
    {
    case 0:
        printf(&amp;quot;mIndex case 0\n&amp;quot;);
        labelPtr = &amp;quot;room&amp;quot;;
        valuePtr = &amp;quot;bedroom 2&amp;quot;;
        break;
    case 1:
        printf(&amp;quot;mIndex case 1\n&amp;quot;);
        labelPtr = &amp;quot;orientation&amp;quot;;
        valuePtr = &amp;quot;North&amp;quot;;
        break;
    case 2:
        printf(&amp;quot;mIndex case 2\n&amp;quot;);
        labelPtr = &amp;quot;floor&amp;quot;;
        valuePtr = &amp;quot;2&amp;quot;;
        break;
    case 3:
        printf(&amp;quot;mIndex case 3\n&amp;quot;);
        labelPtr = &amp;quot;direction&amp;quot;;
        valuePtr = &amp;quot;up&amp;quot;;
        break;
    default:
        err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND;
        break;
    }

    if (err == CHIP_NO_ERROR)
    {
        VerifyOrReturnError(std::strlen(labelPtr) &amp;lt;= kMaxLabelNameLength, false);
        VerifyOrReturnError(std::strlen(valuePtr) &amp;lt;= kMaxLabelValueLength, false);

        Platform::CopyString(mFixedLabelNameBuf, kMaxLabelNameLength + 1, labelPtr);
        Platform::CopyString(mFixedLabelValueBuf, kMaxLabelValueLength + 1, valuePtr);

        output.label = CharSpan::fromCharString(mFixedLabelNameBuf);
        output.value = CharSpan::fromCharString(mFixedLabelValueBuf);

        mIndex++;

        retval = true;
    }
    else
    {
        retval = false;
    }

    return retval;
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I utilized &lt;span style="font-family:monospace;"&gt;mEndpoint&lt;/span&gt;&amp;nbsp;to assign distinct labels for different endpoints. However, upon pairing this device with HomeApp, I&amp;#39;m observing that only a single generic label is displayed.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Any suggertion?&lt;br /&gt;&lt;br /&gt;Thanks~&lt;br /&gt;Ethan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/469866?ContentTypeID=1</link><pubDate>Tue, 20 Feb 2024 15:55:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:16f7e1f2-1e62-469c-962d-cf9cc94b18b3</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m starting out with a clarification: FixedLabel is a cluster which has LabelList as an attribute.&lt;/p&gt;
&lt;p&gt;The usage is as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Every Generic Switch requires a FixedLabel cluster server. This can be enabled for the Generic Switch application through ZAP tool (&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.2/nrf/protocols/matter/getting_started/adding_clusters.html"&gt;Adding clusters guide&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;The LabelList for each endpoint needs to be filled by the manufacturer and the contents should be specific to each switch. The format of the LabelList is a struct where its entry/entries has a label and a value.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For code reference for the FixedLabel cluster, please see &lt;a href="https://github.com/nrfconnect/sdk-connectedhomeip/blob/v2.4.2/src/app/clusters/fixed-label-server/fixed-label-server.cpp"&gt;the source code for the FixedLabel cluster (server)&lt;/a&gt; for the implementation. You can find an example for using the LabelList in &lt;a href="https://github.com/nrfconnect/sdk-connectedhomeip/blob/ed68b724d6a6f5ac1ad66b0328bbcf28edf25b6c/examples/providers/DeviceInfoProviderImpl.cpp#L61"&gt;DeviceInfoProviderImpl.cpp&lt;/a&gt; in the provider examples. Note that the implementation has a hard-coded LabelList and is meant for testing only.&lt;/p&gt;
&lt;p&gt;In the Matter test suite for certification where is an &lt;a href="https://github.com/nrfconnect/sdk-connectedhomeip/blob/v2.4.2/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml#L481-L518"&gt;example for how the TH writes to an attribute in the UserLabel cluster&lt;/a&gt;, which also applies to the FixedLabel cluster for a Generic Switch.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/468918?ContentTypeID=1</link><pubDate>Thu, 15 Feb 2024 01:37:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e275183-211f-420d-a8e7-cc3a89226a82</guid><dc:creator>EthanZhao</dc:creator><description>&lt;p&gt;Hi Maria,&lt;/p&gt;
&lt;p&gt;Could you please provide an example that demonstrates how to use the Label cluster and Fixlabel cluster in a multi-generic switch? I would like to reference it for guidance.&lt;br /&gt;&lt;br /&gt;Thanks~&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/468387?ContentTypeID=1</link><pubDate>Mon, 12 Feb 2024 11:30:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:10290e76-77fa-4421-adba-c4ff5892c71d</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Thank you for your patience. Yes, the FixedLabel cluster is required for generic switches in NCS v2.4.2&lt;/p&gt;
&lt;p&gt;Best regards,.&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/468176?ContentTypeID=1</link><pubDate>Fri, 09 Feb 2024 09:35:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f33af04f-d4c2-44c7-9e2d-8775c9de2181</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Sorry for delays Ethan, Maria is away and will be back on Monday. She will write to you then. Thanks for your patience so far&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/467665?ContentTypeID=1</link><pubDate>Tue, 06 Feb 2024 02:34:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ec87cf1-4712-46ca-8dcf-a614edd953fb</guid><dc:creator>EthanZhao</dc:creator><description>&lt;p&gt;Hi Maria,&lt;br /&gt;Thanks for your replay~&amp;nbsp;&lt;span&gt;So if I want to implement a multi-generic switch, does that mean I need to enable the Fixed Label cluster in each generic switch endpoint?&lt;br /&gt;&lt;br /&gt;Thanks~&lt;br /&gt;Ethan&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Multi-Generic Switch in Matter</title><link>https://devzone.nordicsemi.com/thread/467554?ContentTypeID=1</link><pubDate>Mon, 05 Feb 2024 12:05:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b06a3025-f74c-45c1-b6da-cd8b660af0c9</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You are referring to conflicting versions for NCS and Matter. NCS v2.4.2 uses Matter v1.1 and there were some changes in the Label-/TagList in Matter 1.2.&lt;/p&gt;
&lt;p&gt;Matter 1.1 has a requirement for the FixedLabel cluster on a Generic Switch device. The FixedLabel cluster has a LabelList which is the equivalent for the TagList in Matter 1.2. See Chapter 6.6.4 in Matter Device Library v1.1 for more.&lt;/p&gt;
&lt;p&gt;For future reference, the Matter versions for each NCS version is listed &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/matter/index.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>