Skip to content

ESP32 Matter Arduino not resuming session #11378

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

Open
1 task done
theonlytechnohead opened this issue May 20, 2025 · 11 comments
Open
1 task done

ESP32 Matter Arduino not resuming session #11378

theonlytechnohead opened this issue May 20, 2025 · 11 comments
Assignees
Labels
Area: Matter Issues and Feature Request about Matter Protocol Status: Awaiting triage Issue is waiting for triage

Comments

@theonlytechnohead
Copy link

Board

ESP32 Dev Module

Device Description

Plain module connected with jumpers

Hardware Configuration

GPIO 12 & 13 are connected to LED strips with 60 SK6812 LEDs per strip
LEDs are powered externally

Version

v3.2.0

IDE Name

Arduino IDE

Operating System

Windows 10

Flash frequency

80 MHz

PSRAM enabled

no

Upload speed

921600

Description

Hello,
Thank you for such an excellent experience setting up a Matter device!
I followed the ColorLight example to get started, however when the device reboots, I see some errors in the console.
The errors seem to appear roughly when Matter.begin() or ColorLight.updateAccessory() is called.

The device also produces errors when responding to some commands sent by routines in the Google Home app:
(317140) chip[DMG]: Endpoint=1 Cluster=0x0000_0300 Command=0x0000_000A status 0x81 (no additional context)
The Google Home app reports that an action failed.

Please let me know if there's anything else I can do to help debug these issues!

Sketch

#include <Matter.h>
#include <WiFi.h>

const char *ssid = "ssid ";
const char *password = "password ";

MatterColorLight ColorLight;

#include <FastLED.h>

#define LEFT_PIN 12
#define RIGHT_PIN 13

#define NUM_LEDS 60

CRGB left[NUM_LEDS];
CRGB right[NUM_LEDS];

TaskHandle_t matterTask;

bool state = true;
espHsvColor_t colour = { 0, 0, 0 };
espHsvColor_t target = { 140, 254, 127 };

void setup() {
  Serial.begin(115200);

  FastLED.addLeds<WS2812, LEFT_PIN, GRB>(left, NUM_LEDS).setRgbw(RgbwDefault());
  FastLED.addLeds<WS2812, RIGHT_PIN, GRB>(right, NUM_LEDS).setRgbw(RgbwDefault());

  // clear to black
  set_all(CRGB::Black);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    centre_wipe(CRGB::Yellow);
    delay(500);
    centre_wipe(CRGB::Black);
  }

  ColorLight.begin(state, target);

  ColorLight.onChange(update);

  xTaskCreatePinnedToCore(
    matter,        // Function to implement the task
    "matterTask",  // Name of the task
    8192,          // Stack size in words (causes stack overflow (DUH!!!!) if too low
    NULL,          // Task input parameter
    0,             // Priority of the task, 0 is lowest
    &matterTask,   // Task handle
    0);            // Core where the task should run, code runs on core 1 by default
}

void matter(void *parameter) {
  Matter.begin();
  vTaskDelay(500);
  // this may be a restart of an already commissioned Matter accessory
  if (Matter.isDeviceCommissioned()) {
    while (!Matter.isDeviceConnected()) {
      vTaskDelay(500);
      centre_wipe(CRGB::Orange);
      vTaskDelay(500);
      centre_wipe(CRGB::Black);
    }
    // configure the light based on initial state and colour
    ColorLight.updateAccessory();
  }

  for (;;) {
    vTaskDelay(10);
    if (!Matter.isDeviceCommissioned()) {
      Serial.println("");
      Serial.println("Matter Node is not commissioned yet.");
      Serial.println("Initiate the device discovery in your Matter environment.");
      Serial.println("Commission it to your Matter hub with the manual pairing code or QR code");
      Serial.printf("Manual pairing code: %s\r\n", Matter.getManualPairingCode().c_str());
      Serial.printf("QR code URL: %s\r\n", Matter.getOnboardingQRCodeUrl().c_str());
      // wait for Matter Light Commissioning.
      uint32_t timeCount = 0;
      while (!Matter.isDeviceCommissioned()) {
        while (WiFi.status() != WL_CONNECTED) {
          vTaskDelay(500);
          centre_wipe(CRGB::Yellow);
          vTaskDelay(500);
          centre_wipe(CRGB::Black);
        }
        vTaskDelay(500);
        centre_wipe(CRGB::Blue);
        vTaskDelay(500);
        centre_wipe(CRGB::Black);
        if ((timeCount++ % 50) == 0) {  // 50*100ms = 5 sec
          Serial.println("Matter Node not commissioned yet. Waiting for commissioning.");
          Serial.printf("Manual pairing code: %s\r\n", Matter.getManualPairingCode().c_str());
          Serial.printf("QR code URL: %s\r\n", Matter.getOnboardingQRCodeUrl().c_str());
        }
      }
    }
  }
}

