UNPKG

homebridge-gira-client

Version:

Homebridge Plugin für Gira Homeserver 4 mit automatischer Geräteerkennung über IoT REST API

134 lines 3.44 kB
import { API, Logger, PlatformAccessory, PlatformConfig } from 'homebridge'; export interface GiraHomebridgeConfig extends PlatformConfig { name: string; host: string; port?: number; username: string; password: string; pollingInterval?: number; debugMode?: boolean; adminMode?: boolean; forceCompleteAccess?: boolean; alternativeClientId?: string; buildingStructure?: { useLocationHierarchy?: boolean; groupByFloor?: boolean; groupByBuilding?: boolean; customRoomMappings?: Record<string, string>; }; deviceFilters?: { includeRooms?: string[]; excludeRooms?: string[]; includeTypes?: string[]; excludeTypes?: string[]; includeTrades?: string[]; excludeTrades?: string[]; }; } export interface QuoadDevice { id: string; name: string; type: string; room?: string; location?: GiraLocation; trade?: string; functions: QuoadFunction[]; properties: Record<string, any>; } export interface GiraLocation { name: string; type: string; parent?: GiraLocation; children?: GiraLocation[]; path: string[]; } export interface QuoadFunction { id: string; name: string; type: QuoadFunctionType; value: any; writable: boolean; dataType: string; unit?: string; min?: number; max?: number; step?: number; options?: string[]; } export declare enum QuoadFunctionType { SWITCHING = "switching", DIMMING = "dimming", COLORED_LIGHT = "colored_light", TUNABLE_WHITE = "tunable_white", BLINDS = "blinds", TRIGGER = "trigger", PRESS_AND_HOLD = "press_and_hold", SCENE = "scene", HEATING = "heating", COOLING = "cooling", FAN_COIL = "fan_coil", SAUNA = "sauna", AUDIO = "audio", SONOS = "sonos", CAMERA = "camera", LINK = "link", BINARY_STATUS = "binary_status", UNSIGNED_STATUS = "unsigned_status", SIGNED_STATUS = "signed_status", FLOAT_STATUS = "float_status", TEXT_STATUS = "text_status", UNSIGNED_VALUE = "unsigned_value", SIGNED_VALUE = "signed_value", PERCENT_VALUE = "percent_value", TEMPERATURE_VALUE = "temperature_value", DECIMAL_VALUE = "decimal_value", TEMPERATURE = "temperature", HUMIDITY = "humidity", SENSOR = "sensor", WEATHER = "weather", ENERGY = "energy", UNKNOWN = "unknown" } export interface DeviceMapping { homebridgeService: string; characteristics: CharacteristicMapping[]; } export interface CharacteristicMapping { homebridgeCharacteristic: string; quoadFunction: string; converter?: (value: any) => any; reverseConverter?: (value: any) => any; } export interface PlatformContext { api: API; log: Logger; config: GiraHomebridgeConfig; accessories: Map<string, PlatformAccessory>; } export interface QuoadConnectionConfig { host: string; port: number; username: string; password: string; secure?: boolean; } export interface QuoadMessage { type: 'request' | 'response' | 'event'; id?: string; method?: string; params?: any; result?: any; error?: QuoadError; } export interface QuoadError { code: number; message: string; data?: any; } export interface DeviceUpdate { deviceId: string; functionId: string; value: any; timestamp: Date; } //# sourceMappingURL=types.d.ts.map