UNPKG

iobroker.alexa-timer-vis

Version:
123 lines (122 loc) 4.96 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var main_exports = {}; __export(main_exports, { adapter: () => adapter, default: () => AlexaTimerVis }); module.exports = __toCommonJS(main_exports); var utils = __toESM(require("@iobroker/adapter-core")); var import_logging = require("./lib/logging"); var import_reset = require("./app/reset"); var import_timer_data = require("./config/timer-data"); var import_timer = require("./app/timer"); var import_store = __toESM(require("./app/store")); var import_write_state = require("./app/write-state"); var import_ioBrokerStateAndObjects = require("./app/ioBrokerStateAndObjects"); var import_subscribeStates = require("./app/subscribeStates"); let timeout_1; class AlexaTimerVis extends utils.Adapter { static instance; /** * @param [options] - See {@link */ constructor(options = {}) { super({ ...options, name: "alexa-timer-vis" }); this.on("ready", this.onReady.bind(this)); this.on("unload", this.onUnload.bind(this)); AlexaTimerVis.instance = this; } async onReady() { var _a; try { if (this.adapterConfig && "_id" in this.adapterConfig) { import_store.default.init({ adapter: this, alexaTimerVisInstance: (_a = this.adapterConfig) == null ? void 0 : _a._id.replace("system.adapter.", ""), ...this.config }); } else { return; } import_logging.errorLogger.init(); await (0, import_ioBrokerStateAndObjects.initStateCreation)(); this.log.info("AlexaTimer states have been created"); await this.setState("info.connection", true, true); import_timer_data.obj.timers.timer1 = new import_timer.Timer({ store: import_store.default }); import_timer_data.obj.timers.timer2 = new import_timer.Timer({ store: import_store.default }); import_timer_data.obj.timers.timer3 = new import_timer.Timer({ store: import_store.default }); import_timer_data.obj.timers.timer4 = new import_timer.Timer({ store: import_store.default }); await (0, import_subscribeStates.subscribeActiveTimerListStates)(); await (0, import_reset.resetAllTimerValuesAndStateValues)(); this.on("stateChange", async (id, state) => { await import_store.default.activeTimeListChangedHandler(id, state); if ((0, import_ioBrokerStateAndObjects.isAlexaTimerVisResetButton)(state, id)) { const timer = (0, import_timer.getTimerByIndex)((0, import_ioBrokerStateAndObjects.getIndexFromId)(id)); if (timer) { await timer.stopTimerInAlexa(); } } }); } catch (e) { import_logging.errorLogger.send({ title: "OnReady", e }); } } async onUnload(callback) { try { this.log.info("Adapter shuts down"); await (0, import_write_state.writeStates)({ reset: true }); this.clearTimeout(timeout_1); this.clearInterval(import_store.default.writeStateInterval); import_store.default.clearTimeouts(); for (const element in import_timer_data.obj.interval) { this.clearInterval(import_timer_data.obj.interval[element]); } this.log.debug("Intervals and timeouts cleared!"); callback(); } catch (e) { import_logging.errorLogger.send({ title: "Error in onUnload", e }); callback(); } } } let adapter; if (require.main !== module) { adapter = (options) => new AlexaTimerVis(options); } else { (() => new AlexaTimerVis())(); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { adapter }); //# sourceMappingURL=main.js.map