From c1a1309700e16d447e757e660829e5d690347082 Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Mon, 14 Aug 2023 13:59:08 -0400 Subject: [PATCH] Re-enable basement media scenes --- flows.json | 45 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/flows.json b/flows.json index d4878f2..4589bce 100644 --- a/flows.json +++ b/flows.json @@ -59,7 +59,7 @@ "id": "b0286fae9f2ce547", "type": "tab", "label": "Media Scenes", - "disabled": true, + "disabled": false, "info": "", "env": [] }, @@ -1037,7 +1037,9 @@ "f111c40459e27629" ], "x": 34, - "y": 19 + "y": 19, + "w": 1272, + "h": 502 }, { "id": "208284848b13b85b", @@ -1600,7 +1602,9 @@ "8146f43fea5aec03" ], "x": 34, - "y": 539 + "y": 539, + "w": 1192, + "h": 502 }, { "id": "b9ffa3fa5af46ec3", @@ -1616,9 +1620,7 @@ "6b5d3e550ad76528" ], "x": 34, - "y": 39, - "w": 692, - "h": 82 + "y": 39 }, { "id": "4329e464360d0afa", @@ -1654,9 +1656,7 @@ "a586df67c15b0914" ], "x": 34, - "y": 139, - "w": 1592, - "h": 422 + "y": 139 }, { "id": "fba69dfc80829db7", @@ -15378,6 +15378,7 @@ "id": "7611921cadb91b1e", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Lamp Off", "server": "9e87348d.9c1c48", @@ -15408,6 +15409,7 @@ "id": "3a29cecbefa6cbe2", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Reset Living Room", "server": "9e87348d.9c1c48", @@ -15438,6 +15440,7 @@ "id": "4a2031f363418db1", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Set Scene", "server": "9e87348d.9c1c48", @@ -15466,6 +15469,7 @@ "id": "984386fa0a6369d6", "type": "server-state-changed", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Living Room TV Current App", "server": "9e87348d.9c1c48", @@ -15518,6 +15522,7 @@ "id": "0beae13503166379", "type": "function", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Processing", "func": "const appList = global.get(\"appListLivingRoom\")\nvar states = global.get('homeassistant.homeAssistant.states')\nvar lampState = states['light.dining_room_lamp'].state\nvar app = msg.payload\nvar payload = {}\n\nif (appList.includes(app)) {\n flow.set(\"lampState\", lampState)\n payload = \"start\"\n} else {\n payload = \"stop\"\n}\n\nmsg.payload = payload\n\nglobal.set('tvAppLivingRoom',app)\n\nif (payload === 'start') {\n node.status({fill:\"green\",shape:\"dot\",text:app});\n return[msg,null]\n} else if (payload === 'stop') {\n node.status({fill:\"red\",shape:\"ring\",text:\"Stopped\"});\n return[null,msg]\n}", @@ -15546,6 +15551,7 @@ "id": "6c77ade442a47a30", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Entertainment Mode On", "server": "9e87348d.9c1c48", @@ -15574,6 +15580,7 @@ "id": "6392f2f0586d988a", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Entertainment Mode Off", "server": "9e87348d.9c1c48", @@ -15602,6 +15609,7 @@ "id": "e505e9f24bf919dd", "type": "server-state-changed", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Entertainment Mode State", "server": "9e87348d.9c1c48", @@ -15663,6 +15671,7 @@ "id": "9efd5346a1ca1972", "type": "server-state-changed", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Detect Pause", "server": "9e87348d.9c1c48", @@ -15719,6 +15728,7 @@ "id": "8b53b9f4d5ba0bf0", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Dynamic On", "server": "9e87348d.9c1c48", @@ -15750,6 +15760,7 @@ "id": "cc8f6ab710549be2", "type": "stoptimer", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "duration": "15", "units": "Second", @@ -15769,6 +15780,7 @@ "id": "346379575efad516", "type": "function", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Processing", "func": "var states = global.get('homeassistant.homeAssistant.states')\nvar allowed = states['input_boolean.living_room_entertainment_control'].state\nvar active = states['input_boolean.living_room_entertainment_mode'].state\nvar currentApp = global.get('tvAppLivingRoom');\nvar lights = states['light.living_room_lights'].state\nvar selectedScene = states['input_text.living_room_selected_scene'].state\nvar lamp = flow.get(\"lampState\")\nvar alert = msg.alert\nvar payload = msg.payload\n\nif (currentApp === 'YouTube' || currentApp === 'Jellyfin') {\n var hueScene = 'Tokyo'\n var lifxScene = 'intense'\n} else if (currentApp === 'Twitch') {\n var hueScene = 'Twitch'\n var lifxScene = 'party'\n} else if (currentApp === 'Hulu') {\n var hueScene = 'Forest Adventure'\n var lifxScene = 'relaxing'\n} else if (currentApp === 'Netflix') {\n var hueScene = 'Netflix'\n var lifxScene = 'love'\n} else if (currentApp === 'MLB') {\n var hueScene = 'MLB'\n var lifxScene = 'independence'\n}\n\nmsg.huescene = hueScene\nmsg.lifxscene = lifxScene\n\nif (allowed === 'on' && lights === 'on') {\n if (payload === 'on') {\n if (selectedScene != hueScene) {\n node.status({fill:\"green\",shape:\"dot\",text:\"On\"});\n return[msg,null,null]\n } else if (alert === 'on' && active === 'on') {\n node.status({fill:\"green\",shape:\"dot\",text:\"On (Alert Resume)\"});\n return[msg,null,null]\n } else if (selectedScene === hueScene) {\n node.status({fill:\"yellow\",shape:\"ring\",text:\"Scene already set\"});\n return null\n }\n } else if (payload === 'off') {\n if (lamp === 'on') {\n node.status({fill:\"red\",shape:\"ring\",text:\"Off\"});\n return[null,msg,msg]\n } else {\n node.status({fill:\"red\",shape:\"ring\",text:\"Off\"});\n return[null,msg,null]\n }\n }\n} else {\n node.status({fill:\"grey\",shape:\"dot\",text:\"Blocked\"});\n return null\n}", @@ -15801,6 +15813,7 @@ "id": "8b0b39deb5142557", "type": "function", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Processing", "func": "var states = global.get('homeassistant.homeAssistant.states')\nvar allowed = states['input_boolean.living_room_entertainment_control'].state\nvar lights = states['light.living_room_lights'].state\nvar active = states['input_boolean.living_room_entertainment_mode'].state\nvar selectedScene = states['input_text.living_room_selected_scene'].state\nvar payload = msg.payload\nvar stopMsg = {\n \"payload\":\"stop\"\n}\nvar resumeMsg = {\n \"payload\":\"on\"\n}\n\nif (allowed === 'on' && lights === 'on') {\n if (payload === 'paused') {\n node.status({fill:\"blue\",shape:\"dot\",text:\"Paused\"});\n return [null,msg,null]\n } else if (payload === 'playing') {\n if (allowed === 'on' && lights === 'on' && active === 'on') {\n node.status({ fill: \"green\", shape: \"dot\", text: \"Playing\" });\n return[resumeMsg,null,stopMsg]\n } else {\n node.status({fill:\"red\",shape:\"ring\",text:\"Blocked\"});\n return[null,null,stopMsg]\n }\n } else {\n node.status({fill:\"grey\",shape:\"dot\",text:\"Timer Stopped\"});\n return[null,null,stopMsg]\n }\n} else {\n node.status({fill:\"red\",shape:\"ring\",text:\"Blocked\"});\n return null\n}", @@ -15833,6 +15846,7 @@ "id": "7cb8056b3b41a9e8", "type": "function", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Check", "func": "var states = global.get('homeassistant.homeAssistant.states')\nvar active = states['input_boolean.living_room_entertainment_mode'].state\nvar lights = states['light.living_room_lights'].state\nvar lamp = flow.get('lampState')\n\nif (active === 'on' && lights === 'on') {\n if (lamp === 'on') {\n node.status({fill:\"green\",shape:\"dot\",text:\"Sent (Both)\"});\n return[msg,msg]\n } else {\n node.status({fill:\"green\",shape:\"dot\",text:\"Sent (Living Room)\"});\n return[msg,null]\n }\n} else {\n node.status({fill:\"red\",shape:\"ring\",text:\"Blocked\"});\n return null\n}", @@ -15861,6 +15875,7 @@ "id": "d2390789a8b3101a", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "LIFX", "server": "9e87348d.9c1c48", @@ -15889,6 +15904,7 @@ "id": "d961ffeaea408909", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "LIFX Stop", "server": "9e87348d.9c1c48", @@ -15917,6 +15933,7 @@ "id": "107f2c88924975fe", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Adaptive Off", "server": "9e87348d.9c1c48", @@ -15948,6 +15965,7 @@ "id": "ed2e0f4f214ad76c", "type": "delay", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "", "pauseType": "delay", @@ -15975,6 +15993,7 @@ "id": "d09061428e9c694d", "type": "api-call-service", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Turn On Lamp", "server": "9e87348d.9c1c48", @@ -16003,6 +16022,7 @@ "id": "6110b45c374a5b7f", "type": "function", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Settings", "func": "const appListLivingRoom = [\"YouTube\", \"Netflix\", \"MLB\", \"Jellyfin\", \"Twitch\", \"Hulu\"]\n\nglobal.set(\"appListLivingRoom\", appListLivingRoom);\n\nnode.status({fill:\"green\",shape:\"dot\",text:\"Updated\"});", @@ -16019,6 +16039,7 @@ "id": "e5af55b177f37c65", "type": "inject", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Update", "props": [ @@ -16407,7 +16428,7 @@ "z": "b0286fae9f2ce547", "g": "1cc8b382530c33d0", "name": "Processing", - "func": "var states = global.get('homeassistant.homeAssistant.states')\nvar allowed = states['input_boolean.basement_studio_entertainment_control'].state\nvar active = states['input_boolean.basement_studio_entertainment_mode'].state\nvar quiet = states['input_boolean.studio_quiet'].state\nvar recliner = states['input_boolean.recliner_mode'].state\nvar currentApp = global.get('tvAppBasement');\nvar lights = states['light.basement_studio_lights'].state\nvar selectedScene = states['input_text.basement_studio_selected_scene'].state\nvar alert = msg.alert\nvar payload = msg.payload\nvar proceed = {}\n\nif (currentApp === 'YouTube' || currentApp === 'Jellyfin') {\n var hueScene = 'Tokyo'\n var lifxScene = 'intense'\n} else if (currentApp === 'Twitch') {\n var hueScene = 'Twitch'\n var lifxScene = 'party'\n} else if (currentApp === 'Hulu') {\n var hueScene = 'Forest Adventure'\n var lifxScene = 'relaxing'\n} else if (currentApp === 'Netflix') {\n var hueScene = 'Netflix'\n var lifxScene = 'love'\n} else if (currentApp === 'MLB') {\n var hueScene = 'MLB'\n var lifxScene = 'independence'\n}\n\nif (allowed === 'on' && lights === 'on' && quiet === 'off' && recliner === 'off') {\n proceed = 'true'\n} else {\n proceed = 'false'\n}\n\nmsg.huescene = hueScene\nmsg.lifxscene = lifxScene\n\nif (proceed === 'true') {\n if (payload === 'on') {\n if (selectedScene != hueScene) {\n node.status({fill:\"green\",shape:\"dot\",text:\"On\"});\n return[msg,null]\n } else if (alert === 'on' && active === 'on') {\n node.status({fill:\"green\",shape:\"dot\",text:\"On (Alert Resume)\"});\n return[msg,null]\n } else if (selectedScene === hueScene) {\n node.status({fill:\"yellow\",shape:\"ring\",text:\"Scene already set\"});\n return null\n }\n } else if (payload === 'off') {\n node.status({fill:\"red\",shape:\"ring\",text:\"Off\"});\n return[null,msg]\n }\n} else {\n node.status({fill:\"grey\",shape:\"dot\",text:\"Blocked\"});\n return null\n}", + "func": "var states = global.get('homeassistant.homeAssistant.states')\nvar allowed = states['input_boolean.basement_studio_entertainment_control'].state\nvar active = states['input_boolean.basement_studio_entertainment_mode'].state\nvar quiet = states['input_boolean.studio_quiet'].state\nvar recliner = states['input_boolean.recliner_mode'].state\nvar currentApp = global.get('tvAppBasement');\nvar lights = states['light.basement_studio_lights'].state\nvar selectedScene = states['input_text.basement_studio_selected_scene'].state\nvar alert = msg.alert\nvar payload = msg.payload\nvar proceed = {}\n\nif (currentApp === 'YouTube' || currentApp === 'Jellyfin' || currentApp === 'Google Cast') {\n var hueScene = 'Tokyo'\n var lifxScene = 'intense'\n} else if (currentApp === 'Twitch') {\n var hueScene = 'Twitch'\n var lifxScene = 'party'\n} else if (currentApp === 'Hulu') {\n var hueScene = 'Forest Adventure'\n var lifxScene = 'relaxing'\n} else if (currentApp === 'Netflix') {\n var hueScene = 'Netflix'\n var lifxScene = 'love'\n} else if (currentApp === 'MLB') {\n var hueScene = 'MLB'\n var lifxScene = 'independence'\n}\n\nif (allowed === 'on' && lights === 'on' && quiet === 'off' && recliner === 'off') {\n proceed = 'true'\n} else {\n proceed = 'false'\n}\n\nmsg.huescene = hueScene\nmsg.lifxscene = lifxScene\n\nif (proceed === 'true') {\n if (payload === 'on') {\n if (selectedScene != hueScene) {\n node.status({fill:\"green\",shape:\"dot\",text:\"On\"});\n return[msg,null]\n } else if (alert === 'on' && active === 'on') {\n node.status({fill:\"green\",shape:\"dot\",text:\"On (Alert Resume)\"});\n return[msg,null]\n } else if (selectedScene === hueScene) {\n node.status({fill:\"yellow\",shape:\"ring\",text:\"Scene already set\"});\n return null\n }\n } else if (payload === 'off') {\n node.status({fill:\"red\",shape:\"ring\",text:\"Off\"});\n return[null,msg]\n }\n} else {\n node.status({fill:\"grey\",shape:\"dot\",text:\"Blocked\"});\n return null\n}", "outputs": 2, "noerr": 0, "initialize": "", @@ -16604,7 +16625,7 @@ "z": "b0286fae9f2ce547", "g": "1cc8b382530c33d0", "name": "Settings", - "func": "const appListBasement = [\"YouTube\", \"Netflix\", \"MLB\", \"Jellyfin\", \"Twitch\", \"Hulu\"]\n\nglobal.set(\"appListBasement\", appListBasement);\n\nnode.status({fill:\"green\",shape:\"dot\",text:\"Updated\"});", + "func": "const appListBasement = [\"YouTube\", \"Netflix\", \"MLB\", \"Jellyfin\", \"Twitch\", \"Hulu\", \"Google Cast\"]\n\nglobal.set(\"appListBasement\", appListBasement);\n\nnode.status({fill:\"green\",shape:\"dot\",text:\"Updated\"});", "outputs": 0, "noerr": 0, "initialize": "", @@ -16671,6 +16692,7 @@ "id": "27b2c22907382e6d", "type": "link in", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Media Scenes Input - Living Room", "links": [ @@ -16689,6 +16711,7 @@ "id": "f111c40459e27629", "type": "comment", "z": "b0286fae9f2ce547", + "d": true, "g": "ff6d8150e8d5e606", "name": "Figure out why alerts aren't resetting to media scenes properly", "info": "",