UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

167 lines (166 loc) 3.93 kB
export interface MatterConfig { port?: number; enabled?: boolean; externalsOnly?: boolean; } export interface BridgeHapConfig { enabled?: boolean; externalsOnly?: boolean; } export type MatterEvent = { type: 'accessoriesData'; correlationId?: string; data: MatterAccessoriesResponse; } | { type: 'accessoryUpdate'; correlationId?: string; data: MatterStateUpdate; } | { type: 'accessoryAdded'; correlationId?: string; data: MatterAccessoryInfo; } | { type: 'accessoryRemoved'; correlationId?: string; data: MatterAccessoryInfo; } | { type: 'accessoryControlResponse'; correlationId?: string; data: MatterControlResponse; } | { type: 'accessoryInfo'; correlationId?: string; data: MatterAccessoryInfo; } | { type: 'monitoringStarted'; correlationId?: string; data: MatterMonitoringAck; } | { type: 'monitoringStopped'; correlationId?: string; data: MatterMonitoringAck; }; export interface MatterMonitoringAck { success: boolean; alreadyActive?: boolean; alreadyStopped?: boolean; othersActive?: boolean; } export interface MatterAccessoriesResponse { accessories?: MatterAccessory[]; error?: string; } export interface MatterAccessory { uuid: string; displayName: string; deviceType: string; clusters: Record<string, Record<string, unknown>>; manufacturer?: string; model?: string; serialNumber?: string; firmwareRevision?: string; bridge?: { name?: string; username?: string; }; plugin?: string; platform?: string; commissioned?: boolean; fabricCount?: number; fabrics?: MatterFabric[]; parts?: MatterAccessoryPart[]; } export interface MatterAccessoryPart { id: string; displayName: string; deviceType: string; clusters: Record<string, Record<string, unknown>>; } export interface MatterAccessoryInfo extends MatterAccessory { error?: string; } export interface MatterService { uniqueId: string; uuid: string; serviceName: string; displayName: string; deviceType: string; clusters: Record<string, Record<string, unknown>>; partId?: string; protocol: 'matter'; instance: { name: string; username: string; }; accessoryInformation: { 'Name': string; 'Manufacturer': string; 'Model': string; 'Serial Number': string; 'Firmware Revision': string; }; bridge?: { name?: string; username?: string; }; plugin?: string; platform?: string; commissioned?: boolean; fabricCount?: number; fabrics?: MatterFabric[]; aid: 0; iid: 0; } export interface MatterStateUpdate { uuid: string; cluster: string; state: Record<string, unknown>; partId?: string; } export interface MatterFabric { fabricIndex: number; label?: string; vendorId?: number; fabricId?: string; nodeId?: string; } export interface MatterControlResponse { success: boolean; error?: string; } export interface MatterControlRequest { uniqueId: string; cluster: string; attributes: Record<string, unknown>; } export interface StoredMatterAccessory { uuid: string; displayName?: string; plugin?: string; manufacturer?: string; model?: string; serialNumber?: string; $deviceId?: string; $protocol?: 'matter'; [key: string]: unknown; } export interface HomebridgeStatusMatterUpdate { enabled: boolean; port?: number; setupUri?: string; pin?: string; serialNumber?: string; commissioned?: boolean; deviceCount?: number; externalsOnly?: boolean; } export interface NetworkOverviewEntry { service: string; port: number; protocol: string; bridge: string; status: string; matterPort?: number; commissioned?: boolean; deviceCount?: number; }