change cron to numbers

This commit is contained in:
Wolfgang Hottgenroth
2018-03-06 12:20:01 +01:00
parent 9b4853501d
commit e6a12e4215
5 changed files with 70 additions and 24 deletions

6
dist/Export.js vendored
View File

@ -21,7 +21,7 @@ function ThermostatExport(itemId, label, temperatureTopic, temperatureFeedbackTo
}
exports.ThermostatExport = ThermostatExport;
function ContactExport(itemId, label, status) {
return { 'homekit': ContactHomekitExport(itemId, label, status), 'openhab': '' };
return { 'homekit': ContactHomekitExport(itemId, label, status), 'openhab': ContactOpenHABExport(itemId, label, status) };
}
exports.ContactExport = ContactExport;
function HueColorLightExport(itemId, label, stateTopic, stateFeedbackTopic, brightnessTopic, brightnessFeedbackTopic, hueTopic, hueFeedbackTopic, saturationTopic, saturationFeedbackTopic, colorTemperatureTopic, colorTemperatureFeedbackTopic) {
@ -97,6 +97,10 @@ function SwitchOpenHABExport(id, label, setOn, statusOn) {
// Switch windowLightKitchen {mqtt=">[localbroker:nodered/items/windowLightKitchen:command:*:default]", mqtt="<[localbroker:nodered/items/windowLightKitchen/feedback:state:default]"}
return `Switch ${id} {mqtt=">[localbroker:${setOn}:command:*:default],<[localbroker:${statusOn}:state:default]"}`;
}
function ContactOpenHABExport(id, label, status) {
// Switch windowLightKitchen {mqtt=">[localbroker:nodered/items/windowLightKitchen:command:*:default]", mqtt="<[localbroker:nodered/items/windowLightKitchen/feedback:state:default]"}
return `Switch ${id} {mqtt="<[localbroker:${status}:state:default]"}`;
}
function ThermostatOpenHAPExport(id, label, setTemperature, statusTemperature) {
return `Number ${id} {mqtt=">[localbroker:${setTemperature}:command:*:default],<[localbroker:${statusTemperature}:state:default]"}`;
}

14
dist/main.js vendored
View File

@ -41,6 +41,20 @@ allLabeledItems.push(annaBedLight);
let windowContactAnna1st = new MaxWindowContact_1.MaxWindowContact('1st', 'Anna', 'WindowContact', 'Fenster Anna', 20);
windowContactAnna1st.start();
allLabeledItems.push(windowContactAnna1st);
let thermostatAnna1st = new MaxThermostat_1.MaxThermostat('1st', 'Anna', 'Thermostat', 'Thermostat Anna', 21, [windowContactAnna1st]);
thermostatAnna1st.start();
allLabeledItems.push(thermostatAnna1st);
let thermostatAnna1stCron = new Cron_1.Cron('thermostatAnna1stCron', thermostatAnna1st, [
{ cronTime: '00 05 06 * * *', output: '23.0' },
{ cronTime: '00 05 08 * * mon-fri', output: '5.0' },
{ cronTime: '00 05 16 * * mon', output: '23.0' },
{ cronTime: '00 05 14 * * tue', output: '23.0' },
{ cronTime: '00 05 14 * * wed', output: '23.0' },
{ cronTime: '00 05 16 * * thu', output: '23.0' },
{ cronTime: '00 05 14 * * fri', output: '23.0' },
{ cronTime: '00 58 23 * * *', output: '5.0' }
]);
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');

View File

@ -44,6 +44,17 @@
"onContactDetected": "CLOSED"
}
},
"1st_Anna_Thermostat": {
"id": "1st_Anna_Thermostat",
"name": "Thermostat Anna",
"service": "Thermostat",
"topic": {
"setTargetTemperature": "dispatcher_ng/items/1st/Anna/Thermostat/temperature",
"statusTargetTemperature": "dispatcher_ng/items/1st/Anna/Thermostat/temperature/feedback",
"statusCurrentTemperature": "dispatcher_ng/items/1st/Anna/Thermostat/temperature/feedback"
},
"payload": {}
},
"1st_Matthias_StandLight": {
"id": "1st_Matthias_StandLight",
"name": "Stehlampen Matthias",

View File

@ -1,6 +1,7 @@
Switch 1st_Anna_AquariumLight {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 {mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/BedLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/BedLight/state/feedback:state:default]"}
Switch 1st_Anna_WindowContact {mqtt="<[localbroker:dispatcher_ng/items/1st/Anna/WindowContact/state/feedback:state:default]"}
Number 1st_Anna_Thermostat {mqtt=">[localbroker:dispatcher_ng/items/1st/Anna/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Anna/Thermostat/temperature/feedback:state:default]"}
Switch 1st_Matthias_StandLight {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 {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 {mqtt=">[localbroker:dispatcher_ng/items/1st/Matthias/Speaker/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/Matthias/Speaker/state/feedback:state:default]"}
@ -22,18 +23,18 @@ Switch 1st_BedRoom_WolfgangsSide {mqtt=">[localbroker:dispatcher_ng/items/1st/Be
Switch 1st_BedRoom_PattysSide {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 {mqtt=">[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state:command:*:default],<[localbroker:dispatcher_ng/items/1st/BedRoom/WindowLight/state/feedback:state:default]"}
Switch 1st_Bedroom_WindowContactStreet {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContactStreet/state/feedback:state:default]"}
Switch 1st_Bedroom_WindowContactGarden {mqtt="<[localbroker:dispatcher_ng/items/1st/Bedroom/WindowContactGarden/state/feedback:state:default]"}
Number 1st_Bedroom_Thermostat {mqtt=">[localbroker:dispatcher_ng/items/1st/Bedroom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Bedroom/Thermostat/temperature/feedback:state:default]"}
Switch Gnd_Hallway_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 {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 {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Hallway/MorningLight/state:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Hallway/MorningLight/state/feedback:state:default]"}
Switch Gnd_Bathroom_WindowContact {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Bathroom/WindowContact/state/feedback:state:default]"}
Number Gnd_Bathroom_Thermostat {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Bathroom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Bathroom/Thermostat/temperature/feedback:state:default]"}
Switch 1st_Bathroom_WindowContact {mqtt="<[localbroker:dispatcher_ng/items/1st/Bathroom/WindowContact/state/feedback:state:default]"}
Number 1st_Bathroom_Thermostat {mqtt=">[localbroker:dispatcher_ng/items/1st/Bathroom/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/1st/Bathroom/Thermostat/temperature/feedback:state:default]"}
Switch Gnd_Kitchen_WindowContact1 {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact1/state/feedback:state:default]"}
Switch Gnd_Kitchen_WindowContact2 {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact2/state/feedback:state:default]"}
Switch Gnd_Kitchen_WindowContact3 {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact3/state/feedback:state:default]"}
Switch Gnd_Kitchen_WindowContact4 {mqtt="<[localbroker:dispatcher_ng/items/Gnd/Kitchen/WindowContact4/state/feedback:state:default]"}
Number Gnd_Kitchen_Thermostat {mqtt=">[localbroker:dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature:command:*:default],<[localbroker:dispatcher_ng/items/Gnd/Kitchen/Thermostat/temperature/feedback:state:default]"}

View File

@ -34,8 +34,8 @@ aquariumLight.start()
allLabeledItems.push(aquariumLight)
let aquariumLightCron = new Cron('aquariumLightCron', aquariumLight, [
{cronTime: '00 00 07 * * mon-fri', output: 'ON'},
{cronTime: '00 00 09 * * sat-sun', output: 'ON'},
{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'}
@ -53,6 +53,22 @@ let windowContactAnna1st = new MaxWindowContact('1st', 'Anna', 'WindowContact',
windowContactAnna1st.start()
allLabeledItems.push(windowContactAnna1st)
let thermostatAnna1st = new MaxThermostat('1st', 'Anna', 'Thermostat', 'Thermostat Anna', 21, [windowContactAnna1st])
thermostatAnna1st.start()
allLabeledItems.push(thermostatAnna1st)
let thermostatAnna1stCron = new Cron('thermostatAnna1stCron', thermostatAnna1st, [
{cronTime: '00 05 06 * * *', output: '23.0'},
{cronTime: '00 05 08 * * 1-5', output: '5.0'},
{cronTime: '00 05 16 * * 1', output: '23.0'},
{cronTime: '00 05 14 * * 2', output: '23.0'},
{cronTime: '00 05 14 * * 3', output: '23.0'},
{cronTime: '00 05 16 * * 4', output: '23.0'},
{cronTime: '00 05 14 * * 5', output: '23.0'},
{cronTime: '00 58 23 * * *', output: '5.0'}
])
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')
@ -186,10 +202,10 @@ thermostatBedroom1st.start()
allLabeledItems.push(thermostatBedroom1st)
let thermostatBedroom1stCron = new Cron('thermostatBedroom1stCron', thermostatBedroom1st, [
{cronTime: '00 01 06 * * mon-fri', output: '21.0'},
{cronTime: '00 01 09 * * mon-fri', output: '5.0'},
{cronTime: '00 01 08 * * sat-sun', output: '21.0'},
{cronTime: '00 01 11 * * sat-sun', output: '5.0'},
{cronTime: '00 01 06 * * 1-5', output: '21.0'},
{cronTime: '00 01 09 * * 1-5', output: '5.0'},
{cronTime: '00 01 08 * * 6,0', output: '21.0'},
{cronTime: '00 01 11 * * 6,0', output: '5.0'},
{cronTime: '00 00 17 * * *', output: '23.0'},
{cronTime: '00 59 23 * * *', output: '5.0'}
])
@ -248,8 +264,8 @@ thermostatBathroomGnd.start()
allLabeledItems.push(thermostatBathroomGnd)
let thermostatBathroomGndCron = new Cron('thermostatBathroomGndCron', thermostatBathroomGnd, [
{cronTime: '00 02 06 * * mon-fri', output: '21.0'},
{cronTime: '00 02 08 * * sat-sun', output: '21.0'},
{cronTime: '00 02 06 * * 1-5', output: '21.0'},
{cronTime: '00 02 08 * * 6,0', output: '21.0'},
{cronTime: '00 02 11 * * *', output: '5.0'},
{cronTime: '00 02 19 * * *', output: '21.0'},
{cronTime: '00 00 23 * * *', output: '5.0'}
@ -266,8 +282,8 @@ thermostatBathroom1st.start()
allLabeledItems.push(thermostatBathroom1st)
let thermostatBathroom1stCron = new Cron('thermostatBathroom1stCron', thermostatBathroom1st, [
{cronTime: '00 00 06 * * mon-fri', output: '21.0'},
{cronTime: '00 00 08 * * sat-sun', output: '21.0'},
{cronTime: '00 00 06 * * 1-5', output: '21.0'},
{cronTime: '00 00 08 * * 6,0', output: '21.0'},
{cronTime: '00 00 11 * * *', output: '5.0'},
{cronTime: '00 00 19 * * *', output: '21.0'},
{cronTime: '00 00 23 * * *', output: '5.0'}
@ -295,10 +311,10 @@ thermostatKitchen.start()
allLabeledItems.push(thermostatKitchen)
let thermostatKitchenCron = new Cron('thermostatKitchenCron', thermostatKitchen, [
{cronTime: '00 00 06 * * mon-fri', output: '19.0'},
{cronTime: '00 00 08 * * sat-sun', output: '19.0'},
{cronTime: '00 00 10 * * mon-wed', output: '5.0'},
{cronTime: '00 30 13 * * mon-wed', output: '19.0'},
{cronTime: '00 00 06 * * 1-5', output: '19.0'},
{cronTime: '00 00 08 * * 6,0', output: '19.0'},
{cronTime: '00 00 10 * * 1-3', output: '5.0'},
{cronTime: '00 30 13 * * 1-3', output: '19.0'},
{cronTime: '00 00 23 * * *', output: '5.0'}
])
thermostatKitchenCron.start()