void loop() {
  if (colour.h != target.h || colour.s != target.s || colour.v != target.v) {
    colour = { target.h, target.s, target.v };
    set_all(CHSV(colour.h, colour.s, colour.v));
    Serial.printf("loop colour changed to hsv(%d, %d, %d)\n", colour.h, colour.s, colour.v);
  }
}

bool update(bool s, espHsvColor_t c) {
  if (state != s) {
    Serial.printf("update state changed to %s\n", s ? "ON" : "OFF");
    state = s;
    if (state && 1 < c.v)
      target = { c.h, c.s, c.v };
    if (!state) {
      target = { 0, 0, 0 };
    }
    return true;
  }
  if (colour.h != c.h || colour.s != c.s || colour.v != c.v) {
    Serial.printf("update colour changed to hsv(%d, %d, %d)\n", c.h, c.s, c.v);
    if (state && 1 < c.v)
      target = { c.h, c.s, c.v };
    else
      target = { 0, 0, 0 };
    return true;
  }
  // This callback must return the success state to Matter
  return true;
}

void set_all(CRGB c) {
  for (int i = 0; i < NUM_LEDS; i++) {
    left[i] = c;
    right[i] = c;
  }
  FastLED.show();
}

void centre_wipe(CRGB c) {
  for (int i = 0; i < NUM_LEDS; i++) {
    left[i] = c;
    right[i] = c;
    FastLED.show();
  }
}

Debug Message

E (11114) chip[DMG]: Endpoint 0, Cluster 0x0000_0031 not found in IncreaseClusterDataVersion!
E (11115) chip[DMG]: Endpoint 0, Cluster 0x0000_0031 not found in IncreaseClusterDataVersion!
update color changed to hsl(0, 0, 0)
E (12611) chip[IN]: SendMessage() to UDP:[REDACTED-IPV6-ADDRESS]:5540 failed: 3000004
E (12612) chip[-]: Error LwIP:0x03000004 at ./managed_components/espressif__esp_matter/connectedhomeip/connectedhomeip/src/app/OperationalSessionSetup.cpp:254
E (12623) chip[DMG]: Failed to establish CASE for subscription-resumption with error '3000004'
E (12648) chip[DMG]: Failed to establish CASE for subscription-resumption with error '3000004'

Other Steps to Reproduce

The device is provisioned within Google Home via a Google Nest Mini

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.
@theonlytechnohead theonlytechnohead added the Status: Awaiting triage Issue is waiting for triage label May 20, 2025
@SuGlider SuGlider self-assigned this May 20, 2025
@SuGlider SuGlider added the Area: Matter Issues and Feature Request about Matter Protocol label May 20, 2025
@SuGlider
Copy link
Collaborator

Endpoint=1 Cluster=0x0000_0300 Command=0x0000_000 is about the MatterColorLight Endpoint.
Cluster 0x0300 is ColorControl Cluster for Color Setting, suported by Google controller.
Command 0x0000 is MoveToHue command.
Status 0x81 is CHIP_ERROR_UNKNOWN_KEY_TYPE_FROM_PEER.

It was supposed to work fine.
Could you please set Debug Level to Verbose and report the log when the Google Routine tries to chane the light color?

@SuGlider
Copy link
Collaborator

When the device reboots, it may take some time to restabish the CASE session with the Google Matter Controller.

E (11114) chip[DMG]: Endpoint 0, Cluster 0x0000_0031 not found in IncreaseClusterDataVersion!
E (11115) chip[DMG]: Endpoint 0, Cluster 0x0000_0031 not found in IncreaseClusterDataVersion!
update color changed to hsl(0, 0, 0)
E (12611) chip[IN]: SendMessage() to UDP:[REDACTED-IPV6-ADDRESS]:5540 failed: 3000004
E (12612) chip[-]: Error LwIP:0x03000004 at ./managed_components/espressif__esp_matter/connectedhomeip/connectedhomeip/src/app/OperationalSessionSetup.cpp:254
E (12623) chip[DMG]: Failed to establish CASE for subscription-resumption with error '3000004'
E (12648) chip[DMG]: Failed to establish CASE for subscription-resumption with error '3000004'

