Media scenes improved, and extended to light strip

This commit is contained in:
2023-08-02 20:22:26 -04:00
parent b7faab6866
commit 8423fe2958

View File

@ -733,9 +733,7 @@
"37f1c11c59a6ce16" "37f1c11c59a6ce16"
], ],
"x": 94, "x": 94,
"y": 339, "y": 339
"w": 1872,
"h": 622
}, },
{ {
"id": "39a7ac02f2727f1d", "id": "39a7ac02f2727f1d",
@ -1029,10 +1027,16 @@
"cc8f6ab710549be2", "cc8f6ab710549be2",
"346379575efad516", "346379575efad516",
"8b0b39deb5142557", "8b0b39deb5142557",
"7cb8056b3b41a9e8" "7cb8056b3b41a9e8",
"d2390789a8b3101a",
"d961ffeaea408909",
"107f2c88924975fe",
"ed2e0f4f214ad76c"
], ],
"x": 34, "x": 34,
"y": 779 "y": 779,
"w": 1232,
"h": 442
}, },
{ {
"id": "f55a52c40b8b8749", "id": "f55a52c40b8b8749",
@ -1077,7 +1081,9 @@
"318bee4424125dd5" "318bee4424125dd5"
], ],
"x": 34, "x": 34,
"y": 19 "y": 19,
"w": 832,
"h": 742
}, },
{ {
"id": "208284848b13b85b", "id": "208284848b13b85b",
@ -1403,9 +1409,7 @@
"e59180a1a6ae0a90" "e59180a1a6ae0a90"
], ],
"x": 1094, "x": 1094,
"y": 659, "y": 659
"w": 632,
"h": 82
}, },
{ {
"id": "265593f442864b6a", "id": "265593f442864b6a",
@ -11754,7 +11758,7 @@
"type": "function", "type": "function",
"z": "eff21041cc941fef", "z": "eff21041cc941fef",
"name": "Adaptive", "name": "Adaptive",
"func": "var states = global.get('homeassistant.homeAssistant.states')\nvar adaptBrt = states['switch.adaptive_lighting_adapt_brightness_living_room'].state\nvar adaptColor = states['switch.adaptive_lighting_adapt_color_living_room'].state\n\nif (adaptBrt === 'on' && adaptColor === 'off') {\n msg.brightness = 'true'\n msg.color = 'false'\n} else if (adaptColor === 'on' && adaptBrt === 'off') {\n msg.brightness = 'false'\n msg.color = 'true'\n} else {\n msg.brightness = 'true'\n msg.color = 'true'\n}\n\nreturn msg;", "func": "var states = global.get('homeassistant.homeAssistant.states')\nvar adaptBrt = states['switch.adaptive_lighting_adapt_brightness_living_room'].state\nvar adaptColor = states['switch.adaptive_lighting_adapt_color_living_room'].state\n\nif (adaptBrt === 'on' && adaptColor === 'off') {\n msg.brightness = 'true'\n msg.color = 'false'\n node.status({fill:\"yellow\",shape:\"dot\",text:\"Brightness Only\"});\n} else if (adaptColor === 'on' && adaptBrt === 'off') {\n msg.brightness = 'false'\n msg.color = 'true'\n node.status({fill:\"yellow\",shape:\"dot\",text:\"Color Only\"});\n} else {\n msg.brightness = 'true'\n msg.color = 'true'\n node.status({fill:\"green\",shape:\"dot\",text:\"Both\"});\n}\n\nreturn msg;",
"outputs": 1, "outputs": 1,
"noerr": 0, "noerr": 0,
"initialize": "", "initialize": "",
@ -15313,24 +15317,24 @@
"type": "api-call-service", "type": "api-call-service",
"z": "b0286fae9f2ce547", "z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606", "g": "ff6d8150e8d5e606",
"name": "Dim Lights", "name": "Lamp Off",
"server": "9e87348d.9c1c48", "server": "9e87348d.9c1c48",
"version": 5, "version": 5,
"debugenabled": false, "debugenabled": false,
"domain": "input_select", "domain": "light",
"service": "select_option", "service": "turn_off",
"areaId": [], "areaId": [],
"deviceId": [], "deviceId": [],
"entityId": [ "entityId": [
"input_select.dining_room_lamp_scenes" "light.dining_room_lamp"
], ],
"data": "{\t \"option\":\"Nightlight\"\t}", "data": "",
"dataType": "jsonata", "dataType": "jsonata",
"mergeContext": "", "mergeContext": "",
"mustacheAltTags": false, "mustacheAltTags": false,
"outputProperties": [], "outputProperties": [],
"queue": "none", "queue": "none",
"x": 590, "x": 760,
"y": 980, "y": 980,
"wires": [ "wires": [
[ [
@ -15430,7 +15434,9 @@
"x": 950, "x": 950,
"y": 1060, "y": 1060,
"wires": [ "wires": [
[] [
"ed2e0f4f214ad76c"
]
] ]
}, },
{ {
@ -16085,13 +16091,13 @@
"entityId": [ "entityId": [
"input_select.living_room_scenes" "input_select.living_room_scenes"
], ],
"data": "{\t \"option\":\"Tokyo\"\t}", "data": "{\t \"option\": msg.huescene\t}",
"dataType": "jsonata", "dataType": "jsonata",
"mergeContext": "", "mergeContext": "",
"mustacheAltTags": false, "mustacheAltTags": false,
"outputProperties": [], "outputProperties": [],
"queue": "none", "queue": "none",
"x": 950, "x": 1130,
"y": 940, "y": 940,
"wires": [ "wires": [
[] []
@ -16155,7 +16161,7 @@
"z": "b0286fae9f2ce547", "z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606", "g": "ff6d8150e8d5e606",
"name": "Processing", "name": "Processing",
"func": "var app = msg.payload\nvar payload = {}\n\nif (app === \"YouTube\") {\n payload = \"start\"\n} else if (app === \"Netflix\") {\n payload = \"start\"\n} else if (app === \"Plex\") {\n payload = \"start\"\n} else if (app === \"Twitch\") {\n payload = \"start\"\n} else if (app === \"Hulu\") {\n payload = \"start\"\n} else {\n payload = \"stop\"\n}\n\nmsg.payload = payload\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}", "func": "var app = msg.payload\nvar payload = {}\n\nif (app === \"YouTube\") {\n payload = \"start\"\n} else if (app === \"Netflix\") {\n payload = \"start\"\n} else if (app === \"MLB\") {\n payload = \"start\"\n} else if (app === \"Jellyfin\") {\n payload = \"start\"\n} else if (app === \"Twitch\") {\n payload = \"start\"\n} else if (app === \"Hulu\") {\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}",
"outputs": 2, "outputs": 2,
"noerr": 0, "noerr": 0,
"initialize": "", "initialize": "",
@ -16379,11 +16385,12 @@
"mustacheAltTags": false, "mustacheAltTags": false,
"outputProperties": [], "outputProperties": [],
"queue": "none", "queue": "none",
"x": 770, "x": 950,
"y": 960, "y": 960,
"wires": [ "wires": [
[ [
"4a2031f363418db1" "4a2031f363418db1",
"d2390789a8b3101a"
] ]
] ]
}, },
@ -16412,7 +16419,7 @@
"z": "b0286fae9f2ce547", "z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606", "g": "ff6d8150e8d5e606",
"name": "Processing", "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 selectedScene = states['input_text.living_room_selected_scene'].state\nvar payload = msg.payload\n\nif (allowed === 'on' && lights === 'on') {\n if (payload === 'on') {\n if (selectedScene != 'Tokyo') {\n node.status({fill:\"green\",shape:\"dot\",text:\"On\"});\n return[msg,null]\n } else if (selectedScene === 'Tokyo') {\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.living_room_entertainment_control'].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 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]\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, "outputs": 2,
"noerr": 0, "noerr": 0,
"initialize": "", "initialize": "",
@ -16422,7 +16429,7 @@
"y": 980, "y": 980,
"wires": [ "wires": [
[ [
"7611921cadb91b1e" "107f2c88924975fe"
], ],
[ [
"3a29cecbefa6cbe2" "3a29cecbefa6cbe2"
@ -16450,7 +16457,7 @@
"y": 1140, "y": 1140,
"wires": [ "wires": [
[ [
"7611921cadb91b1e" "107f2c88924975fe"
], ],
[ [
"cc8f6ab710549be2" "cc8f6ab710549be2"
@ -16487,6 +16494,120 @@
], ],
"icon": "font-awesome/fa-check" "icon": "font-awesome/fa-check"
}, },
{
"id": "d2390789a8b3101a",
"type": "api-call-service",
"z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606",
"name": "LIFX",
"server": "9e87348d.9c1c48",
"version": 5,
"debugenabled": false,
"domain": "lifx",
"service": "effect_move",
"areaId": [],
"deviceId": [],
"entityId": [
"light.living_room_led_strip"
],
"data": "{\t \"speed\": 8,\t \"direction\": \"right\",\t \"theme\": msg.lifxscene,\t \"power_on\": \"true\"\t}",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1110,
"y": 1000,
"wires": [
[]
]
},
{
"id": "d961ffeaea408909",
"type": "api-call-service",
"z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606",
"name": "LIFX Stop",
"server": "9e87348d.9c1c48",
"version": 5,
"debugenabled": false,
"domain": "lifx",
"service": "effect_stop",
"areaId": [],
"deviceId": [],
"entityId": [
"light.living_room_led_strip"
],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1180,
"y": 1060,
"wires": [
[]
]
},
{
"id": "107f2c88924975fe",
"type": "api-call-service",
"z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606",
"name": "Adaptive Off",
"server": "9e87348d.9c1c48",
"version": 5,
"debugenabled": false,
"domain": "switch",
"service": "turn_off",
"areaId": [],
"deviceId": [],
"entityId": [
"switch.adaptive_lighting_dining_room_lamp",
"switch.adaptive_lighting_living_room"
],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 590,
"y": 980,
"wires": [
[
"7611921cadb91b1e"
]
]
},
{
"id": "ed2e0f4f214ad76c",
"type": "delay",
"z": "b0286fae9f2ce547",
"g": "ff6d8150e8d5e606",
"name": "",
"pauseType": "delay",
"timeout": "3",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 1075,
"y": 1060,
"wires": [
[
"d961ffeaea408909"
]
],
"l": false
},
{ {
"id": "8e399b2a287a0905", "id": "8e399b2a287a0905",
"type": "ha-time", "type": "ha-time",