From 4d0b708e4a41edc0d9bb3766934fffb2f5ead386 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Fri, 25 May 2018 00:08:19 +0200 Subject: [PATCH] off --- dist/SwitchOffAdaptor.js | 22 +++++++++++++++++++ dist/main.js | 16 +++++++------- src/{SwitchAdaptor.ts => SwitchOffAdaptor.ts} | 19 +++------------- src/main.ts | 16 +++++++------- 4 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 dist/SwitchOffAdaptor.js rename src/{SwitchAdaptor.ts => SwitchOffAdaptor.ts} (50%) diff --git a/dist/SwitchOffAdaptor.js b/dist/SwitchOffAdaptor.js new file mode 100644 index 0000000..5312851 --- /dev/null +++ b/dist/SwitchOffAdaptor.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const AItem_1 = require("./AItem"); +const MqttDispatcher_1 = require("./MqttDispatcher"); +class SwitchOffAdaptor extends AItem_1.AItem { + constructor(floor, room, item) { + super(floor, room, item); + this.actionStateTopic = `${this.topicFirstPart}/state`; + this.inTopic = `${this.topicFirstPart}/in`; + this.subscribeTopics = [this.inTopic]; + } + getInTopic() { + return this.inTopic; + } + processMessage(topic, payload) { + if ((topic == this.inTopic) && (payload == 'SHORT')) { + MqttDispatcher_1.mqttHandler.send(this.actionStateTopic, 'OFF', true); + } + } +} +exports.SwitchOffAdaptor = SwitchOffAdaptor; +//# sourceMappingURL=SwitchOffAdaptor.js.map \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index 668511b..440085e 100644 --- a/dist/main.js +++ b/dist/main.js @@ -8,7 +8,7 @@ const M433SwitchItem_1 = require("./M433SwitchItem"); const HomematicFourButtonThing_1 = require("./HomematicFourButtonThing"); const DimmerAdaptor_1 = require("./DimmerAdaptor"); const TimerAdaptor_1 = require("./TimerAdaptor"); -const SwitchAdaptor_1 = require("./SwitchAdaptor"); +const SwitchOffAdaptor_1 = require("./SwitchOffAdaptor"); const HomematicDimmerItem_1 = require("./HomematicDimmerItem"); const HomematicSwitchItem_1 = require("./HomematicSwitchItem"); const Forwarder_1 = require("./Forwarder"); @@ -372,7 +372,7 @@ basementSmallLight.on('somethingChanged', () => { if ((basementLargeLight.getState() == 'OFF') && (basementSmallLight.getState() == 'ON')) { setTimeout(() => { MqttDispatcher_1.mqttHandler.send(basementSmallLight.getStateTopic(), 'OFF'); - }, (3 * 1000)); + }, (3 * 60 * 1000)); } else if ((basementLargeLight.getState() == 'ON') && (basementSmallLight.getState() == 'OFF')) { MqttDispatcher_1.mqttHandler.send(basementLargeLight.getStateTopic(), 'OFF'); @@ -391,20 +391,20 @@ basementLargeLight.on('somethingChanged', () => { } }); let basementForwarder = new Forwarder_1.Forwarder('Base', 'All', 'Forwarder', 'state', 'BasementForwarder', [ - basementLargeLight.getState(), - basementSmallLight.getState(), - workshopLight.getState() + basementLargeLight.getStateTopic(), + basementSmallLight.getStateTopic(), + workshopLight.getStateTopic() ]); basementForwarder.start(); -let basementForwarderSwitchAdaptor = new SwitchAdaptor_1.SwitchAdaptor('Base', 'All', 'Forwarder'); -basementForwarderSwitchAdaptor.start(); +let basementForwarderSwitchOffAdaptor = new SwitchOffAdaptor_1.SwitchOffAdaptor('Base', 'All', 'Forwarder'); +basementForwarderSwitchOffAdaptor.start(); // ---------------------------------------------------------------------------------------------------------- let twoLedSignal1 = new TwoLedSignal_1.TwoLedSignal('Gnd', 'Hallway', 'TwoLedSignal1', 'Licht- und Fenster-Anzeiger', allRelevantLights, "OFF", "ON", allWindows, "CLOSED", "OPEN"); twoLedSignal1.start(); // MySwitchTHing let mySwitchThingWolfgang = new MySwitchThing_1.MySwitchThing('1st', 'BedRoom', 'WolfgangsSwitch', [ new MySwitchThing_1.MySwitchSingleItem(bedRoomWolfgangBedLightDimmerAdaptor.getInTopic()), - new MySwitchThing_1.MySwitchSingleItem(basementForwarderSwitchAdaptor.getInTopic()), + new MySwitchThing_1.MySwitchSingleItem(basementForwarderSwitchOffAdaptor.getInTopic()), new MySwitchThing_1.MySwitchSingleItem('IoT/InsLeere/2'), ]); mySwitchThingWolfgang.start(); diff --git a/src/SwitchAdaptor.ts b/src/SwitchOffAdaptor.ts similarity index 50% rename from src/SwitchAdaptor.ts rename to src/SwitchOffAdaptor.ts index 8a4a84a..39d1b6e 100644 --- a/src/SwitchAdaptor.ts +++ b/src/SwitchOffAdaptor.ts @@ -2,8 +2,7 @@ import { AItem, HasInTopic } from './AItem' import * as logger from './log' import { mqttHandler } from './MqttDispatcher' -export class SwitchAdaptor extends AItem implements HasInTopic { - private state: string +export class SwitchOffAdaptor extends AItem implements HasInTopic { private inTopic: string private actionStateTopic: string @@ -12,7 +11,6 @@ export class SwitchAdaptor extends AItem implements HasInTopic { this.actionStateTopic = `${this.topicFirstPart}/state` this.inTopic = `${this.topicFirstPart}/in` this.subscribeTopics = [ this.inTopic ] - this.state = 'OFF' } getInTopic() : string { @@ -21,19 +19,8 @@ export class SwitchAdaptor extends AItem implements HasInTopic { processMessage(topic: string, payload: string) : void { - switch (topic) { - case this.inTopic: - switch (payload) { - case 'SHORT': - if (this.state == 'OFF') { - this.state = 'ON' - } else { - this.state = 'OFF' - } - mqttHandler.send(this.actionStateTopic, this.state, true) - break - } - break + if ((topic == this.inTopic) && (payload == 'SHORT')) { + mqttHandler.send(this.actionStateTopic, 'OFF', true) } } } diff --git a/src/main.ts b/src/main.ts index 1b73892..18d4b07 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,7 +10,7 @@ import { M433SwitchItem } from './M433SwitchItem' import { HomematicFourButtonThing, HomematicFourButtonSingleItem } from './HomematicFourButtonThing' import { DimmerAdaptor } from './DimmerAdaptor' import { TimerAdaptor } from './TimerAdaptor' -import { SwitchAdaptor } from './SwitchAdaptor' +import { SwitchOffAdaptor } from './SwitchOffAdaptor' import { HomematicDimmerItem } from './HomematicDimmerItem' import { HomematicSwitchItem } from './HomematicSwitchItem' import { Forwarder } from './Forwarder' @@ -463,7 +463,7 @@ basementSmallLight.on('somethingChanged', () => { if ((basementLargeLight.getState() == 'OFF') && (basementSmallLight.getState() == 'ON')) { setTimeout(() => { mqttHandler.send(basementSmallLight.getStateTopic(), 'OFF') - }, (3 * 1000)) + }, (3 * 60 * 1000)) } else if ((basementLargeLight.getState() == 'ON') && (basementSmallLight.getState() == 'OFF')) { mqttHandler.send(basementLargeLight.getStateTopic(), 'OFF') } @@ -483,15 +483,15 @@ basementLargeLight.on('somethingChanged', () => { let basementForwarder = new Forwarder('Base', 'All', 'Forwarder', 'state', 'BasementForwarder', [ - basementLargeLight.getState(), - basementSmallLight.getState(), - workshopLight.getState() + basementLargeLight.getStateTopic(), + basementSmallLight.getStateTopic(), + workshopLight.getStateTopic() ]) basementForwarder.start() -let basementForwarderSwitchAdaptor = new SwitchAdaptor('Base', 'All', 'Forwarder') -basementForwarderSwitchAdaptor.start() +let basementForwarderSwitchOffAdaptor = new SwitchOffAdaptor('Base', 'All', 'Forwarder') +basementForwarderSwitchOffAdaptor.start() // ---------------------------------------------------------------------------------------------------------- let twoLedSignal1 = new TwoLedSignal('Gnd', 'Hallway', 'TwoLedSignal1', 'Licht- und Fenster-Anzeiger', @@ -502,7 +502,7 @@ twoLedSignal1.start() // MySwitchTHing let mySwitchThingWolfgang = new MySwitchThing('1st', 'BedRoom', 'WolfgangsSwitch', [ new MySwitchSingleItem(bedRoomWolfgangBedLightDimmerAdaptor.getInTopic()), - new MySwitchSingleItem(basementForwarderSwitchAdaptor.getInTopic()), + new MySwitchSingleItem(basementForwarderSwitchOffAdaptor.getInTopic()), new MySwitchSingleItem('IoT/InsLeere/2'), ]) mySwitchThingWolfgang.start()