It shall work after a couple minutes in the worst case.
If possible, reboot the ESP32 and wait for about 5 minutes.
In case it doesn't recover, please report the DEBUG logs for investigation.

@SuGlider
Copy link
Collaborator

Google Controller seems to demand some updating. Please make sure that the Google Device has its firmware in the latest version.

@Veletax
Copy link

Veletax commented May 24, 2025

Same issue and error message in my case with ESP32- C6 Dev Module with the example MatterColorLigth (using RGB in-builtin LED) and using Home Assistant. It seems error is not related to the hub.

@SuGlider
Copy link
Collaborator

@Veletax - When you say same error, what is the error message that you get?
There are a few chip[DMG}: messages that are ok, because those attributes are not mandatory.

But if the issue is about not restablishing the CASE session and the Matter Accessory is offline for long, this is an issue.

Please post the whole log output, description of the process to produce the issue and information about app/version/controller for good investigation.

@theonlytechnohead
Copy link
Author

Hi @SuGlider - thanks for taking interest in my issue!

My Google Nest Mini is running the latest firmware.

After looking through the verbose logs, I noticed that it takes much longer for the ESP32 to log that it has an IPv6 address, compared to IPv4.

I managed to rectify this by calling WiFi.enableIPv6(); right after WiFi.begin();, and accordingly waiting until both the link-local and global IPv6 addresses are resolved.

This reduces the startup errors down to:

