diff --git a/examples/all-devices-app/all-devices-common/device-factory/BUILD.gn b/examples/all-devices-app/all-devices-common/device-factory/BUILD.gn index c8e0b4c20f54..a9a20fed21e5 100644 --- a/examples/all-devices-app/all-devices-common/device-factory/BUILD.gn +++ b/examples/all-devices-app/all-devices-common/device-factory/BUILD.gn @@ -43,6 +43,7 @@ source_set("device-factory") { "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dimmable-light:logging", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dimmable-plug-in-unit", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dishwasher:emulated", + "${chip_root}/examples/all-devices-app/all-devices-common/device/types/doorbell", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/electrical-sensor:logging", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/extractor-hood", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/fan:logging", diff --git a/examples/all-devices-app/all-devices-common/device-factory/DeviceFactory.h b/examples/all-devices-app/all-devices-common/device-factory/DeviceFactory.h index 9c0e2c0c1279..27d456e5925b 100644 --- a/examples/all-devices-app/all-devices-common/device-factory/DeviceFactory.h +++ b/examples/all-devices-app/all-devices-common/device-factory/DeviceFactory.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -351,6 +352,14 @@ class DeviceFactory DimmableLoad::Config{ .levelControl = DimmableLoad::LevelControlConfig::CiPicsDefaults() }); }); } + if constexpr (ALL_DEVICES_ENABLE_DOORBELL) + { + RegisterCreator("doorbell", [this]() { + VerifyOrDie(mContext.has_value()); + return std::make_unique(mContext->timerDelegate, mContext->platformManager, mContext->bindingTable, + mContext->bindingManager); + }); + } if constexpr (ALL_DEVICES_ENABLE_MOUNTED_ON_OFF_CONTROL) { RegisterCreator("mounted-on-off-control", [this]() { diff --git a/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.cmake b/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.cmake index 92a86b65c793..617809097f05 100644 --- a/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.cmake +++ b/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.cmake @@ -55,6 +55,7 @@ set(ALL_DEVICES_DEVICE_SOURCES "${ALL_DEVICES_COMMON_DIR}/device/types/dimmable-plug-in-unit/DimmablePlugInUnit.cpp" "${ALL_DEVICES_COMMON_DIR}/device/types/dishwasher/Dishwasher.cpp" "${ALL_DEVICES_COMMON_DIR}/device/types/dishwasher/impl/EmulatedDishwasher.cpp" + "${ALL_DEVICES_COMMON_DIR}/device/types/doorbell/Doorbell.cpp" "${ALL_DEVICES_COMMON_DIR}/device/types/electrical-sensor/ElectricalSensor.cpp" "${ALL_DEVICES_COMMON_DIR}/device/types/electrical-sensor/impl/SimulatedElectricalSensor.cpp" "${ALL_DEVICES_COMMON_DIR}/device/types/electrical-sensor/impl/FakeReadings.cpp" @@ -178,6 +179,7 @@ foreach(_key dimmable-light dimmable-plug-in-unit dishwasher + doorbell electrical-sensor extractor-hood fan diff --git a/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.gni b/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.gni index 3c625713bceb..80008d6718fc 100644 --- a/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.gni +++ b/examples/all-devices-app/all-devices-common/device-factory/enabled_devices.gni @@ -102,6 +102,10 @@ _available_devices = [ "dishwasher", "DISHWASHER", ], + [ + "doorbell", + "DOORBELL", + ], [ "electrical-sensor", "ELECTRICAL_SENSOR", diff --git a/examples/all-devices-app/all-devices-common/device-factory/enabled_devices_config.h.in b/examples/all-devices-app/all-devices-common/device-factory/enabled_devices_config.h.in index 9923ff32b590..437893f85c1a 100644 --- a/examples/all-devices-app/all-devices-common/device-factory/enabled_devices_config.h.in +++ b/examples/all-devices-app/all-devices-common/device-factory/enabled_devices_config.h.in @@ -20,6 +20,7 @@ #cmakedefine01 ALL_DEVICES_ENABLE_DIMMABLE_LIGHT #cmakedefine01 ALL_DEVICES_ENABLE_DIMMABLE_PLUG_IN_UNIT #cmakedefine01 ALL_DEVICES_ENABLE_DISHWASHER +#cmakedefine01 ALL_DEVICES_ENABLE_DOORBELL #cmakedefine01 ALL_DEVICES_ENABLE_ELECTRICAL_SENSOR #cmakedefine01 ALL_DEVICES_ENABLE_EXTRACTOR_HOOD #cmakedefine01 ALL_DEVICES_ENABLE_FAN diff --git a/examples/all-devices-app/all-devices-common/device/types/doorbell/BUILD.gn b/examples/all-devices-app/all-devices-common/device/types/doorbell/BUILD.gn new file mode 100644 index 000000000000..f51f4451935e --- /dev/null +++ b/examples/all-devices-app/all-devices-common/device/types/doorbell/BUILD.gn @@ -0,0 +1,34 @@ +# Copyright (c) 2026 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") +import("//build_overrides/chip.gni") + +source_set("doorbell") { + sources = [ + "Doorbell.cpp", + "Doorbell.h", + ] + + public_deps = [ + "${chip_root}/examples/all-devices-app/all-devices-common/device/api:single-endpoint-device", + "${chip_root}/src/app/clusters/bindings", + "${chip_root}/src/app/clusters/identify-server", + "${chip_root}/src/app/clusters/switch-server", + "${chip_root}/src/data-model-providers/codedriven", + "${chip_root}/src/lib/core:error", + "${chip_root}/src/lib/support", + "${chip_root}/zzz_generated/app-common/devices/", + ] +} diff --git a/examples/all-devices-app/all-devices-common/device/types/doorbell/Doorbell.cpp b/examples/all-devices-app/all-devices-common/device/types/doorbell/Doorbell.cpp new file mode 100644 index 000000000000..0944c14a0d11 --- /dev/null +++ b/examples/all-devices-app/all-devices-common/device/types/doorbell/Doorbell.cpp @@ -0,0 +1,112 @@ +/* + * + * Copyright (c) 2026 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include +#include + +using namespace chip::app::Clusters; + +namespace chip { +namespace app { + +namespace { +const ClusterId kClientClusters[] = { Chime::Id }; +// Assuming a simple doorbell with two switch positions. +const uint8_t kSwitchNumberOfPositions = 2; +} // namespace + +Doorbell::Doorbell(TimerDelegate & timerDelegate, DeviceLayer::PlatformManager & platformManager, + Clusters::Binding::Table & bindingTable, Clusters::Binding::Manager & bindingManager) : + SingleEndpoint(Span(&Device::Type::kDoorbell, 1)), + mTimerDelegate(timerDelegate), mPlatformManager(platformManager), mBindingTable(bindingTable), mBindingManager(bindingManager) +{} + +CHIP_ERROR Doorbell::Register(chip::EndpointId endpoint, CodeDrivenDataModelProvider & provider, EndpointComposition composition) +{ + VerifyOrReturnError(mEndpointId == kInvalidEndpointId, CHIP_ERROR_INCORRECT_STATE); + DeviceRegistrationTransaction transaction(*this, provider); + + ReturnErrorOnFailure(RegisterDescriptor(endpoint, provider, composition)); + + mIdentifyCluster.Create(IdentifyCluster::Config(endpoint, mTimerDelegate)); + ReturnErrorOnFailure(provider.AddCluster(mIdentifyCluster.Registration())); + + mSwitchCluster.Create(endpoint, BitFlags(Switch::Feature::kMomentarySwitch), + SwitchCluster::StartupConfiguration{ .numberOfPositions = kSwitchNumberOfPositions }); + ReturnErrorOnFailure(provider.AddCluster(mSwitchCluster.Registration())); + + mBindingCluster.Create( + BindingCluster::Context{ + .bindingTable = mBindingTable, + .bindingManager = mBindingManager, + .platformManager = mPlatformManager, + }, + endpoint); + ReturnErrorOnFailure(provider.AddCluster(mBindingCluster.Registration())); + + ReturnErrorOnFailure(provider.AddEndpoint(mEndpointRegistration)); + + transaction.Commit(); + return CHIP_NO_ERROR; +} + +void Doorbell::Unregister(CodeDrivenDataModelProvider & provider) +{ + UnregisterDescriptor(provider); + if (mBindingCluster.IsConstructed()) + { + LogErrorOnFailure(provider.RemoveCluster(&mBindingCluster.Cluster())); + mBindingCluster.Destroy(); + } + if (mSwitchCluster.IsConstructed()) + { + LogErrorOnFailure(provider.RemoveCluster(&mSwitchCluster.Cluster())); + mSwitchCluster.Destroy(); + } + if (mIdentifyCluster.IsConstructed()) + { + LogErrorOnFailure(provider.RemoveCluster(&mIdentifyCluster.Cluster())); + mIdentifyCluster.Destroy(); + } +} + +CHIP_ERROR Doorbell::ClientClusters(ReadOnlyBufferBuilder & out) const +{ + return out.ReferenceExisting(Span(kClientClusters)); +} + +Clusters::SwitchCluster & Doorbell::SwitchCluster() +{ + VerifyOrDie(mSwitchCluster.IsConstructed()); + return mSwitchCluster.Cluster(); +} + +Clusters::IdentifyCluster & Doorbell::IdentifyCluster() +{ + VerifyOrDie(mIdentifyCluster.IsConstructed()); + return mIdentifyCluster.Cluster(); +} + +Clusters::BindingCluster & Doorbell::BindingCluster() +{ + VerifyOrDie(mBindingCluster.IsConstructed()); + return mBindingCluster.Cluster(); +} + +} // namespace app +} // namespace chip diff --git a/examples/all-devices-app/all-devices-common/device/types/doorbell/Doorbell.h b/examples/all-devices-app/all-devices-common/device/types/doorbell/Doorbell.h new file mode 100644 index 000000000000..576d1bb1d928 --- /dev/null +++ b/examples/all-devices-app/all-devices-common/device/types/doorbell/Doorbell.h @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2026 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace chip { +namespace app { + +class Doorbell : public SingleEndpoint +{ +public: + Doorbell(TimerDelegate & timerDelegate, DeviceLayer::PlatformManager & platformManager, Clusters::Binding::Table & bindingTable, + Clusters::Binding::Manager & bindingManager); + ~Doorbell() override = default; + + CHIP_ERROR Register(chip::EndpointId endpoint, CodeDrivenDataModelProvider & provider, + EndpointComposition composition = {}) override; + void Unregister(CodeDrivenDataModelProvider & provider) override; + + CHIP_ERROR ClientClusters(ReadOnlyBufferBuilder & out) const override; + + Clusters::IdentifyCluster & IdentifyCluster(); + Clusters::SwitchCluster & SwitchCluster(); + Clusters::BindingCluster & BindingCluster(); + +protected: + TimerDelegate & mTimerDelegate; + DeviceLayer::PlatformManager & mPlatformManager; + Clusters::Binding::Table & mBindingTable; + Clusters::Binding::Manager & mBindingManager; + LazyRegisteredServerCluster mIdentifyCluster; + LazyRegisteredServerCluster mSwitchCluster; + LazyRegisteredServerCluster mBindingCluster; +}; + +} // namespace app +} // namespace chip diff --git a/examples/all-devices-app/posix/BUILD.gn b/examples/all-devices-app/posix/BUILD.gn index 37a89fef1b60..69b27d664929 100644 --- a/examples/all-devices-app/posix/BUILD.gn +++ b/examples/all-devices-app/posix/BUILD.gn @@ -51,6 +51,7 @@ executable("all-devices-app") { "${chip_root}/examples/all-devices-app/all-devices-common/device/types/device-energy-management", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dimmable-plug-in-unit", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dishwasher", + "${chip_root}/examples/all-devices-app/all-devices-common/device/types/doorbell", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/electrical-sensor", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/extractor-hood", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/fan", diff --git a/examples/all-devices-app/silabs/BUILD.gn b/examples/all-devices-app/silabs/BUILD.gn index d11ee976f701..b3400d010e23 100644 --- a/examples/all-devices-app/silabs/BUILD.gn +++ b/examples/all-devices-app/silabs/BUILD.gn @@ -124,6 +124,7 @@ silabs_executable("all_devices_app") { "${chip_root}/examples/all-devices-app/all-devices-common/device/types/device-energy-management", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dimmable-light", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/dimmable-plug-in-unit", + "${chip_root}/examples/all-devices-app/all-devices-common/device/types/doorbell", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/electrical-sensor", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/extractor-hood", "${chip_root}/examples/all-devices-app/all-devices-common/device/types/generic-switch", diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index 007237bfc248..aef910b37b81 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -55,6 +55,7 @@ 'dimmable-light', 'dimmable-plug-in-unit', 'dishwasher', + 'doorbell', 'electrical-sensor', 'extractor-hood', 'fan', diff --git a/scripts/build/testdata/all_targets_linux_x64.txt b/scripts/build/testdata/all_targets_linux_x64.txt index 3b9473835a05..342fef3eba90 100644 --- a/scripts/build/testdata/all_targets_linux_x64.txt +++ b/scripts/build/testdata/all_targets_linux_x64.txt @@ -5,11 +5,11 @@ bouffalolab-{bl602-night-light,bl602dk,bl616cldk,bl616dk,bl704ldk,bl706-night-li cc32xx-{air-purifier,lock} ti-cc13x4_26x4-{lighting,lock,pump,pump-controller}[-ftd][-mtd] cyw30739-{cyw30739b2_p5_evk_01,cyw30739b2_p5_evk_02,cyw30739b2_p5_evk_03,cyw930739m2evb_01,cyw930739m2evb_02}-{light,light-switch,lock,thermostat} -efr32-{brd2605a,brd2703a,brd2704b,brd2708a,brd2911a,brd4186c,brd4187c,brd4316a,brd4317a,brd4318a,brd4319a,brd4338a,brd4342a,brd4343a}-{air-quality-sensor-app,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,closure,evse,light,lock,pump,smoke-co-alarm,switch,thermostat,unit-test,water-heater,window-covering}[-additional-data-advertising][-heap-monitoring][-icd][-ipv4][-low-power][-no-logging][-no-openthread-cli][-openthread-mtd][-rpc][-shell][-show-qr-code][-siwx917][-skip-rps-generation][-uart-log][-use-ot-coap-lib][-use-ot-lib][-wifi][-with-ota-requestor] -esp32-{c3devkit,devkitc,m5stack,p4functionev,qemu}-{all-clusters,all-clusters-minimal,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,bridge,energy-gateway,evse,light,lock,ota-provider,ota-requestor,shell,temperature-measurement,tests,water-heater}[-ipv6only][-rpc][-tracing] +efr32-{brd2605a,brd2703a,brd2704b,brd2708a,brd2911a,brd4186c,brd4187c,brd4316a,brd4317a,brd4318a,brd4319a,brd4338a,brd4342a,brd4343a}-{air-quality-sensor-app,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-doorbell,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,closure,evse,light,lock,pump,smoke-co-alarm,switch,thermostat,unit-test,water-heater,window-covering}[-additional-data-advertising][-heap-monitoring][-icd][-ipv4][-low-power][-no-logging][-no-openthread-cli][-openthread-mtd][-rpc][-shell][-show-qr-code][-siwx917][-skip-rps-generation][-uart-log][-use-ot-coap-lib][-use-ot-lib][-wifi][-with-ota-requestor] +esp32-{c3devkit,devkitc,m5stack,p4functionev,qemu}-{all-clusters,all-clusters-minimal,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-doorbell,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,bridge,energy-gateway,evse,light,lock,ota-provider,ota-requestor,shell,temperature-measurement,tests,water-heater}[-ipv6only][-rpc][-tracing] genio-lighting-app linux-fake-tests[-asan][-boringssl][-clang][-coverage][-dmalloc][-libfuzzer][-mbedtls][-ossfuzz][-psa][-pw-fuzztest][-tsan][-ubsan] -linux-{arm,arm64,x64}-{address-resolve-tool,air-purifier,air-quality-sensor,all-clusters,all-clusters-minimal,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,bridge,camera,camera-controller,chip-cert,chip-tool,closure,contact-sensor,dishwasher,electrical-protection,energy-gateway,evse,fabric-admin,fabric-bridge,fabric-sync,java-matter-controller,jf-admin-app,jf-control-app,kotlin-matter-controller,light,light-data-model-no-unique-id,lit-icd,lock,microwave-oven,minmdns,network-manager,ota-provider,ota-requestor,python-bindings,refrigerator,rpc-console,rvc,shell,simulated-app1,simulated-app2,terms-and-conditions,tests,thermostat,tv-app,tv-casting-app,water-heater,water-leak-detector}[-asan][-boringssl][-chip-casting-simplified][-clang][-coverage][-disable-dnssd-tests][-dmalloc][-enable-dnssd-tests][-endpoint-unique-id][-evse-test-event][-googletest][-ipv6only][-libfuzzer][-libnl][-mbedtls][-minmdns-verbose][-msan][-nfc-commission][-nlfaultinject][-no-ble][-no-groupcast][-no-interactive][-no-shell][-no-thread][-no-wifi][-no-wifipaf][-nodeps][-openthread-endpoint][-ossfuzz][-platform-mdns][-psa][-pw-fuzztest][-rpc][-same-event-loop][-terms-and-conditions][-test][-tsan][-ubsan][-unified][-webrtc][-with-ui] +linux-{arm,arm64,x64}-{address-resolve-tool,air-purifier,air-quality-sensor,all-clusters,all-clusters-minimal,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-doorbell,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,bridge,camera,camera-controller,chip-cert,chip-tool,closure,contact-sensor,dishwasher,electrical-protection,energy-gateway,evse,fabric-admin,fabric-bridge,fabric-sync,java-matter-controller,jf-admin-app,jf-control-app,kotlin-matter-controller,light,light-data-model-no-unique-id,lit-icd,lock,microwave-oven,minmdns,network-manager,ota-provider,ota-requestor,python-bindings,refrigerator,rpc-console,rvc,shell,simulated-app1,simulated-app2,terms-and-conditions,tests,thermostat,tv-app,tv-casting-app,water-heater,water-leak-detector}[-asan][-boringssl][-chip-casting-simplified][-clang][-coverage][-disable-dnssd-tests][-dmalloc][-enable-dnssd-tests][-endpoint-unique-id][-evse-test-event][-googletest][-ipv6only][-libfuzzer][-libnl][-mbedtls][-minmdns-verbose][-msan][-nfc-commission][-nlfaultinject][-no-ble][-no-groupcast][-no-interactive][-no-shell][-no-thread][-no-wifi][-no-wifipaf][-nodeps][-openthread-endpoint][-ossfuzz][-platform-mdns][-psa][-pw-fuzztest][-rpc][-same-event-loop][-terms-and-conditions][-test][-tsan][-ubsan][-unified][-webrtc][-with-ui] linux-x64-efr32-test-runner[-clang] imx-{all-clusters-app,all-clusters-minimal-app,chip-tool,lighting-app,ota-provider-app,thermostat}[-ele][-release][-trusty] infineon-psoc6-{all-clusters,all-clusters-minimal,light,lock}[-ota][-trustm][-updateimage] @@ -21,4 +21,4 @@ qpg-qpg6200-{light,light-switch,lock,persistent-storage,shell,thermostat}[-updat realtek-{rtl8777g,rtl87x2g}-{all-clusters,light-switch,lighting,lock,ota-requestor,thermostat,window} stm32-{stm32wb5mm-dk,stm32wba65i-dk1}-light tizen-{arm,arm64}-{all-clusters,chip-tool,light,tests}[-asan][-coverage][-no-ble][-no-thread][-no-wifi][-ubsan][-with-ui] -telink-{tl7218x,tl7218x_ml7g,tl7218x_ml7m,tl7218x_retention,tlsr9118bdk40d,tlsr9518adk80d,tlsr9528a,tlsr9528a_retention}-{air-quality-sensor,all-clusters,all-clusters-minimal,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,bridge,contact-sensor,light,light-switch,lock,ota-requestor,pump,pump-controller,shell,smoke-co-alarm,temperature-measurement,thermostat,window-covering}[-4mb][-compress-lzma][-concurrent-connection][-dfu-smp][-factory-data][-log-all][-log-error][-log-none][-log-progress][-mars][-nfc-payload][-ota][-precompiled-ot][-rpc][-shell][-tflm][-thread-analyzer][-usb] +telink-{tl7218x,tl7218x_ml7g,tl7218x_ml7m,tl7218x_retention,tlsr9118bdk40d,tlsr9518adk80d,tlsr9528a,tlsr9528a_retention}-{air-quality-sensor,all-clusters,all-clusters-minimal,all-devices,all-devices-aggregator,all-devices-air-purifier,all-devices-ambient-context-sensor,all-devices-bridged-node,all-devices-chime,all-devices-contact-sensor,all-devices-cooktop,all-devices-device-energy-management,all-devices-dimmable-light,all-devices-dimmable-plug-in-unit,all-devices-dishwasher,all-devices-doorbell,all-devices-electrical-sensor,all-devices-extractor-hood,all-devices-fan,all-devices-flow-sensor,all-devices-generic-switch,all-devices-humidity-sensor,all-devices-laundry-dryer,all-devices-laundry-washer,all-devices-light-sensor,all-devices-microwave-oven,all-devices-mode-select,all-devices-mounted-dimmable-load-control,all-devices-mounted-on-off-control,all-devices-occupancy-sensor,all-devices-on-off-light,all-devices-on-off-light-switch,all-devices-on-off-plug-in-unit,all-devices-oven,all-devices-power-source,all-devices-pressure-sensor,all-devices-proximity-ranger,all-devices-rain-sensor,all-devices-refrigerator,all-devices-robotic-vacuum-cleaner,all-devices-soil-sensor,all-devices-speaker,all-devices-temperature-sensor,all-devices-water-freeze-detector,all-devices-water-leak-detector,all-devices-water-valve,bridge,contact-sensor,light,light-switch,lock,ota-requestor,pump,pump-controller,shell,smoke-co-alarm,temperature-measurement,thermostat,window-covering}[-4mb][-compress-lzma][-concurrent-connection][-dfu-smp][-factory-data][-log-all][-log-error][-log-none][-log-progress][-mars][-nfc-payload][-ota][-precompiled-ot][-rpc][-shell][-tflm][-thread-analyzer][-usb]