From e666b306fa08469d4e1c2b923910798eeec15fe2 Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Tue, 13 Feb 2024 13:59:21 -0500 Subject: [PATCH] Replace all "var" usage with const and/or let --- alarm-clocks/emma-bedroom/processing-end.js | 17 ++++ alarm-clocks/emma-bedroom/processing.js | 25 ++++++ alarm-clocks/kallen-bedroom/processing-end.js | 17 ++++ alarm-clocks/kallen-bedroom/processing.js | 25 ++++++ alarm-clocks/master-bedroom/processing-end.js | 17 ++++ alarm-clocks/master-bedroom/processing.js | 25 ++++++ climate/master-bedroom/shower-off.js | 90 +++++++++++++++++++ climate/master-bedroom/shower-on.js | 27 ++++++ kallen-timer/announce-finish.js | 6 +- kallen-timer/announce-pause.js | 10 +-- kallen-timer/announce-resume.js | 10 +-- kallen-timer/rounding.js | 2 +- kallen-timer/start.js | 12 +-- 13 files changed, 263 insertions(+), 20 deletions(-) create mode 100644 alarm-clocks/emma-bedroom/processing-end.js create mode 100644 alarm-clocks/emma-bedroom/processing.js create mode 100644 alarm-clocks/kallen-bedroom/processing-end.js create mode 100644 alarm-clocks/kallen-bedroom/processing.js create mode 100644 alarm-clocks/master-bedroom/processing-end.js create mode 100644 alarm-clocks/master-bedroom/processing.js create mode 100644 climate/master-bedroom/shower-off.js create mode 100644 climate/master-bedroom/shower-on.js diff --git a/alarm-clocks/emma-bedroom/processing-end.js b/alarm-clocks/emma-bedroom/processing-end.js new file mode 100644 index 0000000..9ed0e6c --- /dev/null +++ b/alarm-clocks/emma-bedroom/processing-end.js @@ -0,0 +1,17 @@ +const states = global.get('homeassistant.homeAssistant.states') +const enabled = states['input_boolean.emma_alarm_clock'].state +const sleeping = states['input_boolean.emma_sleeping'].state + +if (enabled === 'on' && sleeping === 'off') { + node.status({fill:"green",shape:"dot",text:"Proceed"}) + return msg +} else if (enabled === 'off') { + node.status({fill:"red",shape:"ring",text:"Disabled"}) + return null +} else if (sleeping === 'on') { + node.status({fill:"red",shape:"ring",text:"Sleeping"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Unknown Error"}) + return null +} \ No newline at end of file diff --git a/alarm-clocks/emma-bedroom/processing.js b/alarm-clocks/emma-bedroom/processing.js new file mode 100644 index 0000000..002597e --- /dev/null +++ b/alarm-clocks/emma-bedroom/processing.js @@ -0,0 +1,25 @@ +const states = global.get('homeassistant.homeAssistant.states') +const enabled = states['input_boolean.emma_alarm_clock'].state +const sleeping = states['input_boolean.emma_sleeping'].state +const goodnight = states['input_boolean.goodnight'].state + +msg.topic = "emma_bedroom" +msg.payload = "This is your alarm clock speaking, it is time to wake up!" +msg.type = "alert" + +if (enabled === 'on' && sleeping === 'on' && goodnight === 'off') { + node.status({fill:"green",shape:"dot",text:"Proceed"}) + return msg +} else if (enabled === 'off') { + node.status({fill:"red",shape:"ring",text:"Disabled"}) + return null +} else if (sleeping === 'off') { + node.status({fill:"red",shape:"ring",text:"Not Sleeping"}) + return null +} else if (goodnight === 'off') { + node.status({fill:"red",shape:"ring",text:"Goodnight On"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Unknown Error"}) + return null +} \ No newline at end of file diff --git a/alarm-clocks/kallen-bedroom/processing-end.js b/alarm-clocks/kallen-bedroom/processing-end.js new file mode 100644 index 0000000..8c5bf25 --- /dev/null +++ b/alarm-clocks/kallen-bedroom/processing-end.js @@ -0,0 +1,17 @@ +const states = global.get('homeassistant.homeAssistant.states') +const enabled = states['input_boolean.kallen_alarm_clock'].state +const sleeping = states['input_boolean.kallen_sleeping'].state + +if (enabled === 'on' && sleeping === 'off') { + node.status({fill:"green",shape:"dot",text:"Proceed"}) + return msg +} else if (enabled === 'off') { + node.status({fill:"red",shape:"ring",text:"Disabled"}) + return null +} else if (sleeping === 'on') { + node.status({fill:"red",shape:"ring",text:"Sleeping"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Unknown Error"}) + return null +} \ No newline at end of file diff --git a/alarm-clocks/kallen-bedroom/processing.js b/alarm-clocks/kallen-bedroom/processing.js new file mode 100644 index 0000000..ab84857 --- /dev/null +++ b/alarm-clocks/kallen-bedroom/processing.js @@ -0,0 +1,25 @@ +const states = global.get('homeassistant.homeAssistant.states') +const enabled = states['input_boolean.kallen_alarm_clock'].state +const sleeping = states['input_boolean.kallen_sleeping'].state +const goodnight = states['input_boolean.goodnight'].state + +msg.topic = "kallen_bedroom" +msg.payload = "This is your alarm clock speaking, it is time to wake up!" +msg.type = "alert" + +if (enabled === 'on' && sleeping === 'on' && goodnight === 'off') { + node.status({fill:"green",shape:"dot",text:"Proceed"}) + return msg +} else if (enabled === 'off') { + node.status({fill:"red",shape:"ring",text:"Disabled"}) + return null +} else if (sleeping === 'off') { + node.status({fill:"red",shape:"ring",text:"Not Sleeping"}) + return null +} else if (goodnight === 'off') { + node.status({fill:"red",shape:"ring",text:"Goodnight On"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Unknown Error"}) + return null +} \ No newline at end of file diff --git a/alarm-clocks/master-bedroom/processing-end.js b/alarm-clocks/master-bedroom/processing-end.js new file mode 100644 index 0000000..93f7e10 --- /dev/null +++ b/alarm-clocks/master-bedroom/processing-end.js @@ -0,0 +1,17 @@ +const states = global.get('homeassistant.homeAssistant.states') +const enabled = states['input_boolean.master_bedroom_alarm_clock'].state +const sleeping = states['input_boolean.master_bedroom_sleeping'].state + +if (enabled === 'on' && sleeping === 'off') { + node.status({fill:"green",shape:"dot",text:"Proceed"}) + return msg +} else if (enabled === 'off') { + node.status({fill:"red",shape:"ring",text:"Disabled"}) + return null +} else if (sleeping === 'on') { + node.status({fill:"red",shape:"ring",text:"Sleeping"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Unknown Error"}) + return null +} \ No newline at end of file diff --git a/alarm-clocks/master-bedroom/processing.js b/alarm-clocks/master-bedroom/processing.js new file mode 100644 index 0000000..53cf72e --- /dev/null +++ b/alarm-clocks/master-bedroom/processing.js @@ -0,0 +1,25 @@ +const states = global.get('homeassistant.homeAssistant.states') +const enabled = states['input_boolean.master_bedroom_alarm_clock'].state +const sleeping = states['input_boolean.master_bedroom_sleeping'].state +const goodnight = states['input_boolean.goodnight'].state + +msg.topic = "master_bedroom" +msg.payload = "This is your alarm clock speaking, it is time to wake up!" +msg.type = "alert" + +if (enabled === 'on' && sleeping === 'on' && goodnight === 'off') { + node.status({fill:"green",shape:"dot",text:"Proceed"}) + return msg +} else if (enabled === 'off') { + node.status({fill:"red",shape:"ring",text:"Disabled"}) + return null +} else if (sleeping === 'off') { + node.status({fill:"red",shape:"ring",text:"Not Sleeping"}) + return null +} else if (goodnight === 'off') { + node.status({fill:"red",shape:"ring",text:"Goodnight On"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Unknown Error"}) + return null +} \ No newline at end of file diff --git a/climate/master-bedroom/shower-off.js b/climate/master-bedroom/shower-off.js new file mode 100644 index 0000000..f6ae06a --- /dev/null +++ b/climate/master-bedroom/shower-off.js @@ -0,0 +1,90 @@ +const states = global.get('homeassistant.homeAssistant.states') +const ac = states['input_boolean.master_bedroom_aircon_installed'].state +const temp = global.get('tempStr') +const threshold = states['input_number.master_bedroom_aircon_run_threshold'].state +const dayTemp = states['input_number.master_bedroom_daytime_temp'].state +const nightTemp = states['input_number.master_bedroom_night_temp'].state +const bedTemp = states['input_number.master_bedroom_bedtime_temp'].state +const currentSetTemp = states['climate.master_bedroom_aircon'].attributes.temperature +const coolingTime = states['input_boolean.master_bedroom_cooling_on'].state +const sleeping = states['input_boolean.master_bedroom_sleeping'].state +const hotDay = states['input_boolean.hot_day'].state +const topic = msg.topic + +let setTemp = {} +let ecoMode = {} +let duration = {} +let end = {} +let hvac = {} + +if (topic === 'toggle') { + if (hotDay === 'on' || sleeping === 'on') { + setTemp = bedTemp + ecoMode = 'none' + } else { + setTemp = nightTemp + ecoMode = 'eco' + } +} else if (topic === 'timer') { + if (currentSetTemp == bedTemp) { + setTemp = nightTemp + if (hotDay === 'on') { + ecoMode = 'none' + } else { + ecoMode = 'eco' + } + } else { + setTemp = dayTemp + ecoMode = 'eco' + } +} + +if (setTemp == bedTemp) { + duration = 3600 +} else if (setTemp == nightTemp && hotDay === 'off') { + duration = 3600 +} else { + duration = 1800 +} + +if (setTemp == dayTemp) { + end = true + if (hotDay === 'off') { + hvac = 'off' + } else { + hvac = 'cool' + } +} else if (setTemp != bedTemp && coolingTime === 'on') { + end = true + hvac = 'cool' +} else { + end = false + hvac = 'cool' +} + +let setMsg = { + "set": setTemp, + "eco": ecoMode, + "hvac": hvac, + "end": end +} + +let timerStart = { + "duration": duration +} + +if (ac === 'on' && temp >= threshold) { + if (sleeping === 'on' || coolingTime === 'on' || end === true) { + node.status({fill:"green",shape:"dot",text:"Finished"}) + return [setMsg, null] + } else { + node.status({fill:"blue",shape:"dot",text:"Next Cycle"}) + return [setMsg, timerStart] + } +} else if (ac === 'off') { + node.status({fill:"red",shape:"ring",text:"A/C Not Installed"}) + return null +} else { + node.status({fill:"red",shape:"ring",text:"Too Cold"}) + return null +} diff --git a/climate/master-bedroom/shower-on.js b/climate/master-bedroom/shower-on.js new file mode 100644 index 0000000..0d89496 --- /dev/null +++ b/climate/master-bedroom/shower-on.js @@ -0,0 +1,27 @@ +const states = global.get('homeassistant.homeAssistant.states') +const ac = states['input_boolean.master_bedroom_aircon_installed'].state +const temp = global.get('tempStr') +const threshold = states['input_number.master_bedroom_aircon_run_threshold'].state +const nightTemp = states['input_number.master_bedroom_night_temp'].state +const bedTemp = states['input_number.master_bedroom_bedtime_temp'].state +const sleeping = states['input_boolean.master_bedroom_sleeping'].state + +if (ac === 'on') { + if (temp >= threshold) { + if (sleeping === 'on') { + msg.set = bedTemp + node.status({fill:"green",shape:"dot",text:"Shower Mode On: " + bedTemp}) + return msg + } else { + msg.set = nightTemp + node.status({fill:"green",shape:"dot",text:"Shower Mode On: " + nightTemp}) + return msg + } + } else { + node.status({fill:"red",shape:"ring",text:"Too Cold"}) + return null + } +} else { + node.status({fill:"red",shape:"ring",text:"A/C Not Installed"}) + return null +} diff --git a/kallen-timer/announce-finish.js b/kallen-timer/announce-finish.js index 5e667e5..7ded5ee 100644 --- a/kallen-timer/announce-finish.js +++ b/kallen-timer/announce-finish.js @@ -1,6 +1,6 @@ -var states = global.get('homeassistant.homeAssistant.states') -var room = states['input_select.kallen_activity_room'].state -var activity = states['input_select.kallen_activities'].state +const states = global.get('homeassistant.homeAssistant.states') +const room = states['input_select.kallen_activity_room'].state +const activity = states['input_select.kallen_activities'].state msg.topic = room msg.activity = activity diff --git a/kallen-timer/announce-pause.js b/kallen-timer/announce-pause.js index 444ba1b..f02f1b9 100644 --- a/kallen-timer/announce-pause.js +++ b/kallen-timer/announce-pause.js @@ -1,8 +1,8 @@ -var states = global.get('homeassistant.homeAssistant.states') -var room = states['input_select.kallen_activity_room'].state -var activity = states['input_select.kallen_activities'].state -var minutes = states['sensor.kallen_timer_remaining_minutes'].state -var seconds = states['sensor.kallen_timer_remaining_seconds'].state +const states = global.get('homeassistant.homeAssistant.states') +const room = states['input_select.kallen_activity_room'].state +const activity = states['input_select.kallen_activities'].state +const minutes = states['sensor.kallen_timer_remaining_minutes'].state +const seconds = states['sensor.kallen_timer_remaining_seconds'].state msg.room = room msg.activity = activity diff --git a/kallen-timer/announce-resume.js b/kallen-timer/announce-resume.js index dfee863..6145f88 100644 --- a/kallen-timer/announce-resume.js +++ b/kallen-timer/announce-resume.js @@ -1,8 +1,8 @@ -var states = global.get('homeassistant.homeAssistant.states') -var room = states['input_select.kallen_activity_room'].state -var activity = states['input_select.kallen_activities'].state -var minutes = states['sensor.kallen_timer_remaining_minutes'].state -var seconds = states['sensor.kallen_timer_remaining_seconds'].state +const states = global.get('homeassistant.homeAssistant.states') +const room = states['input_select.kallen_activity_room'].state +const activity = states['input_select.kallen_activities'].state +const minutes = states['sensor.kallen_timer_remaining_minutes'].state +const seconds = states['sensor.kallen_timer_remaining_seconds'].state msg.room = room msg.activity = activity diff --git a/kallen-timer/rounding.js b/kallen-timer/rounding.js index 80b8291..542d9d4 100644 --- a/kallen-timer/rounding.js +++ b/kallen-timer/rounding.js @@ -1,4 +1,4 @@ -var readout = msg.duration +const readout = msg.duration msg.duration = +readout.toFixed(0) diff --git a/kallen-timer/start.js b/kallen-timer/start.js index d2e27d7..5906007 100644 --- a/kallen-timer/start.js +++ b/kallen-timer/start.js @@ -1,9 +1,9 @@ -var states = global.get('homeassistant.homeAssistant.states') -var room = states['input_select.kallen_activity_room'].state -var activity = states['input_select.kallen_activities'].state -var controlLights = states['input_boolean.kallen_timer_control_lights'].state -var duration = states['input_number.kallen_activity_duration'].state -var fixDuration = parseFloat(duration) +const states = global.get('homeassistant.homeAssistant.states') +const room = states['input_select.kallen_activity_room'].state +const activity = states['input_select.kallen_activities'].state +const controlLights = states['input_boolean.kallen_timer_control_lights'].state +const duration = states['input_number.kallen_activity_duration'].state +const fixDuration = parseFloat(duration) msg.room = room msg.activity = activity