Node-red automation help in translating logic

Hi, still learning node-red. I have worked out the logic i need for automation however i am not able to translate to node-red workflow, any help or advice appreciated

I have an off grid system and want to turn my hot water on/off at specific time and condition throughout the day

Logic
time between 5 am and 5:30 turn hw on
time between 5:50 and 11 am turn hw off
time between 11 am and 3pm and if consumption power <3kw turn hw on
time between 11 am and 3pm and if consumption power >3kw turn hw off
time between 3pm and 5 am turn hw off

so far i have come up with below, dont know how to go further

[{"id":"093896c3acfaddc8","type":"inject","z":"120358abd7c22d30","name":"5am on","props":[{"p":"payload"}],"repeat":"","crontab":"00 05 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"{\"service\": \"turn_on\"}","payloadType":"json","x":1260,"y":4720,"wires":[["9da34752530045a8"]]},{"id":"b0b5e68285e8bb7b","type":"inject","z":"120358abd7c22d30","name":"5:50am off","props":[{"p":"payload"}],"repeat":"","crontab":"50 05 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"{\"service\": \"turn_off\"}","payloadType":"json","x":1266,"y":4768,"wires":[["9da34752530045a8"]]},{"id":"2a5e2f64c51db409","type":"inject","z":"120358abd7c22d30","name":"3 pm off","props":[{"p":"payload"}],"repeat":"","crontab":"00 13 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"{\"service\": \"turn_off\"}","payloadType":"json","x":1260,"y":4816,"wires":[["9da34752530045a8"]]},{"id":"9da34752530045a8","type":"api-call-service","z":"120358abd7c22d30","name":"water heater","server":"","version":5,"debugenabled":false,"domain":"switch","service":"","areaId":[],"deviceId":[],"entityId":["switch.water_heater"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1450,"y":4720,"wires":[[]]},{"id":"b2bf43b31ccf2ca6","type":"server-state-changed","z":"120358abd7c22d30","name":"power consumption","server":"","version":5,"outputs":1,"exposeAsEntityConfig":"","entityId":"sensor.power","entityIdType":"exact","outputInitially":false,"stateType":"str","ifState":"","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":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"}],"x":1270,"y":4864,"wires":[["48321ec2b62ee417"]]},{"id":"179ce2c3c5dfce02","type":"switch","z":"120358abd7c22d30","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lte","v":"3","vt":"num"},{"t":"gt","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":1618,"y":4864,"wires":[["301650db886027f0"],["9889f20bf57baebb"]]},{"id":"48321ec2b62ee417","type":"time-range-switch","z":"120358abd7c22d30","name":"11 am - 3 pm","lat":"","lon":"","startTime":"11:00","endTime":"15:00","startOffset":0,"endOffset":0,"x":1458,"y":4864,"wires":[["179ce2c3c5dfce02"],[]]},{"id":"301650db886027f0","type":"change","z":"120358abd7c22d30","name":"turn on","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"service\": \"turn_on\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1756,"y":4864,"wires":[["9da34752530045a8"]]},{"id":"9889f20bf57baebb","type":"change","z":"120358abd7c22d30","name":"turn off","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"service\": \"turn_off\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1756,"y":4912,"wires":[["9da34752530045a8"]]}]

Thanks @Kermit for your help Testing now, seems working so far. thanks again.