From 8ac0066c85b491a68978f93de3d4b661bc77b00a Mon Sep 17 00:00:00 2001 From: m038 Date: Thu, 28 May 2026 20:35:25 +0200 Subject: [PATCH] Update flow files --- flows.json | 3816 ++++++++++++++++++++++++++-------------------------- 1 file changed, 1941 insertions(+), 1875 deletions(-) diff --git a/flows.json b/flows.json index 70a89c3..5d2b61d 100644 --- a/flows.json +++ b/flows.json @@ -13,11 +13,6 @@ } ] }, - { - "id": "97e0f1338e182d76", - "type": "tab", - "label": "Bedroom" - }, { "id": "5af82cd4c44df066", "type": "tab", @@ -3207,1876 +3202,6 @@ "x": 2340, "y": 720 }, - { - "id": "d46b0ef0ec904159", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Bedroom Radiator Boost", - "wires": [ - [ - "c89bd8a3d1ef10f3" - ] - ], - "d": true, - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "input_button.bedroom_radiator_boost" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": "0", - "forType": "num", - "forUnits": "minutes", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 150, - "y": 140 - }, - { - "id": "2c98b3b74558eb20", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Radiator boost functionality", - "wires": [], - "info": "", - "x": 150, - "y": 100 - }, - { - "id": "c89bd8a3d1ef10f3", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Turn on boost mode", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "climate.set_preset_mode", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "climate.radiator_bedroom" - ], - "labelId": [], - "data": "{\"preset_mode\":\"boost\"}", - "dataType": "jsonata", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [], - "queue": "none", - "blockInputOverrides": false, - "domain": "climate", - "service": "set_preset_mode", - "x": 520, - "y": 140 - }, - { - "id": "38a218bd9af588e7", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "UI Scene Selector", - "wires": [], - "info": "", - "x": 130, - "y": 320 - }, - { - "id": "1a65eaabb03a7bf9", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Bedroom Scene Selector", - "wires": [ - [ - "8b4608485751c75e" - ] - ], - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "input_select.bedroom_scene_selector" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": "0", - "forType": "num", - "forUnits": "minutes", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 150, - "y": 360 - }, - { - "id": "f58c59e082e101ed", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Turn on Scene", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "scene.turn_on", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "{{ entity_id }}" - ], - "labelId": [], - "data": "{\"transition\":0.5}", - "dataType": "json", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [], - "queue": "all", - "blockInputOverrides": false, - "domain": "scene", - "service": "turn_on", - "x": 940, - "y": 360 - }, - { - "id": "e11131ed218f47ab", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Bedroom Shift Scene Button", - "wires": [ - [ - "77ec438ec87c0861" - ] - ], - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "input_button.bedroom_shift_scene" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": "0", - "forType": "num", - "forUnits": "minutes", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 160, - "y": 580 - }, - { - "id": "4fcc252c63d82516", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Scene Shifter, updates UI Scene Selector", - "wires": [], - "info": "", - "x": 200, - "y": 440 - }, - { - "id": "77ec438ec87c0861", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Trigger next scene in shifter", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "input_select.select_next", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "input_select.bedroom_scene_shifter" - ], - "labelId": [], - "data": "", - "dataType": "json", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [], - "queue": "all", - "blockInputOverrides": false, - "domain": "input_select", - "service": "select_next", - "x": 520, - "y": 580 - }, - { - "id": "35e1934d67c2f753", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Bedroom Scene Shifter", - "wires": [ - [ - "e2137d25f8265819" - ] - ], - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "input_select.bedroom_scene_shifter" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": "0", - "forType": "num", - "forUnits": "minutes", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 140, - "y": 480 - }, - { - "id": "e2137d25f8265819", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Update scene in selector", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "input_select.select_option", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "input_select.bedroom_scene_selector" - ], - "labelId": [], - "data": "{\"option\": msg.payload}", - "dataType": "jsonata", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [], - "queue": "all", - "blockInputOverrides": false, - "domain": "input_select", - "service": "select_option", - "x": 510, - "y": 480 - }, - { - "id": "709ee4ecb3d9d6e5", - "type": "subflow:52430f5e9f9ee267", - "z": "97e0f1338e182d76", - "name": "", - "wires": [ - [ - "f279d0b1fbbf9cb4" - ], - [ - "3c152ba239c25d77" - ], - [ - "89faa874997406a2" - ], - [ - "4538f8e1ad5c1e46" - ], - [ - "0b63dda19923a6c5" - ], - [ - "7e5573df8317e57f" - ] - ], - "x": 870, - "y": 940 - }, - { - "id": "bca2e47c3d26e6a1", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Bedroom time-based turn on", - "wires": [ - [ - "4f74cdc66a002911" - ] - ], - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "input_button.bedroom_time_based_turn_on" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": "", - "forType": "num", - "forUnits": "milliseconds", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 160, - "y": 760 - }, - { - "id": "f279d0b1fbbf9cb4", - "type": "change", - "z": "97e0f1338e182d76", - "name": "morning - Energize", - "wires": [ - [ - "d84b127597627c5f" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "Energize", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1190, - "y": 860 - }, - { - "id": "3c152ba239c25d77", - "type": "change", - "z": "97e0f1338e182d76", - "name": "midday - Concentrate", - "wires": [ - [ - "d84b127597627c5f" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "Concentrate", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1200, - "y": 900 - }, - { - "id": "89faa874997406a2", - "type": "change", - "z": "97e0f1338e182d76", - "name": "late afternoon - Read", - "wires": [ - [ - "d84b127597627c5f" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "Read", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1200, - "y": 940 - }, - { - "id": "4538f8e1ad5c1e46", - "type": "change", - "z": "97e0f1338e182d76", - "name": "evening - Relax", - "wires": [ - [ - "d84b127597627c5f" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "Relax", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1180, - "y": 980 - }, - { - "id": "0b63dda19923a6c5", - "type": "change", - "z": "97e0f1338e182d76", - "name": "late evening - Rest", - "wires": [ - [ - "d84b127597627c5f" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "Rest", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1190, - "y": 1020 - }, - { - "id": "7e5573df8317e57f", - "type": "change", - "z": "97e0f1338e182d76", - "name": "night - Nightlight", - "wires": [ - [ - "d84b127597627c5f" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "Nightlight", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1180, - "y": 1060 - }, - { - "id": "4f74cdc66a002911", - "type": "api-current-state", - "z": "97e0f1338e182d76", - "name": "Bedroom lights on?", - "wires": [ - [ - "362048030b8dff62", - "c1af1a7dd6935bf8" - ], - [ - "709ee4ecb3d9d6e5" - ] - ], - "server": "657c7463.48e1e4", - "version": 3, - "outputs": 2, - "halt_if": "on", - "halt_if_type": "str", - "halt_if_compare": "is", - "entity_id": "light.bedroom", - "state_type": "str", - "blockInputOverrides": false, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - } - ], - "for": "0", - "forType": "num", - "forUnits": "minutes", - "override_topic": false, - "state_location": "payload", - "override_payload": "msg", - "entity_location": "data", - "override_data": "msg", - "x": 490, - "y": 760 - }, - { - "id": "176597d96d6e3645", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Trigger specific scene in shifter", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "input_select.select_option", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "input_select.bedroom_scene_shifter" - ], - "labelId": [], - "data": "{\"option\":msg.payload}", - "dataType": "jsonata", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [ - { - "property": "results", - "propertyType": "msg", - "value": "", - "valueType": "results" - } - ], - "queue": "all", - "blockInputOverrides": false, - "domain": "input_select", - "service": "select_option", - "x": 2050, - "y": 940 - }, - { - "id": "4b1045ce3c6e6ab6", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Trigger next scene in shifter", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "input_select.select_next", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "input_select.bedroom_scene_shifter" - ], - "labelId": [], - "data": "", - "dataType": "json", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [], - "queue": "all", - "blockInputOverrides": false, - "domain": "input_select", - "service": "select_next", - "x": 1680, - "y": 680 - }, - { - "id": "362048030b8dff62", - "type": "api-current-state", - "z": "97e0f1338e182d76", - "name": "Get UI scene selector state", - "wires": [ - [ - "432318d906637048" - ] - ], - "server": "657c7463.48e1e4", - "version": 3, - "outputs": 1, - "halt_if": "", - "halt_if_type": "str", - "halt_if_compare": "is", - "entity_id": "input_select.bedroom_scene_selector", - "state_type": "str", - "blockInputOverrides": false, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "bedroom_scene", - "valueType": "str" - } - ], - "for": "0", - "forType": "num", - "forUnits": "minutes", - "override_topic": false, - "state_location": "payload", - "override_payload": "msg", - "entity_location": "data", - "override_data": "msg", - "x": 800, - "y": 660 - }, - { - "id": "c1af1a7dd6935bf8", - "type": "api-current-state", - "z": "97e0f1338e182d76", - "name": "Get scene shifter state", - "wires": [ - [ - "432318d906637048" - ] - ], - "server": "657c7463.48e1e4", - "version": 3, - "outputs": 1, - "halt_if": "", - "halt_if_type": "str", - "halt_if_compare": "is", - "entity_id": "input_select.bedroom_scene_shifter", - "state_type": "str", - "blockInputOverrides": false, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "bedroom_scene_shifter", - "valueType": "str" - } - ], - "for": "0", - "forType": "num", - "forUnits": "minutes", - "override_topic": false, - "state_location": "payload", - "override_payload": "msg", - "entity_location": "data", - "override_data": "msg", - "x": 780, - "y": 700 - }, - { - "id": "432318d906637048", - "type": "join", - "z": "97e0f1338e182d76", - "name": "Collect all items", - "wires": [ - [ - "cd8ac9cbde46bf84" - ] - ], - "mode": "custom", - "build": "object", - "property": "payload", - "propertyType": "msg", - "key": "topic", - "joiner": "\\n", - "joinerType": "str", - "accumulate": false, - "timeout": "", - "count": "2", - "reduceRight": false, - "reduceExp": "", - "reduceInit": "", - "reduceInitType": "", - "reduceFixup": "", - "x": 1090, - "y": 660 - }, - { - "id": "cd8ac9cbde46bf84", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "Do the UI and internal scene selector (shifter) have an identical value?", - "wires": [ - [ - "4b1045ce3c6e6ab6" - ], - [ - "8f837b53f9ae9e07" - ] - ], - "property": "payload.bedroom_scene", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "payload.bedroom_scene_shifter", - "vt": "msg" - }, - { - "t": "else" - } - ], - "checkall": "false", - "repair": false, - "outputs": 2, - "x": 1250, - "y": 720 - }, - { - "id": "8f837b53f9ae9e07", - "type": "change", - "z": "97e0f1338e182d76", - "name": "clear payload", - "wires": [ - [ - "709ee4ecb3d9d6e5" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 1630, - "y": 740 - }, - { - "id": "d84b127597627c5f", - "type": "api-current-state", - "z": "97e0f1338e182d76", - "name": "Scene shifter already on time-based scene?", - "wires": [ - [ - "176597d96d6e3645" - ], - [ - "d2de5c2d59b4614b" - ] - ], - "server": "657c7463.48e1e4", - "version": 3, - "outputs": 2, - "halt_if": "msg.payload", - "halt_if_type": "jsonata", - "halt_if_compare": "is_not", - "entity_id": "input_select.bedroom_scene_shifter", - "state_type": "str", - "blockInputOverrides": false, - "outputProperties": [], - "for": "0", - "forType": "num", - "forUnits": "minutes", - "override_topic": false, - "state_location": "payload", - "override_payload": "msg", - "entity_location": "data", - "override_data": "msg", - "x": 1550, - "y": 940 - }, - { - "id": "2e7b78de395dc593", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Trigger specific scene in selector", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": false, - "action": "input_select.select_option", - "floorId": [], - "areaId": [], - "deviceId": [], - "entityId": [ - "input_select.bedroom_scene_selector" - ], - "labelId": [], - "data": "{\"option\":msg.payload}", - "dataType": "jsonata", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [ - { - "property": "results", - "propertyType": "msg", - "value": "", - "valueType": "results" - } - ], - "queue": "all", - "blockInputOverrides": false, - "domain": "input_select", - "service": "select_option", - "x": 2050, - "y": 1000 - }, - { - "id": "083380396eab878c", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Check setting of scene shifter and call according function, as shift will update selector, but not if it already has the correct state", - "wires": [], - "info": "", - "x": 1800, - "y": 900 - }, - { - "id": "d389eb4a4df1d94d", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Only shift if value is identical between selects", - "wires": [], - "info": "In case the UI elements are already the same, then i want to trigger the next scene.\nIn case the UI elements are not the same, they should be synchonized.", - "x": 1170, - "y": 760 - }, - { - "id": "8b4608485751c75e", - "type": "string", - "z": "97e0f1338e182d76", - "name": "Parse user readable text and convert to scene entity ID", - "wires": [ - [ - "f58c59e082e101ed" - ] - ], - "methods": [ - { - "name": "slugify", - "params": [] - }, - { - "name": "replaceAll", - "params": [ - { - "type": "str", - "value": "-" - }, - { - "type": "str", - "value": "_" - } - ] - }, - { - "name": "prepend", - "params": [ - { - "type": "str", - "value": "scene.bedroom_" - } - ] - } - ], - "prop": "payload", - "propout": "entity_id", - "object": "msg", - "objectout": "msg", - "x": 600, - "y": 360 - }, - { - "id": "1b3e31f4b885dc8d", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Time-based Light", - "wires": [], - "info": "", - "x": 120, - "y": 720 - }, - { - "id": "42199407f205b1a9", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Hidden Scene Shifter button - only for Dev UI", - "wires": [], - "info": "", - "x": 210, - "y": 540 - }, - { - "id": "31da3053abfcc308", - "type": "api-call-service", - "z": "97e0f1338e182d76", - "name": "Turn on/off lights bedroom", - "wires": [ - [] - ], - "server": "657c7463.48e1e4", - "version": 7, - "debugenabled": true, - "action": "light.{{ service }}", - "floorId": [], - "areaId": [ - "7047cdd7d50e49f980eba16f832acb57" - ], - "deviceId": [], - "entityId": [], - "labelId": [], - "data": "msg.payload", - "dataType": "jsonata", - "mergeContext": "", - "mustacheAltTags": false, - "outputProperties": [], - "queue": "none", - "blockInputOverrides": false, - "domain": "light", - "service": "{{ service }}", - "x": 1330, - "y": 1460 - }, - { - "id": "7013e43814f349ad", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "On/Off check", - "wires": [ - [ - "4f74cdc66a002911" - ], - [ - "6164ec7d06a81fe4" - ] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "on_press_release", - "vt": "str" - }, - { - "t": "eq", - "v": "off_press_release", - "vt": "str" - } - ], - "checkall": "true", - "repair": false, - "outputs": 2, - "x": 410, - "y": 1380 - }, - { - "id": "36feb055644891c5", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "Brightness check - Up press/hold", - "wires": [ - [ - "cb02468ec4dfa41b" - ], - [ - "cb02468ec4dfa41b" - ] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "up_press", - "vt": "str" - }, - { - "t": "eq", - "v": "up_hold", - "vt": "str" - } - ], - "checkall": "true", - "repair": false, - "outputs": 2, - "x": 480, - "y": 1500 - }, - { - "id": "cb02468ec4dfa41b", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Brightness increase (smooth)", - "wires": [ - [ - "31da3053abfcc308" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step\":20,\"transition\":0.8}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 830, - "y": 1500 - }, - { - "id": "406db761620bc517", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Brightness decrease (smooth)", - "wires": [ - [ - "31da3053abfcc308" - ] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step\":-20,\"transition\":0.8}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 840, - "y": 1540 - }, - { - "id": "6164ec7d06a81fe4", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Service: turn off", - "wires": [ - [ - "31da3053abfcc308" - ] - ], - "rules": [ - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_off", - "tot": "str" - }, - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"transition\":0.5}", - "tot": "json" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 800, - "y": 1400 - }, - { - "id": "241ddf98acba2579", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Dimmer functionality - HUE", - "wires": [], - "info": "", - "x": 450, - "y": 1460 - }, - { - "id": "79a86fa5f578af3e", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "Brightness check - Down press/hold", - "wires": [ - [ - "406db761620bc517" - ], - [ - "406db761620bc517" - ] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "down_press", - "vt": "str" - }, - { - "t": "eq", - "v": "down_hold", - "vt": "str" - } - ], - "checkall": "true", - "repair": false, - "outputs": 2, - "x": 480, - "y": 1540 - }, - { - "id": "c28fac638bf817b4", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "On hold", - "wires": [ - [ - "f279d0b1fbbf9cb4" - ], - [ - "4538f8e1ad5c1e46" - ] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "on_hold", - "vt": "str" - }, - { - "t": "eq", - "v": "off_hold", - "vt": "str" - } - ], - "checkall": "true", - "repair": false, - "outputs": 2, - "x": 780, - "y": 1260 - }, - { - "id": "c83798ac3a3167eb", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Allow two default modes via switch", - "wires": [], - "info": "", - "x": 860, - "y": 1300 - }, - { - "id": "a04124baa07fa11c", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Hue - Bedroom switch", - "wires": [ - [ - "7013e43814f349ad", - "c28fac638bf817b4", - "36feb055644891c5", - "79a86fa5f578af3e", - "b7747d69d24690b6" - ] - ], - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "sensor.bedroom_switch_action" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": 0, - "forType": "num", - "forUnits": "minutes", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 160, - "y": 1380 - }, - { - "id": "60beffc9468624cd", - "type": "comment", - "z": "97e0f1338e182d76", - "name": "Bedroom Lights on/off switch", - "wires": [], - "info": "", - "x": 180, - "y": 1340 - }, - { - "id": "d2de5c2d59b4614b", - "type": "api-current-state", - "z": "97e0f1338e182d76", - "name": "Scene selector already on time-based scene?", - "wires": [ - [ - "2e7b78de395dc593" - ], - [ - "8b4608485751c75e" - ] - ], - "server": "657c7463.48e1e4", - "version": 3, - "outputs": 2, - "halt_if": "msg.payload", - "halt_if_type": "jsonata", - "halt_if_compare": "is_not", - "entity_id": "input_select.bedroom_scene_selector", - "state_type": "str", - "blockInputOverrides": false, - "outputProperties": [], - "for": "0", - "forType": "num", - "forUnits": "minutes", - "override_topic": false, - "state_location": "payload", - "override_payload": "msg", - "entity_location": "data", - "override_data": "msg", - "x": 1560, - "y": 1020 - }, - { - "id": "01e9aa8d6c3c719e", - "type": "server-state-changed", - "z": "97e0f1338e182d76", - "name": "Hue - Bedroom switch", - "wires": [ - [ - "0d9343f34a28176f", - "2439bd84c7eea05e", - "62dbd855fe3a4b5e" - ] - ], - "d": true, - "server": "657c7463.48e1e4", - "version": 6, - "outputs": 1, - "exposeAsEntityConfig": "", - "entities": { - "entity": [ - "sensor.bedroom_switch_action" - ], - "substring": [], - "regex": [] - }, - "outputInitially": false, - "stateType": "str", - "ifState": "", - "ifStateType": "str", - "ifStateOperator": "is", - "outputOnlyOnStateChange": true, - "for": 0, - "forType": "num", - "forUnits": "minutes", - "ignorePrevStateNull": false, - "ignorePrevStateUnknown": false, - "ignorePrevStateUnavailable": false, - "ignoreCurrentStateUnknown": true, - "ignoreCurrentStateUnavailable": true, - "outputProperties": [ - { - "property": "payload", - "propertyType": "msg", - "value": "", - "valueType": "entityState" - }, - { - "property": "data", - "propertyType": "msg", - "value": "", - "valueType": "eventData" - }, - { - "property": "topic", - "propertyType": "msg", - "value": "", - "valueType": "triggerId" - } - ], - "x": 160, - "y": 1760 - }, - { - "id": "324a5a3309201c2a", - "type": "debug", - "z": "97e0f1338e182d76", - "name": "debug 4", - "wires": [], - "active": true, - "tosidebar": true, - "console": false, - "tostatus": false, - "complete": "false", - "statusVal": "", - "statusType": "auto", - "x": 580, - "y": 1660 - }, - { - "id": "2439bd84c7eea05e", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "Brightness check - Up press/hold", - "wires": [ - [ - "c6d79d2f6eb1b78d" - ], - [], - [ - "7b5740dd51a70762" - ], - [] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "up_press", - "vt": "str" - }, - { - "t": "eq", - "v": "up_press_release", - "vt": "str" - }, - { - "t": "eq", - "v": "up_hold", - "vt": "str" - }, - { - "t": "eq", - "v": "up_hold_release", - "vt": "str" - } - ], - "checkall": "true", - "repair": false, - "outputs": 4, - "x": 480, - "y": 1760 - }, - { - "id": "62dbd855fe3a4b5e", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "Brightness check - Down press/hold", - "wires": [ - [ - "f37a1bde2003fc2c" - ], - [], - [ - "af38a9711eabea2e" - ], - [] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "eq", - "v": "down_press", - "vt": "str" - }, - { - "t": "eq", - "v": "down_press_release", - "vt": "str" - }, - { - "t": "eq", - "v": "down_hold", - "vt": "str" - }, - { - "t": "eq", - "v": "down_hold_release", - "vt": "str" - } - ], - "checkall": "true", - "repair": false, - "outputs": 4, - "x": 480, - "y": 1960 - }, - { - "id": "c6d79d2f6eb1b78d", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Brightness increase by 15", - "wires": [ - [] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step_pct\":5}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 930, - "y": 1720 - }, - { - "id": "f37a1bde2003fc2c", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Brightness decrease by 15", - "wires": [ - [] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step_pct\":-5}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 940, - "y": 1940 - }, - { - "id": "0d9343f34a28176f", - "type": "switch", - "z": "97e0f1338e182d76", - "name": "remove empty", - "wires": [ - [ - "324a5a3309201c2a" - ], - [] - ], - "property": "payload", - "propertyType": "msg", - "rules": [ - { - "t": "nempty" - }, - { - "t": "else" - } - ], - "checkall": "true", - "repair": false, - "outputs": 2, - "x": 420, - "y": 1660 - }, - { - "id": "af38a9711eabea2e", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Brightness decrease by 15", - "wires": [ - [] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step_pct\":-5}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 940, - "y": 2040 - }, - { - "id": "7b5740dd51a70762", - "type": "change", - "z": "97e0f1338e182d76", - "name": "Brightness increase by 15", - "wires": [ - [] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step_pct\":5}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 930, - "y": 1800 - }, - { - "id": "7db0a2f13624e217", - "type": "change", - "z": "97e0f1338e182d76", - "name": "STOP", - "wires": [ - [] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step_pct\":5}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 870, - "y": 1840 - }, - { - "id": "c7d84a01ee9ccf1c", - "type": "change", - "z": "97e0f1338e182d76", - "name": "STOP", - "wires": [ - [] - ], - "rules": [ - { - "t": "set", - "p": "payload", - "pt": "msg", - "to": "{\"brightness_step_pct\":5}", - "tot": "json" - }, - { - "t": "set", - "p": "service", - "pt": "msg", - "to": "turn_on", - "tot": "str" - } - ], - "action": "", - "property": "", - "from": "", - "to": "", - "reg": false, - "x": 870, - "y": 2080 - }, - { - "id": "b7747d69d24690b6", - "type": "debug", - "z": "97e0f1338e182d76", - "name": "debug 1", - "wires": [], - "active": true, - "tosidebar": true, - "console": false, - "tostatus": false, - "complete": "false", - "statusVal": "", - "statusType": "auto", - "x": 220, - "y": 1500 - }, { "id": "970f66c027cf1bda", "type": "server-state-changed", @@ -22852,5 +20977,1946 @@ "output_location_type": "none", "x": 660, "y": 1360 + }, + { + "type": "tab", + "label": "Bedroom", + "id": "97e0f1338e182d76" + }, + { + "id": "d46b0ef0ec904159", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Bedroom Radiator Boost", + "wires": [ + [ + "c89bd8a3d1ef10f3" + ] + ], + "d": true, + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "input_button.bedroom_radiator_boost" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": "0", + "forType": "num", + "forUnits": "minutes", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 150, + "y": 140 + }, + { + "id": "2c98b3b74558eb20", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Radiator boost functionality", + "wires": [], + "info": "", + "x": 150, + "y": 100 + }, + { + "id": "c89bd8a3d1ef10f3", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Turn on boost mode", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "climate.set_preset_mode", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "climate.radiator_bedroom" + ], + "labelId": [], + "data": "{\"preset_mode\":\"boost\"}", + "dataType": "jsonata", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "none", + "blockInputOverrides": false, + "domain": "climate", + "service": "set_preset_mode", + "x": 520, + "y": 140 + }, + { + "id": "38a218bd9af588e7", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "UI Scene Selector", + "wires": [], + "info": "", + "x": 130, + "y": 320 + }, + { + "id": "1a65eaabb03a7bf9", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Bedroom Scene Selector", + "wires": [ + [ + "8b4608485751c75e" + ] + ], + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "input_select.bedroom_scene_selector" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": "0", + "forType": "num", + "forUnits": "minutes", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 150, + "y": 360 + }, + { + "id": "f58c59e082e101ed", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Turn on Scene", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "scene.turn_on", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "{{ entity_id }}" + ], + "labelId": [], + "data": "{\"transition\":0.5}", + "dataType": "json", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "all", + "blockInputOverrides": false, + "domain": "scene", + "service": "turn_on", + "x": 940, + "y": 360 + }, + { + "id": "e11131ed218f47ab", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Bedroom Shift Scene Button", + "wires": [ + [ + "77ec438ec87c0861" + ] + ], + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "input_button.bedroom_shift_scene" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": "0", + "forType": "num", + "forUnits": "minutes", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 160, + "y": 580 + }, + { + "id": "4fcc252c63d82516", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Scene Shifter, updates UI Scene Selector", + "wires": [], + "info": "", + "x": 200, + "y": 440 + }, + { + "id": "77ec438ec87c0861", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Trigger next scene in shifter", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "input_select.select_next", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "input_select.bedroom_scene_shifter" + ], + "labelId": [], + "data": "", + "dataType": "json", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "all", + "blockInputOverrides": false, + "domain": "input_select", + "service": "select_next", + "x": 520, + "y": 580 + }, + { + "id": "35e1934d67c2f753", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Bedroom Scene Shifter", + "wires": [ + [ + "e2137d25f8265819" + ] + ], + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "input_select.bedroom_scene_shifter" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": "0", + "forType": "num", + "forUnits": "minutes", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 140, + "y": 480 + }, + { + "id": "e2137d25f8265819", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Update scene in selector", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "input_select.select_option", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "input_select.bedroom_scene_selector" + ], + "labelId": [], + "data": "{\"option\": msg.payload}", + "dataType": "jsonata", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "all", + "blockInputOverrides": false, + "domain": "input_select", + "service": "select_option", + "x": 510, + "y": 480 + }, + { + "id": "709ee4ecb3d9d6e5", + "type": "subflow:52430f5e9f9ee267", + "z": "97e0f1338e182d76", + "name": "", + "wires": [ + [ + "f279d0b1fbbf9cb4" + ], + [ + "3c152ba239c25d77" + ], + [ + "89faa874997406a2" + ], + [ + "4538f8e1ad5c1e46" + ], + [ + "0b63dda19923a6c5" + ], + [ + "7e5573df8317e57f" + ] + ], + "x": 870, + "y": 940 + }, + { + "id": "bca2e47c3d26e6a1", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Bedroom time-based turn on", + "wires": [ + [ + "4f74cdc66a002911" + ] + ], + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "input_button.bedroom_time_based_turn_on" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": "", + "forType": "num", + "forUnits": "milliseconds", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 160, + "y": 760 + }, + { + "id": "f279d0b1fbbf9cb4", + "type": "change", + "z": "97e0f1338e182d76", + "name": "morning - Energize", + "wires": [ + [ + "d84b127597627c5f" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "Energize", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1190, + "y": 860 + }, + { + "id": "3c152ba239c25d77", + "type": "change", + "z": "97e0f1338e182d76", + "name": "midday - Concentrate", + "wires": [ + [ + "d84b127597627c5f" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "Concentrate", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1200, + "y": 900 + }, + { + "id": "89faa874997406a2", + "type": "change", + "z": "97e0f1338e182d76", + "name": "late afternoon - Read", + "wires": [ + [ + "d84b127597627c5f" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "Read", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1200, + "y": 940 + }, + { + "id": "4538f8e1ad5c1e46", + "type": "change", + "z": "97e0f1338e182d76", + "name": "evening - Relax", + "wires": [ + [ + "d84b127597627c5f" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "Relax", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1180, + "y": 980 + }, + { + "id": "0b63dda19923a6c5", + "type": "change", + "z": "97e0f1338e182d76", + "name": "late evening - Rest", + "wires": [ + [ + "d84b127597627c5f" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "Rest", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1190, + "y": 1020 + }, + { + "id": "7e5573df8317e57f", + "type": "change", + "z": "97e0f1338e182d76", + "name": "night - Nightlight", + "wires": [ + [ + "d84b127597627c5f" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "Nightlight", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1180, + "y": 1060 + }, + { + "id": "4f74cdc66a002911", + "type": "api-current-state", + "z": "97e0f1338e182d76", + "name": "Bedroom lights on?", + "wires": [ + [ + "362048030b8dff62", + "c1af1a7dd6935bf8" + ], + [ + "709ee4ecb3d9d6e5" + ] + ], + "server": "657c7463.48e1e4", + "version": 3, + "outputs": 2, + "halt_if": "on", + "halt_if_type": "str", + "halt_if_compare": "is", + "entity_id": "light.bedroom", + "state_type": "str", + "blockInputOverrides": false, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + } + ], + "for": "0", + "forType": "num", + "forUnits": "minutes", + "override_topic": false, + "state_location": "payload", + "override_payload": "msg", + "entity_location": "data", + "override_data": "msg", + "x": 490, + "y": 760 + }, + { + "id": "176597d96d6e3645", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Trigger specific scene in shifter", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "input_select.select_option", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "input_select.bedroom_scene_shifter" + ], + "labelId": [], + "data": "{\"option\":msg.payload}", + "dataType": "jsonata", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [ + { + "property": "results", + "propertyType": "msg", + "value": "", + "valueType": "results" + } + ], + "queue": "all", + "blockInputOverrides": false, + "domain": "input_select", + "service": "select_option", + "x": 2050, + "y": 940 + }, + { + "id": "4b1045ce3c6e6ab6", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Trigger next scene in shifter", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "input_select.select_next", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "input_select.bedroom_scene_shifter" + ], + "labelId": [], + "data": "", + "dataType": "json", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "all", + "blockInputOverrides": false, + "domain": "input_select", + "service": "select_next", + "x": 1680, + "y": 680 + }, + { + "id": "362048030b8dff62", + "type": "api-current-state", + "z": "97e0f1338e182d76", + "name": "Get UI scene selector state", + "wires": [ + [ + "432318d906637048" + ] + ], + "server": "657c7463.48e1e4", + "version": 3, + "outputs": 1, + "halt_if": "", + "halt_if_type": "str", + "halt_if_compare": "is", + "entity_id": "input_select.bedroom_scene_selector", + "state_type": "str", + "blockInputOverrides": false, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "bedroom_scene", + "valueType": "str" + } + ], + "for": "0", + "forType": "num", + "forUnits": "minutes", + "override_topic": false, + "state_location": "payload", + "override_payload": "msg", + "entity_location": "data", + "override_data": "msg", + "x": 800, + "y": 660 + }, + { + "id": "c1af1a7dd6935bf8", + "type": "api-current-state", + "z": "97e0f1338e182d76", + "name": "Get scene shifter state", + "wires": [ + [ + "432318d906637048" + ] + ], + "server": "657c7463.48e1e4", + "version": 3, + "outputs": 1, + "halt_if": "", + "halt_if_type": "str", + "halt_if_compare": "is", + "entity_id": "input_select.bedroom_scene_shifter", + "state_type": "str", + "blockInputOverrides": false, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "bedroom_scene_shifter", + "valueType": "str" + } + ], + "for": "0", + "forType": "num", + "forUnits": "minutes", + "override_topic": false, + "state_location": "payload", + "override_payload": "msg", + "entity_location": "data", + "override_data": "msg", + "x": 780, + "y": 700 + }, + { + "id": "432318d906637048", + "type": "join", + "z": "97e0f1338e182d76", + "name": "Collect all items", + "wires": [ + [ + "cd8ac9cbde46bf84" + ] + ], + "mode": "custom", + "build": "object", + "property": "payload", + "propertyType": "msg", + "key": "topic", + "joiner": "\\n", + "joinerType": "str", + "accumulate": false, + "timeout": "", + "count": "2", + "reduceRight": false, + "reduceExp": "", + "reduceInit": "", + "reduceInitType": "", + "reduceFixup": "", + "x": 1090, + "y": 660 + }, + { + "id": "cd8ac9cbde46bf84", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "Do the UI and internal scene selector (shifter) have an identical value?", + "wires": [ + [ + "4b1045ce3c6e6ab6" + ], + [ + "8f837b53f9ae9e07" + ] + ], + "property": "payload.bedroom_scene", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "payload.bedroom_scene_shifter", + "vt": "msg" + }, + { + "t": "else" + } + ], + "checkall": "false", + "repair": false, + "outputs": 2, + "x": 1250, + "y": 720 + }, + { + "id": "8f837b53f9ae9e07", + "type": "change", + "z": "97e0f1338e182d76", + "name": "clear payload", + "wires": [ + [ + "709ee4ecb3d9d6e5" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 1630, + "y": 740 + }, + { + "id": "d84b127597627c5f", + "type": "api-current-state", + "z": "97e0f1338e182d76", + "name": "Scene shifter already on time-based scene?", + "wires": [ + [ + "176597d96d6e3645" + ], + [ + "d2de5c2d59b4614b" + ] + ], + "server": "657c7463.48e1e4", + "version": 3, + "outputs": 2, + "halt_if": "msg.payload", + "halt_if_type": "jsonata", + "halt_if_compare": "is_not", + "entity_id": "input_select.bedroom_scene_shifter", + "state_type": "str", + "blockInputOverrides": false, + "outputProperties": [], + "for": "0", + "forType": "num", + "forUnits": "minutes", + "override_topic": false, + "state_location": "payload", + "override_payload": "msg", + "entity_location": "data", + "override_data": "msg", + "x": 1550, + "y": 940 + }, + { + "id": "2e7b78de395dc593", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Trigger specific scene in selector", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "input_select.select_option", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [ + "input_select.bedroom_scene_selector" + ], + "labelId": [], + "data": "{\"option\":msg.payload}", + "dataType": "jsonata", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [ + { + "property": "results", + "propertyType": "msg", + "value": "", + "valueType": "results" + } + ], + "queue": "all", + "blockInputOverrides": false, + "domain": "input_select", + "service": "select_option", + "x": 2050, + "y": 1000 + }, + { + "id": "083380396eab878c", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Check setting of scene shifter and call according function, as shift will update selector, but not if it already has the correct state", + "wires": [], + "info": "", + "x": 1800, + "y": 900 + }, + { + "id": "d389eb4a4df1d94d", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Only shift if value is identical between selects", + "wires": [], + "info": "In case the UI elements are already the same, then i want to trigger the next scene.\nIn case the UI elements are not the same, they should be synchonized.", + "x": 1170, + "y": 760 + }, + { + "id": "8b4608485751c75e", + "type": "string", + "z": "97e0f1338e182d76", + "name": "Parse user readable text and convert to scene entity ID", + "wires": [ + [ + "f58c59e082e101ed" + ] + ], + "methods": [ + { + "name": "slugify", + "params": [] + }, + { + "name": "replaceAll", + "params": [ + { + "type": "str", + "value": "-" + }, + { + "type": "str", + "value": "_" + } + ] + }, + { + "name": "prepend", + "params": [ + { + "type": "str", + "value": "scene.bedroom_" + } + ] + } + ], + "prop": "payload", + "propout": "entity_id", + "object": "msg", + "objectout": "msg", + "x": 600, + "y": 360 + }, + { + "id": "1b3e31f4b885dc8d", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Time-based Light", + "wires": [], + "info": "", + "x": 120, + "y": 720 + }, + { + "id": "42199407f205b1a9", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Hidden Scene Shifter button - only for Dev UI", + "wires": [], + "info": "", + "x": 210, + "y": 540 + }, + { + "id": "31da3053abfcc308", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Turn on/off lights bedroom", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": true, + "action": "light.{{ service }}", + "floorId": [], + "areaId": [ + "7047cdd7d50e49f980eba16f832acb57" + ], + "deviceId": [], + "entityId": [], + "labelId": [], + "data": "msg.payload", + "dataType": "jsonata", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "none", + "blockInputOverrides": false, + "domain": "light", + "service": "{{ service }}", + "x": 1330, + "y": 1460 + }, + { + "id": "7013e43814f349ad", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "On/Off check", + "wires": [ + [ + "4f74cdc66a002911" + ], + [ + "6164ec7d06a81fe4" + ] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "on_press_release", + "vt": "str" + }, + { + "t": "eq", + "v": "off_press_release", + "vt": "str" + } + ], + "checkall": "true", + "repair": false, + "outputs": 2, + "x": 410, + "y": 1380 + }, + { + "id": "36feb055644891c5", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "Brightness check - Up press/hold", + "wires": [ + [ + "cb02468ec4dfa41b" + ], + [ + "cb02468ec4dfa41b" + ] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "up_press", + "vt": "str" + }, + { + "t": "eq", + "v": "up_hold", + "vt": "str" + } + ], + "checkall": "true", + "repair": false, + "outputs": 2, + "x": 480, + "y": 1500 + }, + { + "id": "cb02468ec4dfa41b", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Brightness increase (smooth)", + "wires": [ + [ + "31da3053abfcc308" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step\":20,\"transition\":0.8}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 830, + "y": 1500 + }, + { + "id": "406db761620bc517", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Brightness decrease (smooth)", + "wires": [ + [ + "31da3053abfcc308" + ] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step\":-20,\"transition\":0.8}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 840, + "y": 1540 + }, + { + "id": "6164ec7d06a81fe4", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Service: turn off", + "wires": [ + [ + "31da3053abfcc308" + ] + ], + "rules": [ + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_off", + "tot": "str" + }, + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"transition\":0.5}", + "tot": "json" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 800, + "y": 1400 + }, + { + "id": "241ddf98acba2579", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Dimmer functionality - HUE", + "wires": [], + "info": "", + "x": 450, + "y": 1460 + }, + { + "id": "79a86fa5f578af3e", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "Brightness check - Down press/hold", + "wires": [ + [ + "406db761620bc517" + ], + [ + "406db761620bc517" + ] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "down_press", + "vt": "str" + }, + { + "t": "eq", + "v": "down_hold", + "vt": "str" + } + ], + "checkall": "true", + "repair": false, + "outputs": 2, + "x": 480, + "y": 1540 + }, + { + "id": "c28fac638bf817b4", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "On hold", + "wires": [ + [ + "f279d0b1fbbf9cb4" + ], + [ + "4538f8e1ad5c1e46" + ] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "on_hold", + "vt": "str" + }, + { + "t": "eq", + "v": "off_hold", + "vt": "str" + } + ], + "checkall": "true", + "repair": false, + "outputs": 2, + "x": 780, + "y": 1260 + }, + { + "id": "c83798ac3a3167eb", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Allow two default modes via switch", + "wires": [], + "info": "", + "x": 860, + "y": 1300 + }, + { + "id": "a04124baa07fa11c", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Hue - Bedroom switch", + "wires": [ + [ + "7013e43814f349ad", + "c28fac638bf817b4", + "36feb055644891c5", + "79a86fa5f578af3e", + "b7747d69d24690b6" + ] + ], + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "sensor.bedroom_switch_action" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": 0, + "forType": "num", + "forUnits": "minutes", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 160, + "y": 1380 + }, + { + "id": "60beffc9468624cd", + "type": "comment", + "z": "97e0f1338e182d76", + "name": "Bedroom Lights on/off switch", + "wires": [], + "info": "", + "x": 180, + "y": 1340 + }, + { + "id": "d2de5c2d59b4614b", + "type": "api-current-state", + "z": "97e0f1338e182d76", + "name": "Scene selector already on time-based scene?", + "wires": [ + [ + "2e7b78de395dc593" + ], + [ + "8b4608485751c75e" + ] + ], + "server": "657c7463.48e1e4", + "version": 3, + "outputs": 2, + "halt_if": "msg.payload", + "halt_if_type": "jsonata", + "halt_if_compare": "is_not", + "entity_id": "input_select.bedroom_scene_selector", + "state_type": "str", + "blockInputOverrides": false, + "outputProperties": [], + "for": "0", + "forType": "num", + "forUnits": "minutes", + "override_topic": false, + "state_location": "payload", + "override_payload": "msg", + "entity_location": "data", + "override_data": "msg", + "x": 1560, + "y": 1020 + }, + { + "id": "01e9aa8d6c3c719e", + "type": "server-state-changed", + "z": "97e0f1338e182d76", + "name": "Hue - Bedroom switch", + "wires": [ + [ + "0d9343f34a28176f", + "2439bd84c7eea05e", + "62dbd855fe3a4b5e" + ] + ], + "d": true, + "server": "657c7463.48e1e4", + "version": 6, + "outputs": 1, + "exposeAsEntityConfig": "", + "entities": { + "entity": [ + "sensor.bedroom_switch_action" + ], + "substring": [], + "regex": [] + }, + "outputInitially": false, + "stateType": "str", + "ifState": "", + "ifStateType": "str", + "ifStateOperator": "is", + "outputOnlyOnStateChange": true, + "for": 0, + "forType": "num", + "forUnits": "minutes", + "ignorePrevStateNull": false, + "ignorePrevStateUnknown": false, + "ignorePrevStateUnavailable": false, + "ignoreCurrentStateUnknown": true, + "ignoreCurrentStateUnavailable": true, + "outputProperties": [ + { + "property": "payload", + "propertyType": "msg", + "value": "", + "valueType": "entityState" + }, + { + "property": "data", + "propertyType": "msg", + "value": "", + "valueType": "eventData" + }, + { + "property": "topic", + "propertyType": "msg", + "value": "", + "valueType": "triggerId" + } + ], + "x": 160, + "y": 1760 + }, + { + "id": "324a5a3309201c2a", + "type": "debug", + "z": "97e0f1338e182d76", + "name": "debug 4", + "wires": [], + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "false", + "statusVal": "", + "statusType": "auto", + "x": 580, + "y": 1660 + }, + { + "id": "2439bd84c7eea05e", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "Brightness check - Up press/hold", + "wires": [ + [ + "c6d79d2f6eb1b78d" + ], + [], + [ + "7b5740dd51a70762" + ], + [] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "up_press", + "vt": "str" + }, + { + "t": "eq", + "v": "up_press_release", + "vt": "str" + }, + { + "t": "eq", + "v": "up_hold", + "vt": "str" + }, + { + "t": "eq", + "v": "up_hold_release", + "vt": "str" + } + ], + "checkall": "true", + "repair": false, + "outputs": 4, + "x": 480, + "y": 1760 + }, + { + "id": "62dbd855fe3a4b5e", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "Brightness check - Down press/hold", + "wires": [ + [ + "f37a1bde2003fc2c" + ], + [], + [ + "af38a9711eabea2e" + ], + [] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "eq", + "v": "down_press", + "vt": "str" + }, + { + "t": "eq", + "v": "down_press_release", + "vt": "str" + }, + { + "t": "eq", + "v": "down_hold", + "vt": "str" + }, + { + "t": "eq", + "v": "down_hold_release", + "vt": "str" + } + ], + "checkall": "true", + "repair": false, + "outputs": 4, + "x": 480, + "y": 1960 + }, + { + "id": "c6d79d2f6eb1b78d", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Brightness increase by 15", + "wires": [ + [] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step_pct\":5}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 930, + "y": 1720 + }, + { + "id": "f37a1bde2003fc2c", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Brightness decrease by 15", + "wires": [ + [] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step_pct\":-5}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 940, + "y": 1940 + }, + { + "id": "0d9343f34a28176f", + "type": "switch", + "z": "97e0f1338e182d76", + "name": "remove empty", + "wires": [ + [ + "324a5a3309201c2a" + ], + [] + ], + "property": "payload", + "propertyType": "msg", + "rules": [ + { + "t": "nempty" + }, + { + "t": "else" + } + ], + "checkall": "true", + "repair": false, + "outputs": 2, + "x": 420, + "y": 1660 + }, + { + "id": "af38a9711eabea2e", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Brightness decrease by 15", + "wires": [ + [] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step_pct\":-5}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 940, + "y": 2040 + }, + { + "id": "7b5740dd51a70762", + "type": "change", + "z": "97e0f1338e182d76", + "name": "Brightness increase by 15", + "wires": [ + [] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step_pct\":5}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 930, + "y": 1800 + }, + { + "id": "7db0a2f13624e217", + "type": "change", + "z": "97e0f1338e182d76", + "name": "STOP", + "wires": [ + [] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step_pct\":5}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 870, + "y": 1840 + }, + { + "id": "c7d84a01ee9ccf1c", + "type": "change", + "z": "97e0f1338e182d76", + "name": "STOP", + "wires": [ + [] + ], + "rules": [ + { + "t": "set", + "p": "payload", + "pt": "msg", + "to": "{\"brightness_step_pct\":5}", + "tot": "json" + }, + { + "t": "set", + "p": "service", + "pt": "msg", + "to": "turn_on", + "tot": "str" + } + ], + "action": "", + "property": "", + "from": "", + "to": "", + "reg": false, + "x": 870, + "y": 2080 + }, + { + "id": "b7747d69d24690b6", + "type": "debug", + "z": "97e0f1338e182d76", + "name": "debug 1", + "wires": [], + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "false", + "statusVal": "", + "statusType": "auto", + "x": 220, + "y": 1500 + }, + { + "id": "p2catch_bed", + "type": "catch", + "z": "97e0f1338e182d76", + "name": "Catch all errors", + "wires": [ + [ + "p2fmt_bed" + ] + ], + "scope": null, + "uncaught": false, + "x": 160, + "y": 2280 + }, + { + "id": "p2fmt_bed", + "type": "function", + "z": "97e0f1338e182d76", + "name": "Format error", + "wires": [ + [ + "p2ntfy_bed" + ] + ], + "func": "const err = (msg.error && msg.error.message) ? msg.error.message : String(msg.payload || 'Unknown error');\nconst src = (msg.error && msg.error.source) ? (msg.error.source.name || msg.error.source.id || '') : '';\nmsg.payload = JSON.stringify({\n title: 'Node-RED Error: Bedroom',\n message: err + (src ? '\\n\\nNode: ' + src : '')\n});\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "timeout": "", + "x": 400, + "y": 2280 + }, + { + "id": "p2ntfy_bed", + "type": "api-call-service", + "z": "97e0f1338e182d76", + "name": "Notify error", + "wires": [ + [] + ], + "server": "657c7463.48e1e4", + "version": 7, + "debugenabled": false, + "action": "notify.gotify_ha", + "floorId": [], + "areaId": [], + "deviceId": [], + "entityId": [], + "labelId": [], + "data": "{{{payload}}}", + "dataType": "json", + "mergeContext": "", + "mustacheAltTags": false, + "outputProperties": [], + "queue": "none", + "blockInputOverrides": false, + "domain": "notify", + "service": "gotify_ha", + "output_location": "", + "output_location_type": "none", + "x": 660, + "y": 2280 } ] \ No newline at end of file