From 5eac6dfab667e3b4c330ffbe335db752a48bbf8c Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Thu, 11 Jan 2018 16:48:18 +0100 Subject: [PATCH] configure scenes --- dist/Scene.js | 2 +- dist/main.js | 56 +++++++++++++++++----------------------- homekit.json | 51 ++++++++++++++++++++++++++++++++++++ openhab.items | 5 +++- src/Scene.ts | 2 +- src/main.ts | 71 +++++++++++++++++++++++++++------------------------ 6 files changed, 118 insertions(+), 69 deletions(-) diff --git a/dist/Scene.js b/dist/Scene.js index 11dc591..80177de 100644 --- a/dist/Scene.js +++ b/dist/Scene.js @@ -34,7 +34,7 @@ class LightScene extends AItem_1.AItem { this.myLastFeedbackState = '-'; } exportItem() { - return Export_1.SwitchExport(this.itemId, this.label, this.stateTopic, this.stateFeedbackTopic, 'Switch'); + return Export_1.SwitchExport(this.itemId, this.label, this.stateTopic, this.stateFeedbackTopic, 'bulb'); } processMessage(topic, payload) { if (topic == this.stateTopic) { diff --git a/dist/main.js b/dist/main.js index a6260fa..b7fbbbb 100644 --- a/dist/main.js +++ b/dist/main.js @@ -102,40 +102,32 @@ let bedRoomWindowLight = new M433SwitchItem_1.M433SwitchItem('1st', 'BedRoom', ' bedRoomWindowLight.start(); allLabeledItems.push(bedRoomWindowLight); // --------------------------------------------------------------------------------------------------------- -let morningLightForwarder = new Forwarder_1.Forwarder('Gnd', 'Hallway', 'MorningLight', 'state', 'MorningLight', [ - kitchenWindowLight.getStateTopic(), - kitchenCeilingLight.getStateTopic(), - hallwayDeskLight.getStateTopic(), - hallwayStandLight.getStateTopic(), - hallwayWardrobeLight.getStateTopic() +let dayLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'DayLight', 'DayLight', [ + kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayStandLight, hallwayWardrobeLight, + diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, + livingRoomLargeLight, livingRoomSmallLight, livingRoomStars, livingRoomStandLight +], []); +dayLightScene.start(); +allLabeledItems.push(dayLightScene); +let ecoLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLight', [ + kitchenWindowLight, hallwayDeskLight, hallwayWardrobeLight, + diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, + livingRoomStars, livingRoomStandLight +], [ + kitchenCeilingLight, hallwayStandLight, + livingRoomLargeLight, livingRoomSmallLight ]); -morningLightForwarder.start(); -let dayLightForwarder = new Forwarder_1.Forwarder('Gnd', 'Hallway', 'DayLight', 'state', 'DayLight', [ - kitchenWindowLight.getStateTopic(), - kitchenCeilingLight.getStateTopic(), - hallwayDeskLight.getStateTopic(), - hallwayStandLight.getStateTopic(), - hallwayWardrobeLight.getStateTopic(), - diningRoomSmallLight.getStateTopic(), - diningRoomStandLight.getStateTopic(), - diningRoomCupboardLight.getStateTopic(), - livingRoomLargeLight.getStateTopic(), - livingRoomSmallLight.getStateTopic(), - livingRoomStars.getStateTopic(), - livingRoomStandLight.getStateTopic() +ecoLightScene.start(); +allLabeledItems.push(ecoLightScene); +let morningLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'MorningLight', 'MorningLight', [ + kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayWardrobeLight, + hallwayStandLight +], [ + diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, + livingRoomStars, livingRoomStandLight, livingRoomLargeLight, livingRoomSmallLight ]); -dayLightForwarder.start(); -let ecoLightForwarder = new Forwarder_1.Forwarder('Gnd', 'Hallway', 'EcoLight', 'state', 'EcoLight', [ - kitchenWindowLight.getStateTopic(), - hallwayDeskLight.getStateTopic(), - hallwayWardrobeLight.getStateTopic(), - diningRoomSmallLight.getStateTopic(), - diningRoomStandLight.getStateTopic(), - diningRoomCupboardLight.getStateTopic(), - livingRoomStars.getStateTopic(), - livingRoomStandLight.getStateTopic() -]); -ecoLightForwarder.start(); +morningLightScene.start(); +allLabeledItems.push(morningLightScene); // ---------------------------------------------------------------------------------------------------------- let testFourButton = new HomematicFourButtonThing_1.HomematicFourButtonThing('Gnd', 'Hallway', 'TestButton', 9, [ new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/Testlight/dimmerIn'), diff --git a/homekit.json b/homekit.json index 1ce5647..cd4e2ce 100644 --- a/homekit.json +++ b/homekit.json @@ -335,5 +335,56 @@ "saturationFactor": "" }, "config": {} + }, + "Gnd.Hallway.DayLight": { + "id": "Gnd.Hallway.DayLight", + "name": "DayLight", + "service": "Lightbulb", + "topic": { + "setOn": "dispatcher_ng/items/Gnd/Hallway/DayLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Hallway/DayLight/state/feedback" + }, + "payload": { + "onTrue": "ON", + "onFalse": "OFF", + "brightnessFactor": "", + "hueFactor": "", + "saturationFactor": "" + }, + "config": {} + }, + "Gnd.Hallway.EcoLight": { + "id": "Gnd.Hallway.EcoLight", + "name": "EcoLight", + "service": "Lightbulb", + "topic": { + "setOn": "dispatcher_ng/items/Gnd/Hallway/EcoLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Hallway/EcoLight/state/feedback" + }, + "payload": { + "onTrue": "ON", + "onFalse": "OFF", + "brightnessFactor": "", + "hueFactor": "", + "saturationFactor": "" + }, + "config": {} + }, + "Gnd.Hallway.MorningLight": { + "id": "Gnd.Hallway.MorningLight", + "name": "MorningLight", + "service": "Lightbulb", + "topic": { + "setOn": "dispatcher_ng/items/Gnd/Hallway/MorningLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Hallway/MorningLight/state/feedback" + }, + "payload": { + "onTrue": "ON", + "onFalse": "OFF", + "brightnessFactor": "", + "hueFactor": "", + "saturationFactor": "" + }, + "config": {} } } \ No newline at end of file diff --git a/openhab.items b/openhab.items index 082e897..f495faa 100644 --- a/openhab.items +++ b/openhab.items @@ -17,4 +17,7 @@ Switch Gnd.Kitchen.WindowLight {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitc Switch Gnd.Kitchen.CeilingLight {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitchen/CeilingLight/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/CeilingLight/state/feedback:state:default]"} Switch 1st.BedRoom.WolfgangsSide {mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/WolfgangsSide/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/1st/BedRoom/WolfgangsSide/state/feedback:state:default]"} Switch 1st.BedRoom.PattysSide {mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/PattysSide/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/1st/BedRoom/PattysSide/state/feedback:state:default]"} -Switch 1st.BedRoom.WindowLight {mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state/feedback:state:default]"} \ No newline at end of file +Switch 1st.BedRoom.WindowLight {mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state/feedback:state:default]"} +Switch Gnd.Hallway.DayLight {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/DayLight/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/Gnd/Hallway/DayLight/state/feedback:state:default]"} +Switch Gnd.Hallway.EcoLight {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/EcoLight/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/Gnd/Hallway/EcoLight/state/feedback:state:default]"} +Switch Gnd.Hallway.MorningLight {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/MorningLight/state:command:*:default]", mqtt="<[localbroker:dispatcher_ng/items/Gnd/Hallway/MorningLight/state/feedback:state:default]"} \ No newline at end of file diff --git a/src/Scene.ts b/src/Scene.ts index 557c5ba..222021d 100644 --- a/src/Scene.ts +++ b/src/Scene.ts @@ -49,7 +49,7 @@ export class LightScene extends AItem { } exportItem() : ExportType|null { - return SwitchExport(this.itemId, this.label, this.stateTopic, this.stateFeedbackTopic, 'Switch') + return SwitchExport(this.itemId, this.label, this.stateTopic, this.stateFeedbackTopic, 'bulb') } processMessage(topic: string, payload: string) : void { diff --git a/src/main.ts b/src/main.ts index 528c4df..8eef01f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -133,42 +133,45 @@ allLabeledItems.push(bedRoomWindowLight) // --------------------------------------------------------------------------------------------------------- -let morningLightForwarder = new Forwarder('Gnd', 'Hallway', 'MorningLight', 'state', 'MorningLight', [ - kitchenWindowLight.getStateTopic(), - kitchenCeilingLight.getStateTopic(), - hallwayDeskLight.getStateTopic(), - hallwayStandLight.getStateTopic(), - hallwayWardrobeLight.getStateTopic() -]) -morningLightForwarder.start() +let dayLightScene = new LightScene('Gnd', 'Hallway', 'DayLight', 'DayLight', + [ + kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayStandLight, hallwayWardrobeLight, + diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, + livingRoomLargeLight, livingRoomSmallLight, livingRoomStars, livingRoomStandLight + ], + [] +) +dayLightScene.start() +allLabeledItems.push(dayLightScene) + +let ecoLightScene = new LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLight', + [ + kitchenWindowLight, hallwayDeskLight, hallwayWardrobeLight, + diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, + livingRoomStars, livingRoomStandLight + ], + [ + kitchenCeilingLight, hallwayStandLight, + livingRoomLargeLight, livingRoomSmallLight + ] +) +ecoLightScene.start() +allLabeledItems.push(ecoLightScene) + +let morningLightScene = new LightScene('Gnd', 'Hallway', 'MorningLight', 'MorningLight', + [ + kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayWardrobeLight, + hallwayStandLight + ], + [ + diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, + livingRoomStars, livingRoomStandLight, livingRoomLargeLight, livingRoomSmallLight + ] +) +morningLightScene.start() +allLabeledItems.push(morningLightScene) -let dayLightForwarder = new Forwarder('Gnd', 'Hallway', 'DayLight', 'state', 'DayLight', [ - kitchenWindowLight.getStateTopic(), - kitchenCeilingLight.getStateTopic(), - hallwayDeskLight.getStateTopic(), - hallwayStandLight.getStateTopic(), - hallwayWardrobeLight.getStateTopic(), - diningRoomSmallLight.getStateTopic(), - diningRoomStandLight.getStateTopic(), - diningRoomCupboardLight.getStateTopic(), - livingRoomLargeLight.getStateTopic(), - livingRoomSmallLight.getStateTopic(), - livingRoomStars.getStateTopic(), - livingRoomStandLight.getStateTopic() -]) -dayLightForwarder.start() -let ecoLightForwarder = new Forwarder('Gnd', 'Hallway', 'EcoLight', 'state', 'EcoLight', [ - kitchenWindowLight.getStateTopic(), - hallwayDeskLight.getStateTopic(), - hallwayWardrobeLight.getStateTopic(), - diningRoomSmallLight.getStateTopic(), - diningRoomStandLight.getStateTopic(), - diningRoomCupboardLight.getStateTopic(), - livingRoomStars.getStateTopic(), - livingRoomStandLight.getStateTopic() -]) -ecoLightForwarder.start() // ---------------------------------------------------------------------------------------------------------- let testFourButton = new HomematicFourButtonThing('Gnd', 'Hallway', 'TestButton', 9, [ new HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/Testlight/dimmerIn'),