The Power Topology Cluster provides a mechanism for expressing how power is flowing between endpoints.

Per the Matter specification you cannot use PowerTopologyCluster without enabling certain feature combinations. You must use the with factory method to obtain a working cluster.

MatterSpecification.v13.Core § 11.8

interface Cluster {
    id: ClusterId;
    name: string;
    with: (<const SelectionT>(...selection: SelectionT) => Of<Of<{
        extensions: readonly [{
            component: {
                attributes: {
                    availableEndpoints: FixedAttribute<EndpointNumber[], any>;
                };
            };
            flags: {
                setTopology: true;
            };
        }, {
            component: {
                attributes: {
                    activeEndpoints: Attribute<EndpointNumber[], any>;
                };
            };
            flags: {
                dynamicPowerFlow: true;
            };
        }, {
            component: false;
            flags: {
                dynamicPowerFlow: true;
                setTopology: false;
            };
        }, {
            component: false;
            flags: {
                nodeTopology: true;
                treeTopology: true;
            };
        }, {
            component: false;
            flags: {
                nodeTopology: true;
                setTopology: true;
            };
        }, {
            component: false;
            flags: {
                setTopology: true;
                treeTopology: true;
            };
        }, {
            component: false;
            flags: {
                nodeTopology: false;
                setTopology: false;
                treeTopology: false;
            };
        }];
        features: {
            dynamicPowerFlow: BitFlag;
            nodeTopology: BitFlag;
            setTopology: BitFlag;
            treeTopology: BitFlag;
        };
        id: 156;
        name: "PowerTopology";
        revision: 1;
    }>, SelectionT>);
}

Hierarchy (view full)

Properties

Properties

name: string
with: (<const SelectionT>(...selection: SelectionT) => Of<Of<{
    extensions: readonly [{
        component: {
            attributes: {
                availableEndpoints: FixedAttribute<EndpointNumber[], any>;
            };
        };
        flags: {
            setTopology: true;
        };
    }, {
        component: {
            attributes: {
                activeEndpoints: Attribute<EndpointNumber[], any>;
            };
        };
        flags: {
            dynamicPowerFlow: true;
        };
    }, {
        component: false;
        flags: {
            dynamicPowerFlow: true;
            setTopology: false;
        };
    }, {
        component: false;
        flags: {
            nodeTopology: true;
            treeTopology: true;
        };
    }, {
        component: false;
        flags: {
            nodeTopology: true;
            setTopology: true;
        };
    }, {
        component: false;
        flags: {
            setTopology: true;
            treeTopology: true;
        };
    }, {
        component: false;
        flags: {
            nodeTopology: false;
            setTopology: false;
            treeTopology: false;
        };
    }];
    features: {
        dynamicPowerFlow: BitFlag;
        nodeTopology: BitFlag;
        setTopology: BitFlag;
        treeTopology: BitFlag;
    };
    id: 156;
    name: "PowerTopology";
    revision: 1;
}>, SelectionT>)

Type declaration

    • <const SelectionT>(...selection): Of<Of<{
          extensions: readonly [{
              component: {
                  attributes: {
                      availableEndpoints: FixedAttribute<EndpointNumber[], any>;
                  };
              };
              flags: {
                  setTopology: true;
              };
          }, {
              component: {
                  attributes: {
                      activeEndpoints: Attribute<EndpointNumber[], any>;
                  };
              };
              flags: {
                  dynamicPowerFlow: true;
              };
          }, {
              component: false;
              flags: {
                  dynamicPowerFlow: true;
                  setTopology: false;
              };
          }, {
              component: false;
              flags: {
                  nodeTopology: true;
                  treeTopology: true;
              };
          }, {
              component: false;
              flags: {
                  nodeTopology: true;
                  setTopology: true;
              };
          }, {
              component: false;
              flags: {
                  setTopology: true;
                  treeTopology: true;
              };
          }, {
              component: false;
              flags: {
                  nodeTopology: false;
                  setTopology: false;
                  treeTopology: false;
              };
          }];
          features: {
              dynamicPowerFlow: BitFlag;
              nodeTopology: BitFlag;
              setTopology: BitFlag;
              treeTopology: BitFlag;
          };
          id: 156;
          name: "PowerTopology";
          revision: 1;
      }>, SelectionT>
    • Select features using ClusterComposer.compose.

      Type Parameters

      • const SelectionT extends FeatureSelection<Of<{
            extensions: readonly [{
                component: {
                    attributes: {
                        availableEndpoints: FixedAttribute<EndpointNumber[], any>;
                    };
                };
                flags: {
                    setTopology: true;
                };
            }, {
                component: {
                    attributes: {
                        activeEndpoints: Attribute<EndpointNumber[], any>;
                    };
                };
                flags: {
                    dynamicPowerFlow: true;
                };
            }, {
                component: false;
                flags: {
                    dynamicPowerFlow: true;
                    setTopology: false;
                };
            }, {
                component: false;
                flags: {
                    nodeTopology: true;
                    treeTopology: true;
                };
            }, {
                component: false;
                flags: {
                    nodeTopology: true;
                    setTopology: true;
                };
            }, {
                component: false;
                flags: {
                    setTopology: true;
                    treeTopology: true;
                };
            }, {
                component: false;
                flags: {
                    nodeTopology: false;
                    setTopology: false;
                    treeTopology: false;
                };
            }];
            features: {
                dynamicPowerFlow: BitFlag;
                nodeTopology: BitFlag;
                setTopology: BitFlag;
                treeTopology: BitFlag;
            };
            id: 156;
            name: "PowerTopology";
            revision: 1;
        }>>

      Parameters

      Returns Of<Of<{
          extensions: readonly [{
              component: {
                  attributes: {
                      availableEndpoints: FixedAttribute<EndpointNumber[], any>;
                  };
              };
              flags: {
                  setTopology: true;
              };
          }, {
              component: {
                  attributes: {
                      activeEndpoints: Attribute<EndpointNumber[], any>;
                  };
              };
              flags: {
                  dynamicPowerFlow: true;
              };
          }, {
              component: false;
              flags: {
                  dynamicPowerFlow: true;
                  setTopology: false;
              };
          }, {
              component: false;
              flags: {
                  nodeTopology: true;
                  treeTopology: true;
              };
          }, {
              component: false;
              flags: {
                  nodeTopology: true;
                  setTopology: true;
              };
          }, {
              component: false;
              flags: {
                  setTopology: true;
                  treeTopology: true;
              };
          }, {
              component: false;
              flags: {
                  nodeTopology: false;
                  setTopology: false;
                  treeTopology: false;
              };
          }];
          features: {
              dynamicPowerFlow: BitFlag;
              nodeTopology: BitFlag;
              setTopology: BitFlag;
              treeTopology: BitFlag;
          };
          id: 156;
          name: "PowerTopology";
          revision: 1;
      }>, SelectionT>