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
TypeScript
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