with with : ( < const SelectionT > ( ... selection : SelectionT ) => Of < Of < { attributes : { cookTime : Attribute < number , any > ; maxCookTime : FixedAttribute < number , any > ; wattRating : OptionalFixedAttribute < number , any > ; } ; commands : { addMoreTime : OptionalCommand < TypeFromFields < { timeToAdd : FieldType < number > ; } > , void , any > ; setCookingParameters : Command < TypeFromFields < { cookMode : OptionalFieldType < number > ; cookTime : OptionalFieldType < number > ; powerSetting : OptionalFieldType < number > ; startAfterSetting : OptionalFieldType < boolean > ; wattSettingIndex : OptionalFieldType < number > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { powerSetting : Attribute < number , any > ; } ; } ; flags : { powerAsNumber : true ; } ; } , { component : { attributes : { maxPower : FixedAttribute < number , any > ; minPower : FixedAttribute < number , any > ; powerStep : FixedAttribute < number , any > ; } ; } ; flags : { powerNumberLimits : true ; } ; } , { component : { attributes : { selectedWattIndex : Attribute < number , any > ; supportedWatts : FixedAttribute < number [] , any > ; } ; } ; flags : { powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerNumberLimits : true ; } ; } , { component : false ; flags : { powerAsNumber : true ; powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerInWatts : false ; } ; } ] ; features : { powerAsNumber : BitFlag ; powerInWatts : BitFlag ; powerNumberLimits : BitFlag ; } ; id : 95 ; name : "MicrowaveOvenControl" ; revision : 1 ; } > , SelectionT > ) Type declaration < const SelectionT > ( ... selection ) : Of < Of < { attributes : { cookTime : Attribute < number , any > ; maxCookTime : FixedAttribute < number , any > ; wattRating : OptionalFixedAttribute < number , any > ; } ; commands : { addMoreTime : OptionalCommand < TypeFromFields < { timeToAdd : FieldType < number > ; } > , void , any > ; setCookingParameters : Command < TypeFromFields < { cookMode : OptionalFieldType < number > ; cookTime : OptionalFieldType < number > ; powerSetting : OptionalFieldType < number > ; startAfterSetting : OptionalFieldType < boolean > ; wattSettingIndex : OptionalFieldType < number > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { powerSetting : Attribute < number , any > ; } ; } ; flags : { powerAsNumber : true ; } ; } , { component : { attributes : { maxPower : FixedAttribute < number , any > ; minPower : FixedAttribute < number , any > ; powerStep : FixedAttribute < number , any > ; } ; } ; flags : { powerNumberLimits : true ; } ; } , { component : { attributes : { selectedWattIndex : Attribute < number , any > ; supportedWatts : FixedAttribute < number [] , any > ; } ; } ; flags : { powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerNumberLimits : true ; } ; } , { component : false ; flags : { powerAsNumber : true ; powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerInWatts : false ; } ; } ] ; features : { powerAsNumber : BitFlag ; powerInWatts : BitFlag ; powerNumberLimits : BitFlag ; } ; id : 95 ; name : "MicrowaveOvenControl" ; revision : 1 ; } > , SelectionT > Type Parameters const SelectionT extends FeatureSelection < Of < { attributes : { cookTime : Attribute < number , any > ; maxCookTime : FixedAttribute < number , any > ; wattRating : OptionalFixedAttribute < number , any > ; } ; commands : { addMoreTime : OptionalCommand < TypeFromFields < { timeToAdd : FieldType < number > ; } > , void , any > ; setCookingParameters : Command < TypeFromFields < { cookMode : OptionalFieldType < number > ; cookTime : OptionalFieldType < number > ; powerSetting : OptionalFieldType < number > ; startAfterSetting : OptionalFieldType < boolean > ; wattSettingIndex : OptionalFieldType < number > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { powerSetting : Attribute < number , any > ; } ; } ; flags : { powerAsNumber : true ; } ; } , { component : { attributes : { maxPower : FixedAttribute < number , any > ; minPower : FixedAttribute < number , any > ; powerStep : FixedAttribute < number , any > ; } ; } ; flags : { powerNumberLimits : true ; } ; } , { component : { attributes : { selectedWattIndex : Attribute < number , any > ; supportedWatts : FixedAttribute < number [] , any > ; } ; } ; flags : { powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerNumberLimits : true ; } ; } , { component : false ; flags : { powerAsNumber : true ; powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerInWatts : false ; } ; } ] ; features : { powerAsNumber : BitFlag ; powerInWatts : BitFlag ; powerNumberLimits : BitFlag ; } ; id : 95 ; name : "MicrowaveOvenControl" ; revision : 1 ; } > > Returns Of < Of < { attributes : { cookTime : Attribute < number , any > ; maxCookTime : FixedAttribute < number , any > ; wattRating : OptionalFixedAttribute < number , any > ; } ; commands : { addMoreTime : OptionalCommand < TypeFromFields < { timeToAdd : FieldType < number > ; } > , void , any > ; setCookingParameters : Command < TypeFromFields < { cookMode : OptionalFieldType < number > ; cookTime : OptionalFieldType < number > ; powerSetting : OptionalFieldType < number > ; startAfterSetting : OptionalFieldType < boolean > ; wattSettingIndex : OptionalFieldType < number > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { powerSetting : Attribute < number , any > ; } ; } ; flags : { powerAsNumber : true ; } ; } , { component : { attributes : { maxPower : FixedAttribute < number , any > ; minPower : FixedAttribute < number , any > ; powerStep : FixedAttribute < number , any > ; } ; } ; flags : { powerNumberLimits : true ; } ; } , { component : { attributes : { selectedWattIndex : Attribute < number , any > ; supportedWatts : FixedAttribute < number [] , any > ; } ; } ; flags : { powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerNumberLimits : true ; } ; } , { component : false ; flags : { powerAsNumber : true ; powerInWatts : true ; } ; } , { component : false ; flags : { powerAsNumber : false ; powerInWatts : false ; } ; } ] ; features : { powerAsNumber : BitFlag ; powerInWatts : BitFlag ; powerNumberLimits : BitFlag ; } ; id : 95 ; name : "MicrowaveOvenControl" ; revision : 1 ; } > , SelectionT >
This cluster defines the requirements for the Microwave Oven Control cluster.
This cluster has dependencies with the Operational State and Microwave Oven Mode clusters. The Operational State cluster and the Microwave Oven Mode clusters, or derivatives of those clusters shall appear on the same endpoint as this cluster.
Per the Matter specification you cannot use MicrowaveOvenControlCluster without enabling certain feature combinations. You must use the with factory method to obtain a working cluster.
See
MatterSpecification.v13.Cluster § 8.13