Files
dispatcher_ng/dist/main.js

379 lines
23 KiB
JavaScript

"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 UrlSwitchItem_1 = require("./UrlSwitchItem");
const Cron_1 = require("./Cron");
const HueColorBulbItem_1 = require("./HueColorBulbItem");
const TouchSwitchMultiButtonThing_1 = require("./TouchSwitchMultiButtonThing");
const RelayBox_1 = require("./RelayBox");
const HeatingScene_1 = require("./HeatingScene");
const TwoLedSignal_1 = require("./TwoLedSignal");
logger.info("Dispatcher starting");
let allLabeledItems = new Array();
let allThermostatItems = new Array();
let allWindows = new Array();
let allRelevantLights = 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);
let aquariumLightCron = new Cron_1.Cron('aquariumLightCron', aquariumLight, [
{ cronTime: '00 00 07 * * 1-5', output: 'ON' },
{ cronTime: '00 00 09 * * 6,0', output: 'ON' },
{ cronTime: '00 00 13 * * *', output: 'OFF' },
{ cronTime: '00 00 14 * * *', output: 'ON' },
{ cronTime: '00 00 22 * * *', output: 'OFF' }
]);
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');
annaBedLight.start();
allLabeledItems.push(annaBedLight);
allRelevantLights.push(annaBedLight);
let windowContactAnna1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Anna', 'WindowContact', 'Fenster Anna', 20);
windowContactAnna1st.start();
allLabeledItems.push(windowContactAnna1st);
allWindows.push(windowContactAnna1st);
let thermostatAnna1st = new MaxThermostat_1.MaxThermostat('1st', 'Anna', 'Thermostat', 'Thermostat Anna', 21, [windowContactAnna1st]);
thermostatAnna1st.start();
thermostatAnna1st.setPresetTemperature(21.0);
allLabeledItems.push(thermostatAnna1st);
allThermostatItems.push(thermostatAnna1st);
let thermostatAnna1stCron = new Cron_1.Cron('thermostatAnna1stCron', thermostatAnna1st, [
{ cronTime: '00 05 06 * * *', output: 'ON' },
{ cronTime: '00 05 08 * * 1-5', output: 'OFF' },
{ cronTime: '00 05 16 * * 1', output: 'ON' },
{ cronTime: '00 05 14 * * 2', output: 'ON' },
{ cronTime: '00 05 14 * * 3', output: 'ON' },
{ cronTime: '00 05 16 * * 4', output: 'ON' },
{ cronTime: '00 05 14 * * 5', output: 'ON' },
{ cronTime: '00 58 23 * * *', output: 'OFF' }
]);
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');
matthiasStandLights.start();
allLabeledItems.push(matthiasStandLights);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.push(matthiasSpeaker);
let windowContactMatthias = new MaxWindowContact_1.MaxWindowContact('1st', 'Matthias', 'WindowContact', 'Fenster', 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');
diningRoomSmallLight.start();
allLabeledItems.push(diningRoomSmallLight);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.push(diningRoomCupboardLight);
// Esszimmer Regallicht
let diningRoomShelfLight = new UrlSwitchItem_1.UrlSwitchItem('Gnd', 'DiningRoom', 'ShelfLight', 'Regallicht Esszimmer', 'http://regallampe/dv?dv=1023', 'http://regallampe/dv?dv=0');
diningRoomShelfLight.start();
allLabeledItems.push(diningRoomShelfLight);
allRelevantLights.push(diningRoomShelfLight);
let diningRoomNaehkaestchenLight = new HueColorBulbItem_1.HueColorBulbItem('Gnd', 'DiningRoom', 'NaehkaestchenLight', 'Lampe Naehkaestchen', 15);
diningRoomNaehkaestchenLight.start();
allLabeledItems.push(diningRoomNaehkaestchenLight);
allRelevantLights.push(diningRoomNaehkaestchenLight);
// 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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.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);
allRelevantLights.push(bedRoomWolfgangsSide);
let bedRoomWolfgangBedLight = new HueColorBulbItem_1.HueColorBulbItem('1st', 'BedRoom', 'WolfgangBedLight', 'Bettlicht', 16);
bedRoomWolfgangBedLight.start();
allLabeledItems.push(bedRoomWolfgangBedLight);
allRelevantLights.push(bedRoomWolfgangBedLight);
let bedRoomWolfgangBedLightDimmerAdaptor = new DimmerAdaptor_1.DimmerAdaptor('1st', 'BedRoom', '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');
bedRoomPattysSide.start();
allLabeledItems.push(bedRoomPattysSide);
allRelevantLights.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);
allRelevantLights.push(bedRoomWindowLight);
let windowContactBedroomStreet1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContactStreet', 'Fenster Schlafzimmer Strasse', 17);
windowContactBedroomStreet1st.start();
allLabeledItems.push(windowContactBedroomStreet1st);
allWindows.push(windowContactBedroomStreet1st);
let windowContact1BedroomGarden1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContact1Garden', 'Fenster Schlafzimmer 1 Garten', 18);
windowContact1BedroomGarden1st.start();
allLabeledItems.push(windowContact1BedroomGarden1st);
allWindows.push(windowContact1BedroomGarden1st);
let windowContact2BedroomGarden1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bedroom', 'WindowContact2Garden', 'Fenster Schlafzimmer 2 Garten', 22);
windowContact2BedroomGarden1st.start();
allLabeledItems.push(windowContact2BedroomGarden1st);
allWindows.push(windowContact2BedroomGarden1st);
let thermostatBedroom1st = new MaxThermostat_1.MaxThermostat('1st', 'Bedroom', 'Thermostat', 'Thermostat Schlafzimmer', 19, [windowContact1BedroomGarden1st, windowContact2BedroomGarden1st, windowContactBedroomStreet1st]);
thermostatBedroom1st.start();
thermostatBedroom1st.setPresetTemperature(20.0);
allLabeledItems.push(thermostatBedroom1st);
allThermostatItems.push(thermostatBedroom1st);
let thermostatBedroom1stCron = new Cron_1.Cron('thermostatBedroom1stCron', thermostatBedroom1st, [
{ cronTime: '00 01 06 * * 1-5', output: 'ON' },
{ cronTime: '00 01 09 * * 1-5', output: 'OFF' },
{ cronTime: '00 01 08 * * 6,0', output: 'ON' },
{ cronTime: '00 01 11 * * 6,0', output: 'OFF' },
{ cronTime: '00 00 17 * * *', output: 'ON' },
{ cronTime: '00 59 23 * * *', output: 'OFF' }
]);
thermostatBedroom1stCron.start();
// ---------------------------------------------------------------------------------------------------------
let dayLightScene = new Scene_1.LightScene('Gnd', 'Hallway', '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', [
kitchenWindowLight, hallwayDeskLight, hallwayWardrobeLight,
diningRoomSmallLight, diningRoomStandLight, diningRoomCupboardLight, diningRoomShelfLight,
livingRoomStars, livingRoomStandLight, diningRoomNaehkaestchenLight
], [
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, diningRoomShelfLight,
livingRoomStars, livingRoomStandLight, livingRoomLargeLight, livingRoomSmallLight, diningRoomNaehkaestchenLight
]);
morningLightScene.start();
allLabeledItems.push(morningLightScene);
// ----------------------------------------------------------------------------------------------------------
let windowContactBathroomGnd = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Bathroom', 'WindowContact', 'Fenster Bad unten', 7);
windowContactBathroomGnd.start();
allLabeledItems.push(windowContactBathroomGnd);
allWindows.push(windowContactBathroomGnd);
let thermostatBathroomGnd = new MaxThermostat_1.MaxThermostat('Gnd', 'Bathroom', 'Thermostat', 'Thermostat Bad unten', 4, [windowContactBathroomGnd]);
thermostatBathroomGnd.start();
thermostatBathroomGnd.setPresetTemperature(20.0);
allLabeledItems.push(thermostatBathroomGnd);
allThermostatItems.push(thermostatBathroomGnd);
let thermostatBathroomGndCron = new Cron_1.Cron('thermostatBathroomGndCron', thermostatBathroomGnd, [
{ cronTime: '00 02 06 * * 1-5', output: 'ON' },
{ cronTime: '00 02 08 * * 6,0', output: 'ON' },
{ cronTime: '00 02 11 * * *', output: 'OFF' },
{ cronTime: '00 02 19 * * *', output: 'ON' },
{ cronTime: '00 00 23 * * *', output: 'OFF' }
]);
thermostatBathroomGndCron.start();
let windowContactBathroom1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Bathroom', 'WindowContact', 'Fenster Bad oben', 2);
windowContactBathroom1st.start();
allLabeledItems.push(windowContactBathroom1st);
allWindows.push(windowContactBathroom1st);
let thermostatBathroom1st = new MaxThermostat_1.MaxThermostat('1st', 'Bathroom', 'Thermostat', 'Thermostat Bad oben', 3, [windowContactBathroom1st]);
thermostatBathroom1st.start();
thermostatBathroom1st.setPresetTemperature(20.0);
allLabeledItems.push(thermostatBathroom1st);
allThermostatItems.push(thermostatBathroom1st);
let thermostatBathroom1stCron = new Cron_1.Cron('thermostatBathroom1stCron', thermostatBathroom1st, [
{ cronTime: '00 00 06 * * 1-5', output: 'ON' },
{ cronTime: '00 00 08 * * 6,0', output: 'ON' },
{ cronTime: '00 00 11 * * *', output: 'OFF' },
{ cronTime: '00 00 19 * * *', output: 'ON' },
{ cronTime: '00 00 23 * * *', output: 'OFF' }
]);
thermostatBathroom1stCron.start();
let windowContactKitchen1 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kitchen', 'WindowContact1', 'Fenster 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);
windowContactKitchen2.start();
allLabeledItems.push(windowContactKitchen2);
allWindows.push(windowContactKitchen2);
let windowContactKitchen3 = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Kitchen', 'WindowContact3', 'Fenster 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);
windowContactKitchen4.start();
allLabeledItems.push(windowContactKitchen4);
allWindows.push(windowContactKitchen4);
let thermostatKitchen = new MaxThermostat_1.MaxThermostat('Gnd', 'Kitchen', 'Thermostat', 'Thermostat Küche', 14, [
windowContactKitchen1, windowContactKitchen2, windowContactKitchen3, windowContactKitchen4
]);
thermostatKitchen.start();
thermostatKitchen.setPresetTemperature(20.0);
allLabeledItems.push(thermostatKitchen);
allThermostatItems.push(thermostatKitchen);
let thermostatKitchenCron = new Cron_1.Cron('thermostatKitchenCron', thermostatKitchen, [
{ cronTime: '00 00 06 * * 1-5', output: 'ON' },
{ cronTime: '00 00 08 * * 6,0', output: 'ON' },
{ cronTime: '00 00 10 * * 1-3', output: 'OFF' },
{ cronTime: '00 30 13 * * 1-3', output: 'ON' },
{ cronTime: '00 00 23 * * *', output: 'OFF' }
]);
thermostatKitchenCron.start();
// ----------------------------------------------------------------------------------------------------------
let windowContactFrontdoor = new MaxWindowContact_1.MaxWindowContact('Gnd', 'Hallway', 'FrontdoorContact', 'Haustür', 23);
windowContactFrontdoor.start();
allLabeledItems.push(windowContactFrontdoor);
// ----------------------------------------------------------------------------------------------------------
let relayBox = new RelayBox_1.RelayBoxThing('base', 'labor', 'relaybox', 'IoT/Command/RelayBox', 'IoT/Status/RelayBox', [
"Küche", "Herd", "Waschküche"
]);
relayBox.start();
allLabeledItems.push(relayBox);
// ----------------------------------------------------------------------------------------------------------
let heatingSceneAll = new HeatingScene_1.HeatingScene('Gnd', 'House', 'Heatings', 'Alle Heizungen', allThermostatItems);
heatingSceneAll.start();
// ----------------------------------------------------------------------------------------------------------
let twoLedSignal1 = new TwoLedSignal_1.TwoLedSignal('Gnd', 'Hallway', 'TwoLedSignal1', 'Licht- und Fenster-Anzeiger', allRelevantLights, "OFF", "ON", allWindows, "CLOSED", "OPEN");
twoLedSignal1.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'),
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();
// ----------------------------------------------------------------------------------------------------------
// Homekit export
let homekitObject = {};
let openhabList = [];
// logger.info("allLabeledItems")
// logger.info(JSON.stringify(allLabeledItems))
allLabeledItems.forEach((item) => {
let exportData = item.exportItem();
if (exportData != null) {
if ('id' in exportData['homekit']) {
homekitObject[exportData['homekit']['id']] = exportData['homekit']['object'];
}
if (exportData['openhab'] instanceof Array) {
let da = exportData['openhab'];
da.forEach((o) => openhabList.push(o));
}
else {
let da = exportData['openhab'];
openhabList.push(da);
}
// logger.info("openHabList")
// logger.info(JSON.stringify(openhabList))
}
});
let heatingMainSwitchExport = MaxThermostat_1.MaxThermostat.exportHeatingMainSwitchItem();
if (heatingMainSwitchExport != null) {
let da = heatingMainSwitchExport['openhab'];
openhabList.push(da);
}
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