debug keller licht

This commit is contained in:
Wolfgang Hottgenroth
2018-05-24 23:26:38 +02:00
parent 27153262bc
commit f75de912ba
6 changed files with 78 additions and 5 deletions

View File

@ -32,7 +32,6 @@ class HomematicSwitchItem extends AHomegearItem_1.AHomegearItem {
return Export_1.SwitchExport(this.itemId, this.label, this.stateTopic, this.stateFeedbackTopic, this.type);
}
processMessage(topic, payload) {
this.emit('somethingChanged');
switch (topic) {
case this.stateTopic:
this.state = payload;
@ -58,6 +57,7 @@ class HomematicSwitchItem extends AHomegearItem_1.AHomegearItem {
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
break;
}
this.emit('somethingChanged');
}
}
exports.HomematicSwitchItem = HomematicSwitchItem;

12
dist/main.js vendored
View File

@ -367,11 +367,21 @@ let basementSmallLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', '
basementSmallLight.start();
allLabeledItems.push(basementSmallLight);
allRelevantLights.push(basementSmallLight);
basementSmallLight.on('somethingChanged', () => {
if ((basementLargeLight.getState() == 'OFF') && (basementSmallLight.getState() == 'ON')) {
setTimeout(() => {
MqttDispatcher_1.mqttHandler.send(basementSmallLight.getStateTopic(), 'OFF');
}, (3 * 1000));
}
else if ((basementLargeLight.getState() == 'ON') && (basementSmallLight.getState() == 'OFF')) {
MqttDispatcher_1.mqttHandler.send(basementLargeLight.getStateTopic(), 'OFF');
}
});
let basementLargeLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Hallway', 'LargeLight', 'Licht Keller hell', 35, 2);
basementLargeLight.start();
allLabeledItems.push(basementLargeLight);
allRelevantLights.push(basementLargeLight);
basementLargeLight.on('somethingChange', () => {
basementLargeLight.on('somethingChanged', () => {
if (basementLargeLight.getState() == 'ON') {
MqttDispatcher_1.mqttHandler.send(basementSmallLight.getStateTopic(), 'ON');
}

View File

@ -742,5 +742,56 @@
"onContactDetected": "CLOSED"
}
},
"": {}
"": {},
"Base_Workshop_Light": {
"id": "Base_Workshop_Light",
"name": "Licht Werkstatt",
"service": "Lightbulb",
"topic": {
"setOn": "dispatcher_ng/items/Base/Workshop/Light/state",
"statusOn": "dispatcher_ng/items/Base/Workshop/Light/state/feedback"
},
"payload": {
"onTrue": "ON",
"onFalse": "OFF",
"brightnessFactor": "",
"hueFactor": "",
"saturationFactor": ""
},
"config": {}
},
"Base_Hallway_SmallLight": {
"id": "Base_Hallway_SmallLight",
"name": "Licht Keller einfach",
"service": "Lightbulb",
"topic": {
"setOn": "dispatcher_ng/items/Base/Hallway/SmallLight/state",
"statusOn": "dispatcher_ng/items/Base/Hallway/SmallLight/state/feedback"
},
"payload": {
"onTrue": "ON",
"onFalse": "OFF",
"brightnessFactor": "",
"hueFactor": "",
"saturationFactor": ""
},
"config": {}
},
"Base_Hallway_LargeLight": {
"id": "Base_Hallway_LargeLight",
"name": "Licht Keller hell",
"service": "Lightbulb",
"topic": {
"setOn": "dispatcher_ng/items/Base/Hallway/LargeLight/state",
"statusOn": "dispatcher_ng/items/Base/Hallway/LargeLight/state/feedback"
},
"payload": {
"onTrue": "ON",
"onFalse": "OFF",
"brightnessFactor": "",
"hueFactor": "",
"saturationFactor": ""
},
"config": {}
}
}

View File

@ -65,4 +65,7 @@ Switch base_labor_relaybox1 "Herd" {mqtt=">[localbroker:dispatcher_ng/items/base
String base_labor_relaybox1Conflict "Herd [%s]" {mqtt="<[localbroker:dispatcher_ng/items/base/labor/relaybox/conflict/1:state:default]"}
Switch base_labor_relaybox2 "Waschküche" {mqtt=">[localbroker:dispatcher_ng/items/base/labor/relaybox/state/2:command:*:default],<[localbroker:dispatcher_ng/items/base/labor/relaybox/feedback/2:state:default]"}
String base_labor_relaybox2Conflict "Waschküche [%s]" {mqtt="<[localbroker:dispatcher_ng/items/base/labor/relaybox/conflict/2:state:default]"}
Switch Base_Workshop_Light "Licht Werkstatt"{mqtt=">[localbroker:dispatcher_ng/items/Base/Workshop/Light/state:command:*:default],<[localbroker:dispatcher_ng/items/Base/Workshop/Light/state/feedback:state:default]"}
Switch Base_Hallway_SmallLight "Licht Keller einfach"{mqtt=">[localbroker:dispatcher_ng/items/Base/Hallway/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Base/Hallway/SmallLight/state/feedback:state:default]"}
Switch Base_Hallway_LargeLight "Licht Keller hell"{mqtt=">[localbroker:dispatcher_ng/items/Base/Hallway/LargeLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Base/Hallway/LargeLight/state/feedback:state:default]"}
Switch HeatingMainSwitch "Heizung Hauptschalter" {mqtt=">[localbroker:dispatcher_ng/items/heatingMainSwitch:command:*:default],<[localbroker:dispatcher_ng/items/heatingMainSwitch:state:default]"}

View File

@ -47,7 +47,6 @@ export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFee
}
processMessage(topic: string, payload: string) : void {
this.emit('somethingChanged')
switch (topic) {
case this.stateTopic:
this.state = payload
@ -71,5 +70,6 @@ export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFee
mqttHandler.send(this.stateFeedbackTopic, this.state)
break
}
this.emit('somethingChanged')
}
}

View File

@ -458,12 +458,21 @@ let basementSmallLight = new HomematicSwitchItem('Base', 'Hallway', 'SmallLight'
basementSmallLight.start()
allLabeledItems.push(basementSmallLight)
allRelevantLights.push(basementSmallLight)
basementSmallLight.on('somethingChanged', () => {
if ((basementLargeLight.getState() == 'OFF') && (basementSmallLight.getState() == 'ON')) {
setTimeout(() => {
mqttHandler.send(basementSmallLight.getStateTopic(), 'OFF')
}, (3 * 1000))
} else if ((basementLargeLight.getState() == 'ON') && (basementSmallLight.getState() == 'OFF')) {
mqttHandler.send(basementLargeLight.getStateTopic(), 'OFF')
}
})
let basementLargeLight = new HomematicSwitchItem('Base', 'Hallway', 'LargeLight', 'Licht Keller hell', 35, 2)
basementLargeLight.start()
allLabeledItems.push(basementLargeLight)
allRelevantLights.push(basementLargeLight)
basementLargeLight.on('somethingChange', () => {
basementLargeLight.on('somethingChanged', () => {
if (basementLargeLight.getState() == 'ON') {
mqttHandler.send(basementSmallLight.getStateTopic(), 'ON')
} else if (basementLargeLight.getState() == 'OFF') {