UNPKG

iobroker.acinfinity

Version:
165 lines (148 loc) 4.91 kB
/** * Constants for AC Infinity adapter */ 'use strict'; // API constants // NOTE: The AC Infinity server does NOT support HTTPS. This is a limitation of the // AC Infinity infrastructure, not of this adapter. The same applies to the official // Home Assistant integration (dalinicus/homeassistant-acinfinity). const API_BASE_URL = 'http://www.acinfinityserver.com'; const API_ENDPOINTS = { LOGIN: '/api/user/appUserLogin', DEVICE_LIST: '/api/user/devInfoListAll', DEVICE_MODE_SETTINGS: '/api/dev/getdevModeSettingList', UPDATE_DEVICE_MODE: '/api/dev/addDevMode', DEVICE_SETTINGS: '/api/dev/getDevSetting', UPDATE_ADVANCED_SETTINGS: '/api/dev/updateAdvSetting', }; // Polling intervals const DEFAULT_POLLING_INTERVAL = 30; // seconds const MINIMUM_POLLING_INTERVAL = 10; // seconds // Controller property keys const CONTROLLER_PROPERTY_KEY = { DEVICE_ID: 'devId', DEVICE_NAME: 'devName', MAC_ADDR: 'devMacAddr', DEVICE_INFO: 'deviceInfo', PORTS: 'ports', HW_VERSION: 'hardwareVersion', SW_VERSION: 'firmwareVersion', DEVICE_TYPE: 'devType', TEMPERATURE: 'temperature', HUMIDITY: 'humidity', VPD: 'vpdnums', ONLINE: 'online', TIME_ZONE: 'zoneId', }; // Port property keys const PORT_PROPERTY_KEY = { PORT: 'port', NAME: 'portName', SPEAK: 'speak', ONLINE: 'online', STATE: 'loadState', REMAINING_TIME: 'remainTime', }; // Advanced settings keys const ADVANCED_SETTINGS_KEY = { DEV_ID: 'devId', DEV_NAME: 'devName', // Controller advanced settings TEMP_UNIT: 'devCompany', CALIBRATE_TEMP: 'devCt', CALIBRATE_TEMP_F: 'devCth', CALIBRATE_HUMIDITY: 'devCh', VPD_LEAF_TEMP_OFFSET: 'vpdCt', VPD_LEAF_TEMP_OFFSET_F: 'vpdCth', OUTSIDE_TEMP_COMPARE: 'tempCompare', OUTSIDE_HUMIDITY_COMPARE: 'humiCompare', // Port advanced settings DEVICE_LOAD_TYPE: 'loadType', DYNAMIC_RESPONSE_TYPE: 'isFlag', DYNAMIC_TRANSITION_TEMP: 'devTt', DYNAMIC_TRANSITION_TEMP_F: 'devTth', DYNAMIC_TRANSITION_HUMIDITY: 'devTh', DYNAMIC_TRANSITION_VPD: 'vpdTransition', DYNAMIC_BUFFER_TEMP: 'devBt', DYNAMIC_BUFFER_TEMP_F: 'devBth', DYNAMIC_BUFFER_HUMIDITY: 'devBh', DYNAMIC_BUFFER_VPD: 'devBvpd', SUNRISE_TIMER_ENABLED: 'onTimeSwitch', SUNRISE_TIMER_DURATION: 'onTime', }; // Port control keys const PORT_CONTROL_KEY = { DEV_ID: 'devId', MODE_SET_ID: 'modeSetid', SURPLUS: 'surplus', ON_SPEED: 'onSpead', OFF_SPEED: 'offSpead', AT_TYPE: 'atType', SCHEDULED_START_TIME: 'schedStartTime', SCHEDULED_END_TIME: 'schedEndtTime', TIMER_DURATION_TO_ON: 'acitveTimerOn', TIMER_DURATION_TO_OFF: 'acitveTimerOff', CYCLE_DURATION_ON: 'activeCycleOn', CYCLE_DURATION_OFF: 'activeCycleOff', VPD_SETTINGS_MODE: 'vpdSettingMode', VPD_HIGH_ENABLED: 'activeHtVpd', VPD_HIGH_TRIGGER: 'activeHtVpdNums', VPD_LOW_ENABLED: 'activeLtVpd', VPD_LOW_TRIGGER: 'activeLtVpdNums', VPD_TARGET_ENABLED: 'targetVpdSwitch', VPD_TARGET: 'targetVpd', AUTO_SETTINGS_MODE: 'settingMode', AUTO_TEMP_HIGH_TRIGGER: 'devHt', AUTO_TEMP_HIGH_TRIGGER_F: 'devHtf', AUTO_TEMP_HIGH_ENABLED: 'activeHt', AUTO_HUMIDITY_HIGH_TRIGGER: 'devHh', AUTO_HUMIDITY_HIGH_ENABLED: 'activeHh', AUTO_TEMP_LOW_TRIGGER: 'devLt', AUTO_TEMP_LOW_TRIGGER_F: 'devLtf', AUTO_TEMP_LOW_ENABLED: 'activeLt', AUTO_HUMIDITY_LOW_TRIGGER: 'devLh', AUTO_HUMIDITY_LOW_ENABLED: 'activeLh', AUTO_TARGET_TEMP_ENABLED: 'targetTSwitch', AUTO_TARGET_TEMP: 'targetTemp', AUTO_TARGET_TEMP_F: 'targetTempF', AUTO_TARGET_HUMIDITY_ENABLED: 'targetHumiSwitch', AUTO_TARGET_HUMIDITY: 'targetHumi', }; // Schedule related constants const SCHEDULE_DISABLED_VALUE = 65535; // Disabled const SCHEDULE_MIDNIGHT_VALUE = 0; // 12:00am, default for start time const SCHEDULE_EOD_VALUE = 1439; // 11:59pm, default for end time // Mode options const MODE_OPTIONS = ['Off', 'On', 'Auto', 'Timer to On', 'Timer to Off', 'Cycle', 'Schedule', 'VPD']; // Dynamic response options const DYNAMIC_RESPONSE_OPTIONS = ['Transition', 'Buffer']; // Outside climate options const OUTSIDE_CLIMATE_OPTIONS = ['Neutral', 'Lower', 'Higher']; // Device load type options const DEVICE_LOAD_TYPE_OPTIONS = { 1: 'Grow Light', 2: 'Humidifier', 4: 'Heater', 5: 'AC', 6: 'Fan', }; // Settings mode options const SETTINGS_MODE_OPTIONS = ['Auto', 'Target']; module.exports = { API_BASE_URL, API_ENDPOINTS, DEFAULT_POLLING_INTERVAL, MINIMUM_POLLING_INTERVAL, CONTROLLER_PROPERTY_KEY, PORT_PROPERTY_KEY, ADVANCED_SETTINGS_KEY, PORT_CONTROL_KEY, SCHEDULE_DISABLED_VALUE, SCHEDULE_MIDNIGHT_VALUE, SCHEDULE_EOD_VALUE, MODE_OPTIONS, DYNAMIC_RESPONSE_OPTIONS, OUTSIDE_CLIMATE_OPTIONS, DEVICE_LOAD_TYPE_OPTIONS, SETTINGS_MODE_OPTIONS, };