Log ESP-IDF Version : v5.4.1-1-g2f7dcd862a-dirty Arduino Version : 3.2.0 ------------------------------------------ Board Info: ------------------------------------------ Arduino Board : ESP32_DEV Arduino Variant : esp32 Arduino FQBN : esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=min_spiffs,DebugLevel=verbose,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default ============ Before Setup End ============ [ 768][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 101 - WIFI_READY [ 843][V][STA.cpp:186] _onStaEvent(): STA Started [ 847][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 110 - STA_START [ 857][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 110 - STA_START [ 1732][V][STA.cpp:206] _onStaEvent(): STA Connected: SSID: <REDACTED>, BSSID: <REDACTED>, Channel: <REDACTED>, Auth: WPA3_PSK [ 1742][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 112 - STA_CONNECTED [ 1752][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 112 - STA_CONNECTED [ 1762][V][STA.cpp:127] _onStaArduinoEvent(): Enabled IPv6 Link Local on sta [ 3244][V][NetworkInterface.cpp:78] _onIpEvent(): sta Got New IP: 192.168.1.15 MASK: 255.255.255.0 GW: 192.168.1.1 [ 3255][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 115 - STA_GOT_IP [ 3264][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 115 - STA_GOT_IP [ 3274][V][STA.cpp:171] _onStaArduinoEvent(): STA IP: 192.168.1.15, MASK: 255.255.255.0, GW: 192.168.1.1 [ 3757][V][NetworkInterface.cpp:120] _onIpEvent(): IF sta Got IPv6: Interface: 0, IP Index: 0, Type: LINK_LOCAL, Zone: 2, Address: fe80:0000:0000:0000:3698:7aff:febb:b70c [ 3773][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 116 - STA_GOT_IP6 [ 3783][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 116 - STA_GOT_IP6 [ 4756][V][NetworkInterface.cpp:120] _onIpEvent(): IF sta Got IPv6: Interface: 0, IP Index: 1, Type: GLOBAL, Zone: 0, Address: <REDACTED> [ 4772][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 116 - STA_GOT_IP6 [ 4781][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 116 - STA_GOT_IP6 [ 5256][I][MatterColorLight.cpp:193] begin(): RGB Color Light created with endpoint_id 1 E (10657) chip[DMG]: Endpoint 0, Cluster 0x0000_0031 not found in IncreaseClusterDataVersion! E (10658) chip[DMG]: Endpoint 0, Cluster 0x0000_0031 not found in IncreaseClusterDataVersion! =========== After Setup Start ============ INTERNAL Memory Info: ------------------------------------------ Total Size : 276848 B ( 270.4 KB) Free Bytes : 154372 B ( 150.8 KB) Allocated Bytes : 107648 B ( 105.1 KB) Minimum Free Bytes: 151436 B ( 147.9 KB) Largest Free Block: 102388 B ( 100.0 KB) ------------------------------------------ GPIO Info: ------------------------------------------ GPIO : BUS_TYPE[bus/unit][chan] -------------------------------------- 1 : UART_TX[0] 3 : UART_RX[0] ============ After Setup End ============= [ 6755][V][NetworkInterface.cpp:120] _onIpEvent(): IF sta Got IPv6: Interface: 0, IP Index: 0, Type: LINK_LOCAL, Zone: 2, Address: fe80:0000:0000:0000:3698:7aff:febb:b70c [ 6771][V][NetworkEvents.cpp:117] _checkForEvent(): Network Event: 116 - STA_GOT_IP6 [ 6772][I][Matter.cpp:92] app_event_cb(): Interface IPV6 Address changed [ 6787][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 116 - STA_GOT_IP6

@theonlytechnohead
Copy link
Author

theonlytechnohead commented May 26, 2025

Even with verbose logging, the only message I get when running a routine in the Google Home app is:

[440706][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 1
[440718][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[440729][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 1, type: 1
[440744][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 1
[440758][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 1
[440770][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
E (446700) chip[DMG]: Endpoint=1 Cluster=0x0000_0300 Command=0x0000_000A status 0x81 (no additional context)

@theonlytechnohead
Copy link
Author

I can confirm that voice commands from my Google Nest Mini seem to be a good deal more reliable now, too!

@SuGlider
Copy link
Collaborator

@theonlytechnohead - Based on the results you are getting with Google Home, the issue is the the RGB Light gets commissioned, but it doesn't change its color or toggle on/off when you command it from the Google Home APP?

Could you please describe the issue from user experience view?
Thanks.

@theonlytechnohead
Copy link
Author

Using Google Home app to toggle on/off, change colour: works perfectly

Using Google Home app to trigger a routine that toggles on/off and changes colour: works, but I receive notification saying something went wrong

Using Google Nest Mini voice commands to toggle on/off and change colour: works perfectly

Using Google Nest Mini voice commands to start a routine that toggles on/off and changes colour: often says "___ offline" and doesn't work, sometimes says "___ offline" and does work

Using Google Nest Mini to automatically run routines (e.g. at a set time): usually works with no feedback or issues

I'll get the logs from each of these scenarios later today, though I think it'll be the status 0x81 (no additional context) error again

@theonlytechnohead
Copy link
Author

theonlytechnohead commented May 27, 2025

a) Using Google Home app to toggle on/off: ✅Logs:

[2556910][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 1
[2556922][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2556932][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 1, type: 136
[2556947][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 1
[2556959][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 1
[2556973][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[2556983][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 0
[2556997][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2557008][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 0, type: 1
[2557023][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 0
[2557037][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 0
[2557049][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[2557061][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 254
[2557074][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2557084][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 254, type: 136
[2557100][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 254
[2557111][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 254
[2557125][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE

Outcome: light turns off, no errors seen

b) Using Google Home app to trigger a routine that toggles on/off: ❌

Logs:

[2645785][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 1
[2645797][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2645807][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 1, type: 1
[2645822][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 1
[2645837][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 1
[2645849][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
E (2651186) chip[DMG]: Endpoint=1 Cluster=0x0000_0300 Command=0x0000_000A status 0x81 (no additional context)

Outcome: Light turns on, device logs an error, Google Home app notification says something went wrong with the device

c) Using Google Nest Mini voice commands to toggle on/off: ✅

Logs:

[2744815][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 1
[2744827][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2744838][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 1, type: 136
[2744853][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 1
[2744864][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 1
[2744878][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[2744889][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 0
[2744903][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2744913][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 0, type: 1
[2744928][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 0
[2744943][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 0
[2744955][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[2744967][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 254
[2744980][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2744990][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 254, type: 136
[2745006][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 254
[2745017][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 254
[2745031][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE

Outcome: light turns off, no errors seen

d) Using Google Nest Mini voice commands to trigger a routine that toggles on/off: ❌

Logs:

[2832666][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 1
[2832678][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[2832689][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 1, type: 1
[2832704][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 1
[2832719][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 1
[2832731][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
E (2838477) chip[DMG]: Endpoint=1 Cluster=0x0000_0300 Command=0x0000_000A status 0x81 (no additional context)

Outcome: Light turns on, Google Nest Mini says the device is offline

e) Using Google Nest Mini to automatically trigger a routine that toggles on/off: ✅

Logs:

[3047819][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 1
[3047831][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3047842][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 1, type: 136
[3047857][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 1
[3047868][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 1
[3047882][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3047893][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 0
[3047907][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3047917][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 0, type: 1
[3047932][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 0
[3047947][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 0
[3047959][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3047971][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 254
[3047984][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3047994][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 254, type: 136
[3048010][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 254
[3048021][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 254
[3048035][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE

Outcome: light turns off, no errors seen

f) Using Google Nest Mini to automatically trigger a routine that toggles on/off, changes colour, and changes brightness: ✅

Logs:

[3347948][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 1
[3347960][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3347970][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 1, type: 1
[3347985][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 1
[3348000][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 1
[3348012][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3348023][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 1
[3348037][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3348047][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 1, type: 136
[3348062][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 1
[3348074][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 1
[3348088][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3348107][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 768, attribute: 2, val: 2
[3348120][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3348130][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 768, attribute: 2, val: 2, type: 10
[3348146][I][MatterColorLight.cpp:130] attributeChangeCB(): Color Control Attribute ID [2] not processed.
[3348158][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 768, attribute: 2, val: 2
[3348171][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3348200][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 130
[3348212][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3348223][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 130, type: 136
[3348238][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 130
[3348249][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 130
[3348263][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3348284][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 768, attribute: 2, val: 1
[3348296][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3348306][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 768, attribute: 2, val: 1, type: 10
[3348322][I][MatterColorLight.cpp:130] attributeChangeCB(): Color Control Attribute ID [2] not processed.
[3348333][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 768, attribute: 2, val: 1
[3348348][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3348358][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 768, attribute: 0, val: 143
[3348373][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3348383][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 768, attribute: 0, val: 143, type: 8

Outcome: light turns on, changes colour and brightness, no errors seen

g) Using Google Home app to manually trigger a routine that toggles on/off, changes colour, and changes brightness: ✅

Logs:

[3455161][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 6, attribute: 0, val: 1
[3455173][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3455183][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 6, attribute: 0, val: 1, type: 1
[3455198][D][MatterColorLight.cpp:101] attributeChangeCB(): RGB Color Light On/Off State changed to 1
[3455213][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 6, attribute: 0, val: 1
[3455226][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3455236][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 1
[3455250][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3455260][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 1, type: 136
[3455275][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 1
[3455286][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 1
[3455301][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3455320][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 768, attribute: 2, val: 2
[3455333][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3455343][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 768, attribute: 2, val: 2, type: 10
[3455358][I][MatterColorLight.cpp:130] attributeChangeCB(): Color Control Attribute ID [2] not processed.
[3455370][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 768, attribute: 2, val: 2
[3455384][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3455411][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 8, attribute: 0, val: 130
[3455424][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3455434][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 8, attribute: 0, val: 130, type: 136
[3455450][D][MatterColorLight.cpp:115] attributeChangeCB(): RGB Color Light Brightness changed to 130
[3455461][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 8, attribute: 0, val: 130
[3455475][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3455495][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 768, attribute: 2, val: 1
[3455508][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3455518][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 768, attribute: 2, val: 1, type: 10
[3455533][I][MatterColorLight.cpp:130] attributeChangeCB(): Color Control Attribute ID [2] not processed.
[3455545][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 1, endpoint: 1, cluster: 768, attribute: 2, val: 1
[3455559][V][Matter.cpp:50] app_attribute_update_cb(): Attribute update callback: POST_UPDATE
[3455570][D][Matter.cpp:39] app_attribute_update_cb(): Attribute update callback: type: 0, endpoint: 1, cluster: 768, attribute: 0, val: 133
[3455584][V][Matter.cpp:44] app_attribute_update_cb(): Attribute update callback: PRE_UPDATE
[3455595][D][MatterColorLight.cpp:92] attributeChangeCB(): RGB Color Attr update callback: endpoint: 1, cluster: 768, attribute: 0, val: 133, type: 8
[3455610][D][MatterColorLight.cpp:135] attributeChangeCB(): RGB Light Hue changed to 133

Outcome: light turns on, changes colour and brightness, no errors seen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Matter Issues and Feature Request about Matter Protocol Status: Awaiting triage Issue is waiting for triage
Projects
None yet
Development

No branches or pull requests

3 participants