From 28fa32d48d88593091ceb58c895c49019f8d2422 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Mon, 25 Jun 2018 13:14:03 +0200 Subject: [PATCH] adjust for smartclient output --- dispatcher_ng.conf | 2 +- dist/HomematicSwitchItem.js | 6 + dist/HueColorBulbItem.js | 6 + dist/M433SwitchItem.js | 6 + dist/MaxWindowContact.js | 3 + dist/Scene.js | 6 + dist/main.js | 190 +++++++++++------ homekit.json | 408 ++++++++++++++++++------------------ openhab.items | 106 +++++----- smartclient.json | 248 ++++++++++++++++++++++ src/AItem.ts | 9 + src/HomematicSwitchItem.ts | 12 +- src/HueColorBulbItem.ts | 12 +- src/M433SwitchItem.ts | 12 +- src/MaxWindowContact.ts | 8 +- src/Scene.ts | 12 +- src/main.ts | 197 +++++++++++------ 17 files changed, 842 insertions(+), 401 deletions(-) create mode 100644 smartclient.json diff --git a/dispatcher_ng.conf b/dispatcher_ng.conf index e5faef3..b821914 100644 --- a/dispatcher_ng.conf +++ b/dispatcher_ng.conf @@ -1,5 +1,5 @@ { - "brokerUrl": "mqtt://172.16.2.16:1883", + "brokerUrl": "mqtt://127.0.0.1:1883", "brokerUser": "", "brokerPass": "", "brokerCa": "", diff --git a/dist/HomematicSwitchItem.js b/dist/HomematicSwitchItem.js index 5133484..6c669d6 100644 --- a/dist/HomematicSwitchItem.js +++ b/dist/HomematicSwitchItem.js @@ -4,6 +4,12 @@ const MqttDispatcher_1 = require("./MqttDispatcher"); const AHomegearItem_1 = require("./AHomegearItem"); const Export_1 = require("./Export"); class HomematicSwitchItem extends AHomegearItem_1.AHomegearItem { + getLabel() { + return this.label; + } + getRoom() { + return this.room; + } getStateTopic() { return this.stateTopic; } diff --git a/dist/HueColorBulbItem.js b/dist/HueColorBulbItem.js index e25e971..b7ac4bd 100644 --- a/dist/HueColorBulbItem.js +++ b/dist/HueColorBulbItem.js @@ -47,6 +47,12 @@ class HueColorBulbItem extends AHomegearItem_1.AHomegearItem { this.hue = 0; this.saturation = 0; } + getLabel() { + return this.label; + } + getRoom() { + return this.room; + } getStateTopic() { return this.stateTopic; } diff --git a/dist/M433SwitchItem.js b/dist/M433SwitchItem.js index e9457e6..76c9860 100644 --- a/dist/M433SwitchItem.js +++ b/dist/M433SwitchItem.js @@ -4,6 +4,12 @@ const MqttDispatcher_1 = require("./MqttDispatcher"); const AItem_1 = require("./AItem"); const Export_1 = require("./Export"); class M433SwitchItem extends AItem_1.AItem { + getLabel() { + return this.label; + } + getRoom() { + return this.room; + } getStateTopic() { return this.stateTopic; } diff --git a/dist/MaxWindowContact.js b/dist/MaxWindowContact.js index 471d672..968e269 100644 --- a/dist/MaxWindowContact.js +++ b/dist/MaxWindowContact.js @@ -7,6 +7,9 @@ class MaxWindowContact extends AHomegearItem_1.AHomegearItem { getStateFeedbackTopic() { return this.stateFeedbackTopic; } + getLabel() { + return this.label; + } transform(payload) { let res; if (payload == 'OPEN') { diff --git a/dist/Scene.js b/dist/Scene.js index 00368be..14191d4 100644 --- a/dist/Scene.js +++ b/dist/Scene.js @@ -4,6 +4,12 @@ const AItem_1 = require("./AItem"); const MqttDispatcher_1 = require("./MqttDispatcher"); const Export_1 = require("./Export"); class LightScene extends AItem_1.AItem { + getLabel() { + return this.label; + } + getRoom() { + return this.room; + } getStateTopic() { return this.stateTopic; } diff --git a/dist/main.js b/dist/main.js index ea903a2..86315f4 100644 --- a/dist/main.js +++ b/dist/main.js @@ -29,9 +29,11 @@ let allLabeledItems = new Array(); let allThermostatItems = new Array(); let allWindows = new Array(); let allRelevantLights = new Array(); +let allLights = new Array(); +let allLightScenes = new Array(); // Anna ----------------------------------------------------------------------------------------------------- // Anna Aquarium 14665044 24 1 14665041 24 1 -let aquariumLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Anna', 'AquariumLight', 'Aquariumlicht', '14665044 24 1', '14665041 24 1'); +let aquariumLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Anna', 'AquariumLight', 'Aquarium', '14665044 24 1', '14665041 24 1'); aquariumLight.start(); allLabeledItems.push(aquariumLight); let aquariumLightCron = new Cron_1.Cron('aquariumLightCron', aquariumLight, [ @@ -43,11 +45,12 @@ let aquariumLightCron = new Cron_1.Cron('aquariumLightCron', aquariumLight, [ ]); aquariumLightCron.start(); // Anna Bett 14668116 24 1 14668113 24 1 -let annaBedLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Anna', 'BedLight', 'Bettlicht Anna', '14668116 24 1', '14668113 24 1'); +let annaBedLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Anna', 'BedLight', 'Bettlicht', '14668116 24 1', '14668113 24 1'); annaBedLight.start(); allLabeledItems.push(annaBedLight); allRelevantLights.push(annaBedLight); -let windowContactAnna1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Anna', 'WindowContact', 'Fenster Anna', 20); +allLights.push(annaBedLight); +let windowContactAnna1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Anna', 'WindowContact', 'Anna', 20); windowContactAnna1st.start(); allLabeledItems.push(windowContactAnna1st); allWindows.push(windowContactAnna1st); @@ -69,170 +72,190 @@ let thermostatAnna1stCron = new Cron_1.Cron('thermostatAnna1stCron', thermostatA thermostatAnna1stCron.start(); // Matthias ------------------------------------------------------------------------------------------------- // Matthias Stehlampen 7 24 1 6 24 1 -let matthiasStandLights = new M433SwitchItem_1.M433SwitchItem('1st', 'Matthias', 'StandLight', 'Stehlampen Matthias', '7 24 1', '6 24 1'); +let matthiasStandLights = new M433SwitchItem_1.M433SwitchItem('1st', 'Matthias', 'StandLight', 'Stehlampen', '7 24 1', '6 24 1'); matthiasStandLights.start(); allLabeledItems.push(matthiasStandLights); allRelevantLights.push(matthiasStandLights); +allLights.push(matthiasStandLights); // Matthias Bett 15 24 1 14 24 1 -let matthiasBedLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Matthias', 'BedLight', 'Bettlicht Matthias', '15 24 1', '14 24 1'); +let matthiasBedLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Matthias', 'BedLight', 'Bettlicht', '15 24 1', '14 24 1'); matthiasBedLight.start(); allLabeledItems.push(matthiasBedLight); allRelevantLights.push(matthiasBedLight); +allLights.push(matthiasBedLight); // Matthias Lautsprecher 11 24 1 10 24 1 -let matthiasSpeaker = new M433SwitchItem_1.M433SwitchItem('1st', 'Matthias', 'Speaker', 'Lautsprecher Matthias', '11 24 1', '10 24 1', 'outlet'); +let matthiasSpeaker = new M433SwitchItem_1.M433SwitchItem('1st', 'Matthias', 'Speaker', 'Lautsprecher', '11 24 1', '10 24 1', 'outlet'); matthiasSpeaker.start(); allLabeledItems.push(matthiasSpeaker); allRelevantLights.push(matthiasSpeaker); -let windowContactMatthias = new MaxWindowContact_1.MaxWindowContact('1st', 'Matthias', 'WindowContact', 'Fenster Matthias', 24); +allLights.push(matthiasSpeaker); +let windowContactMatthias = new MaxWindowContact_1.MaxWindowContact('1st', 'Matthias', 'WindowContact', 'Matthias', 24); windowContactMatthias.start(); allLabeledItems.push(windowContactMatthias); allWindows.push(windowContactMatthias); // Esszimmer ------------------------------------------------------------------------------------------------ // Esszimmer kleine Lampe 69653 24 1 69652 24 1 -let diningRoomSmallLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'DiningRoom', 'SmallLight', 'kleine Lampe Esszimmer', '69653 24 1', '69652 24 1'); +let diningRoomSmallLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Esszimmer', 'SmallLight', 'kleine Lampe', '69653 24 1', '69652 24 1'); diningRoomSmallLight.start(); allLabeledItems.push(diningRoomSmallLight); allRelevantLights.push(diningRoomSmallLight); +allLights.push(diningRoomSmallLight); // Esszimmer Stehlampe 86037 24 1 86036 24 1 -let diningRoomStandLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'DiningRoom', 'StandLight', 'Stehlampe Esszimmer', '86037 24 1', '86036 24 1'); +let diningRoomStandLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Esszimmer', 'StandLight', 'Stehlampe', '86037 24 1', '86036 24 1'); diningRoomStandLight.start(); allLabeledItems.push(diningRoomStandLight); allRelevantLights.push(diningRoomStandLight); +allLights.push(diningRoomStandLight); // Esszimmer Schranklicht 65813 24 1 65812 24 1 -let diningRoomCupboardLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'DiningRoom', 'CupboardLight', 'Schranklicht Esszimmer', '65813 24 1', '65812 24 1'); +let diningRoomCupboardLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Esszimmer', 'CupboardLight', 'Schranklicht', '65813 24 1', '65812 24 1'); diningRoomCupboardLight.start(); allLabeledItems.push(diningRoomCupboardLight); allRelevantLights.push(diningRoomCupboardLight); +allLights.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'); +let diningRoomShelfLight = new UrlSwitchItem_1.UrlSwitchItem('Gnd', 'Esszimmer', 'ShelfLight', 'Regallicht', 'http://172.16.2.43/dv?dv=1023', 'http://172.16.2.43/dv?dv=0'); // diningRoomShelfLight.start() // allLabeledItems.push(diningRoomShelfLight) // allRelevantLights.push(diningRoomShelfLight) -let diningRoomNaehkaestchenLight = new HueColorBulbItem_1.HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15); +let diningRoomNaehkaestchenLight = new HueColorBulbItem_1.HueColorBulbItem('Gnd', 'Esszimmer', 'NaehkaestchenLight', 'Nähkästchen', 15); diningRoomNaehkaestchenLight.start(); allLabeledItems.push(diningRoomNaehkaestchenLight); allRelevantLights.push(diningRoomNaehkaestchenLight); -let windowContactDiningRoom1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'DiningRoom', 'WindowContact1', 'Fenster Esszimmer Straße links', 26); +allLights.push(diningRoomNaehkaestchenLight); +let windowContactDiningRoom1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Esszimmer', 'WindowContact1', 'Essz. links', 26); windowContactDiningRoom1.start(); allLabeledItems.push(windowContactDiningRoom1); allWindows.push(windowContactDiningRoom1); -let windowContactDiningRoom2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'DiningRoom', 'WindowContact2', 'Fenster Esszimmer Straße rechts', 27); +let windowContactDiningRoom2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Esszimmer', 'WindowContact2', 'Essz. rechts', 27); windowContactDiningRoom2.start(); allLabeledItems.push(windowContactDiningRoom2); allWindows.push(windowContactDiningRoom2); -let thermostatDiningRoom = new MaxThermostat_1.MaxThermostat('Gnd', 'DiningRoom', 'Thermostat', 'Thermostat Esszimmer', 31, [windowContactDiningRoom1, windowContactDiningRoom2]); +let thermostatDiningRoom = new MaxThermostat_1.MaxThermostat('Gnd', 'Esszimmer', 'Thermostat', 'Thermostat Esszimmer', 31, [windowContactDiningRoom1, windowContactDiningRoom2]); thermostatDiningRoom.start(); thermostatDiningRoom.setPresetTemperature(21.0); allLabeledItems.push(thermostatDiningRoom); allThermostatItems.push(thermostatDiningRoom); // Wohnzimmer ----------------------------------------------------------------------------------------------- // Wohnzimmer grosse Lampe 65557 24 1 65556 24 1 -let livingRoomLargeLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'LivingRoom', 'LargeLight', 'große Lampe Wohnzimmer', '65557 24 1', '65556 24 1'); +let livingRoomLargeLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Wohnzimmer', 'LargeLight', 'große Lampe', '65557 24 1', '65556 24 1'); livingRoomLargeLight.start(); allLabeledItems.push(livingRoomLargeLight); allRelevantLights.push(livingRoomLargeLight); +allLights.push(livingRoomLargeLight); // Wohnzimmer kleine Lampe 87061 24 1 87060 24 1 -let livingRoomSmallLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'LivingRoom', 'SmallLight', 'kleine Lampe Wohnzimmer', '87061 24 1', '87060 24 1'); +let livingRoomSmallLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Wohnzimmer', 'SmallLight', 'kleine Lampe', '87061 24 1', '87060 24 1'); livingRoomSmallLight.start(); allLabeledItems.push(livingRoomSmallLight); allRelevantLights.push(livingRoomSmallLight); +allLights.push(livingRoomSmallLight); // Wohnzimmer Sterne 69909 24 1 69908 24 1 -let livingRoomStars = new M433SwitchItem_1.M433SwitchItem('Gnd', 'LivingRoom', 'Stars', 'Sterne Wohnzimmer', '69909 24 1', '69908 24 1'); +let livingRoomStars = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Wohnzimmer', 'Stars', 'Sterne', '69909 24 1', '69908 24 1'); livingRoomStars.start(); allLabeledItems.push(livingRoomStars); allRelevantLights.push(livingRoomStars); +allLights.push(livingRoomStars); // Wohnzimmer kleine Stehlampe 81941 24 1 81940 24 1 -let livingRoomStandLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'LivingRoom', 'StandLight', 'Stehlampe Wohnzimmer', '81941 24 1', '81940 24 1'); +let livingRoomStandLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Wohnzimmer', 'StandLight', 'Stehlampe', '81941 24 1', '81940 24 1'); livingRoomStandLight.start(); allLabeledItems.push(livingRoomStandLight); allRelevantLights.push(livingRoomStandLight); -let windowContactLivingRoom1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'LivingRoom', 'WindowContact1', 'Fenster Wohnzimmer Garten rechts', 28); +allLights.push(livingRoomStandLight); +let windowContactLivingRoom1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Wohnzimmer', 'WindowContact1', 'Wohnz. rechts', 28); windowContactLivingRoom1.start(); allLabeledItems.push(windowContactLivingRoom1); allWindows.push(windowContactLivingRoom1); -let windowContactLivingRoom2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'LivingRoom', 'WindowContact2', 'Fenster Wohnzimmer Garten links', 29); +let windowContactLivingRoom2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Wohnzimmer', 'WindowContact2', 'Wohnz. links', 29); windowContactLivingRoom2.start(); allLabeledItems.push(windowContactLivingRoom2); allWindows.push(windowContactLivingRoom2); -let thermostatLivingRoom = new MaxThermostat_1.MaxThermostat('Gnd', 'LivingRoom', 'Thermostat', 'Thermostat Wohnzimmer', 30, [windowContactLivingRoom1, windowContactLivingRoom2]); +let thermostatLivingRoom = new MaxThermostat_1.MaxThermostat('Gnd', 'Wohnzimmer', 'Thermostat', 'Thermostat Wohnzimmer', 30, [windowContactLivingRoom1, windowContactLivingRoom2]); thermostatLivingRoom.start(); thermostatLivingRoom.setPresetTemperature(21.0); allLabeledItems.push(thermostatLivingRoom); allThermostatItems.push(thermostatLivingRoom); // Flur ----------------------------------------------------------------------------------------------------- // Flur Schreibtisch 83221 24 1 83220 24 1 -let hallwayDeskLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Hallway', 'DeskLight', 'Schreibtischlampe Flur', '83221 24 1', '83220 24 1'); +let hallwayDeskLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Flur', 'DeskLight', 'Schreibtischlampe', '83221 24 1', '83220 24 1'); hallwayDeskLight.start(); allLabeledItems.push(hallwayDeskLight); allRelevantLights.push(hallwayDeskLight); +allLights.push(hallwayDeskLight); // Flur Stehlampe 8704914 24 5 8793154 24 5 -let hallwayStandLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Hallway', 'StandLight', 'Stehlampe Flur', '8704914 24 5', '8793154 24 5'); +let hallwayStandLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Flur', 'StandLight', 'Stehlampe', '8704914 24 5', '8793154 24 5'); hallwayStandLight.start(); allLabeledItems.push(hallwayStandLight); allRelevantLights.push(hallwayStandLight); +allLights.push(hallwayStandLight); // Flur Schranklicht 66581 24 1 66580 24 1 -let hallwayWardrobeLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Hallway', 'WardrobeLight', 'Schranklicht Flur', '66581 24 1', '66580 24 1'); +let hallwayWardrobeLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Flur', 'WardrobeLight', 'Schranklicht', '66581 24 1', '66580 24 1'); hallwayWardrobeLight.start(); allLabeledItems.push(hallwayWardrobeLight); allRelevantLights.push(hallwayWardrobeLight); -let windowContactHallway = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Hallway', 'WindowContact', 'Fenster Flur', 25); +allLights.push(hallwayWardrobeLight); +let windowContactHallway = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Flur', 'WindowContact', 'Flur', 25); windowContactHallway.start(); allLabeledItems.push(windowContactHallway); allWindows.push(windowContactHallway); -let thermostatHallway1 = new MaxThermostat_1.MaxThermostat('Gnd', 'Hallway', 'Thermostat1', 'Thermostat Flur vorne', 32, []); +let thermostatHallway1 = new MaxThermostat_1.MaxThermostat('Gnd', 'Flur', 'Thermostat1', 'Thermostat Flur vorne', 32, []); thermostatHallway1.start(); thermostatHallway1.setPresetTemperature(19.0); allLabeledItems.push(thermostatHallway1); allThermostatItems.push(thermostatHallway1); -let thermostatHallway2 = new MaxThermostat_1.MaxThermostat('Gnd', 'Hallway', 'Thermostat2', 'Thermostat Flur hinten', 33, []); +let thermostatHallway2 = new MaxThermostat_1.MaxThermostat('Gnd', 'Flur', 'Thermostat2', 'Thermostat Flur hinten', 33, []); thermostatHallway2.start(); thermostatHallway2.setPresetTemperature(5.0); allLabeledItems.push(thermostatHallway2); allThermostatItems.push(thermostatHallway2); // Küche ---------------------------------------------------------------------------------------------------- // Küche Fensterbank 66837 24 1 66836 24 1 -let kitchenWindowLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Kitchen', 'WindowLight', 'Fensterbanklicht Küche', '66837 24 1', '66836 24 1'); +let kitchenWindowLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Kueche', 'WindowLight', 'Fensterbanklicht', '66837 24 1', '66836 24 1'); kitchenWindowLight.start(); allLabeledItems.push(kitchenWindowLight); allRelevantLights.push(kitchenWindowLight); +allLights.push(kitchenWindowLight); // Küche Deckenlampe 82197 24 1 82196 24 1 -let kitchenCeilingLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Kitchen', 'CeilingLight', 'Deckenlampe Küche', '82197 24 1', '82196 24 1'); +let kitchenCeilingLight = new M433SwitchItem_1.M433SwitchItem('Gnd', 'Kueche', 'CeilingLight', 'Deckenlampe', '82197 24 1', '82196 24 1'); kitchenCeilingLight.start(); allLabeledItems.push(kitchenCeilingLight); allRelevantLights.push(kitchenCeilingLight); +allLights.push(kitchenCeilingLight); // Schlafzimmer --------------------------------------------------------------------------------------------- // Schlafzimmer Wolfgangs Seite 13976916 24 1 13976913 24 1 -let bedRoomWolfgangsSide = new M433SwitchItem_1.M433SwitchItem('1st', 'BedRoom', 'WolfgangsSide', 'Wolfgangs Seite Schlafzimmer', '13976916 24 1', '13976913 24 1'); +let bedRoomWolfgangsSide = new M433SwitchItem_1.M433SwitchItem('1st', 'Schlafzimmer', 'WolfgangsSide', 'Wolfgangs Seite', '13976916 24 1', '13976913 24 1'); bedRoomWolfgangsSide.start(); allLabeledItems.push(bedRoomWolfgangsSide); allRelevantLights.push(bedRoomWolfgangsSide); -let bedRoomWolfgangBedLight = new HueColorBulbItem_1.HueColorBulbItem('1st', 'BedRoom', 'WolfgangBedLight', 'Bettlicht', 16); +allLights.push(bedRoomWolfgangsSide); +let bedRoomWolfgangBedLight = new HueColorBulbItem_1.HueColorBulbItem('1st', 'Schlafzimmer', 'WolfgangBedLight', 'Wolfgangs Bettlicht', 16); bedRoomWolfgangBedLight.start(); allLabeledItems.push(bedRoomWolfgangBedLight); allRelevantLights.push(bedRoomWolfgangBedLight); -let bedRoomWolfgangBedLightDimmerAdaptor = new DimmerAdaptor_1.DimmerAdaptor('1st', 'BedRoom', 'WolfgangBedLight'); +allLights.push(bedRoomWolfgangBedLight); +let bedRoomWolfgangBedLightDimmerAdaptor = new DimmerAdaptor_1.DimmerAdaptor('1st', 'Schlafzimmer', 'WolfgangBedLight'); bedRoomWolfgangBedLightDimmerAdaptor.start(); let touchSwitchMultiButtonThing = new TouchSwitchMultiButtonThing_1.TouchSwitchMultiButtonThing('1st', 'Bedroom', 'Wolfgang', [new TouchSwitchMultiButtonThing_1.TouchSwitchButtonSingleItem(bedRoomWolfgangBedLightDimmerAdaptor.getInTopic())]); touchSwitchMultiButtonThing.start(); // Schlafzimmer Pattys Seite 13980756 24 1 13980753 24 1 -let bedRoomPattysSide = new M433SwitchItem_1.M433SwitchItem('1st', 'BedRoom', 'PattysSide', 'Pattys Seite Schlafzimmer', '13980756 24 1', '13980753 24 1'); +let bedRoomPattysSide = new M433SwitchItem_1.M433SwitchItem('1st', 'Schlafzimmer', 'PattysSide', 'Pattys Seite', '13980756 24 1', '13980753 24 1'); bedRoomPattysSide.start(); allLabeledItems.push(bedRoomPattysSide); allRelevantLights.push(bedRoomPattysSide); +allLights.push(bedRoomPattysSide); // Schlafzimmer Fensterbank 13979988 24 1 13979985 24 1 -let bedRoomWindowLight = new M433SwitchItem_1.M433SwitchItem('1st', 'BedRoom', 'WindowLight', 'Fensterbanklicht Schlafzimmer', '13979988 24 1', '13979985 24 1'); +let bedRoomWindowLight = new M433SwitchItem_1.M433SwitchItem('1st', 'Schlafzimmer', 'WindowLight', 'Fensterbanklicht', '13979988 24 1', '13979985 24 1'); bedRoomWindowLight.start(); allLabeledItems.push(bedRoomWindowLight); allRelevantLights.push(bedRoomWindowLight); -let windowContactBedroomStreet1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContactStreet', 'Fenster Schlafzimmer Strasse', 17); +allLights.push(bedRoomWindowLight); +let windowContactBedroomStreet1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContactStreet', 'Schlafz. Strasse', 17); windowContactBedroomStreet1st.start(); allLabeledItems.push(windowContactBedroomStreet1st); allWindows.push(windowContactBedroomStreet1st); -let windowContact1BedroomGarden1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContact1Garden', 'Fenster Schlafzimmer 1 Garten', 18); +let windowContact1BedroomGarden1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContact1Garden', 'Schlafz. Garten 1', 18); windowContact1BedroomGarden1st.start(); allLabeledItems.push(windowContact1BedroomGarden1st); allWindows.push(windowContact1BedroomGarden1st); -let windowContact2BedroomGarden1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContact2Garden', 'Fenster Schlafzimmer 2 Garten', 22); +let windowContact2BedroomGarden1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContact2Garden', 'Schlafz. Garten 2', 22); windowContact2BedroomGarden1st.start(); allLabeledItems.push(windowContact2BedroomGarden1st); allWindows.push(windowContact2BedroomGarden1st); @@ -251,14 +274,15 @@ let thermostatBedroom1stCron = new Cron_1.Cron('thermostatBedroom1stCron', therm ]); thermostatBedroom1stCron.start(); // --------------------------------------------------------------------------------------------------------- -let dayLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'DayLight', 'DayLight', [ +let dayLightScene = new Scene_1.LightScene('Gnd', 'Szenen', 'DayLight', 'DayLight', [ kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayStandLight, hallwayWardrobeLight, diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, diningRoomShelfLight, livingRoomLargeLight, livingRoomSmallLight, livingRoomStars, livingRoomStandLight, diningRoomNaehkaestchenLight ], []); dayLightScene.start(); allLabeledItems.push(dayLightScene); -let ecoLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLight', [ +allLightScenes.push(dayLightScene); +let ecoLightScene = new Scene_1.LightScene('Gnd', 'Szenen', 'EcoLight', 'EcoLight', [ kitchenWindowLight, hallwayDeskLight, hallwayWardrobeLight, diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, diningRoomShelfLight, livingRoomStars, livingRoomStandLight, diningRoomNaehkaestchenLight @@ -268,9 +292,10 @@ let ecoLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLig ]); ecoLightScene.start(); allLabeledItems.push(ecoLightScene); -let ecoSwitch = new MaxEcoSwitch_1.MaxEcoSwitch('Gnd', 'Hallway', 'EcoSwitch', 'EcoSwitch', 6, dayLightScene, ecoLightScene); +allLightScenes.push(ecoLightScene); +let ecoSwitch = new MaxEcoSwitch_1.MaxEcoSwitch('Gnd', 'Szenen', 'EcoSwitch', 'EcoSwitch', 6, dayLightScene, ecoLightScene); ecoSwitch.start(); -let morningLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'MorningLight', 'MorningLight', [ +let morningLightScene = new Scene_1.LightScene('Gnd', 'Szenen', 'MorningLight', 'MorningLight', [ kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayWardrobeLight, hallwayStandLight ], [ @@ -279,8 +304,12 @@ let morningLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'MorningLight', ]); morningLightScene.start(); allLabeledItems.push(morningLightScene); +allLightScenes.push(morningLightScene); +let sceneOfAllLights = new Scene_1.LightScene('Gnd', 'Szenen', 'AllLights', 'Alle Lampen', allLights, []); +sceneOfAllLights.start(); +allLightScenes.push(sceneOfAllLights); // ---------------------------------------------------------------------------------------------------------- -let windowContactBathroomGnd = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Bathroom', 'WindowContact', 'Fenster Bad unten', 7); +let windowContactBathroomGnd = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Bathroom', 'WindowContact', 'Bad unten', 7); windowContactBathroomGnd.start(); allLabeledItems.push(windowContactBathroomGnd); allWindows.push(windowContactBathroomGnd); @@ -297,7 +326,7 @@ let thermostatBathroomGndCron = new Cron_1.Cron('thermostatBathroomGndCron', the { cronTime: '00 00 23 * * *', output: 'OFF' } ]); thermostatBathroomGndCron.start(); -let windowContactBathroom1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bathroom', 'WindowContact', 'Fenster Bad oben', 2); +let windowContactBathroom1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bathroom', 'WindowContact', 'Bad oben', 2); windowContactBathroom1st.start(); allLabeledItems.push(windowContactBathroom1st); allWindows.push(windowContactBathroom1st); @@ -314,23 +343,23 @@ let thermostatBathroom1stCron = new Cron_1.Cron('thermostatBathroom1stCron', the { cronTime: '00 00 23 * * *', output: 'OFF' } ]); thermostatBathroom1stCron.start(); -let windowContactKitchen1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kitchen', 'WindowContact1', 'Fenster Küche Garten', 11); +let windowContactKitchen1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kueche', 'WindowContact1', 'Küche Garten', 11); windowContactKitchen1.start(); allLabeledItems.push(windowContactKitchen1); allWindows.push(windowContactKitchen1); -let windowContactKitchen2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kitchen', 'WindowContact2', 'Fenster Küche Terassentür Garten', 10); +let windowContactKitchen2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kueche', 'WindowContact2', 'Küche Terassentür', 10); windowContactKitchen2.start(); allLabeledItems.push(windowContactKitchen2); allWindows.push(windowContactKitchen2); -let windowContactKitchen3 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kitchen', 'WindowContact3', 'Fenster Küche Straße 1', 12); +let windowContactKitchen3 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kueche', 'WindowContact3', 'Küche Straße 1', 12); windowContactKitchen3.start(); allLabeledItems.push(windowContactKitchen3); allWindows.push(windowContactKitchen3); -let windowContactKitchen4 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kitchen', 'WindowContact4', 'Fenster Küche Straße 2', 13); +let windowContactKitchen4 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kueche', 'WindowContact4', 'Küche Straße 2', 13); windowContactKitchen4.start(); allLabeledItems.push(windowContactKitchen4); allWindows.push(windowContactKitchen4); -let thermostatKitchen = new MaxThermostat_1.MaxThermostat('Gnd', 'Kitchen', 'Thermostat', 'Thermostat Küche', 14, [ +let thermostatKitchen = new MaxThermostat_1.MaxThermostat('Gnd', 'Kueche', 'Thermostat', 'Thermostat Küche', 14, [ windowContactKitchen1, windowContactKitchen2, windowContactKitchen3, windowContactKitchen4 ]); thermostatKitchen.start(); @@ -346,7 +375,7 @@ let thermostatKitchenCron = new Cron_1.Cron('thermostatKitchenCron', thermostatK ]); thermostatKitchenCron.start(); // ---------------------------------------------------------------------------------------------------------- -let windowContactFrontdoor = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Hallway', 'FrontdoorContact', 'Haustür', 23); +let windowContactFrontdoor = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Flur', 'FrontdoorContact', 'Haustür', 23); windowContactFrontdoor.start(); allLabeledItems.push(windowContactFrontdoor); // ---------------------------------------------------------------------------------------------------------- @@ -360,14 +389,16 @@ let heatingSceneAll = new HeatingScene_1.HeatingScene('Gnd', 'House', 'Heatings' heatingSceneAll.start(); // ---------------------------------------------------------------------------------------------------------- // Basement -let workshopLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Workshop', 'Light', 'Licht Werkstatt', 5); +let workshopLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Keller', 'Light', 'Werkstatt', 5); workshopLight.start(); allLabeledItems.push(workshopLight); allRelevantLights.push(workshopLight); -let basementSmallLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Hallway', 'SmallLight', 'Licht Keller einfach', 35, 1); +allLights.push(workshopLight); +let basementSmallLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Keller', 'SmallLight', 'Licht einfach', 35, 1); basementSmallLight.start(); allLabeledItems.push(basementSmallLight); allRelevantLights.push(basementSmallLight); +allLights.push(basementSmallLight); basementSmallLight.on('somethingChanged', () => { if (basementSmallLight.getState() == 'ON') { setTimeout(() => { @@ -380,10 +411,11 @@ basementSmallLight.on('somethingChanged', () => { MqttDispatcher_1.mqttHandler.send(basementLargeLight.getStateTopic(), 'OFF'); } }); -let basementLargeLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Hallway', 'LargeLight', 'Licht Keller hell', 35, 2); +let basementLargeLight = new HomematicSwitchItem_1.HomematicSwitchItem('Base', 'Keller', 'LargeLight', 'Licht hell', 35, 2); basementLargeLight.start(); allLabeledItems.push(basementLargeLight); allRelevantLights.push(basementLargeLight); +allLights.push(basementLargeLight); basementLargeLight.on('somethingChanged', () => { if (basementLargeLight.getState() == 'ON') { MqttDispatcher_1.mqttHandler.send(basementSmallLight.getStateTopic(), 'ON'); @@ -401,35 +433,35 @@ basementForwarder.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"); +let twoLedSignal1 = new TwoLedSignal_1.TwoLedSignal('Gnd', 'Flur', 'TwoLedSignal1', 'Licht- und Fenster-Anzeiger', allRelevantLights, "OFF", "ON", allWindows, "CLOSED", "OPEN"); twoLedSignal1.start(); // MySwitchTHing -let mySwitchThingWolfgang = new MySwitchThing_1.MySwitchThing('1st', 'BedRoom', 'WolfgangsSwitch', [ +let mySwitchThingWolfgang = new MySwitchThing_1.MySwitchThing('1st', 'Schlafzimmer', 'WolfgangsSwitch', [ new MySwitchThing_1.MySwitchSingleItem(bedRoomWolfgangBedLightDimmerAdaptor.getInTopic()), new MySwitchThing_1.MySwitchSingleItem(basementForwarderSwitchOffAdaptor.getInTopic()), new MySwitchThing_1.MySwitchSingleItem('IoT/InsLeere/2'), ]); mySwitchThingWolfgang.start(); // ---------------------------------------------------------------------------------------------------------- -let testFourButton = new HomematicFourButtonThing_1.HomematicFourButtonThing('Gnd', 'Hallway', 'TestButton', 9, [ - new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/Testlight/dimmerIn'), - new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/DeskLight/timerIn'), +let testFourButton = new HomematicFourButtonThing_1.HomematicFourButtonThing('Gnd', 'Flur', 'TestButton', 9, [ + new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Flur/Testlight/dimmerIn'), + new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Flur/DeskLight/timerIn'), new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('test/button/3'), new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('test/button/4') ]); testFourButton.start(); -let testDimmerAdaptor = new DimmerAdaptor_1.DimmerAdaptor('Gnd', 'Hallway', 'Testlight'); +let testDimmerAdaptor = new DimmerAdaptor_1.DimmerAdaptor('Gnd', 'Flur', 'Testlight'); testDimmerAdaptor.start(); -let testTimerAdaptor = new TimerAdaptor_1.TimerAdaptor('Gnd', 'Hallway', 'DeskLight', 10); +let testTimerAdaptor = new TimerAdaptor_1.TimerAdaptor('Gnd', 'Flur', 'DeskLight', 10); testTimerAdaptor.start(); -let testLight = new HomematicDimmerItem_1.HomematicDimmerItem('Gnd', 'Hallway', 'Testlight', 'Testlampe mit Dimmer', 8); +let testLight = new HomematicDimmerItem_1.HomematicDimmerItem('Gnd', 'Flur', 'Testlight', 'Testlampe mit Dimmer', 8); testLight.start(); -let testForwarder = new Forwarder_1.Forwarder('Gnd', 'Hallway', 'TestForwarder', 'state', 'TestForwarder', [ - 'dispatcher_ng/items/Gnd/Hallway/Testlight2/state', - 'dispatcher_ng/items/Gnd/Hallway/DeskLight/state' +let testForwarder = new Forwarder_1.Forwarder('Gnd', 'Flur', 'TestForwarder', 'state', 'TestForwarder', [ + 'dispatcher_ng/items/Gnd/Flur/Testlight2/state', + 'dispatcher_ng/items/Gnd/Flur/DeskLight/state' ]); testForwarder.start(); -let testScene = new Scene_1.LightScene('Gnd', 'Hallway', 'TestScene', 'TestScene', [aquariumLight, annaBedLight], [matthiasStandLights, matthiasBedLight]); +let testScene = new Scene_1.LightScene('Gnd', 'Flur', 'TestScene', 'TestScene', [aquariumLight, annaBedLight], [matthiasStandLights, matthiasBedLight]); testScene.start(); // ---------------------------------------------------------------------------------------------------------- // heartbeat @@ -475,7 +507,35 @@ if (heatingMainSwitchExport != null) { } fs.writeFileSync(config.dict.homekitFile, JSON.stringify(homekitObject, null, 4)); fs.writeFileSync(config.dict.openhabItemFile, openhabList.join('\n')); +let roomSwitches = {}; +allLights.forEach((item) => { + let switchItem = { 'label': item.getLabel(), 'actionTopic': item.getStateTopic(), 'feedbackTopic': item.getStateFeedbackTopic() }; + if (item.getRoom() in roomSwitches) { + roomSwitches[item.getRoom()].push(switchItem); + } + else { + roomSwitches[item.getRoom()] = [switchItem]; + } +}); +let smartClientConfiguration = {}; +smartClientConfiguration['switches'] = []; +for (let key in roomSwitches) { + let item = { 'room': key, 'switches': roomSwitches[key] }; + smartClientConfiguration['switches'].push(item); +} +smartClientConfiguration['scenes'] = []; +allLightScenes.forEach((scene) => { + let item = { 'label': scene.getLabel(), 'actionTopic': scene.getStateTopic() }; + smartClientConfiguration['scenes'].push(item); +}); +smartClientConfiguration['windows'] = []; +allWindows.forEach((window) => { + let item = { 'label': window.getLabel(), 'topic': window.getStateFeedbackTopic() }; + smartClientConfiguration['windows'].push(item); +}); +fs.writeFileSync('smartclient.json', JSON.stringify(smartClientConfiguration, null, 4)); // ---------------------------------------------------------------------------------------------------------- MqttDispatcher_1.mqttHandler.exec(); logger.info("Dispatcher running"); +MqttDispatcher_1.mqttHandler.send('smartclient/configuration', JSON.stringify(smartClientConfiguration, null, 4)); //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/homekit.json b/homekit.json index eebffae..3df70a6 100644 --- a/homekit.json +++ b/homekit.json @@ -1,7 +1,7 @@ { "1st_Anna_AquariumLight": { "id": "1st_Anna_AquariumLight", - "name": "Aquariumlicht", + "name": "Aquarium", "service": "Lightbulb", "topic": { "setOn": "dispatcher_ng/items/1st/Anna/AquariumLight/state", @@ -18,7 +18,7 @@ }, "1st_Anna_BedLight": { "id": "1st_Anna_BedLight", - "name": "Bettlicht Anna", + "name": "Bettlicht", "service": "Lightbulb", "topic": { "setOn": "dispatcher_ng/items/1st/Anna/BedLight/state", @@ -35,7 +35,7 @@ }, "1st_Anna_WindowContact": { "id": "1st_Anna_WindowContact", - "name": "Fenster Anna", + "name": "Anna", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/1st/Anna/WindowContact/state/feedback" @@ -57,7 +57,7 @@ }, "1st_Matthias_StandLight": { "id": "1st_Matthias_StandLight", - "name": "Stehlampen Matthias", + "name": "Stehlampen", "service": "Lightbulb", "topic": { "setOn": "dispatcher_ng/items/1st/Matthias/StandLight/state", @@ -74,7 +74,7 @@ }, "1st_Matthias_BedLight": { "id": "1st_Matthias_BedLight", - "name": "Bettlicht Matthias", + "name": "Bettlicht", "service": "Lightbulb", "topic": { "setOn": "dispatcher_ng/items/1st/Matthias/BedLight/state", @@ -91,7 +91,7 @@ }, "1st_Matthias_Speaker": { "id": "1st_Matthias_Speaker", - "name": "Lautsprecher Matthias", + "name": "Lautsprecher", "service": "Outlet", "topic": { "setOn": "dispatcher_ng/items/1st/Matthias/Speaker/state", @@ -105,7 +105,7 @@ }, "1st_Matthias_WindowContact": { "id": "1st_Matthias_WindowContact", - "name": "Fenster Matthias", + "name": "Matthias", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/1st/Matthias/WindowContact/state/feedback" @@ -114,13 +114,13 @@ "onContactDetected": "CLOSED" } }, - "Gnd_DiningRoom_SmallLight": { - "id": "Gnd_DiningRoom_SmallLight", - "name": "kleine Lampe Esszimmer", + "Gnd_Esszimmer_SmallLight": { + "id": "Gnd_Esszimmer_SmallLight", + "name": "kleine Lampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/DiningRoom/SmallLight/state", - "statusOn": "dispatcher_ng/items/Gnd/DiningRoom/SmallLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Esszimmer/SmallLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Esszimmer/SmallLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -131,13 +131,13 @@ }, "config": {} }, - "Gnd_DiningRoom_StandLight": { - "id": "Gnd_DiningRoom_StandLight", - "name": "Stehlampe Esszimmer", + "Gnd_Esszimmer_StandLight": { + "id": "Gnd_Esszimmer_StandLight", + "name": "Stehlampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/DiningRoom/StandLight/state", - "statusOn": "dispatcher_ng/items/Gnd/DiningRoom/StandLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Esszimmer/StandLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Esszimmer/StandLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -148,13 +148,13 @@ }, "config": {} }, - "Gnd_DiningRoom_CupboardLight": { - "id": "Gnd_DiningRoom_CupboardLight", - "name": "Schranklicht Esszimmer", + "Gnd_Esszimmer_CupboardLight": { + "id": "Gnd_Esszimmer_CupboardLight", + "name": "Schranklicht", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/DiningRoom/CupboardLight/state", - "statusOn": "dispatcher_ng/items/Gnd/DiningRoom/CupboardLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Esszimmer/CupboardLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Esszimmer/CupboardLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -165,23 +165,23 @@ }, "config": {} }, - "Gnd_DiningRoom_NaehkaestchenLight": { - "id": "Gnd_DiningRoom_NaehkaestchenLight", - "name": "Lampe Naehkaestchen", + "Gnd_Esszimmer_NaehkaestchenLight": { + "id": "Gnd_Esszimmer_NaehkaestchenLight", + "name": "Nähkästchen", "service": "Lightbulb", "manufacturer": "hue2mqtt - Hue", "model": "color light", "topic": { - "setOn": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/state", - "statusOn": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/state/feedback", - "setBrightness": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/bright", - "statusBrightness": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/bright/feedback", - "setHue": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/hue", - "statusHue": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/bright/hue", - "setSaturation": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/saturation", - "statusSaturation": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/bright/saturation", - "setColorTemperature": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/colorTemperature", - "statusColorTemperature": "dispatcher_ng/items/Gnd/DiningRoom/NaehkaestchenLight/colorTemperature/feedback" + "setOn": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/state/feedback", + "setBrightness": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/bright", + "statusBrightness": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/bright/feedback", + "setHue": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/hue", + "statusHue": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/bright/hue", + "setSaturation": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/saturation", + "statusSaturation": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/bright/saturation", + "setColorTemperature": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/colorTemperature", + "statusColorTemperature": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/colorTemperature/feedback" }, "payload": { "onTrue": "ON", @@ -191,46 +191,46 @@ "saturationFactor": 1 } }, - "Gnd_DiningRoom_WindowContact1": { - "id": "Gnd_DiningRoom_WindowContact1", - "name": "Fenster Esszimmer Straße links", + "Gnd_Esszimmer_WindowContact1": { + "id": "Gnd_Esszimmer_WindowContact1", + "name": "Essz. links", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/DiningRoom/WindowContact1/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Esszimmer/WindowContact1/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_DiningRoom_WindowContact2": { - "id": "Gnd_DiningRoom_WindowContact2", - "name": "Fenster Esszimmer Straße rechts", + "Gnd_Esszimmer_WindowContact2": { + "id": "Gnd_Esszimmer_WindowContact2", + "name": "Essz. rechts", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/DiningRoom/WindowContact2/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Esszimmer/WindowContact2/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_DiningRoom_Thermostat": { - "id": "Gnd_DiningRoom_Thermostat", + "Gnd_Esszimmer_Thermostat": { + "id": "Gnd_Esszimmer_Thermostat", "name": "Thermostat Esszimmer", "service": "Thermostat", "topic": { - "setTargetTemperature": "dispatcher_ng/items/Gnd/DiningRoom/Thermostat/temperature", - "statusTargetTemperature": "dispatcher_ng/items/Gnd/DiningRoom/Thermostat/temperature/feedback", - "statusCurrentTemperature": "dispatcher_ng/items/Gnd/DiningRoom/Thermostat/temperature/feedback" + "setTargetTemperature": "dispatcher_ng/items/Gnd/Esszimmer/Thermostat/temperature", + "statusTargetTemperature": "dispatcher_ng/items/Gnd/Esszimmer/Thermostat/temperature/feedback", + "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Esszimmer/Thermostat/temperature/feedback" }, "payload": {} }, - "Gnd_LivingRoom_LargeLight": { - "id": "Gnd_LivingRoom_LargeLight", - "name": "große Lampe Wohnzimmer", + "Gnd_Wohnzimmer_LargeLight": { + "id": "Gnd_Wohnzimmer_LargeLight", + "name": "große Lampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/LivingRoom/LargeLight/state", - "statusOn": "dispatcher_ng/items/Gnd/LivingRoom/LargeLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Wohnzimmer/LargeLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Wohnzimmer/LargeLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -241,13 +241,13 @@ }, "config": {} }, - "Gnd_LivingRoom_SmallLight": { - "id": "Gnd_LivingRoom_SmallLight", - "name": "kleine Lampe Wohnzimmer", + "Gnd_Wohnzimmer_SmallLight": { + "id": "Gnd_Wohnzimmer_SmallLight", + "name": "kleine Lampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/LivingRoom/SmallLight/state", - "statusOn": "dispatcher_ng/items/Gnd/LivingRoom/SmallLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Wohnzimmer/SmallLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Wohnzimmer/SmallLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -258,13 +258,13 @@ }, "config": {} }, - "Gnd_LivingRoom_Stars": { - "id": "Gnd_LivingRoom_Stars", - "name": "Sterne Wohnzimmer", + "Gnd_Wohnzimmer_Stars": { + "id": "Gnd_Wohnzimmer_Stars", + "name": "Sterne", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/LivingRoom/Stars/state", - "statusOn": "dispatcher_ng/items/Gnd/LivingRoom/Stars/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Wohnzimmer/Stars/state", + "statusOn": "dispatcher_ng/items/Gnd/Wohnzimmer/Stars/state/feedback" }, "payload": { "onTrue": "ON", @@ -275,13 +275,13 @@ }, "config": {} }, - "Gnd_LivingRoom_StandLight": { - "id": "Gnd_LivingRoom_StandLight", - "name": "Stehlampe Wohnzimmer", + "Gnd_Wohnzimmer_StandLight": { + "id": "Gnd_Wohnzimmer_StandLight", + "name": "Stehlampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/LivingRoom/StandLight/state", - "statusOn": "dispatcher_ng/items/Gnd/LivingRoom/StandLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Wohnzimmer/StandLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Wohnzimmer/StandLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -292,46 +292,46 @@ }, "config": {} }, - "Gnd_LivingRoom_WindowContact1": { - "id": "Gnd_LivingRoom_WindowContact1", - "name": "Fenster Wohnzimmer Garten rechts", + "Gnd_Wohnzimmer_WindowContact1": { + "id": "Gnd_Wohnzimmer_WindowContact1", + "name": "Wohnz. rechts", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/LivingRoom/WindowContact1/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Wohnzimmer/WindowContact1/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_LivingRoom_WindowContact2": { - "id": "Gnd_LivingRoom_WindowContact2", - "name": "Fenster Wohnzimmer Garten links", + "Gnd_Wohnzimmer_WindowContact2": { + "id": "Gnd_Wohnzimmer_WindowContact2", + "name": "Wohnz. links", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/LivingRoom/WindowContact2/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Wohnzimmer/WindowContact2/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_LivingRoom_Thermostat": { - "id": "Gnd_LivingRoom_Thermostat", + "Gnd_Wohnzimmer_Thermostat": { + "id": "Gnd_Wohnzimmer_Thermostat", "name": "Thermostat Wohnzimmer", "service": "Thermostat", "topic": { - "setTargetTemperature": "dispatcher_ng/items/Gnd/LivingRoom/Thermostat/temperature", - "statusTargetTemperature": "dispatcher_ng/items/Gnd/LivingRoom/Thermostat/temperature/feedback", - "statusCurrentTemperature": "dispatcher_ng/items/Gnd/LivingRoom/Thermostat/temperature/feedback" + "setTargetTemperature": "dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/temperature", + "statusTargetTemperature": "dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/temperature/feedback", + "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/temperature/feedback" }, "payload": {} }, - "Gnd_Hallway_DeskLight": { - "id": "Gnd_Hallway_DeskLight", - "name": "Schreibtischlampe Flur", + "Gnd_Flur_DeskLight": { + "id": "Gnd_Flur_DeskLight", + "name": "Schreibtischlampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Hallway/DeskLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Hallway/DeskLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Flur/DeskLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Flur/DeskLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -342,13 +342,13 @@ }, "config": {} }, - "Gnd_Hallway_StandLight": { - "id": "Gnd_Hallway_StandLight", - "name": "Stehlampe Flur", + "Gnd_Flur_StandLight": { + "id": "Gnd_Flur_StandLight", + "name": "Stehlampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Hallway/StandLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Hallway/StandLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Flur/StandLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Flur/StandLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -359,13 +359,13 @@ }, "config": {} }, - "Gnd_Hallway_WardrobeLight": { - "id": "Gnd_Hallway_WardrobeLight", - "name": "Schranklicht Flur", + "Gnd_Flur_WardrobeLight": { + "id": "Gnd_Flur_WardrobeLight", + "name": "Schranklicht", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Hallway/WardrobeLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Hallway/WardrobeLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Flur/WardrobeLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Flur/WardrobeLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -376,46 +376,46 @@ }, "config": {} }, - "Gnd_Hallway_WindowContact": { - "id": "Gnd_Hallway_WindowContact", - "name": "Fenster Flur", + "Gnd_Flur_WindowContact": { + "id": "Gnd_Flur_WindowContact", + "name": "Flur", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/Hallway/WindowContact/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Flur/WindowContact/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_Hallway_Thermostat1": { - "id": "Gnd_Hallway_Thermostat1", + "Gnd_Flur_Thermostat1": { + "id": "Gnd_Flur_Thermostat1", "name": "Thermostat Flur vorne", "service": "Thermostat", "topic": { - "setTargetTemperature": "dispatcher_ng/items/Gnd/Hallway/Thermostat1/temperature", - "statusTargetTemperature": "dispatcher_ng/items/Gnd/Hallway/Thermostat1/temperature/feedback", - "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Hallway/Thermostat1/temperature/feedback" + "setTargetTemperature": "dispatcher_ng/items/Gnd/Flur/Thermostat1/temperature", + "statusTargetTemperature": "dispatcher_ng/items/Gnd/Flur/Thermostat1/temperature/feedback", + "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Flur/Thermostat1/temperature/feedback" }, "payload": {} }, - "Gnd_Hallway_Thermostat2": { - "id": "Gnd_Hallway_Thermostat2", + "Gnd_Flur_Thermostat2": { + "id": "Gnd_Flur_Thermostat2", "name": "Thermostat Flur hinten", "service": "Thermostat", "topic": { - "setTargetTemperature": "dispatcher_ng/items/Gnd/Hallway/Thermostat2/temperature", - "statusTargetTemperature": "dispatcher_ng/items/Gnd/Hallway/Thermostat2/temperature/feedback", - "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Hallway/Thermostat2/temperature/feedback" + "setTargetTemperature": "dispatcher_ng/items/Gnd/Flur/Thermostat2/temperature", + "statusTargetTemperature": "dispatcher_ng/items/Gnd/Flur/Thermostat2/temperature/feedback", + "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Flur/Thermostat2/temperature/feedback" }, "payload": {} }, - "Gnd_Kitchen_WindowLight": { - "id": "Gnd_Kitchen_WindowLight", - "name": "Fensterbanklicht Küche", + "Gnd_Kueche_WindowLight": { + "id": "Gnd_Kueche_WindowLight", + "name": "Fensterbanklicht", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Kitchen/WindowLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Kitchen/WindowLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Kueche/WindowLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Kueche/WindowLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -426,13 +426,13 @@ }, "config": {} }, - "Gnd_Kitchen_CeilingLight": { - "id": "Gnd_Kitchen_CeilingLight", - "name": "Deckenlampe Küche", + "Gnd_Kueche_CeilingLight": { + "id": "Gnd_Kueche_CeilingLight", + "name": "Deckenlampe", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Kitchen/CeilingLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Kitchen/CeilingLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Kueche/CeilingLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Kueche/CeilingLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -443,13 +443,13 @@ }, "config": {} }, - "1st_BedRoom_WolfgangsSide": { - "id": "1st_BedRoom_WolfgangsSide", - "name": "Wolfgangs Seite Schlafzimmer", + "1st_Schlafzimmer_WolfgangsSide": { + "id": "1st_Schlafzimmer_WolfgangsSide", + "name": "Wolfgangs Seite", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/1st/BedRoom/WolfgangsSide/state", - "statusOn": "dispatcher_ng/items/1st/BedRoom/WolfgangsSide/state/feedback" + "setOn": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangsSide/state", + "statusOn": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangsSide/state/feedback" }, "payload": { "onTrue": "ON", @@ -460,23 +460,23 @@ }, "config": {} }, - "1st_BedRoom_WolfgangBedLight": { - "id": "1st_BedRoom_WolfgangBedLight", - "name": "Bettlicht", + "1st_Schlafzimmer_WolfgangBedLight": { + "id": "1st_Schlafzimmer_WolfgangBedLight", + "name": "Wolfgangs Bettlicht", "service": "Lightbulb", "manufacturer": "hue2mqtt - Hue", "model": "color light", "topic": { - "setOn": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/state", - "statusOn": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/state/feedback", - "setBrightness": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/bright", - "statusBrightness": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/bright/feedback", - "setHue": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/hue", - "statusHue": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/bright/hue", - "setSaturation": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/saturation", - "statusSaturation": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/bright/saturation", - "setColorTemperature": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/colorTemperature", - "statusColorTemperature": "dispatcher_ng/items/1st/BedRoom/WolfgangBedLight/colorTemperature/feedback" + "setOn": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/state", + "statusOn": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/state/feedback", + "setBrightness": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/bright", + "statusBrightness": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/bright/feedback", + "setHue": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/hue", + "statusHue": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/bright/hue", + "setSaturation": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/saturation", + "statusSaturation": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/bright/saturation", + "setColorTemperature": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/colorTemperature", + "statusColorTemperature": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/colorTemperature/feedback" }, "payload": { "onTrue": "ON", @@ -486,13 +486,13 @@ "saturationFactor": 1 } }, - "1st_BedRoom_PattysSide": { - "id": "1st_BedRoom_PattysSide", - "name": "Pattys Seite Schlafzimmer", + "1st_Schlafzimmer_PattysSide": { + "id": "1st_Schlafzimmer_PattysSide", + "name": "Pattys Seite", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/1st/BedRoom/PattysSide/state", - "statusOn": "dispatcher_ng/items/1st/BedRoom/PattysSide/state/feedback" + "setOn": "dispatcher_ng/items/1st/Schlafzimmer/PattysSide/state", + "statusOn": "dispatcher_ng/items/1st/Schlafzimmer/PattysSide/state/feedback" }, "payload": { "onTrue": "ON", @@ -503,13 +503,13 @@ }, "config": {} }, - "1st_BedRoom_WindowLight": { - "id": "1st_BedRoom_WindowLight", - "name": "Fensterbanklicht Schlafzimmer", + "1st_Schlafzimmer_WindowLight": { + "id": "1st_Schlafzimmer_WindowLight", + "name": "Fensterbanklicht", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/1st/BedRoom/WindowLight/state", - "statusOn": "dispatcher_ng/items/1st/BedRoom/WindowLight/state/feedback" + "setOn": "dispatcher_ng/items/1st/Schlafzimmer/WindowLight/state", + "statusOn": "dispatcher_ng/items/1st/Schlafzimmer/WindowLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -522,7 +522,7 @@ }, "1st_Bedroom_WindowContactStreet": { "id": "1st_Bedroom_WindowContactStreet", - "name": "Fenster Schlafzimmer Strasse", + "name": "Schlafz. Strasse", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/1st/Bedroom/WindowContactStreet/state/feedback" @@ -533,7 +533,7 @@ }, "1st_Bedroom_WindowContact1Garden": { "id": "1st_Bedroom_WindowContact1Garden", - "name": "Fenster Schlafzimmer 1 Garten", + "name": "Schlafz. Garten 1", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/1st/Bedroom/WindowContact1Garden/state/feedback" @@ -544,7 +544,7 @@ }, "1st_Bedroom_WindowContact2Garden": { "id": "1st_Bedroom_WindowContact2Garden", - "name": "Fenster Schlafzimmer 2 Garten", + "name": "Schlafz. Garten 2", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/1st/Bedroom/WindowContact2Garden/state/feedback" @@ -564,13 +564,13 @@ }, "payload": {} }, - "Gnd_Hallway_DayLight": { - "id": "Gnd_Hallway_DayLight", + "Gnd_Szenen_DayLight": { + "id": "Gnd_Szenen_DayLight", "name": "DayLight", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Hallway/DayLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Hallway/DayLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Szenen/DayLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Szenen/DayLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -581,13 +581,13 @@ }, "config": {} }, - "Gnd_Hallway_EcoLight": { - "id": "Gnd_Hallway_EcoLight", + "Gnd_Szenen_EcoLight": { + "id": "Gnd_Szenen_EcoLight", "name": "EcoLight", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Hallway/EcoLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Hallway/EcoLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Szenen/EcoLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Szenen/EcoLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -598,13 +598,13 @@ }, "config": {} }, - "Gnd_Hallway_MorningLight": { - "id": "Gnd_Hallway_MorningLight", + "Gnd_Szenen_MorningLight": { + "id": "Gnd_Szenen_MorningLight", "name": "MorningLight", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Gnd/Hallway/MorningLight/state", - "statusOn": "dispatcher_ng/items/Gnd/Hallway/MorningLight/state/feedback" + "setOn": "dispatcher_ng/items/Gnd/Szenen/MorningLight/state", + "statusOn": "dispatcher_ng/items/Gnd/Szenen/MorningLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -617,7 +617,7 @@ }, "Gnd_Bathroom_WindowContact": { "id": "Gnd_Bathroom_WindowContact", - "name": "Fenster Bad unten", + "name": "Bad unten", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/Gnd/Bathroom/WindowContact/state/feedback" @@ -639,7 +639,7 @@ }, "1st_Bathroom_WindowContact": { "id": "1st_Bathroom_WindowContact", - "name": "Fenster Bad oben", + "name": "Bad oben", "service": "ContactSensor", "topic": { "statusContactSensorState": "dispatcher_ng/items/1st/Bathroom/WindowContact/state/feedback" @@ -659,80 +659,80 @@ }, "payload": {} }, - "Gnd_Kitchen_WindowContact1": { - "id": "Gnd_Kitchen_WindowContact1", - "name": "Fenster Küche Garten", + "Gnd_Kueche_WindowContact1": { + "id": "Gnd_Kueche_WindowContact1", + "name": "Küche Garten", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/Kitchen/WindowContact1/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Kueche/WindowContact1/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_Kitchen_WindowContact2": { - "id": "Gnd_Kitchen_WindowContact2", - "name": "Fenster Küche Terassentür Garten", + "Gnd_Kueche_WindowContact2": { + "id": "Gnd_Kueche_WindowContact2", + "name": "Küche Terassentür", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/Kitchen/WindowContact2/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Kueche/WindowContact2/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_Kitchen_WindowContact3": { - "id": "Gnd_Kitchen_WindowContact3", - "name": "Fenster Küche Straße 1", + "Gnd_Kueche_WindowContact3": { + "id": "Gnd_Kueche_WindowContact3", + "name": "Küche Straße 1", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/Kitchen/WindowContact3/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Kueche/WindowContact3/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_Kitchen_WindowContact4": { - "id": "Gnd_Kitchen_WindowContact4", - "name": "Fenster Küche Straße 2", + "Gnd_Kueche_WindowContact4": { + "id": "Gnd_Kueche_WindowContact4", + "name": "Küche Straße 2", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/Kitchen/WindowContact4/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Kueche/WindowContact4/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, - "Gnd_Kitchen_Thermostat": { - "id": "Gnd_Kitchen_Thermostat", + "Gnd_Kueche_Thermostat": { + "id": "Gnd_Kueche_Thermostat", "name": "Thermostat Küche", "service": "Thermostat", "topic": { - "setTargetTemperature": "dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature", - "statusTargetTemperature": "dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature/feedback", - "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature/feedback" + "setTargetTemperature": "dispatcher_ng/items/Gnd/Kueche/Thermostat/temperature", + "statusTargetTemperature": "dispatcher_ng/items/Gnd/Kueche/Thermostat/temperature/feedback", + "statusCurrentTemperature": "dispatcher_ng/items/Gnd/Kueche/Thermostat/temperature/feedback" }, "payload": {} }, - "Gnd_Hallway_FrontdoorContact": { - "id": "Gnd_Hallway_FrontdoorContact", + "Gnd_Flur_FrontdoorContact": { + "id": "Gnd_Flur_FrontdoorContact", "name": "Haustür", "service": "ContactSensor", "topic": { - "statusContactSensorState": "dispatcher_ng/items/Gnd/Hallway/FrontdoorContact/state/feedback" + "statusContactSensorState": "dispatcher_ng/items/Gnd/Flur/FrontdoorContact/state/feedback" }, "payload": { "onContactDetected": "CLOSED" } }, "": {}, - "Base_Workshop_Light": { - "id": "Base_Workshop_Light", - "name": "Licht Werkstatt", + "Base_Keller_Light": { + "id": "Base_Keller_Light", + "name": "Werkstatt", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Base/Workshop/Light/state", - "statusOn": "dispatcher_ng/items/Base/Workshop/Light/state/feedback" + "setOn": "dispatcher_ng/items/Base/Keller/Light/state", + "statusOn": "dispatcher_ng/items/Base/Keller/Light/state/feedback" }, "payload": { "onTrue": "ON", @@ -743,13 +743,13 @@ }, "config": {} }, - "Base_Hallway_SmallLight": { - "id": "Base_Hallway_SmallLight", - "name": "Licht Keller einfach", + "Base_Keller_SmallLight": { + "id": "Base_Keller_SmallLight", + "name": "Licht einfach", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Base/Hallway/SmallLight/state", - "statusOn": "dispatcher_ng/items/Base/Hallway/SmallLight/state/feedback" + "setOn": "dispatcher_ng/items/Base/Keller/SmallLight/state", + "statusOn": "dispatcher_ng/items/Base/Keller/SmallLight/state/feedback" }, "payload": { "onTrue": "ON", @@ -760,13 +760,13 @@ }, "config": {} }, - "Base_Hallway_LargeLight": { - "id": "Base_Hallway_LargeLight", - "name": "Licht Keller hell", + "Base_Keller_LargeLight": { + "id": "Base_Keller_LargeLight", + "name": "Licht hell", "service": "Lightbulb", "topic": { - "setOn": "dispatcher_ng/items/Base/Hallway/LargeLight/state", - "statusOn": "dispatcher_ng/items/Base/Hallway/LargeLight/state/feedback" + "setOn": "dispatcher_ng/items/Base/Keller/LargeLight/state", + "statusOn": "dispatcher_ng/items/Base/Keller/LargeLight/state/feedback" }, "payload": { "onTrue": "ON", diff --git a/openhab.items b/openhab.items index 4392b62..b56ea43 100644 --- a/openhab.items +++ b/openhab.items @@ -1,70 +1,70 @@ -Switch 1st_Anna_AquariumLight "Aquariumlicht"{mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/AquariumLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/AquariumLight/state/feedback:state:default]"} -Switch 1st_Anna_BedLight "Bettlicht Anna"{mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/BedLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/BedLight/state/feedback:state:default]"} -Contact 1st_Anna_WindowContact "Fenster Anna" {mqtt="<[localbroker:dispatcher_ng/items/1st/Anna/WindowContact/state/feedback:state:default]"} +Switch 1st_Anna_AquariumLight "Aquarium"{mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/AquariumLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/AquariumLight/state/feedback:state:default]"} +Switch 1st_Anna_BedLight "Bettlicht"{mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/BedLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/BedLight/state/feedback:state:default]"} +Contact 1st_Anna_WindowContact "Anna" {mqtt="<[localbroker:dispatcher_ng/items/1st/Anna/WindowContact/state/feedback:state:default]"} Number 1st_Anna_Thermostat "Thermostat Anna [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/Thermostat/temperature/feedback:state:default]"} Number Preset_1st_Anna_Thermostat "Preset_Thermostat Anna [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/Thermostat/presetTemperature/feedback:state:default]"} -Switch 1st_Matthias_StandLight "Stehlampen Matthias"{mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/StandLight/state/feedback:state:default]"} -Switch 1st_Matthias_BedLight "Bettlicht Matthias"{mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/BedLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/BedLight/state/feedback:state:default]"} -Switch 1st_Matthias_Speaker "Lautsprecher Matthias"{mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/Speaker/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/Speaker/state/feedback:state:default]"} -Contact 1st_Matthias_WindowContact "Fenster Matthias" {mqtt="<[localbroker:dispatcher_ng/items/1st/Matthias/WindowContact/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_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 1st_Matthias_StandLight "Stehlampen"{mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/StandLight/state/feedback:state:default]"} +Switch 1st_Matthias_BedLight "Bettlicht"{mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/BedLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/BedLight/state/feedback:state:default]"} +Switch 1st_Matthias_Speaker "Lautsprecher"{mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/Speaker/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/Speaker/state/feedback:state:default]"} +Contact 1st_Matthias_WindowContact "Matthias" {mqtt="<[localbroker:dispatcher_ng/items/1st/Matthias/WindowContact/state/feedback:state:default]"} +Switch Gnd_Esszimmer_SmallLight "kleine Lampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Esszimmer/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/SmallLight/state/feedback:state:default]"} +Switch Gnd_Esszimmer_StandLight "Stehlampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Esszimmer/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/StandLight/state/feedback:state:default]"} +Switch Gnd_Esszimmer_CupboardLight "Schranklicht"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Esszimmer/CupboardLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/CupboardLight/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]"} -Number Gnd_DiningRoom_Thermostat "Thermostat Esszimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/Thermostat/temperature/feedback:state:default]"} -Number Preset_Gnd_DiningRoom_Thermostat "Preset_Thermostat Esszimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/DiningRoom/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/DiningRoom/Thermostat/presetTemperature/feedback:state:default]"} -Switch Gnd_LivingRoom_LargeLight "große Lampe Wohnzimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/LivingRoom/LargeLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/LargeLight/state/feedback:state:default]"} -Switch Gnd_LivingRoom_SmallLight "kleine Lampe Wohnzimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/LivingRoom/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/SmallLight/state/feedback:state:default]"} -Switch Gnd_LivingRoom_Stars "Sterne Wohnzimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/LivingRoom/Stars/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/Stars/state/feedback:state:default]"} -Switch Gnd_LivingRoom_StandLight "Stehlampe Wohnzimmer"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/LivingRoom/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/StandLight/state/feedback:state:default]"} -Contact Gnd_LivingRoom_WindowContact1 "Fenster Wohnzimmer Garten rechts" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/WindowContact1/state/feedback:state:default]"} -Contact Gnd_LivingRoom_WindowContact2 "Fenster Wohnzimmer Garten links" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/WindowContact2/state/feedback:state:default]"} -Number Gnd_LivingRoom_Thermostat "Thermostat Wohnzimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/LivingRoom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/Thermostat/temperature/feedback:state:default]"} -Number Preset_Gnd_LivingRoom_Thermostat "Preset_Thermostat Wohnzimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/LivingRoom/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/LivingRoom/Thermostat/presetTemperature/feedback:state:default]"} -Switch Gnd_Hallway_DeskLight "Schreibtischlampe Flur"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/DeskLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/DeskLight/state/feedback:state:default]"} -Switch Gnd_Hallway_StandLight "Stehlampe Flur"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/StandLight/state/feedback:state:default]"} -Switch Gnd_Hallway_WardrobeLight "Schranklicht Flur"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/WardrobeLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/WardrobeLight/state/feedback:state:default]"} -Contact Gnd_Hallway_WindowContact "Fenster Flur" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Hallway/WindowContact/state/feedback:state:default]"} -Number Gnd_Hallway_Thermostat1 "Thermostat Flur vorne [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat1/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat1/temperature/feedback:state:default]"} -Number Preset_Gnd_Hallway_Thermostat1 "Preset_Thermostat Flur vorne [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat1/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat1/presetTemperature/feedback:state:default]"} -Number Gnd_Hallway_Thermostat2 "Thermostat Flur hinten [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat2/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat2/temperature/feedback:state:default]"} -Number Preset_Gnd_Hallway_Thermostat2 "Preset_Thermostat Flur hinten [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat2/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/Thermostat2/presetTemperature/feedback:state:default]"} -Switch Gnd_Kitchen_WindowLight "Fensterbanklicht Küche"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowLight/state/feedback:state:default]"} -Switch Gnd_Kitchen_CeilingLight "Deckenlampe Küche"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitchen/CeilingLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kitchen/CeilingLight/state/feedback:state:default]"} -Switch 1st_BedRoom_WolfgangsSide "Wolfgangs Seite Schlafzimmer"{mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/WolfgangsSide/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/BedRoom/WolfgangsSide/state/feedback:state:default]"} +Contact Gnd_Esszimmer_WindowContact1 "Essz. links" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/WindowContact1/state/feedback:state:default]"} +Contact Gnd_Esszimmer_WindowContact2 "Essz. rechts" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/WindowContact2/state/feedback:state:default]"} +Number Gnd_Esszimmer_Thermostat "Thermostat Esszimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Esszimmer/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/Thermostat/temperature/feedback:state:default]"} +Number Preset_Gnd_Esszimmer_Thermostat "Preset_Thermostat Esszimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Esszimmer/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Esszimmer/Thermostat/presetTemperature/feedback:state:default]"} +Switch Gnd_Wohnzimmer_LargeLight "große Lampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/LargeLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/LargeLight/state/feedback:state:default]"} +Switch Gnd_Wohnzimmer_SmallLight "kleine Lampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/SmallLight/state/feedback:state:default]"} +Switch Gnd_Wohnzimmer_Stars "Sterne"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/Stars/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/Stars/state/feedback:state:default]"} +Switch Gnd_Wohnzimmer_StandLight "Stehlampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/StandLight/state/feedback:state:default]"} +Contact Gnd_Wohnzimmer_WindowContact1 "Wohnz. rechts" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/WindowContact1/state/feedback:state:default]"} +Contact Gnd_Wohnzimmer_WindowContact2 "Wohnz. links" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/WindowContact2/state/feedback:state:default]"} +Number Gnd_Wohnzimmer_Thermostat "Thermostat Wohnzimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/temperature/feedback:state:default]"} +Number Preset_Gnd_Wohnzimmer_Thermostat "Preset_Thermostat Wohnzimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Wohnzimmer/Thermostat/presetTemperature/feedback:state:default]"} +Switch Gnd_Flur_DeskLight "Schreibtischlampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/DeskLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/DeskLight/state/feedback:state:default]"} +Switch Gnd_Flur_StandLight "Stehlampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/StandLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/StandLight/state/feedback:state:default]"} +Switch Gnd_Flur_WardrobeLight "Schranklicht"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/WardrobeLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/WardrobeLight/state/feedback:state:default]"} +Contact Gnd_Flur_WindowContact "Flur" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Flur/WindowContact/state/feedback:state:default]"} +Number Gnd_Flur_Thermostat1 "Thermostat Flur vorne [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat1/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat1/temperature/feedback:state:default]"} +Number Preset_Gnd_Flur_Thermostat1 "Preset_Thermostat Flur vorne [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat1/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat1/presetTemperature/feedback:state:default]"} +Number Gnd_Flur_Thermostat2 "Thermostat Flur hinten [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat2/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat2/temperature/feedback:state:default]"} +Number Preset_Gnd_Flur_Thermostat2 "Preset_Thermostat Flur hinten [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat2/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Flur/Thermostat2/presetTemperature/feedback:state:default]"} +Switch Gnd_Kueche_WindowLight "Fensterbanklicht"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kueche/WindowLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kueche/WindowLight/state/feedback:state:default]"} +Switch Gnd_Kueche_CeilingLight "Deckenlampe"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kueche/CeilingLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kueche/CeilingLight/state/feedback:state:default]"} +Switch 1st_Schlafzimmer_WolfgangsSide "Wolfgangs Seite"{mqtt=">[localbroker:dispatcher_ng/items/1st/Schlafzimmer/WolfgangsSide/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Schlafzimmer/WolfgangsSide/state/feedback:state:default]"} -Switch 1st_BedRoom_PattysSide "Pattys Seite Schlafzimmer"{mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/PattysSide/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/BedRoom/PattysSide/state/feedback:state:default]"} -Switch 1st_BedRoom_WindowLight "Fensterbanklicht Schlafzimmer"{mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state/feedback:state:default]"} -Contact 1st_Bedroom_WindowContactStreet "Fenster Schlafzimmer Strasse" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContactStreet/state/feedback:state:default]"} -Contact 1st_Bedroom_WindowContact1Garden "Fenster Schlafzimmer 1 Garten" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContact1Garden/state/feedback:state:default]"} -Contact 1st_Bedroom_WindowContact2Garden "Fenster Schlafzimmer 2 Garten" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContact2Garden/state/feedback:state:default]"} +Switch 1st_Schlafzimmer_PattysSide "Pattys Seite"{mqtt=">[localbroker:dispatcher_ng/items/1st/Schlafzimmer/PattysSide/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Schlafzimmer/PattysSide/state/feedback:state:default]"} +Switch 1st_Schlafzimmer_WindowLight "Fensterbanklicht"{mqtt=">[localbroker:dispatcher_ng/items/1st/Schlafzimmer/WindowLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Schlafzimmer/WindowLight/state/feedback:state:default]"} +Contact 1st_Bedroom_WindowContactStreet "Schlafz. Strasse" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContactStreet/state/feedback:state:default]"} +Contact 1st_Bedroom_WindowContact1Garden "Schlafz. Garten 1" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContact1Garden/state/feedback:state:default]"} +Contact 1st_Bedroom_WindowContact2Garden "Schlafz. Garten 2" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContact2Garden/state/feedback:state:default]"} Number 1st_Bedroom_Thermostat "Thermostat Schlafzimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/1st/Bedroom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Bedroom/Thermostat/temperature/feedback:state:default]"} Number Preset_1st_Bedroom_Thermostat "Preset_Thermostat Schlafzimmer [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/1st/Bedroom/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Bedroom/Thermostat/presetTemperature/feedback:state:default]"} -Switch Gnd_Hallway_DayLight "DayLight"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/DayLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/DayLight/state/feedback:state:default]"} -Switch Gnd_Hallway_EcoLight "EcoLight"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/EcoLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/EcoLight/state/feedback:state:default]"} -Switch Gnd_Hallway_MorningLight "MorningLight"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/MorningLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/MorningLight/state/feedback:state:default]"} -Contact Gnd_Bathroom_WindowContact "Fenster Bad unten" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Bathroom/WindowContact/state/feedback:state:default]"} +Switch Gnd_Szenen_DayLight "DayLight"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Szenen/DayLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Szenen/DayLight/state/feedback:state:default]"} +Switch Gnd_Szenen_EcoLight "EcoLight"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Szenen/EcoLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Szenen/EcoLight/state/feedback:state:default]"} +Switch Gnd_Szenen_MorningLight "MorningLight"{mqtt=">[localbroker:dispatcher_ng/items/Gnd/Szenen/MorningLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Szenen/MorningLight/state/feedback:state:default]"} +Contact Gnd_Bathroom_WindowContact "Bad unten" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Bathroom/WindowContact/state/feedback:state:default]"} Number Gnd_Bathroom_Thermostat "Thermostat Bad unten [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Bathroom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Bathroom/Thermostat/temperature/feedback:state:default]"} Number Preset_Gnd_Bathroom_Thermostat "Preset_Thermostat Bad unten [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Bathroom/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Bathroom/Thermostat/presetTemperature/feedback:state:default]"} -Contact 1st_Bathroom_WindowContact "Fenster Bad oben" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bathroom/WindowContact/state/feedback:state:default]"} +Contact 1st_Bathroom_WindowContact "Bad oben" {mqtt="<[localbroker:dispatcher_ng/items/1st/Bathroom/WindowContact/state/feedback:state:default]"} Number 1st_Bathroom_Thermostat "Thermostat Bad oben [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/1st/Bathroom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Bathroom/Thermostat/temperature/feedback:state:default]"} Number Preset_1st_Bathroom_Thermostat "Preset_Thermostat Bad oben [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/1st/Bathroom/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Bathroom/Thermostat/presetTemperature/feedback:state:default]"} -Contact Gnd_Kitchen_WindowContact1 "Fenster Küche Garten" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact1/state/feedback:state:default]"} -Contact Gnd_Kitchen_WindowContact2 "Fenster Küche Terassentür Garten" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact2/state/feedback:state:default]"} -Contact Gnd_Kitchen_WindowContact3 "Fenster Küche Straße 1" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact3/state/feedback:state:default]"} -Contact Gnd_Kitchen_WindowContact4 "Fenster Küche Straße 2" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact4/state/feedback:state:default]"} -Number Gnd_Kitchen_Thermostat "Thermostat Küche [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature/feedback:state:default]"} -Number Preset_Gnd_Kitchen_Thermostat "Preset_Thermostat Küche [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitchen/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kitchen/Thermostat/presetTemperature/feedback:state:default]"} -Contact Gnd_Hallway_FrontdoorContact "Haustür" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Hallway/FrontdoorContact/state/feedback:state:default]"} +Contact Gnd_Kueche_WindowContact1 "Küche Garten" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kueche/WindowContact1/state/feedback:state:default]"} +Contact Gnd_Kueche_WindowContact2 "Küche Terassentür" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kueche/WindowContact2/state/feedback:state:default]"} +Contact Gnd_Kueche_WindowContact3 "Küche Straße 1" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kueche/WindowContact3/state/feedback:state:default]"} +Contact Gnd_Kueche_WindowContact4 "Küche Straße 2" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kueche/WindowContact4/state/feedback:state:default]"} +Number Gnd_Kueche_Thermostat "Thermostat Küche [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kueche/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kueche/Thermostat/temperature/feedback:state:default]"} +Number Preset_Gnd_Kueche_Thermostat "Preset_Thermostat Küche [%.1f °C]" {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kueche/Thermostat/presetTemperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kueche/Thermostat/presetTemperature/feedback:state:default]"} +Contact Gnd_Flur_FrontdoorContact "Haustür" {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Flur/FrontdoorContact/state/feedback:state:default]"} Switch base_labor_relaybox0 "Küche" {mqtt=">[localbroker:dispatcher_ng/items/base/labor/relaybox/state/0:command:*:default],<[localbroker:dispatcher_ng/items/base/labor/relaybox/feedback/0:state:default]"} String base_labor_relaybox0Conflict "Küche [%s]" {mqtt="<[localbroker:dispatcher_ng/items/base/labor/relaybox/conflict/0:state:default]"} Switch base_labor_relaybox1 "Herd" {mqtt=">[localbroker:dispatcher_ng/items/base/labor/relaybox/state/1:command:*:default],<[localbroker:dispatcher_ng/items/base/labor/relaybox/feedback/1:state:default]"} 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 Base_Keller_Light "Werkstatt"{mqtt=">[localbroker:dispatcher_ng/items/Base/Keller/Light/state:command:*:default],<[localbroker:dispatcher_ng/items/Base/Keller/Light/state/feedback:state:default]"} +Switch Base_Keller_SmallLight "Licht einfach"{mqtt=">[localbroker:dispatcher_ng/items/Base/Keller/SmallLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Base/Keller/SmallLight/state/feedback:state:default]"} +Switch Base_Keller_LargeLight "Licht hell"{mqtt=">[localbroker:dispatcher_ng/items/Base/Keller/LargeLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Base/Keller/LargeLight/state/feedback:state:default]"} Switch HeatingMainSwitch "Heizung Hauptschalter" {mqtt=">[localbroker:dispatcher_ng/items/heatingMainSwitch:command:*:default],<[localbroker:dispatcher_ng/items/heatingMainSwitch:state:default]"} \ No newline at end of file diff --git a/smartclient.json b/smartclient.json new file mode 100644 index 0000000..04df979 --- /dev/null +++ b/smartclient.json @@ -0,0 +1,248 @@ +{ + "switches": [ + { + "room": "Anna", + "switches": [ + { + "label": "Bettlicht", + "actionTopic": "dispatcher_ng/items/1st/Anna/BedLight/state", + "feedbackTopic": "dispatcher_ng/items/1st/Anna/BedLight/state/feedback" + } + ] + }, + { + "room": "Matthias", + "switches": [ + { + "label": "Stehlampen", + "actionTopic": "dispatcher_ng/items/1st/Matthias/StandLight/state", + "feedbackTopic": "dispatcher_ng/items/1st/Matthias/StandLight/state/feedback" + }, + { + "label": "Bettlicht", + "actionTopic": "dispatcher_ng/items/1st/Matthias/BedLight/state", + "feedbackTopic": "dispatcher_ng/items/1st/Matthias/BedLight/state/feedback" + }, + { + "label": "Lautsprecher", + "actionTopic": "dispatcher_ng/items/1st/Matthias/Speaker/state", + "feedbackTopic": "dispatcher_ng/items/1st/Matthias/Speaker/state/feedback" + } + ] + }, + { + "room": "Esszimmer", + "switches": [ + { + "label": "kleine Lampe", + "actionTopic": "dispatcher_ng/items/Gnd/Esszimmer/SmallLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Esszimmer/SmallLight/state/feedback" + }, + { + "label": "Stehlampe", + "actionTopic": "dispatcher_ng/items/Gnd/Esszimmer/StandLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Esszimmer/StandLight/state/feedback" + }, + { + "label": "Schranklicht", + "actionTopic": "dispatcher_ng/items/Gnd/Esszimmer/CupboardLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Esszimmer/CupboardLight/state/feedback" + }, + { + "label": "Nähkästchen", + "actionTopic": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Esszimmer/NaehkaestchenLight/state/feedback" + } + ] + }, + { + "room": "Wohnzimmer", + "switches": [ + { + "label": "große Lampe", + "actionTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/LargeLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/LargeLight/state/feedback" + }, + { + "label": "kleine Lampe", + "actionTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/SmallLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/SmallLight/state/feedback" + }, + { + "label": "Sterne", + "actionTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/Stars/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/Stars/state/feedback" + }, + { + "label": "Stehlampe", + "actionTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/StandLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Wohnzimmer/StandLight/state/feedback" + } + ] + }, + { + "room": "Flur", + "switches": [ + { + "label": "Schreibtischlampe", + "actionTopic": "dispatcher_ng/items/Gnd/Flur/DeskLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Flur/DeskLight/state/feedback" + }, + { + "label": "Stehlampe", + "actionTopic": "dispatcher_ng/items/Gnd/Flur/StandLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Flur/StandLight/state/feedback" + }, + { + "label": "Schranklicht", + "actionTopic": "dispatcher_ng/items/Gnd/Flur/WardrobeLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Flur/WardrobeLight/state/feedback" + } + ] + }, + { + "room": "Kueche", + "switches": [ + { + "label": "Fensterbanklicht", + "actionTopic": "dispatcher_ng/items/Gnd/Kueche/WindowLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Kueche/WindowLight/state/feedback" + }, + { + "label": "Deckenlampe", + "actionTopic": "dispatcher_ng/items/Gnd/Kueche/CeilingLight/state", + "feedbackTopic": "dispatcher_ng/items/Gnd/Kueche/CeilingLight/state/feedback" + } + ] + }, + { + "room": "Schlafzimmer", + "switches": [ + { + "label": "Wolfgangs Seite", + "actionTopic": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangsSide/state", + "feedbackTopic": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangsSide/state/feedback" + }, + { + "label": "Wolfgangs Bettlicht", + "actionTopic": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/state", + "feedbackTopic": "dispatcher_ng/items/1st/Schlafzimmer/WolfgangBedLight/state/feedback" + }, + { + "label": "Pattys Seite", + "actionTopic": "dispatcher_ng/items/1st/Schlafzimmer/PattysSide/state", + "feedbackTopic": "dispatcher_ng/items/1st/Schlafzimmer/PattysSide/state/feedback" + }, + { + "label": "Fensterbanklicht", + "actionTopic": "dispatcher_ng/items/1st/Schlafzimmer/WindowLight/state", + "feedbackTopic": "dispatcher_ng/items/1st/Schlafzimmer/WindowLight/state/feedback" + } + ] + }, + { + "room": "Keller", + "switches": [ + { + "label": "Werkstatt", + "actionTopic": "dispatcher_ng/items/Base/Keller/Light/state", + "feedbackTopic": "dispatcher_ng/items/Base/Keller/Light/state/feedback" + }, + { + "label": "Licht einfach", + "actionTopic": "dispatcher_ng/items/Base/Keller/SmallLight/state", + "feedbackTopic": "dispatcher_ng/items/Base/Keller/SmallLight/state/feedback" + }, + { + "label": "Licht hell", + "actionTopic": "dispatcher_ng/items/Base/Keller/LargeLight/state", + "feedbackTopic": "dispatcher_ng/items/Base/Keller/LargeLight/state/feedback" + } + ] + } + ], + "scenes": [ + { + "label": "DayLight", + "actionTopic": "dispatcher_ng/items/Gnd/Szenen/DayLight/state" + }, + { + "label": "EcoLight", + "actionTopic": "dispatcher_ng/items/Gnd/Szenen/EcoLight/state" + }, + { + "label": "MorningLight", + "actionTopic": "dispatcher_ng/items/Gnd/Szenen/MorningLight/state" + }, + { + "label": "Alle Lampen", + "actionTopic": "dispatcher_ng/items/Gnd/Szenen/AllLights/state" + } + ], + "windows": [ + { + "label": "Anna", + "topic": "dispatcher_ng/items/1st/Anna/WindowContact/state/feedback" + }, + { + "label": "Matthias", + "topic": "dispatcher_ng/items/1st/Matthias/WindowContact/state/feedback" + }, + { + "label": "Essz. links", + "topic": "dispatcher_ng/items/Gnd/Esszimmer/WindowContact1/state/feedback" + }, + { + "label": "Essz. rechts", + "topic": "dispatcher_ng/items/Gnd/Esszimmer/WindowContact2/state/feedback" + }, + { + "label": "Wohnz. rechts", + "topic": "dispatcher_ng/items/Gnd/Wohnzimmer/WindowContact1/state/feedback" + }, + { + "label": "Wohnz. links", + "topic": "dispatcher_ng/items/Gnd/Wohnzimmer/WindowContact2/state/feedback" + }, + { + "label": "Flur", + "topic": "dispatcher_ng/items/Gnd/Flur/WindowContact/state/feedback" + }, + { + "label": "Schlafz. Strasse", + "topic": "dispatcher_ng/items/1st/Bedroom/WindowContactStreet/state/feedback" + }, + { + "label": "Schlafz. Garten 1", + "topic": "dispatcher_ng/items/1st/Bedroom/WindowContact1Garden/state/feedback" + }, + { + "label": "Schlafz. Garten 2", + "topic": "dispatcher_ng/items/1st/Bedroom/WindowContact2Garden/state/feedback" + }, + { + "label": "Bad unten", + "topic": "dispatcher_ng/items/Gnd/Bathroom/WindowContact/state/feedback" + }, + { + "label": "Bad oben", + "topic": "dispatcher_ng/items/1st/Bathroom/WindowContact/state/feedback" + }, + { + "label": "Küche Garten", + "topic": "dispatcher_ng/items/Gnd/Kueche/WindowContact1/state/feedback" + }, + { + "label": "Küche Terassentür", + "topic": "dispatcher_ng/items/Gnd/Kueche/WindowContact2/state/feedback" + }, + { + "label": "Küche Straße 1", + "topic": "dispatcher_ng/items/Gnd/Kueche/WindowContact3/state/feedback" + }, + { + "label": "Küche Straße 2", + "topic": "dispatcher_ng/items/Gnd/Kueche/WindowContact4/state/feedback" + } + ] +} \ No newline at end of file diff --git a/src/AItem.ts b/src/AItem.ts index 790d292..c411345 100644 --- a/src/AItem.ts +++ b/src/AItem.ts @@ -13,6 +13,15 @@ export interface HasStateAndFeedbackTopic extends HasStateTopic { getStateFeedbackTopic() : string } +export interface HasStateAndFeedbackTopicAndLabel extends HasFeedbackTopic { + getLabel() : string +} + +export interface HasStateAndFeedbackTopicAndLabelAndRoom extends HasStateAndFeedbackTopic { + getLabel() : string + getRoom() : string +} + export interface HasFeedbackTopic { getStateFeedbackTopic() : string } diff --git a/src/HomematicSwitchItem.ts b/src/HomematicSwitchItem.ts index e93d931..0b5687b 100644 --- a/src/HomematicSwitchItem.ts +++ b/src/HomematicSwitchItem.ts @@ -2,9 +2,9 @@ import * as logger from './log' import { mqttHandler } from './MqttDispatcher' import { AHomegearItem } from './AHomegearItem' import { SwitchExport, ExportType } from './Export' -import { HasStateAndFeedbackTopic } from './AItem'; +import { HasStateAndFeedbackTopicAndLabelAndRoom } from './AItem'; -export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFeedbackTopic { +export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFeedbackTopicAndLabelAndRoom { private oldState: string|undefined private state: string private actionTopic: string @@ -14,6 +14,14 @@ export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFee private type: string private partId: number + getLabel(): string { + return this.label + } + + getRoom() : string { + return this.room + } + getStateTopic() : string { return this.stateTopic } diff --git a/src/HueColorBulbItem.ts b/src/HueColorBulbItem.ts index 01f60c2..273bbb9 100644 --- a/src/HueColorBulbItem.ts +++ b/src/HueColorBulbItem.ts @@ -2,9 +2,9 @@ import * as logger from './log' import { mqttHandler } from './MqttDispatcher' import { AHomegearItem } from './AHomegearItem' import { HueColorLightExport, ExportType } from './Export' -import { HasStateAndFeedbackTopic, HasInTopic } from './AItem' +import { HasStateAndFeedbackTopic, HasInTopic, HasStateAndFeedbackTopicAndLabelAndRoom } from './AItem' -export class HueColorBulbItem extends AHomegearItem implements HasStateAndFeedbackTopic{ +export class HueColorBulbItem extends AHomegearItem implements HasStateAndFeedbackTopicAndLabelAndRoom { private readonly BRIGHT_FACTOR: number = 2.54 private readonly HUE_FACTOR: number = (65535 / 360) private readonly SATURATION_FACTOR: number = 2.54 @@ -34,6 +34,14 @@ export class HueColorBulbItem extends AHomegearItem implements HasStateAndFeedba private hueDeviceTopic: string private saturationDeviceTopic: string + getLabel() : string { + return this.label + } + + getRoom() : string { + return this.room + } + getStateTopic() : string { return this.stateTopic } diff --git a/src/M433SwitchItem.ts b/src/M433SwitchItem.ts index e8f0b6d..f73d3d4 100644 --- a/src/M433SwitchItem.ts +++ b/src/M433SwitchItem.ts @@ -1,10 +1,10 @@ import * as logger from './log' import { mqttHandler } from './MqttDispatcher' -import { AItem, HasStateAndFeedbackTopic, HasInTopic } from './AItem' +import { AItem, HasStateAndFeedbackTopicAndLabelAndRoom, HasInTopic, HasStateAndFeedbackTopic } from './AItem' import { SwitchExport, ExportType } from './Export' -export class M433SwitchItem extends AItem implements HasStateAndFeedbackTopic { +export class M433SwitchItem extends AItem implements HasStateAndFeedbackTopicAndLabelAndRoom { private offCode: string private onCode: string private oldState: string|undefined @@ -14,6 +14,14 @@ export class M433SwitchItem extends AItem implements HasStateAndFeedbackTopic { private stateTopic: string private type: string + getLabel() : string { + return this.label + } + + getRoom() : string { + return this.room + } + getStateTopic() : string { return this.stateTopic } diff --git a/src/MaxWindowContact.ts b/src/MaxWindowContact.ts index 2c27c5d..436c4ad 100644 --- a/src/MaxWindowContact.ts +++ b/src/MaxWindowContact.ts @@ -3,9 +3,9 @@ import { mqttHandler } from './MqttDispatcher' import { AHomegearItem } from './AHomegearItem' import { ContactExport, ExportType } from './Export' import { Disabler } from './Disabler' -import { HasFeedbackTopic } from './AItem' +import { HasFeedbackTopic, HasStateAndFeedbackTopicAndLabel } from './AItem' -export class MaxWindowContact extends AHomegearItem implements Disabler, HasFeedbackTopic { +export class MaxWindowContact extends AHomegearItem implements Disabler, HasStateAndFeedbackTopicAndLabel { private deviceFeedbackTopic: string private stateFeedbackTopic: string private stateTopic: string @@ -15,6 +15,10 @@ export class MaxWindowContact extends AHomegearItem implements Disabler, HasFeed return this.stateFeedbackTopic } + getLabel() { + return this.label + } + transform(payload: string) : string { let res: string if (payload == 'OPEN') { diff --git a/src/Scene.ts b/src/Scene.ts index 95bb267..238d7a0 100644 --- a/src/Scene.ts +++ b/src/Scene.ts @@ -1,9 +1,9 @@ -import { AItem, HasStateAndFeedbackTopic } from './AItem' +import { AItem, HasStateAndFeedbackTopic, HasStateAndFeedbackTopicAndLabelAndRoom } from './AItem' import * as logger from './log' import { mqttHandler } from './MqttDispatcher' import { ExportType, SwitchExport } from './Export' -export class LightScene extends AItem implements HasStateAndFeedbackTopic { +export class LightScene extends AItem implements HasStateAndFeedbackTopicAndLabelAndRoom { private onFeedbackTopics: string[] private offFeedbackTopics: string[] private onTopics: string[] @@ -17,6 +17,14 @@ export class LightScene extends AItem implements HasStateAndFeedbackTopic { private onItems: HasStateAndFeedbackTopic[] private myLastFeedbackState: string + getLabel() { + return this.label + } + + getRoom() { + return this.room + } + getStateTopic() { return this.stateTopic } diff --git a/src/main.ts b/src/main.ts index cf3ec22..7e050c8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,7 +4,7 @@ import * as config from './config' import * as logger from './log' import { mqttHandler } from './MqttDispatcher' -import { AItem, HasInTopic, HasFeedbackTopic, HasStateAndFeedbackTopic } from './AItem' +import { AItem, HasInTopic, HasFeedbackTopic, HasStateAndFeedbackTopic, HasStateAndFeedbackTopicAndLabelAndRoom, HasStateAndFeedbackTopicAndLabel } from './AItem' import { HomekitExportType, ExportType } from './Export' import { M433SwitchItem } from './M433SwitchItem' import { HomematicFourButtonThing, HomematicFourButtonSingleItem } from './HomematicFourButtonThing' @@ -34,11 +34,11 @@ let allLabeledItems : Array = new Array() let allThermostatItems : Array = new Array() let allWindows : Array = new Array() let allRelevantLights: Array = new Array() - - +let allLights: Array = new Array(); +let allLightScenes: Array = new Array(); // Anna ----------------------------------------------------------------------------------------------------- // Anna Aquarium 14665044 24 1 14665041 24 1 -let aquariumLight = new M433SwitchItem('1st', 'Anna', 'AquariumLight', 'Aquariumlicht', '14665044 24 1', '14665041 24 1') +let aquariumLight = new M433SwitchItem('1st', 'Anna', 'AquariumLight', 'Aquarium', '14665044 24 1', '14665041 24 1') aquariumLight.start() allLabeledItems.push(aquariumLight) @@ -54,12 +54,13 @@ aquariumLightCron.start() // Anna Bett 14668116 24 1 14668113 24 1 -let annaBedLight = new M433SwitchItem('1st', 'Anna', 'BedLight', 'Bettlicht Anna', '14668116 24 1', '14668113 24 1') +let annaBedLight = new M433SwitchItem('1st', 'Anna', 'BedLight', 'Bettlicht', '14668116 24 1', '14668113 24 1') annaBedLight.start() allLabeledItems.push(annaBedLight) allRelevantLights.push(annaBedLight) +allLights.push(annaBedLight) -let windowContactAnna1st = new MaxWindowContact('1st', 'Anna', 'WindowContact', 'Fenster Anna', 20) +let windowContactAnna1st = new MaxWindowContact('1st', 'Anna', 'WindowContact', 'Anna', 20) windowContactAnna1st.start() allLabeledItems.push(windowContactAnna1st) allWindows.push(windowContactAnna1st) @@ -85,25 +86,28 @@ thermostatAnna1stCron.start() // Matthias ------------------------------------------------------------------------------------------------- // Matthias Stehlampen 7 24 1 6 24 1 -let matthiasStandLights = new M433SwitchItem('1st', 'Matthias', 'StandLight', 'Stehlampen Matthias', '7 24 1', '6 24 1') +let matthiasStandLights = new M433SwitchItem('1st', 'Matthias', 'StandLight', 'Stehlampen', '7 24 1', '6 24 1') matthiasStandLights.start() allLabeledItems.push(matthiasStandLights) allRelevantLights.push(matthiasStandLights) +allLights.push(matthiasStandLights) // Matthias Bett 15 24 1 14 24 1 -let matthiasBedLight = new M433SwitchItem('1st', 'Matthias', 'BedLight', 'Bettlicht Matthias', '15 24 1', '14 24 1') +let matthiasBedLight = new M433SwitchItem('1st', 'Matthias', 'BedLight', 'Bettlicht', '15 24 1', '14 24 1') matthiasBedLight.start() allLabeledItems.push(matthiasBedLight) allRelevantLights.push(matthiasBedLight) +allLights.push(matthiasBedLight) // Matthias Lautsprecher 11 24 1 10 24 1 -let matthiasSpeaker = new M433SwitchItem('1st', 'Matthias', 'Speaker', 'Lautsprecher Matthias', '11 24 1', '10 24 1', 'outlet') +let matthiasSpeaker = new M433SwitchItem('1st', 'Matthias', 'Speaker', 'Lautsprecher', '11 24 1', '10 24 1', 'outlet') matthiasSpeaker.start() allLabeledItems.push(matthiasSpeaker) allRelevantLights.push(matthiasSpeaker) +allLights.push(matthiasSpeaker) -let windowContactMatthias = new MaxWindowContact('1st', 'Matthias', 'WindowContact', 'Fenster Matthias', 24) +let windowContactMatthias = new MaxWindowContact('1st', 'Matthias', 'WindowContact', 'Matthias', 24) windowContactMatthias.start() allLabeledItems.push(windowContactMatthias) allWindows.push(windowContactMatthias) @@ -112,44 +116,48 @@ allWindows.push(windowContactMatthias) // Esszimmer ------------------------------------------------------------------------------------------------ // Esszimmer kleine Lampe 69653 24 1 69652 24 1 -let diningRoomSmallLight = new M433SwitchItem('Gnd', 'DiningRoom', 'SmallLight', 'kleine Lampe Esszimmer', '69653 24 1', '69652 24 1') +let diningRoomSmallLight = new M433SwitchItem('Gnd', 'Esszimmer', 'SmallLight', 'kleine Lampe', '69653 24 1', '69652 24 1') diningRoomSmallLight.start() allLabeledItems.push(diningRoomSmallLight) allRelevantLights.push(diningRoomSmallLight) +allLights.push(diningRoomSmallLight) // Esszimmer Stehlampe 86037 24 1 86036 24 1 -let diningRoomStandLight = new M433SwitchItem('Gnd', 'DiningRoom', 'StandLight', 'Stehlampe Esszimmer', '86037 24 1', '86036 24 1') +let diningRoomStandLight = new M433SwitchItem('Gnd', 'Esszimmer', 'StandLight', 'Stehlampe', '86037 24 1', '86036 24 1') diningRoomStandLight.start() allLabeledItems.push(diningRoomStandLight) allRelevantLights.push(diningRoomStandLight) +allLights.push(diningRoomStandLight) // Esszimmer Schranklicht 65813 24 1 65812 24 1 -let diningRoomCupboardLight = new M433SwitchItem('Gnd', 'DiningRoom', 'CupboardLight', 'Schranklicht Esszimmer', '65813 24 1', '65812 24 1') +let diningRoomCupboardLight = new M433SwitchItem('Gnd', 'Esszimmer', 'CupboardLight', 'Schranklicht', '65813 24 1', '65812 24 1') diningRoomCupboardLight.start() allLabeledItems.push(diningRoomCupboardLight) allRelevantLights.push(diningRoomCupboardLight) +allLights.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') +let diningRoomShelfLight = new UrlSwitchItem('Gnd', 'Esszimmer', 'ShelfLight', 'Regallicht', 'http://172.16.2.43/dv?dv=1023', 'http://172.16.2.43/dv?dv=0') // diningRoomShelfLight.start() // allLabeledItems.push(diningRoomShelfLight) // allRelevantLights.push(diningRoomShelfLight) -let diningRoomNaehkaestchenLight = new HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15) +let diningRoomNaehkaestchenLight = new HueColorBulbItem('Gnd', 'Esszimmer', 'NaehkaestchenLight', 'Nähkästchen', 15) diningRoomNaehkaestchenLight.start() allLabeledItems.push(diningRoomNaehkaestchenLight) allRelevantLights.push(diningRoomNaehkaestchenLight) +allLights.push(diningRoomNaehkaestchenLight) -let windowContactDiningRoom1 = new MaxWindowContact('Gnd', 'DiningRoom', 'WindowContact1', 'Fenster Esszimmer Straße links', 26) +let windowContactDiningRoom1 = new MaxWindowContact('Gnd', 'Esszimmer', 'WindowContact1', 'Essz. links', 26) windowContactDiningRoom1.start() allLabeledItems.push(windowContactDiningRoom1) allWindows.push(windowContactDiningRoom1) -let windowContactDiningRoom2 = new MaxWindowContact('Gnd', 'DiningRoom', 'WindowContact2', 'Fenster Esszimmer Straße rechts', 27) +let windowContactDiningRoom2 = new MaxWindowContact('Gnd', 'Esszimmer', 'WindowContact2', 'Essz. rechts', 27) windowContactDiningRoom2.start() allLabeledItems.push(windowContactDiningRoom2) allWindows.push(windowContactDiningRoom2) -let thermostatDiningRoom = new MaxThermostat('Gnd', 'DiningRoom', 'Thermostat', 'Thermostat Esszimmer', 31, [windowContactDiningRoom1, windowContactDiningRoom2]) +let thermostatDiningRoom = new MaxThermostat('Gnd', 'Esszimmer', 'Thermostat', 'Thermostat Esszimmer', 31, [windowContactDiningRoom1, windowContactDiningRoom2]) thermostatDiningRoom.start() thermostatDiningRoom.setPresetTemperature(21.0) allLabeledItems.push(thermostatDiningRoom) @@ -157,39 +165,43 @@ allThermostatItems.push(thermostatDiningRoom) // Wohnzimmer ----------------------------------------------------------------------------------------------- // Wohnzimmer grosse Lampe 65557 24 1 65556 24 1 -let livingRoomLargeLight = new M433SwitchItem('Gnd', 'LivingRoom', 'LargeLight', 'große Lampe Wohnzimmer', '65557 24 1', '65556 24 1') +let livingRoomLargeLight = new M433SwitchItem('Gnd', 'Wohnzimmer', 'LargeLight', 'große Lampe', '65557 24 1', '65556 24 1') livingRoomLargeLight.start() allLabeledItems.push(livingRoomLargeLight) allRelevantLights.push(livingRoomLargeLight) +allLights.push(livingRoomLargeLight) // Wohnzimmer kleine Lampe 87061 24 1 87060 24 1 -let livingRoomSmallLight = new M433SwitchItem('Gnd', 'LivingRoom', 'SmallLight', 'kleine Lampe Wohnzimmer', '87061 24 1', '87060 24 1') +let livingRoomSmallLight = new M433SwitchItem('Gnd', 'Wohnzimmer', 'SmallLight', 'kleine Lampe', '87061 24 1', '87060 24 1') livingRoomSmallLight.start() allLabeledItems.push(livingRoomSmallLight) allRelevantLights.push(livingRoomSmallLight) +allLights.push(livingRoomSmallLight) // Wohnzimmer Sterne 69909 24 1 69908 24 1 -let livingRoomStars = new M433SwitchItem('Gnd', 'LivingRoom', 'Stars', 'Sterne Wohnzimmer', '69909 24 1', '69908 24 1') +let livingRoomStars = new M433SwitchItem('Gnd', 'Wohnzimmer', 'Stars', 'Sterne', '69909 24 1', '69908 24 1') livingRoomStars.start() allLabeledItems.push(livingRoomStars) allRelevantLights.push(livingRoomStars) +allLights.push(livingRoomStars) // Wohnzimmer kleine Stehlampe 81941 24 1 81940 24 1 -let livingRoomStandLight = new M433SwitchItem('Gnd', 'LivingRoom', 'StandLight', 'Stehlampe Wohnzimmer', '81941 24 1', '81940 24 1') +let livingRoomStandLight = new M433SwitchItem('Gnd', 'Wohnzimmer', 'StandLight', 'Stehlampe', '81941 24 1', '81940 24 1') livingRoomStandLight.start() allLabeledItems.push(livingRoomStandLight) allRelevantLights.push(livingRoomStandLight) +allLights.push(livingRoomStandLight) -let windowContactLivingRoom1 = new MaxWindowContact('Gnd', 'LivingRoom', 'WindowContact1', 'Fenster Wohnzimmer Garten rechts', 28) +let windowContactLivingRoom1 = new MaxWindowContact('Gnd', 'Wohnzimmer', 'WindowContact1', 'Wohnz. rechts', 28) windowContactLivingRoom1.start() allLabeledItems.push(windowContactLivingRoom1) allWindows.push(windowContactLivingRoom1) -let windowContactLivingRoom2 = new MaxWindowContact('Gnd', 'LivingRoom', 'WindowContact2', 'Fenster Wohnzimmer Garten links', 29) +let windowContactLivingRoom2 = new MaxWindowContact('Gnd', 'Wohnzimmer', 'WindowContact2', 'Wohnz. links', 29) windowContactLivingRoom2.start() allLabeledItems.push(windowContactLivingRoom2) allWindows.push(windowContactLivingRoom2) -let thermostatLivingRoom = new MaxThermostat('Gnd', 'LivingRoom', 'Thermostat', 'Thermostat Wohnzimmer', 30, [windowContactLivingRoom1, windowContactLivingRoom2]) +let thermostatLivingRoom = new MaxThermostat('Gnd', 'Wohnzimmer', 'Thermostat', 'Thermostat Wohnzimmer', 30, [windowContactLivingRoom1, windowContactLivingRoom2]) thermostatLivingRoom.start() thermostatLivingRoom.setPresetTemperature(21.0) allLabeledItems.push(thermostatLivingRoom) @@ -197,35 +209,38 @@ allThermostatItems.push(thermostatLivingRoom) // Flur ----------------------------------------------------------------------------------------------------- // Flur Schreibtisch 83221 24 1 83220 24 1 -let hallwayDeskLight = new M433SwitchItem('Gnd', 'Hallway', 'DeskLight', 'Schreibtischlampe Flur', '83221 24 1', '83220 24 1') +let hallwayDeskLight = new M433SwitchItem('Gnd', 'Flur', 'DeskLight', 'Schreibtischlampe', '83221 24 1', '83220 24 1') hallwayDeskLight.start() allLabeledItems.push(hallwayDeskLight) allRelevantLights.push(hallwayDeskLight) +allLights.push(hallwayDeskLight) // Flur Stehlampe 8704914 24 5 8793154 24 5 -let hallwayStandLight = new M433SwitchItem('Gnd', 'Hallway', 'StandLight', 'Stehlampe Flur', '8704914 24 5', '8793154 24 5') +let hallwayStandLight = new M433SwitchItem('Gnd', 'Flur', 'StandLight', 'Stehlampe', '8704914 24 5', '8793154 24 5') hallwayStandLight.start() allLabeledItems.push(hallwayStandLight) allRelevantLights.push(hallwayStandLight) +allLights.push(hallwayStandLight) // Flur Schranklicht 66581 24 1 66580 24 1 -let hallwayWardrobeLight = new M433SwitchItem('Gnd', 'Hallway', 'WardrobeLight', 'Schranklicht Flur', '66581 24 1', '66580 24 1') +let hallwayWardrobeLight = new M433SwitchItem('Gnd', 'Flur', 'WardrobeLight', 'Schranklicht', '66581 24 1', '66580 24 1') hallwayWardrobeLight.start() allLabeledItems.push(hallwayWardrobeLight) allRelevantLights.push(hallwayWardrobeLight) +allLights.push(hallwayWardrobeLight) -let windowContactHallway = new MaxWindowContact('Gnd', 'Hallway', 'WindowContact', 'Fenster Flur', 25) +let windowContactHallway = new MaxWindowContact('Gnd', 'Flur', 'WindowContact', 'Flur', 25) windowContactHallway.start() allLabeledItems.push(windowContactHallway) allWindows.push(windowContactHallway) -let thermostatHallway1 = new MaxThermostat('Gnd', 'Hallway', 'Thermostat1', 'Thermostat Flur vorne', 32, []) +let thermostatHallway1 = new MaxThermostat('Gnd', 'Flur', 'Thermostat1', 'Thermostat Flur vorne', 32, []) thermostatHallway1.start() thermostatHallway1.setPresetTemperature(19.0) allLabeledItems.push(thermostatHallway1) allThermostatItems.push(thermostatHallway1) -let thermostatHallway2 = new MaxThermostat('Gnd', 'Hallway', 'Thermostat2', 'Thermostat Flur hinten', 33, []) +let thermostatHallway2 = new MaxThermostat('Gnd', 'Flur', 'Thermostat2', 'Thermostat Flur hinten', 33, []) thermostatHallway2.start() thermostatHallway2.setPresetTemperature(5.0) allLabeledItems.push(thermostatHallway2) @@ -233,31 +248,35 @@ allThermostatItems.push(thermostatHallway2) // Küche ---------------------------------------------------------------------------------------------------- // Küche Fensterbank 66837 24 1 66836 24 1 -let kitchenWindowLight = new M433SwitchItem('Gnd', 'Kitchen', 'WindowLight', 'Fensterbanklicht Küche', '66837 24 1', '66836 24 1') +let kitchenWindowLight = new M433SwitchItem('Gnd', 'Kueche', 'WindowLight', 'Fensterbanklicht', '66837 24 1', '66836 24 1') kitchenWindowLight.start() allLabeledItems.push(kitchenWindowLight) allRelevantLights.push(kitchenWindowLight) +allLights.push(kitchenWindowLight) // Küche Deckenlampe 82197 24 1 82196 24 1 -let kitchenCeilingLight = new M433SwitchItem('Gnd', 'Kitchen', 'CeilingLight', 'Deckenlampe Küche', '82197 24 1', '82196 24 1') +let kitchenCeilingLight = new M433SwitchItem('Gnd', 'Kueche', 'CeilingLight', 'Deckenlampe', '82197 24 1', '82196 24 1') kitchenCeilingLight.start() allLabeledItems.push(kitchenCeilingLight) allRelevantLights.push(kitchenCeilingLight) +allLights.push(kitchenCeilingLight) // Schlafzimmer --------------------------------------------------------------------------------------------- // Schlafzimmer Wolfgangs Seite 13976916 24 1 13976913 24 1 -let bedRoomWolfgangsSide = new M433SwitchItem('1st', 'BedRoom', 'WolfgangsSide', 'Wolfgangs Seite Schlafzimmer', '13976916 24 1', '13976913 24 1') +let bedRoomWolfgangsSide = new M433SwitchItem('1st', 'Schlafzimmer', 'WolfgangsSide', 'Wolfgangs Seite', '13976916 24 1', '13976913 24 1') bedRoomWolfgangsSide.start() allLabeledItems.push(bedRoomWolfgangsSide) allRelevantLights.push(bedRoomWolfgangsSide) +allLights.push(bedRoomWolfgangsSide) -let bedRoomWolfgangBedLight = new HueColorBulbItem('1st', 'BedRoom', 'WolfgangBedLight', 'Bettlicht', 16) +let bedRoomWolfgangBedLight = new HueColorBulbItem('1st', 'Schlafzimmer', 'WolfgangBedLight', 'Wolfgangs Bettlicht', 16) bedRoomWolfgangBedLight.start() allLabeledItems.push(bedRoomWolfgangBedLight) allRelevantLights.push(bedRoomWolfgangBedLight) +allLights.push(bedRoomWolfgangBedLight) -let bedRoomWolfgangBedLightDimmerAdaptor = new DimmerAdaptor('1st', 'BedRoom', 'WolfgangBedLight') +let bedRoomWolfgangBedLightDimmerAdaptor = new DimmerAdaptor('1st', 'Schlafzimmer', 'WolfgangBedLight') bedRoomWolfgangBedLightDimmerAdaptor.start() let touchSwitchMultiButtonThing = new TouchSwitchMultiButtonThing('1st', 'Bedroom', 'Wolfgang', @@ -265,28 +284,30 @@ let touchSwitchMultiButtonThing = new TouchSwitchMultiButtonThing('1st', 'Bedroo touchSwitchMultiButtonThing.start() // Schlafzimmer Pattys Seite 13980756 24 1 13980753 24 1 -let bedRoomPattysSide = new M433SwitchItem('1st', 'BedRoom', 'PattysSide', 'Pattys Seite Schlafzimmer', '13980756 24 1', '13980753 24 1') +let bedRoomPattysSide = new M433SwitchItem('1st', 'Schlafzimmer', 'PattysSide', 'Pattys Seite', '13980756 24 1', '13980753 24 1') bedRoomPattysSide.start() allLabeledItems.push(bedRoomPattysSide) allRelevantLights.push(bedRoomPattysSide) +allLights.push(bedRoomPattysSide) // Schlafzimmer Fensterbank 13979988 24 1 13979985 24 1 -let bedRoomWindowLight = new M433SwitchItem('1st', 'BedRoom', 'WindowLight', 'Fensterbanklicht Schlafzimmer', '13979988 24 1', '13979985 24 1') +let bedRoomWindowLight = new M433SwitchItem('1st', 'Schlafzimmer', 'WindowLight', 'Fensterbanklicht', '13979988 24 1', '13979985 24 1') bedRoomWindowLight.start() allLabeledItems.push(bedRoomWindowLight) allRelevantLights.push(bedRoomWindowLight) +allLights.push(bedRoomWindowLight) -let windowContactBedroomStreet1st = new MaxWindowContact('1st', 'Bedroom', 'WindowContactStreet', 'Fenster Schlafzimmer Strasse', 17) +let windowContactBedroomStreet1st = new MaxWindowContact('1st', 'Bedroom', 'WindowContactStreet', 'Schlafz. Strasse', 17) windowContactBedroomStreet1st.start() allLabeledItems.push(windowContactBedroomStreet1st) allWindows.push(windowContactBedroomStreet1st) -let windowContact1BedroomGarden1st = new MaxWindowContact('1st', 'Bedroom', 'WindowContact1Garden', 'Fenster Schlafzimmer 1 Garten', 18) +let windowContact1BedroomGarden1st = new MaxWindowContact('1st', 'Bedroom', 'WindowContact1Garden', 'Schlafz. Garten 1', 18) windowContact1BedroomGarden1st.start() allLabeledItems.push(windowContact1BedroomGarden1st) allWindows.push(windowContact1BedroomGarden1st) -let windowContact2BedroomGarden1st = new MaxWindowContact('1st', 'Bedroom', 'WindowContact2Garden', 'Fenster Schlafzimmer 2 Garten', 22) +let windowContact2BedroomGarden1st = new MaxWindowContact('1st', 'Bedroom', 'WindowContact2Garden', 'Schlafz. Garten 2', 22) windowContact2BedroomGarden1st.start() allLabeledItems.push(windowContact2BedroomGarden1st) allWindows.push(windowContact2BedroomGarden1st) @@ -308,7 +329,7 @@ let thermostatBedroom1stCron = new Cron('thermostatBedroom1stCron', thermostatBe thermostatBedroom1stCron.start() // --------------------------------------------------------------------------------------------------------- -let dayLightScene = new LightScene('Gnd', 'Hallway', 'DayLight', 'DayLight', +let dayLightScene = new LightScene('Gnd', 'Szenen', 'DayLight', 'DayLight', [ kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayStandLight, hallwayWardrobeLight, diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, diningRoomShelfLight, @@ -318,8 +339,9 @@ let dayLightScene = new LightScene('Gnd', 'Hallway', 'DayLight', 'DayLight', ) dayLightScene.start() allLabeledItems.push(dayLightScene) +allLightScenes.push(dayLightScene) -let ecoLightScene = new LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLight', +let ecoLightScene = new LightScene('Gnd', 'Szenen', 'EcoLight', 'EcoLight', [ kitchenWindowLight, hallwayDeskLight, hallwayWardrobeLight, diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, diningRoomShelfLight, @@ -332,11 +354,12 @@ let ecoLightScene = new LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLight', ) ecoLightScene.start() allLabeledItems.push(ecoLightScene) +allLightScenes.push(ecoLightScene) -let ecoSwitch = new MaxEcoSwitch('Gnd', 'Hallway', 'EcoSwitch', 'EcoSwitch', 6, dayLightScene, ecoLightScene) +let ecoSwitch = new MaxEcoSwitch('Gnd', 'Szenen', 'EcoSwitch', 'EcoSwitch', 6, dayLightScene, ecoLightScene) ecoSwitch.start() -let morningLightScene = new LightScene('Gnd', 'Hallway', 'MorningLight', 'MorningLight', +let morningLightScene = new LightScene('Gnd', 'Szenen', 'MorningLight', 'MorningLight', [ kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayWardrobeLight, hallwayStandLight @@ -348,10 +371,14 @@ let morningLightScene = new LightScene('Gnd', 'Hallway', 'MorningLight', 'Mornin ) morningLightScene.start() allLabeledItems.push(morningLightScene) +allLightScenes.push(morningLightScene) +let sceneOfAllLights = new LightScene('Gnd', 'Szenen', 'AllLights', 'Alle Lampen', allLights, []) +sceneOfAllLights.start() +allLightScenes.push(sceneOfAllLights) // ---------------------------------------------------------------------------------------------------------- -let windowContactBathroomGnd = new MaxWindowContact('Gnd', 'Bathroom', 'WindowContact', 'Fenster Bad unten', 7) +let windowContactBathroomGnd = new MaxWindowContact('Gnd', 'Bathroom', 'WindowContact', 'Bad unten', 7) windowContactBathroomGnd.start() allLabeledItems.push(windowContactBathroomGnd) allWindows.push(windowContactBathroomGnd) @@ -372,7 +399,7 @@ let thermostatBathroomGndCron = new Cron('thermostatBathroomGndCron', thermostat thermostatBathroomGndCron.start() -let windowContactBathroom1st = new MaxWindowContact('1st', 'Bathroom', 'WindowContact', 'Fenster Bad oben', 2) +let windowContactBathroom1st = new MaxWindowContact('1st', 'Bathroom', 'WindowContact', 'Bad oben', 2) windowContactBathroom1st.start() allLabeledItems.push(windowContactBathroom1st) allWindows.push(windowContactBathroom1st) @@ -394,24 +421,24 @@ thermostatBathroom1stCron.start() -let windowContactKitchen1 = new MaxWindowContact('Gnd', 'Kitchen', 'WindowContact1', 'Fenster Küche Garten', 11) +let windowContactKitchen1 = new MaxWindowContact('Gnd', 'Kueche', 'WindowContact1', 'Küche Garten', 11) windowContactKitchen1.start() allLabeledItems.push(windowContactKitchen1) allWindows.push(windowContactKitchen1) -let windowContactKitchen2 = new MaxWindowContact('Gnd', 'Kitchen', 'WindowContact2', 'Fenster Küche Terassentür Garten', 10) +let windowContactKitchen2 = new MaxWindowContact('Gnd', 'Kueche', 'WindowContact2', 'Küche Terassentür', 10) windowContactKitchen2.start() allLabeledItems.push(windowContactKitchen2) allWindows.push(windowContactKitchen2) -let windowContactKitchen3 = new MaxWindowContact('Gnd', 'Kitchen', 'WindowContact3', 'Fenster Küche Straße 1', 12) +let windowContactKitchen3 = new MaxWindowContact('Gnd', 'Kueche', 'WindowContact3', 'Küche Straße 1', 12) windowContactKitchen3.start() allLabeledItems.push(windowContactKitchen3) allWindows.push(windowContactKitchen3) -let windowContactKitchen4 = new MaxWindowContact('Gnd', 'Kitchen', 'WindowContact4', 'Fenster Küche Straße 2', 13) +let windowContactKitchen4 = new MaxWindowContact('Gnd', 'Kueche', 'WindowContact4', 'Küche Straße 2', 13) windowContactKitchen4.start() allLabeledItems.push(windowContactKitchen4) allWindows.push(windowContactKitchen4) -let thermostatKitchen = new MaxThermostat('Gnd', 'Kitchen', 'Thermostat', 'Thermostat Küche', 14, [ +let thermostatKitchen = new MaxThermostat('Gnd', 'Kueche', 'Thermostat', 'Thermostat Küche', 14, [ windowContactKitchen1, windowContactKitchen2, windowContactKitchen3, windowContactKitchen4]) thermostatKitchen.start() thermostatKitchen.setPresetTemperature(20.0) @@ -428,7 +455,7 @@ let thermostatKitchenCron = new Cron('thermostatKitchenCron', thermostatKitchen, thermostatKitchenCron.start() // ---------------------------------------------------------------------------------------------------------- -let windowContactFrontdoor = new MaxWindowContact('Gnd', 'Hallway', 'FrontdoorContact', 'Haustür', 23) +let windowContactFrontdoor = new MaxWindowContact('Gnd', 'Flur', 'FrontdoorContact', 'Haustür', 23) windowContactFrontdoor.start() allLabeledItems.push(windowContactFrontdoor) @@ -450,15 +477,17 @@ heatingSceneAll.start() // ---------------------------------------------------------------------------------------------------------- // Basement -let workshopLight = new HomematicSwitchItem('Base', 'Workshop', 'Light', 'Licht Werkstatt', 5) +let workshopLight = new HomematicSwitchItem('Base', 'Keller', 'Light', 'Werkstatt', 5) workshopLight.start() allLabeledItems.push(workshopLight) allRelevantLights.push(workshopLight) +allLights.push(workshopLight) -let basementSmallLight = new HomematicSwitchItem('Base', 'Hallway', 'SmallLight', 'Licht Keller einfach', 35, 1) +let basementSmallLight = new HomematicSwitchItem('Base', 'Keller', 'SmallLight', 'Licht einfach', 35, 1) basementSmallLight.start() allLabeledItems.push(basementSmallLight) allRelevantLights.push(basementSmallLight) +allLights.push(basementSmallLight) basementSmallLight.on('somethingChanged', () => { if (basementSmallLight.getState() == 'ON') { setTimeout(() => { @@ -472,10 +501,11 @@ basementSmallLight.on('somethingChanged', () => { } }) -let basementLargeLight = new HomematicSwitchItem('Base', 'Hallway', 'LargeLight', 'Licht Keller hell', 35, 2) +let basementLargeLight = new HomematicSwitchItem('Base', 'Keller', 'LargeLight', 'Licht hell', 35, 2) basementLargeLight.start() allLabeledItems.push(basementLargeLight) allRelevantLights.push(basementLargeLight) +allLights.push(basementLargeLight) basementLargeLight.on('somethingChanged', () => { if (basementLargeLight.getState() == 'ON') { mqttHandler.send(basementSmallLight.getStateTopic(), 'ON') @@ -497,13 +527,13 @@ let basementForwarderSwitchOffAdaptor = new SwitchOffAdaptor('Base', 'All', 'For basementForwarderSwitchOffAdaptor.start() // ---------------------------------------------------------------------------------------------------------- -let twoLedSignal1 = new TwoLedSignal('Gnd', 'Hallway', 'TwoLedSignal1', 'Licht- und Fenster-Anzeiger', +let twoLedSignal1 = new TwoLedSignal('Gnd', 'Flur', 'TwoLedSignal1', 'Licht- und Fenster-Anzeiger', allRelevantLights, "OFF", "ON", allWindows, "CLOSED", "OPEN") twoLedSignal1.start() // MySwitchTHing -let mySwitchThingWolfgang = new MySwitchThing('1st', 'BedRoom', 'WolfgangsSwitch', [ +let mySwitchThingWolfgang = new MySwitchThing('1st', 'Schlafzimmer', 'WolfgangsSwitch', [ new MySwitchSingleItem(bedRoomWolfgangBedLightDimmerAdaptor.getInTopic()), new MySwitchSingleItem(basementForwarderSwitchOffAdaptor.getInTopic()), new MySwitchSingleItem('IoT/InsLeere/2'), @@ -512,32 +542,32 @@ mySwitchThingWolfgang.start() // ---------------------------------------------------------------------------------------------------------- -let testFourButton = new HomematicFourButtonThing('Gnd', 'Hallway', 'TestButton', 9, [ - new HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/Testlight/dimmerIn'), - new HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/DeskLight/timerIn'), +let testFourButton = new HomematicFourButtonThing('Gnd', 'Flur', 'TestButton', 9, [ + new HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Flur/Testlight/dimmerIn'), + new HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Flur/DeskLight/timerIn'), new HomematicFourButtonSingleItem('test/button/3'), new HomematicFourButtonSingleItem('test/button/4') ]) testFourButton.start() -let testDimmerAdaptor = new DimmerAdaptor('Gnd', 'Hallway', 'Testlight') +let testDimmerAdaptor = new DimmerAdaptor('Gnd', 'Flur', 'Testlight') testDimmerAdaptor.start() -let testTimerAdaptor = new TimerAdaptor('Gnd', 'Hallway', 'DeskLight', 10) +let testTimerAdaptor = new TimerAdaptor('Gnd', 'Flur', 'DeskLight', 10) testTimerAdaptor.start() -let testLight = new HomematicDimmerItem('Gnd', 'Hallway', 'Testlight', 'Testlampe mit Dimmer', 8) +let testLight = new HomematicDimmerItem('Gnd', 'Flur', 'Testlight', 'Testlampe mit Dimmer', 8) testLight.start() -let testForwarder = new Forwarder('Gnd', 'Hallway', 'TestForwarder', 'state', 'TestForwarder', [ - 'dispatcher_ng/items/Gnd/Hallway/Testlight2/state', - 'dispatcher_ng/items/Gnd/Hallway/DeskLight/state' +let testForwarder = new Forwarder('Gnd', 'Flur', 'TestForwarder', 'state', 'TestForwarder', [ + 'dispatcher_ng/items/Gnd/Flur/Testlight2/state', + 'dispatcher_ng/items/Gnd/Flur/DeskLight/state' ]) testForwarder.start() -let testScene = new LightScene('Gnd', 'Hallway', 'TestScene', 'TestScene', +let testScene = new LightScene('Gnd', 'Flur', 'TestScene', 'TestScene', [aquariumLight, annaBedLight], [matthiasStandLights, matthiasBedLight] ) @@ -599,7 +629,38 @@ if (heatingMainSwitchExport != null) { fs.writeFileSync(config.dict.homekitFile, JSON.stringify(homekitObject, null, 4)) fs.writeFileSync(config.dict.openhabItemFile, openhabList.join('\n')) + +let roomSwitches: any = {} +allLights.forEach((item: HasStateAndFeedbackTopicAndLabelAndRoom) => { + let switchItem = {'label': item.getLabel(), 'actionTopic': item.getStateTopic(), 'feedbackTopic': item.getStateFeedbackTopic()} + if (item.getRoom() in roomSwitches) { + roomSwitches[item.getRoom()].push(switchItem) + } else { + roomSwitches[item.getRoom()] = [ switchItem ] + } +}) +let smartClientConfiguration : any = {} +smartClientConfiguration['switches'] = [] +for (let key in roomSwitches) { + let item : any = { 'room': key, 'switches': roomSwitches[key]} + smartClientConfiguration['switches'].push(item) +} +smartClientConfiguration['scenes'] = [] +allLightScenes.forEach((scene : HasStateAndFeedbackTopicAndLabelAndRoom) => { + let item : any = { 'label': scene.getLabel(), 'actionTopic': scene.getStateTopic() } + smartClientConfiguration['scenes'].push(item) +}) +smartClientConfiguration['windows'] = [] +allWindows.forEach((window : HasStateAndFeedbackTopicAndLabel) => { + let item : any = { 'label': window.getLabel(), 'topic': window.getStateFeedbackTopic() } + smartClientConfiguration['windows'].push(item) +}) +fs.writeFileSync('smartclient.json', JSON.stringify(smartClientConfiguration, null, 4)) + // ---------------------------------------------------------------------------------------------------------- mqttHandler.exec() logger.info("Dispatcher running") + +mqttHandler.send('smartclient/configuration', JSON.stringify(smartClientConfiguration, null, 4)) +