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.

37 lines 1.69 kB
import { DeviceTypeDefinition, MatterbridgeEndpoint } from 'matterbridge'; import { AtLeastOne } 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 DeviceBasicInformationOptions { uniqueId: string; hardwareVersion?: string; manufacturingDate?: string; nodeLabel?: string; partNumber?: string; productAppearance?: BasicInformation.ProductAppearance; productId?: number; productLabel?: string; productName?: string; productUrl?: string; serialNumber?: string; softwareVersion?: string; vendorId?: number; vendorName?: string; } export interface EndpointOptionsBase { uniqueStorageKey: string; matterbridgeDeviceName: string; deviceBasicInformation: DeviceBasicInformationOptions; } export type EndpointLike = Pick<EndpointBase, 'behaviors' | 'log' | 'triggerEvent' | 'updateAttribute' | 'changed'>; export declare class EndpointBase extends MatterbridgeEndpoint { readonly config: Config; changed: Changed; constructor(log: AnsiLogger, config: Config, options: EndpointOptionsBase, definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>); createBridgedDeviceBasicInformationClusterServer(options: DeviceBasicInformationOptions): 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