From 198082ad1572931b2875263bc56a6225b2c5c2df Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Sun, 19 Nov 2023 17:37:18 -0500 Subject: [PATCH] Rework upstairs bathroom motion lighting when timer finishes tm24fan8/Home-Assistant-Configs#176 --- .../upstairs-bathroom/timer-finished.js | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 second-floor-lighting/upstairs-bathroom/timer-finished.js diff --git a/second-floor-lighting/upstairs-bathroom/timer-finished.js b/second-floor-lighting/upstairs-bathroom/timer-finished.js new file mode 100644 index 0000000..21a82d1 --- /dev/null +++ b/second-floor-lighting/upstairs-bathroom/timer-finished.js @@ -0,0 +1,33 @@ +const states = global.get('homeassistant.homeAssistant.states') +const showerMode = states['input_boolean.shower_mode'].state +const earlyNightMode = states['binary_sensor.early_night_mode'].state +const kallenOvernight = states['input_boolean.kallen_overnight'].state +const nightMode = states['input_boolean.night_mode'].state +const masterBedroomSleep = states['input_boolean.master_bedroom_sleeping'].state + +let scene = {} +let late = {} + +if (nightMode === 'on' || (earlyNightMode === 'on' && masterBedroomSleep === 'on')) { + late = true + scene = 'Single Nightlight' +} else { + late = false + scene = 'Nightlight' +} + +if (showerMode === 'off') { + if (earlyNightMode === 'off') { + node.send([null,null,msg]) + node.status({fill:'green',shape:'dot',text:'Lights Off'}) + } else { + msg.option = scene + node.send([null,msg,null]) + if (late === true && kallenOvernight === 'on') { + node.send([msg,null,null]) + } + node.status({fill:'green',shape:'dot',text:'Scene set to ' + scene}) + } +} else { + node.status({fill:'red',shape:'ring',text:'Blocked'}) +} \ No newline at end of file