/// import { Module } from './commonTypes'; export interface DingzTemperatureData { success: boolean; temperature: number; } export interface DingzMotionData { success: boolean; motion: boolean; } export interface DingzLightData { success: boolean; intensity: number; state: 'night' | 'day'; } export interface DingzDeviceInputConfig { inputs: DingzInputInfoItem[]; } export interface DingzInputInfoItem { output: 1 | 2 | 3 | 4 | null; feedback: 'white' | 'red' | 'green' | 'blue'; feedback_intensity: number; active: boolean; } export interface DingzDevices { [mac: string]: DingzDeviceHWInfo; } export interface DingzDeviceHWInfo { type: 'dingz'; fw_version: string; hw_version: string; fw_version_puck: string; hw_version_puck: string; dip_config: 0 | 1 | 2 | 3; has_pir: boolean; puck_hw_model: string; front_hw_model: string; puck_sn: string; front_sn: string; } export interface DingzDeviceConfig { systemConfig: DingzDeviceSystemConfig; dimmerConfig: DingzDeviceDimmerConfig; windowCoveringConfig: DingzDeviceWindowCoveringConfig; buttonConfig: DingzButtonConfig; inputConfig: { inputs: DingzInputInfoItem[]; }; } export interface DingzDeviceSystemConfig { allow_reset: boolean; allow_wps: boolean; allow_reboot: boolean; broadcast_period: number; origin: boolean; token: string; upgrade_blink: boolean; reboot_blink: boolean; dingz_name: string; room_name: string; time: string; system_status: string; } export type DimmerId = 'D1' | 'D2' | 'D3' | 'D4'; export type DimmerIndex = 0 | 1 | 2 | 3; export type ModuleId = Module; export type ButtonId = Exclude; export type ButtonIndex = 0 | 1 | 2 | 3; export declare enum ButtonState { OFF = 0, ON = 1 } export interface DingzButtonConfig { buttons: ButtonConfigItem[]; } export interface ButtonConfigItem { name: string; } export interface DimmerState { on: boolean; output: number; ramp: number; disabled: boolean; index?: { relative: number; absolute: number; }; } export type DimmerProps = Record; export interface DingzLEDState { on: boolean; hsv: string; rgb: string; mode: 'rgb' | 'hsv'; hue: number; saturation: number; value: number; } export type DingzDimmerConfigValue = 'not_connected' | 'non_dimmable' | 'linear' | 'incandescent' | 'halogen' | 'led' | 'pulse' | 'ohmic'; export interface DingzDeviceDimmerConfig { dimmers: [ { output: DingzDimmerConfigValue; name: string; }, { output: DingzDimmerConfigValue; name: string; }, { output: DingzDimmerConfigValue; name: string; }, { output: DingzDimmerConfigValue; name: string; } ]; } export type DingzWindowCoveringCalibrationState = 'Initialised' | 'Not initialised' | 'Initialising' | 'Unknown'; export type DingzWindowCoveringType = 'lamella_90' | 'canvas'; export type WindowCoveringConfigIndex = 0 | 1; export type DingzWindowCoveringConfigItem = { auto_calibration: boolean; state: DingzWindowCoveringCalibrationState; invert_direction: boolean; lamella_time: number; shade_up_time: number; shade_down_time: number; type: DingzWindowCoveringType; min_value: number; max_value: number; name: string; }; export interface DingzDeviceWindowCoveringConfig { blinds: DingzWindowCoveringConfigItem[]; } export type WindowCoveringIndex = 0 | 1; export interface WindowCoveringPosition { blind: number; lamella: number; } export interface WindowCoveringState { target: WindowCoveringPosition; current: WindowCoveringPosition; } export interface WindowCoveringStates { moving: 'up' | 'down' | 'stop'; position: number; lamella: number; readonly: boolean; index?: { relative: number; absolute: number; }; } export type WindowCoveringProps = Record; export interface DingzState { dimmers: DimmerState[]; blinds: WindowCoveringStates[]; led: DingzLEDState; sensors: { brightness: number; light_state: 'night' | 'day'; room_temperature: number; uncompensated_temperature: number; cpu_temperature: number; puck_temperature: number; fet_temperature: number; person_present: 0 | 1; input_state: boolean; power_outputs: [ { value: number; }, { value: number; }, { value: number; }, { value: number; } ]; }; thermostat: { active: false; out: 0; on: false; enabled: true; target_temp: number; mode: string; temp: number; min_target_temp: number; max_target_temp: number; }; config: { timestamp: number; }; } export interface DimmerTimer { [id: string]: NodeJS.Timer; } export interface WindowCoveringTimer { [id: number]: NodeJS.Timer; } //# sourceMappingURL=dingzTypes.d.ts.map