UNPKG

matterbridge-dyson-robot

Version:

A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.

40 lines 1.86 kB
import { DeviceTypeDefinition, MatterbridgeEndpoint } from 'matterbridge'; import { AtLeastOne, ServerNode } from 'matterbridge/matter'; import { BasicInformation } from 'matterbridge/matter/clusters'; import { AnsiLogger } from 'matterbridge/logger'; import { Config } from './config-types.js'; import { Changed } from './decorator-changed.js'; export interface BasicInformationOptions { uniqueId: string; hardwareVersion?: string; nodeLabel: string; productId: number; productName: string; softwareVersion?: string; vendorId: number; vendorName: string; manufacturingDate?: string; partNumber?: string; productAppearance?: BasicInformation.ProductAppearance; productLabel?: string; productUrl?: string; serialNumber?: string; } export interface EndpointOptionsBase { uniqueStorageKey: string; matterbridgeDeviceName: string; basicInformation: BasicInformationOptions; } export type EndpointLike = Pick<EndpointBase, 'behaviors' | 'log' | 'triggerEvent' | 'updateAttribute' | 'changed'>; export declare class EndpointBase extends MatterbridgeEndpoint { readonly config: Config; readonly options: EndpointOptionsBase; changed: Changed; constructor(log: AnsiLogger, config: Config, options: EndpointOptionsBase, definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>); postRegister(): Promise<void>; patchBasicInformationClusterServer(serverNode: ServerNode, info: BasicInformationOptions): Promise<void>; createBridgedDeviceBasicInformationClusterServer(info: BasicInformationOptions): this; updateReachable(reachable: boolean): Promise<void>; } export declare function formatEnumLog<T extends Record<string, number | string>>(enumMap: T, value: T[keyof T] extends number ? T[keyof T] : never): string; //# sourceMappingURL=endpoint-base.d.ts.map