Or using a change node, Jsonata and a delay.
You set the trigger hour in the inject node ( 1 for 1 am, 2 for 2am, etc) But simpler using cronplus as it is all done for you
[{"id":"600b537a.9dcba4","type":"inject","z":"8d22ae29.7df6d","name":"","props":[{"p":"starthour","v":"19","vt":"num"},{"p":"local","v":"Europe/London","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":90,"y":1000,"wires":[["80994d6c.5601d"]]},{"id":"80994d6c.5601d","type":"change","z":"8d22ae29.7df6d","name":"","rules":[{"t":"set","p":"delay","pt":"msg","to":"($local := local;\t$starttime := starthour * 3600000;\t$timegap := $toMillis(\"1970-01-01T\" & $moment().tz($local).format('HH:mm:ss') & \"Z\");\t $timegap <= $starttime ? ($starttime - $timegap) : (86400000 + $starttime - $timegap);\t \t \t )\t\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":1000,"wires":[["ca18810d.3ed83","b76ea11.89af86"]]},{"id":"b76ea11.89af86","type":"delay","z":"8d22ae29.7df6d","name":"","pauseType":"delayv","timeout":"5","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":440,"y":1000,"wires":[["ba123fb5.f3788","ca18810d.3ed83"]]},{"id":"ba123fb5.f3788","type":"trigger","z":"8d22ae29.7df6d","name":"","op1":"1","op2":"1","op1type":"str","op2type":"str","duration":"6","extend":false,"units":"hr","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":600,"y":1000,"wires":[[]]}]