UNPKG

homebridge-izone-airconditioner

Version:
62 lines (60 loc) 3.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _api = _interopRequireDefault(require("./api")); var _currentHeaterCoolerState = require("./handlers/currentHeaterCoolerState"); var _targetHeaterCoolerState = require("./handlers/targetHeaterCoolerState"); var _currentTemperature = require("./handlers/currentTemperature"); var _rotationSpeed = require("./handlers/rotationSpeed"); var _active = require("./handlers/active"); var _heatingThreshold = require("./handlers/heatingThreshold"); var _coolingThreshold = require("./handlers/coolingThreshold"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } // handlers function _default(homebridge) { var Service = homebridge.hap.Service; var Characteristic = homebridge.hap.Characteristic; var Thermostat = function Thermostat(log, config) { log('config', config); var service = new Service.HeaterCooler(config.name); var apiClient = (0, _api["default"])(config.url); var getName = function getName(callback) { log('getName'); var value = config.name; callback(null, value); }; return { getServices: function getServices() { var informationService = new Service.AccessoryInformation(); informationService.setCharacteristic(Characteristic.Manufacturer, 'iZone').setCharacteristic(Characteristic.Model, '-').setCharacteristic(Characteristic.SerialNumber, '-'); service.getCharacteristic(Characteristic.Active).on('get', (0, _active.get)(apiClient, log)).on('set', (0, _active.set)(apiClient, log)); service.getCharacteristic(Characteristic.CurrentHeaterCoolerState).on('get', (0, _currentHeaterCoolerState.get)(apiClient, log, Characteristic)); service.getCharacteristic(Characteristic.TargetHeaterCoolerState).on('get', (0, _targetHeaterCoolerState.get)(apiClient, log, Characteristic)).on('set', (0, _targetHeaterCoolerState.set)(apiClient, log, Characteristic)); service.getCharacteristic(Characteristic.CurrentTemperature).setProps({ minStep: 0.1 }).on('get', config.reportSetpointAsCurrentTemperature ? (0, _coolingThreshold.get)(apiClient, log) : (0, _currentTemperature.get)(apiClient, log)); service.getCharacteristic(Characteristic.CoolingThresholdTemperature).setProps({ minValue: 15, maxValue: 30, minStep: 1.0 }).on('get', (0, _coolingThreshold.get)(apiClient, log)).on('set', (0, _coolingThreshold.set)(apiClient, log)); service.getCharacteristic(Characteristic.HeatingThresholdTemperature).setProps({ minValue: 15, maxValue: 30, minStep: 1.0 }).on('get', (0, _heatingThreshold.get)(apiClient, log)).on('set', (0, _heatingThreshold.set)(apiClient, log)); service.getCharacteristic(Characteristic.RotationSpeed).setProps({ minStep: 25, minValue: 0, maxValue: 100 }).on('get', (0, _rotationSpeed.get)(apiClient, log)).on('set', (0, _rotationSpeed.set)(apiClient, log)); service.getCharacteristic(Characteristic.Name).on('get', getName); return [informationService, service]; } }; }; homebridge.registerAccessory('homebridge-izone-airconditioner', 'iZone Air Conditioner', Thermostat); } //# sourceMappingURL=index.js.map