several quick fixes

This commit is contained in:
Wolfgang Hottgenroth
2018-06-03 21:50:40 +02:00
parent ea04fae523
commit 718ac667d1
8 changed files with 39 additions and 31 deletions

View File

@ -10,5 +10,8 @@
"homekitFile": "homekit.json", "homekitFile": "homekit.json",
"openhabItemFile": "openhab.items", "openhabItemFile": "openhab.items",
"heartbeatTopic": "dispatcher_ng/i/am/alive", "heartbeatTopic": "dispatcher_ng/i/am/alive",
"heartbeatInterval": 10000 "heartbeatInterval": 10000,
"watchdogTopic": "IoT/Watchdog",
"watchdogInterval": 1000,
"watchdogMessage": "WauWau!"
} }

16
dist/UrlSwitchItem.js vendored
View File

@ -1,5 +1,6 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const logger = require("./log");
const MqttDispatcher_1 = require("./MqttDispatcher"); const MqttDispatcher_1 = require("./MqttDispatcher");
const AItem_1 = require("./AItem"); const AItem_1 = require("./AItem");
const Export_1 = require("./Export"); const Export_1 = require("./Export");
@ -30,13 +31,18 @@ class UrlSwitchItem extends AItem_1.AItem {
this.state = payload; this.state = payload;
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state); MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
if (this.state != this.oldState) { if (this.state != this.oldState) {
if (this.state == 'ON') { try {
http.get(this.onUrl); if (this.state == 'ON') {
http.get(this.onUrl);
}
else {
http.get(this.offUrl);
}
this.oldState = this.state;
} }
else { catch (_a) {
http.get(this.offUrl); logger.error(`Failed to handle ${this.onUrl} or ${this.offUrl}`);
} }
this.oldState = this.state;
} }
} }
} }

12
dist/main.js vendored
View File

@ -105,9 +105,9 @@ allLabeledItems.push(diningRoomCupboardLight);
allRelevantLights.push(diningRoomCupboardLight); allRelevantLights.push(diningRoomCupboardLight);
// Esszimmer Regallicht // Esszimmer Regallicht
let diningRoomShelfLight = new UrlSwitchItem_1.UrlSwitchItem('Gnd', 'DiningRoom', 'ShelfLight', 'Regallicht Esszimmer', 'http://172.16.2.43/dv?dv=1023', 'http://172.16.2.43/dv?dv=0'); let diningRoomShelfLight = new UrlSwitchItem_1.UrlSwitchItem('Gnd', 'DiningRoom', 'ShelfLight', 'Regallicht Esszimmer', 'http://172.16.2.43/dv?dv=1023', 'http://172.16.2.43/dv?dv=0');
diningRoomShelfLight.start(); // diningRoomShelfLight.start()
allLabeledItems.push(diningRoomShelfLight); // allLabeledItems.push(diningRoomShelfLight)
allRelevantLights.push(diningRoomShelfLight); // allRelevantLights.push(diningRoomShelfLight)
let diningRoomNaehkaestchenLight = new HueColorBulbItem_1.HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15); let diningRoomNaehkaestchenLight = new HueColorBulbItem_1.HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15);
diningRoomNaehkaestchenLight.start(); diningRoomNaehkaestchenLight.start();
allLabeledItems.push(diningRoomNaehkaestchenLight); allLabeledItems.push(diningRoomNaehkaestchenLight);
@ -438,6 +438,12 @@ let heartbeatTimer = setInterval(() => {
heartbeatCounter += 1; heartbeatCounter += 1;
MqttDispatcher_1.mqttHandler.send(config.dict.heartbeatTopic, `${heartbeatCounter}`); MqttDispatcher_1.mqttHandler.send(config.dict.heartbeatTopic, `${heartbeatCounter}`);
}, config.dict.heartbeatInterval); }, config.dict.heartbeatInterval);
// watchdog
let watchdogCounter = 0;
let watchdogTimer = setInterval(() => {
watchdogCounter += 1;
MqttDispatcher_1.mqttHandler.send(config.dict.watchdogTopic, `${config.dict.watchdogMessage} ${watchdogCounter}`);
}, config.dict.watchdogInterval);
// ---------------------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------------------
// Homekit export // Homekit export
let homekitObject = {}; let homekitObject = {};

View File

