/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/ import type { ClusterType, ClusterTyping } from "../cluster/ClusterType.js"; import type { ClusterId } from "../datatype/ClusterId.js"; import type { ClusterModel } from "@matter/model"; import type { MaybePromise } from "@matter/general"; /** * Definitions for the LowPower cluster. * * This cluster provides an interface for managing low power mode on a device. * * This cluster would be supported on an endpoint that represents a physical device with a low power mode. This cluster * provides a sleep() command to allow clients to manually put the device into low power mode. There is no command here * to wake up a sleeping device because that operation often involves other protocols such as Wake On LAN. Most devices * automatically enter low power mode based upon inactivity. * * The cluster server for Low Power is implemented by a device that supports a low power mode, such as a TV, Set-top * box, or Smart Speaker. * * > [!NOTE] * * > NOTE: We have considered a “DisableLowPowerMode” command but have not added it due to suspected issues with energy * consumption regulations. This can be added in the future. * * @see {@link MatterSpecification.v151.Cluster} § 1.11 */ export declare namespace LowPower { /** * The Matter protocol cluster identifier. */ export const id: ClusterId & 0x0508; /** * Textual cluster identifier. */ export const name: "LowPower"; /** * The cluster revision assigned by {@link MatterSpecification.v151.Cluster}. */ export const revision: 1; /** * Canonical metadata for the LowPower cluster. * * This is the exhaustive runtime metadata source that matter.js considers canonical. */ export const schema: ClusterModel; /** * {@link LowPower} always supports these elements. */ export interface BaseCommands { /** * This command shall put the device into low power mode. * * @see {@link MatterSpecification.v151.Cluster} § 1.11.4.1 */ sleep(): MaybePromise; } /** * Commands that may appear in {@link LowPower}. */ export interface Commands extends BaseCommands {} export type Components = [{ flags: {}, commands: BaseCommands }]; /** * Command metadata objects keyed by name. */ export const commands: ClusterType.CommandObjects; /** * @deprecated Use {@link LowPower}. */ export const Cluster: typeof LowPower; /** * @deprecated Use {@link LowPower}. */ export const Complete: typeof LowPower; export const Typing: LowPower; } /** * @deprecated Use {@link LowPower}. */ export declare const LowPowerCluster: typeof LowPower; export interface LowPower extends ClusterTyping { Commands: LowPower.Commands; Components: LowPower.Components; }