UNPKG

matterbridge

Version:
166 lines 8.04 kB
import { TemperatureControl } from '@matter/main/clusters/temperature-control'; import { TemperatureControlServer } from '@matter/main/behaviors/temperature-control'; import { MaybePromise } from '@matter/main'; import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js'; /** * Creates a TemperatureControl Cluster Server with feature TemperatureLevel. * * @param {MatterbridgeEndpoint} endpoint - The Matterbridge endpoint instance. * @param {number} selectedTemperatureLevel - The selected temperature level as an index of the supportedTemperatureLevels array. Defaults to 1 (which corresponds to 'Warm'). * @param {string[]} supportedTemperatureLevels - The supported temperature levels. Defaults to ['Cold', 'Warm', 'Hot', '30°', '40°', '60°', '80°']. * * @returns {this} The current MatterbridgeEndpoint instance for chaining. */ export declare function createLevelTemperatureControlClusterServer(endpoint: MatterbridgeEndpoint, selectedTemperatureLevel?: number, supportedTemperatureLevels?: string[]): MatterbridgeEndpoint; /** * Creates a TemperatureControl Cluster Server with features TemperatureNumber and TemperatureStep. * * @param {MatterbridgeEndpoint} endpoint - The Matterbridge endpoint instance. * @param {number} temperatureSetpoint - The temperature setpoint * 100. Defaults to 40 * 100 (which corresponds to 40°C). * @param {number} minTemperature - The minimum temperature * 100. Defaults to 30 * 100 (which corresponds to 30°C). Fixed attribute. * @param {number} maxTemperature - The maximum temperature * 100. Defaults to 60 * 100 (which corresponds to 60°C). Fixed attribute. * @param {number} [step] - The step size for temperature changes. Defaults to 10 * 100 (which corresponds to 10°C). Fixed attribute. * * @returns {this} The current MatterbridgeEndpoint instance for chaining. */ export declare function createNumberTemperatureControlClusterServer(endpoint: MatterbridgeEndpoint, temperatureSetpoint?: number, minTemperature?: number, maxTemperature?: number, step?: number): MatterbridgeEndpoint; declare const MatterbridgeLevelTemperatureControlServer_base: import("@matter/main").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterType.Of<{ readonly id: 86; readonly name: "TemperatureControl"; readonly revision: 1; readonly features: { readonly temperatureNumber: import("@matter/types").BitFlag; readonly temperatureLevel: import("@matter/types").BitFlag; readonly temperatureStep: import("@matter/types").BitFlag; }; readonly commands: { readonly setTemperature: import("@matter/types").Command<import("@matter/types").TypeFromFields<{ targetTemperature: import("@matter/types").OptionalFieldType<number>; targetTemperatureLevel: import("@matter/types").OptionalFieldType<number>; }>, void, any>; }; readonly extensions: readonly [{ readonly flags: { readonly temperatureNumber: true; }; readonly component: { readonly attributes: { readonly temperatureSetpoint: import("@matter/types").Attribute<number, any>; readonly minTemperature: import("@matter/types").FixedAttribute<number, any>; readonly maxTemperature: import("@matter/types").FixedAttribute<number, any>; }; }; }, { readonly flags: { readonly temperatureStep: true; }; readonly component: { readonly attributes: { readonly step: import("@matter/types").FixedAttribute<number, any>; }; }; }, { readonly flags: { readonly temperatureLevel: true; }; readonly component: { readonly attributes: { readonly selectedTemperatureLevel: import("@matter/types").Attribute<number, any>; readonly supportedTemperatureLevels: import("@matter/types").Attribute<string[], any>; }; }; }, { readonly flags: { readonly temperatureStep: true; readonly temperatureNumber: false; }; readonly component: false; }, { readonly flags: { readonly temperatureNumber: true; readonly temperatureLevel: true; }; readonly component: false; }, { readonly flags: { readonly temperatureNumber: false; readonly temperatureLevel: false; }; readonly component: false; }]; }>, readonly [TemperatureControl.Feature.TemperatureLevel]>, typeof TemperatureControlServer, import("@matter/main/behaviors/temperature-control").TemperatureControlInterface>; export declare class MatterbridgeLevelTemperatureControlServer extends MatterbridgeLevelTemperatureControlServer_base { initialize(): void; setTemperature(request: TemperatureControl.SetTemperatureRequest): MaybePromise; } declare const MatterbridgeNumberTemperatureControlServer_base: import("@matter/main").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterType.Of<{ readonly id: 86; readonly name: "TemperatureControl"; readonly revision: 1; readonly features: { readonly temperatureNumber: import("@matter/types").BitFlag; readonly temperatureLevel: import("@matter/types").BitFlag; readonly temperatureStep: import("@matter/types").BitFlag; }; readonly commands: { readonly setTemperature: import("@matter/types").Command<import("@matter/types").TypeFromFields<{ targetTemperature: import("@matter/types").OptionalFieldType<number>; targetTemperatureLevel: import("@matter/types").OptionalFieldType<number>; }>, void, any>; }; readonly extensions: readonly [{ readonly flags: { readonly temperatureNumber: true; }; readonly component: { readonly attributes: { readonly temperatureSetpoint: import("@matter/types").Attribute<number, any>; readonly minTemperature: import("@matter/types").FixedAttribute<number, any>; readonly maxTemperature: import("@matter/types").FixedAttribute<number, any>; }; }; }, { readonly flags: { readonly temperatureStep: true; }; readonly component: { readonly attributes: { readonly step: import("@matter/types").FixedAttribute<number, any>; }; }; }, { readonly flags: { readonly temperatureLevel: true; }; readonly component: { readonly attributes: { readonly selectedTemperatureLevel: import("@matter/types").Attribute<number, any>; readonly supportedTemperatureLevels: import("@matter/types").Attribute<string[], any>; }; }; }, { readonly flags: { readonly temperatureStep: true; readonly temperatureNumber: false; }; readonly component: false; }, { readonly flags: { readonly temperatureNumber: true; readonly temperatureLevel: true; }; readonly component: false; }, { readonly flags: { readonly temperatureNumber: false; readonly temperatureLevel: false; }; readonly component: false; }]; }>, readonly [TemperatureControl.Feature.TemperatureNumber, TemperatureControl.Feature.TemperatureStep]>, typeof TemperatureControlServer, import("@matter/main/behaviors/temperature-control").TemperatureControlInterface>; export declare class MatterbridgeNumberTemperatureControlServer extends MatterbridgeNumberTemperatureControlServer_base { initialize(): void; setTemperature(request: TemperatureControl.SetTemperatureRequest): MaybePromise; } export {}; //# sourceMappingURL=temperatureControl.d.ts.map