"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const config = require("./config"); const logger = require("./log"); const MqttDispatcher_1 = require("./MqttDispatcher"); const M433SwitchItem_1 = require("./M433SwitchItem"); const HomematicFourButtonThing_1 = require("./HomematicFourButtonThing"); const DimmerAdaptor_1 = require("./DimmerAdaptor"); const TimerAdaptor_1 = require("./TimerAdaptor"); const HomematicDimmerItem_1 = require("./HomematicDimmerItem"); const HomematicSwitchItem_1 = require("./HomematicSwitchItem"); const Forwarder_1 = require("./Forwarder"); const Scene_1 = require("./Scene"); const MaxEcoSwitch_1 = require("./MaxEcoSwitch"); const MaxThermostat_1 = require("./MaxThermostat"); const MaxWindowContact_1 = require("./MaxWindowContact"); const Cron_1 = require("./Cron"); logger.info("Dispatcher starting"); let allLabeledItems = 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'); aquariumLight.start(); allLabeledItems.push(aquariumLight); // 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'); annaBedLight.start(); allLabeledItems.push(annaBedLight); // 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'); matthiasStandLights.start(); allLabeledItems.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'); matthiasBedLight.start(); allLabeledItems.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'); matthiasSpeaker.start(); allLabeledItems.push(matthiasSpeaker); // 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'); diningRoomSmallLight.start(); allLabeledItems.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'); diningRoomStandLight.start(); allLabeledItems.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'); diningRoomCupboardLight.start(); allLabeledItems.push(diningRoomCupboardLight); // 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'); livingRoomLargeLight.start(); allLabeledItems.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'); livingRoomSmallLight.start(); allLabeledItems.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'); livingRoomStars.start(); allLabeledItems.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'); livingRoomStandLight.start(); allLabeledItems.push(livingRoomStandLight); // 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'); hallwayDeskLight.start(); allLabeledItems.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'); hallwayStandLight.start(); allLabeledItems.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'); hallwayWardrobeLight.start(); allLabeledItems.push(hallwayWardrobeLight); // 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'); kitchenWindowLight.start(); allLabeledItems.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'); kitchenCeilingLight.start(); allLabeledItems.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'); bedRoomWolfgangsSide.start(); allLabeledItems.push(bedRoomWolfgangsSide); // 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'); bedRoomPattysSide.start(); allLabeledItems.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'); bedRoomWindowLight.start(); allLabeledItems.push(bedRoomWindowLight); // --------------------------------------------------------------------------------------------------------- let dayLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'DayLight', 'DayLight', [ kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayStandLight, hallwayWardrobeLight, diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, livingRoomLargeLight, livingRoomSmallLight, livingRoomStars, livingRoomStandLight ], []); dayLightScene.start(); allLabeledItems.push(dayLightScene); let ecoLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'EcoLight', 'EcoLight', [ kitchenWindowLight, hallwayDeskLight, hallwayWardrobeLight, diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, livingRoomStars, livingRoomStandLight ], [ kitchenCeilingLight, hallwayStandLight, livingRoomLargeLight, livingRoomSmallLight ]); ecoLightScene.start(); allLabeledItems.push(ecoLightScene); let ecoSwitch = new MaxEcoSwitch_1.MaxEcoSwitch('Gnd', 'Hallway', 'EcoSwitch', 'EcoSwitch', 6, dayLightScene, ecoLightScene); ecoSwitch.start(); let morningLightScene = new Scene_1.LightScene('Gnd', 'Hallway', 'MorningLight', 'MorningLight', [ kitchenWindowLight, kitchenCeilingLight, hallwayDeskLight, hallwayWardrobeLight, hallwayStandLight ], [ diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, livingRoomStars, livingRoomStandLight, livingRoomLargeLight, livingRoomSmallLight ]); morningLightScene.start(); allLabeledItems.push(morningLightScene); // ---------------------------------------------------------------------------------------------------------- let testFourButton = new HomematicFourButtonThing_1.HomematicFourButtonThing('Gnd', 'Hallway', 'TestButton', 9, [ new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/Testlight/dimmerIn'), new HomematicFourButtonThing_1.HomematicFourButtonSingleItem('dispatcher_ng/items/Gnd/Hallway/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'); testDimmerAdaptor.start(); let testTimerAdaptor = new TimerAdaptor_1.TimerAdaptor('Gnd', 'Hallway', 'DeskLight', 10); testTimerAdaptor.start(); let testLight = new HomematicDimmerItem_1.HomematicDimmerItem('Gnd', 'Hallway', 'Testlight', 'Testlampe mit Dimmer', 8); testLight.start(); let testLight2 = new HomematicSwitchItem_1.HomematicSwitchItem('Gnd', 'Hallway', 'Testlight2', 'Testlampe ohne Dimmer', 5); testLight2.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' ]); testForwarder.start(); let testScene = new Scene_1.LightScene('Gnd', 'Hallway', 'TestScene', 'TestScene', [aquariumLight, annaBedLight], [matthiasStandLights, matthiasBedLight]); testScene.start(); let windowContact1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Bathroom', 'WindowContact1', 'Fenster Bad unten', 2); windowContact1.start(); let windowContact2 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Bathroom', 'WindowContact2', 'Fenster Bad unten', 20); windowContact2.start(); let thermostat1 = new MaxThermostat_1.MaxThermostat('Gnd', 'Bathroom', 'Thermostat', 'Thermostat Bad unten', 3, [windowContact1, windowContact2]); thermostat1.start(); let thermostat1Cron = new Cron_1.Cron('Thermostat1Cron', thermostat1, [ { cronTime: '00 47 17 * * *', output: '5.0' }, { cronTime: '00 48 17 * * *', output: '20.0' }, { cronTime: '00 49 17 * * *', output: '25.0' } ]); thermostat1Cron.start(); // ---------------------------------------------------------------------------------------------------------- // Homekit export let homekitObject = {}; let openhabList = []; allLabeledItems.forEach((item) => { let exportData = item.exportItem(); if (exportData != null) { if ('id' in exportData['homekit']) { homekitObject[exportData['homekit']['id']] = exportData['homekit']['object']; } openhabList.push(exportData['openhab']); } }); fs.writeFileSync(config.dict.homekitFile, JSON.stringify(homekitObject, null, 4)); fs.writeFileSync(config.dict.openhabItemFile, openhabList.join('\n')); // ---------------------------------------------------------------------------------------------------------- MqttDispatcher_1.mqttHandler.exec(); logger.info("Dispatcher running"); //# sourceMappingURL=main.js.map