@ -165,23 +165,6 @@
}, },
"config": {} "config": {}
}, },
"Gnd_DiningRoom_ShelfLight": {
"id": "Gnd_DiningRoom_ShelfLight",
"name": "Regallicht Esszimmer",
"service": "Lightbulb",
"topic": {
"setOn": "dispatcher_ng/items/Gnd/DiningRoom/ShelfLight/state",
"statusOn": "dispatcher_ng/items/Gnd/DiningRoom/ShelfLight/state/feedback"
},
"payload": {
"onTrue": "ON",
"onFalse": "OFF",
"brightnessFactor": "",
"hueFactor": "",
"saturationFactor": ""
},
"config": {}
},
"Gnd_DiningRoom_NaehkaestchenLight": { "Gnd_DiningRoom_NaehkaestchenLight": {
"id": "Gnd_DiningRoom_NaehkaestchenLight", "id": "Gnd_DiningRoom_NaehkaestchenLight",
"name": "Lampe Naehkaestchen", "name": "Lampe Naehkaestchen",

View File

@ -10,7 +10,6 @@ Contact 1st_Matthias_WindowContact "Fenster Matthias" {mqtt="<[localbroker:dispa
Switch Gnd_DiningRoom_SmallLight "kleine Lampe Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/SmallLight/state/feedback:state:default]"} Switch Gnd_DiningRoom_SmallLight "kleine Lampe Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/SmallLight/state/feedback:state:default]"}
Switch Gnd_DiningRoom_StandLight "Stehlampe Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/StandLight/state/feedback:state:default]"} Switch Gnd_DiningRoom_StandLight "Stehlampe Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/StandLight/state/feedback:state:default]"}
Switch Gnd_DiningRoom_CupboardLight "Schranklicht Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/CupboardLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/CupboardLight/state/feedback:state:default]"} Switch Gnd_DiningRoom_CupboardLight "Schranklicht Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/CupboardLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/CupboardLight/state/feedback:state:default]"}
Switch Gnd_DiningRoom_ShelfLight "Regallicht Esszimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/ShelfLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/ShelfLight/state/feedback:state:default]"}
Contact Gnd_DiningRoom_WindowContact1 "Fenster Esszimmer Straße links" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/WindowContact1/state/feedback:state:default]"} Contact Gnd_DiningRoom_WindowContact1 "Fenster Esszimmer Straße links" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/WindowContact1/state/feedback:state:default]"}
Contact Gnd_DiningRoom_WindowContact2 "Fenster Esszimmer Straße rechts" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/WindowContact2/state/feedback:state:default]"} Contact Gnd_DiningRoom_WindowContact2 "Fenster Esszimmer Straße rechts" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/WindowContact2/state/feedback:state:default]"}

View File

@ -44,12 +44,16 @@ export class UrlSwitchItem extends AItem implements HasStateAndFeedbackTopic {
this.state = payload; this.state = payload;
mqttHandler.send(this.stateFeedbackTopic, this.state); mqttHandler.send(this.stateFeedbackTopic, this.state);
if (this.state != this.oldState) { if (this.state != this.oldState) {
try {
if (this.state == 'ON') { if (this.state == 'ON') {
http.get(this.onUrl,) http.get(this.onUrl,)
} else { } else {
http.get(this.offUrl) http.get(this.offUrl)
} }
this.oldState = this.state; this.oldState = this.state;
} catch {
logger.error(`Failed to handle ${this.onUrl} or ${this.offUrl}`)
}
} }
} }
} }

View File

@ -131,9 +131,9 @@ allRelevantLights.push(diningRoomCupboardLight)
// Esszimmer Regallicht // Esszimmer Regallicht
let diningRoomShelfLight = new UrlSwitchItem('Gnd', 'DiningRoom', 'ShelfLight', 'Regallicht Esszimmer', 'http://172.16.2.43/dv?dv=1023', 'http://172.16.2.43/dv?dv=0') let diningRoomShelfLight = new UrlSwitchItem('Gnd', 'DiningRoom', 'ShelfLight', 'Regallicht Esszimmer', 'http://172.16.2.43/dv?dv=1023', 'http://172.16.2.43/dv?dv=0')
diningRoomShelfLight.start() // diningRoomShelfLight.start()
allLabeledItems.push(diningRoomShelfLight) // allLabeledItems.push(diningRoomShelfLight)
allRelevantLights.push(diningRoomShelfLight) // allRelevantLights.push(diningRoomShelfLight)
let diningRoomNaehkaestchenLight = new HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15) let diningRoomNaehkaestchenLight = new HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15)
diningRoomNaehkaestchenLight.start() diningRoomNaehkaestchenLight.start()
@ -553,6 +553,13 @@ let heartbeatTimer = setInterval(() => {
mqttHandler.send(config.dict.heartbeatTopic, `${heartbeatCounter}`) mqttHandler.send(config.dict.heartbeatTopic, `${heartbeatCounter}`)
}, config.dict.heartbeatInterval) }, config.dict.heartbeatInterval)
// watchdog
let watchdogCounter = 0
let watchdogTimer = setInterval(() => {
watchdogCounter += 1
mqttHandler.send(config.dict.watchdogTopic, `${config.dict.watchdogMessage} ${watchdogCounter}`)
}, config.dict.watchdogInterval)