@@ -505,6 +505,36 @@ attribute_t *create_up_time(cluster_t *cluster, uint64_t value)
505
505
ATTRIBUTE_FLAG_MANAGED_INTERNALLY | ATTRIBUTE_FLAG_NONVOLATILE, esp_matter_uint64 (value));
506
506
}
507
507
508
+ attribute_t *create_total_operational_hours (cluster_t *cluster, uint32_t value)
509
+ {
510
+ return esp_matter::attribute::create (cluster, GeneralDiagnostics::Attributes::TotalOperationalHours::Id,
511
+ ATTRIBUTE_FLAG_NONVOLATILE, esp_matter_uint32 (value));
512
+ }
513
+
514
+ attribute_t *create_boot_reason (cluster_t *cluster, uint8_t value)
515
+ {
516
+ return esp_matter::attribute::create (cluster, GeneralDiagnostics::Attributes::BootReason::Id,
517
+ ATTRIBUTE_FLAG_NONE, esp_matter_enum8 (value));
518
+ }
519
+
520
+ attribute_t *create_active_hardware_faults (cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
521
+ {
522
+ return esp_matter::attribute::create (cluster, GeneralDiagnostics::Attributes::ActiveHardwareFaults::Id,
523
+ ATTRIBUTE_FLAG_NONE, esp_matter_array (value, length, count));
524
+ }
525
+
526
+ attribute_t *create_active_radio_faults (cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
527
+ {
528
+ return esp_matter::attribute::create (cluster, GeneralDiagnostics::Attributes::ActiveRadioFaults::Id,
529
+ ATTRIBUTE_FLAG_NONE, esp_matter_array (value, length, count));
530
+ }
531
+
532
+ attribute_t *create_active_network_faults (cluster_t *cluster, uint8_t *value, uint16_t length, uint16_t count)
533
+ {
534
+ return esp_matter::attribute::create (cluster, GeneralDiagnostics::Attributes::ActiveNetworkFaults::Id,
535
+ ATTRIBUTE_FLAG_NONE, esp_matter_array (value, length, count));
536
+ }
537
+
508
538
attribute_t *create_test_event_triggers_enabled (cluster_t *cluster, bool value)
509
539
{
510
540
return esp_matter::attribute::create (cluster, GeneralDiagnostics::Attributes::TestEventTriggersEnabled::Id,
0 commit comments