Can be done with scenes.
mqtt_scene.yaml:
#Home
- name: Home Scene
command_topic: "custom/scene/nodered/home/set"
payload_on: "ON"
#Away
- name: Away Scene
command_topic: "custom/scene/nodered/away/set"
payload_on: "ON"
#Morning
- name: Morning Scene
command_topic: "custom/scene/nodered/morning/set"
payload_on: "ON"
#Evening
- name: Evening Scene
command_topic: "custom/scene/nodered/evening/set"
payload_on: "ON"
#Night
- name: Night Scene
command_topic: "custom/scene/nodered/night/set"
payload_on: "ON"
#Sleeping
- name: Sleeping Scene
command_topic: "custom/scene/nodered/sleeping/set"
payload_on: "ON"
Incomplete nodered flow (It does not have to be in the same flow but you atleast see the idea):
[{"id":"44198cb83c8bde03","type":"tab","label":"Borte-Hjemme","disabled":false,"info":"","env":[]},{"id":"4ab7c27cf4f9eddb","type":"inject","z":"44198cb83c8bde03","name":"06:20 mon - sun","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"20 06 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":310,"y":520,"wires":[["dfdcfacef16b3297"]]},{"id":"8f45a02eb5b9ae48","type":"function","z":"44198cb83c8bde03","name":"200.25 Spot sofa","func":"msg.target = \"200.25\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 10\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1050,"y":420,"wires":[["d1d216854d92079d","a73a23787c2742e2","c8763163453648e5"]]},{"id":"d1d216854d92079d","type":"hdl-raw-out","z":"44198cb83c8bde03","controller":"6e986e87.b7a2a","name":"","x":1390,"y":620,"wires":[]},{"id":"199a5f630c746faf","type":"function","z":"44198cb83c8bde03","name":"200.25 Spot sofa","func":"msg.target = \"200.25\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 0\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1050,"y":780,"wires":[["d1d216854d92079d","a73a23787c2742e2","661e5fc7a4718dd8"]]},{"id":"77e661d5e485bac4","type":"comment","z":"44198cb83c8bde03","name":"Lights on","info":"","x":120,"y":520,"wires":[]},{"id":"b0472a65b301eda1","type":"hdl-channel-get","z":"44198cb83c8bde03","controller":"6e986e87.b7a2a","address":"200.0","channel":"1","name":"","x":1740,"y":140,"wires":[["f5ecef252cd6ac6b"]]},{"id":"a73a23787c2742e2","type":"delay","z":"44198cb83c8bde03","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":1460,"y":140,"wires":[["ab7cef9f682eb45e"]]},{"id":"ab7cef9f682eb45e","type":"function","z":"44198cb83c8bde03","name":"check","func":"// Save target value to msg.targetlevel as \n// msg.payload.level will be changed in the \"hdl ch get node\".\nmsg.targetlevel = msg.payload.level\n\n//Change the adress so that the \"hdl ch get node\" \n//knows what adress to check\nmsg.payload.address = msg.target \n\n//Return\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1590,"y":140,"wires":[["b0472a65b301eda1"]]},{"id":"215339a29c88c717","type":"comment","z":"44198cb83c8bde03","name":"Check if answerback recived or resend command","info":"","x":1460,"y":80,"wires":[]},{"id":"f5ecef252cd6ac6b","type":"switch","z":"44198cb83c8bde03","name":"Done?","property":"payload.level","propertyType":"msg","rules":[{"t":"neq","v":"targetlevel","vt":"msg"}],"checkall":"false","repair":false,"outputs":1,"x":1890,"y":140,"wires":[["10e4290e7bf5627c"]]},{"id":"10e4290e7bf5627c","type":"function","z":"44198cb83c8bde03","name":"rebuild","func":"//Change the new level target for new attempt \n//if the values did not match\nmsg.payload.level = msg.targetlevel\n//Return\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2030,"y":140,"wires":[["d1d216854d92079d","c9b08b9a8103c97a"]]},{"id":"5d9c7c0e4dd72b31","type":"hdl-channel-get","z":"44198cb83c8bde03","controller":"6e986e87.b7a2a","address":"200.0","channel":"1","name":"","x":1740,"y":200,"wires":[["fed8a311449fbee4"]]},{"id":"c9b08b9a8103c97a","type":"delay","z":"44198cb83c8bde03","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":1460,"y":200,"wires":[["f9a96f5656da1e25"]]},{"id":"f9a96f5656da1e25","type":"function","z":"44198cb83c8bde03","name":"check","func":"// Save target value to msg.targetlevel as \n// msg.payload.level will be changed in the \"hdl ch get node\".\nmsg.targetlevel = msg.payload.level\n\n//Change the adress so that the \"hdl ch get node\" \n//knows what adress to check\nmsg.payload.address = msg.target \n\n//Return\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1590,"y":200,"wires":[["5d9c7c0e4dd72b31"]]},{"id":"fed8a311449fbee4","type":"switch","z":"44198cb83c8bde03","name":"Done?","property":"payload.level","propertyType":"msg","rules":[{"t":"neq","v":"targetlevel","vt":"msg"}],"checkall":"false","repair":false,"outputs":1,"x":1890,"y":200,"wires":[["5d0d1023be7d3340"]]},{"id":"5d0d1023be7d3340","type":"function","z":"44198cb83c8bde03","name":"rebuild","func":"//Change the new level target for new attempt \n//if the values did not match\nmsg.payload.level = msg.targetlevel\n//Return\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2030,"y":200,"wires":[["d1d216854d92079d"]]},{"id":"737194c1b87a6f14","type":"function","z":"44198cb83c8bde03","name":"200.29 Spot Kjøkken","func":"msg.target = \"200.29\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 20\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1060,"y":540,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"0db21a0861dd6d99","type":"function","z":"44198cb83c8bde03","name":"200.27 Lamper gang oppe","func":"msg.target = \"200.27\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 20\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1080,"y":500,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"44829e50a57c3969","type":"function","z":"44198cb83c8bde03","name":"200.26 Spot Spisebord","func":"msg.target = \"200.26\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 10\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1060,"y":460,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"f37b374a440c2c2b","type":"function","z":"44198cb83c8bde03","name":"200.29 Spot Kjøkken","func":"msg.target = \"200.29\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 0\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1060,"y":900,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"5c966a0d5bba7a51","type":"function","z":"44198cb83c8bde03","name":"200.27 Lamper gang oppe","func":"msg.target = \"200.27\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 0\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1080,"y":860,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"85f4520c8d98ee2f","type":"function","z":"44198cb83c8bde03","name":"200.26 Sofa Spisebord","func":"msg.target = \"200.26\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 0\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1060,"y":820,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"1b6802e929c3b30b","type":"comment","z":"44198cb83c8bde03","name":"Sjekk om det er noen hjemme","info":"","x":180,"y":620,"wires":[]},{"id":"b9ba01d9e2f03820","type":"server-state-changed","z":"44198cb83c8bde03","name":"Det er noen hjemme!","server":"704bb71b774e2b32","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"group.familie","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":680,"y":620,"wires":[["8f45a02eb5b9ae48","737194c1b87a6f14","0db21a0861dd6d99","44829e50a57c3969","ae6b11eea5ca9d9e","7421d91705ff97cd","9b72937315a49ae8","f1fb16ced6db13db"],["199a5f630c746faf","f37b374a440c2c2b","5c966a0d5bba7a51","85f4520c8d98ee2f","39d9bbd3f35e149b","134f8f8076de01f8","b0766310ae240721","e44c2774ecddde95","4fe425ddd79a2af6","2454b9329b18558f"]]},{"id":"ae6b11eea5ca9d9e","type":"function","z":"44198cb83c8bde03","name":"200.22 Spot Hall","func":"msg.target = \"200.22\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 10\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1050,"y":380,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"7421d91705ff97cd","type":"function","z":"44198cb83c8bde03","name":"200.13 Spot kjellerstue","func":"msg.target = \"200.13\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 15\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1060,"y":340,"wires":[["a73a23787c2742e2","d1d216854d92079d"]]},{"id":"39d9bbd3f35e149b","type":"function","z":"44198cb83c8bde03","name":"200.22 Spot Hall","func":"msg.target = \"200.22\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 0\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1050,"y":740,"wires":[["d1d216854d92079d","a73a23787c2742e2"]]},{"id":"134f8f8076de01f8","type":"function","z":"44198cb83c8bde03","name":"200.13 Spot kjellerstue","func":"msg.target = \"200.13\"\nmsg.code = 49,\nmsg.payload = {\n channel: 1,\n level: 0\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1060,"y":700,"wires":[["d1d216854d92079d","a73a23787c2742e2"]]},{"id":"c8763163453648e5","type":"debug","z":"44198cb83c8bde03","name":"Lys på","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1370,"y":520,"wires":[]},{"id":"4fe425ddd79a2af6","type":"api-current-state","z":"44198cb83c8bde03","name":"Elias rom = Spiller","server":"4013ef885bb9cf6f","version":3,"outputs":2,"halt_if":"playing","halt_if_type":"str","halt_if_compare":"is","entity_id":"media_player.elias_rom","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","x":1050,"y":1060,"wires":[["77113f3b77a9a75a"],[]]},{"id":"77113f3b77a9a75a","type":"api-call-service","z":"44198cb83c8bde03","name":"Pause Elias rom","server":"4013ef885bb9cf6f","version":5,"debugenabled":false,"domain":"media_player","service":"media_pause","areaId":[],"deviceId":[],"entityId":["media_player.elias_rom"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","output_location":"","output_location_type":"none","x":1260,"y":1060,"wires":[[]]},{"id":"2454b9329b18558f","type":"api-current-state","z":"44198cb83c8bde03","name":"Stue = Spiller","server":"4013ef885bb9cf6f","version":3,"outputs":2,"halt_if":"playing","halt_if_type":"str","halt_if_compare":"is","entity_id":"media_player.stue","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","x":1040,"y":1120,"wires":[["6c40ff94df4a042c"],[]]},{"id":"6c40ff94df4a042c","type":"api-call-service","z":"44198cb83c8bde03","name":"Pause Stue","server":"4013ef885bb9cf6f","version":5,"debugenabled":false,"domain":"media_player","service":"media_pause","areaId":[],"deviceId":[],"entityId":["media_player.stue"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","output_location":"","output_location_type":"none","x":1250,"y":1120,"wires":[[]]},{"id":"9b72937315a49ae8","type":"api-call-service","z":"44198cb83c8bde03","name":"Mill ovn","server":"704bb71b774e2b32","version":5,"debugenabled":false,"domain":"climate","service":"set_temperature","areaId":[],"deviceId":[],"entityId":["climate.mill_panel"],"data":"{\"temperature\":\"20\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":280,"wires":[[]]},{"id":"b0766310ae240721","type":"api-call-service","z":"44198cb83c8bde03","name":"Mill ovn","server":"704bb71b774e2b32","version":5,"debugenabled":false,"domain":"climate","service":"set_temperature","areaId":[],"deviceId":[],"entityId":["climate.mill_panel"],"data":"{\"temperature\":\"18\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":940,"wires":[[]]},{"id":"f1fb16ced6db13db","type":"api-call-service","z":"44198cb83c8bde03","name":"Varmepumpe","server":"704bb71b774e2b32","version":5,"debugenabled":false,"domain":"climate","service":"set_temperature","areaId":[],"deviceId":[],"entityId":["climate.harald_s_device"],"data":"{\"temperature\":\"22\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1030,"y":220,"wires":[[]]},{"id":"e44c2774ecddde95","type":"api-call-service","z":"44198cb83c8bde03","name":"Varmepumpe","server":"704bb71b774e2b32","version":5,"debugenabled":false,"domain":"climate","service":"set_temperature","areaId":[],"deviceId":[],"entityId":["climate.harald_s_device"],"data":"{\"temperature\":\"18\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1030,"y":1000,"wires":[[]]},{"id":"dfdcfacef16b3297","type":"api-current-state","z":"44198cb83c8bde03","name":"Det er noen hjemme!","server":"4013ef885bb9cf6f","version":3,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","entity_id":"group.familie","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","x":680,"y":520,"wires":[[],["8f45a02eb5b9ae48","ae6b11eea5ca9d9e","7421d91705ff97cd","9b72937315a49ae8","f1fb16ced6db13db","44829e50a57c3969","0db21a0861dd6d99","737194c1b87a6f14"]]},{"id":"b58dc2293e2f2dc9","type":"inject","z":"44198cb83c8bde03","name":"06:20 mon - sun","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"20 06 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":310,"y":720,"wires":[["2726ed199cbbb6ae"]]},{"id":"2726ed199cbbb6ae","type":"api-current-state","z":"44198cb83c8bde03","name":"Det er noen hjemme!","server":"4013ef885bb9cf6f","version":3,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","entity_id":"group.familie","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","x":680,"y":720,"wires":[[],["134f8f8076de01f8","39d9bbd3f35e149b","199a5f630c746faf","85f4520c8d98ee2f","5c966a0d5bba7a51","f37b374a440c2c2b","b0766310ae240721","e44c2774ecddde95","4fe425ddd79a2af6","2454b9329b18558f"]]},{"id":"52e6a27d9e13149e","type":"comment","z":"44198cb83c8bde03","name":"Lights off","info":"","x":120,"y":720,"wires":[]},{"id":"661e5fc7a4718dd8","type":"debug","z":"44198cb83c8bde03","name":"Lys av","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1370,"y":700,"wires":[]},{"id":"3d90bc0407d93418","type":"mqtt in","z":"44198cb83c8bde03","name":"From HA","topic":"custom/scene/nodered/+/set","qos":"0","datatype":"auto","broker":"d110fe62.0ec2","nl":false,"rap":false,"inputs":0,"x":240,"y":400,"wires":[["0aabe9f01739db0c"]]},{"id":"0aabe9f01739db0c","type":"switch","z":"44198cb83c8bde03","name":"","property":"topic","propertyType":"msg","rules":[{"t":"cont","v":"custom/scene/nodered/home/set","vt":"str"},{"t":"cont","v":"custom/scene/nodered/away/set","vt":"str"},{"t":"cont","v":"custom/scene/nodered/morning/set","vt":"str"},{"t":"cont","v":"custom/scene/nodered/evening/set","vt":"str"},{"t":"cont","v":"custom/scene/nodered/night/set","vt":"str"},{"t":"cont","v":"custom/scene/nodered/sleeping/set","vt":"str"}],"checkall":"false","repair":false,"outputs":6,"x":370,"y":400,"wires":[["dfdcfacef16b3297"],["2726ed199cbbb6ae"],[],[],[],["199a5f630c746faf"]]},{"id":"a4de310661b6bfd5","type":"comment","z":"44198cb83c8bde03","name":"Scenes","info":"","x":110,"y":400,"wires":[]},{"id":"6e986e87.b7a2a","type":"hdl-controller","host":"192.168.10.250","port":"6000","subnetid":"1","deviceid":"98","broadcast":false,"daliId":"97"},{"id":"704bb71b774e2b32","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m"},{"id":"4013ef885bb9cf6f","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"d110fe62.0ec2","type":"mqtt-broker","name":"hassio.local","broker":"localhost","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]
Grid card:
square: true
columns: 3
type: grid
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: scene.home_scene
icon: mdi:home-account
name: Home
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: scene.away_scene
icon: mdi:home
name: Away
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: scene.morning_scene
icon: mdi:lightbulb-outline
show_state: false
name: Morning
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: scene.evening_scene
icon: mdi:ceiling-light
name: Evening
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: scene.night_scene
icon: mdi:weather-night
name: Night
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
entity: scene.sleeping_scene
icon: mdi:sleep
name: Sleep