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.

MatterSpecification.v13.Cluster § 8.13

interface Cluster {
    id: ClusterId;
    name: string;
    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>);
}

Hierarchy (view full)

Properties

Properties

name: string
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>
    • Select features using ClusterComposer.compose.

      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;
        }>>

      Parameters

      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>