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",
"openhabItemFile": "openhab.items",
"heartbeatTopic": "dispatcher_ng/i/am/alive",
"heartbeatInterval": 10000
"heartbeatInterval": 10000,
"watchdogTopic": "IoT/Watchdog",
"watchdogInterval": 1000,
"watchdogMessage": "WauWau!"
}

View File

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

12
dist/main.js vendored
View File

@ -105,9 +105,9 @@ allLabeledItems.push(diningRoomCupboardLight);
allRelevantLights.push(diningRoomCupboardLight);
// 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');
diningRoomShelfLight.start();
allLabeledItems.push(diningRoomShelfLight);
allRelevantLights.push(diningRoomShelfLight);
// diningRoomShelfLight.start()
// allLabeledItems.push(diningRoomShelfLight)
// allRelevantLights.push(diningRoomShelfLight)
let diningRoomNaehkaestchenLight = new HueColorBulbItem_1.HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15);
diningRoomNaehkaestchenLight.start();
allLabeledItems.push(diningRoomNaehkaestchenLight);
@ -438,6 +438,12 @@ let heartbeatTimer = setInterval(() => {
heartbeatCounter += 1;
MqttDispatcher_1.mqttHandler.send(config.dict.heartbeatTopic, `${heartbeatCounter}`);
}, 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
let homekitObject = {};

View File

@ -165,23 +165,6 @@
},
"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": {
"id": "Gnd_DiningRoom_NaehkaestchenLight",
"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_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_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_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;
mqttHandler.send(this.stateFeedbackTopic, this.state);
if (this.state != this.oldState) {
try {
if (this.state == 'ON') {
http.get(this.onUrl,)
} else {
http.get(this.offUrl)
}
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
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()
allLabeledItems.push(diningRoomShelfLight)
allRelevantLights.push(diningRoomShelfLight)
// diningRoomShelfLight.start()
// allLabeledItems.push(diningRoomShelfLight)
// allRelevantLights.push(diningRoomShelfLight)
let diningRoomNaehkaestchenLight = new HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15)
diningRoomNaehkaestchenLight.start()
@ -553,6 +553,13 @@ let heartbeatTimer = setInterval(() => {
mqttHandler.send(config.dict.heartbeatTopic, `${heartbeatCounter}`)
}, config.dict.heartbeatInterval)
// watchdog
let watchdogCounter = 0
let watchdogTimer = setInterval(() => {
watchdogCounter += 1
mqttHandler.send(config.dict.watchdogTopic, `${config.dict.watchdogMessage} ${watchdogCounter}`)
}, config.dict.watchdogInterval)