Whipped up a quick demo to do what I think you are asking for without having to use storage. This demo uses the suncron node and the chronos nodes.
[
{
"id": "448f03ec49eedfa7",
"type": "tab",
"label": "suncron",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b209249d1cfee1b7",
"type": "suncron",
"z": "448f03ec49eedfa7",
"name": "",
"lat": "50",
"lon": "-116",
"replay": false,
"ejectScheduleOnUpdate": false,
"sunrisePayload": "1",
"sunrisePayloadType": "num",
"sunriseTopic": "sunrise",
"sunriseOffsetType": 1,
"sunriseOffsetHours": 0,
"sunriseOffsetMinutes": 0,
"sunriseOffset": 0,
"sunriseEndPayload": "",
"sunriseEndPayloadType": "str",
"sunriseEndTopic": "",
"sunriseEndOffsetType": 1,
"sunriseEndOffsetHours": 0,
"sunriseEndOffsetMinutes": 0,
"sunriseEndOffset": 0,
"goldenHourEndPayload": "",
"goldenHourEndPayloadType": "str",
"goldenHourEndTopic": "",
"goldenHourEndOffsetType": 1,
"goldenHourEndOffsetHours": 0,
"goldenHourEndOffsetMinutes": 0,
"goldenHourEndOffset": 0,
"solarNoonPayload": "",
"solarNoonPayloadType": "str",
"solarNoonTopic": "",
"solarNoonOffsetType": 1,
"solarNoonOffsetHours": 0,
"solarNoonOffsetMinutes": 0,
"solarNoonOffset": 0,
"goldenHourPayload": "",
"goldenHourPayloadType": "str",
"goldenHourTopic": "",
"goldenHourOffsetType": 1,
"goldenHourOffsetHours": 0,
"goldenHourOffsetMinutes": 0,
"goldenHourOffset": 0,
"sunsetStartPayload": "1",
"sunsetStartPayloadType": "num",
"sunsetStartTopic": "sunset",
"sunsetStartOffsetType": 1,
"sunsetStartOffsetHours": 0,
"sunsetStartOffsetMinutes": 0,
"sunsetStartOffset": 0,
"sunsetPayload": "",
"sunsetPayloadType": "str",
"sunsetTopic": "",
"sunsetOffsetType": 1,
"sunsetOffsetHours": 0,
"sunsetOffsetMinutes": 0,
"sunsetOffset": 0,
"duskPayload": "",
"duskPayloadType": "str",
"duskTopic": "",
"duskOffsetType": 1,
"duskOffsetHours": 0,
"duskOffsetMinutes": 0,
"duskOffset": 0,
"nauticalDuskPayload": "",
"nauticalDuskPayloadType": "str",
"nauticalDuskTopic": "",
"nauticalDuskOffsetType": 1,
"nauticalDuskOffsetHours": 0,
"nauticalDuskOffsetMinutes": 0,
"nauticalDuskOffset": 0,
"nightPayload": "",
"nightPayloadType": "str",
"nightTopic": "",
"nightOffsetType": 1,
"nightOffsetHours": 0,
"nightOffsetMinutes": 0,
"nightOffset": 0,
"nadirPayload": "",
"nadirPayloadType": "str",
"nadirTopic": "",
"nadirOffsetType": 1,
"nadirOffsetHours": 0,
"nadirOffsetMinutes": 0,
"nadirOffset": 0,
"nightEndPayload": "",
"nightEndPayloadType": "str",
"nightEndTopic": "",
"nightEndOffsetType": 1,
"nightEndOffsetHours": 0,
"nightEndOffsetMinutes": 0,
"nightEndOffset": 0,
"nauticalDawnPayload": "",
"nauticalDawnPayloadType": "str",
"nauticalDawnTopic": "",
"nauticalDawnOffsetType": 1,
"nauticalDawnOffsetHours": 0,
"nauticalDawnOffsetMinutes": 0,
"nauticalDawnOffset": 0,
"dawnPayload": "",
"dawnPayloadType": "str",
"dawnTopic": "",
"dawnOffsetType": 1,
"dawnOffsetHours": 0,
"dawnOffsetMinutes": 0,
"dawnOffset": 0,
"x": 540,
"y": 160,
"wires": [
[
"e65c37d6f16fb0dc"
]
]
},
{
"id": "f653de6c81a7a90b",
"type": "debug",
"z": "448f03ec49eedfa7",
"name": "status",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": true,
"complete": "true",
"targetType": "full",
"statusVal": "payload",
"statusType": "auto",
"x": 970,
"y": 160,
"wires": []
},
{
"id": "d6b5075bcf91a717",
"type": "inject",
"z": "448f03ec49eedfa7",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": "5",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 290,
"y": 160,
"wires": [
[
"b209249d1cfee1b7"
]
]
},
{
"id": "e65c37d6f16fb0dc",
"type": "chronos-repeat",
"z": "448f03ec49eedfa7",
"name": "",
"config": "cb5e40b5086eeeaf",
"mode": "simple",
"interval": 1,
"intervalUnit": "minutes",
"crontab": "",
"expression": "",
"untilType": "nextMsg",
"untilValue": "",
"untilDate": "",
"untilOffset": 0,
"untilRandom": false,
"msgIngress": "forward",
"preserveCtrlProps": false,
"ignoreCtrlProps": false,
"x": 750,
"y": 160,
"wires": [
[
"f653de6c81a7a90b"
]
]
},
{
"id": "cb5e40b5086eeeaf",
"type": "chronos-config",
"name": "",
"timezone": "",
"sunPositions": []
}
]
what happens is suncron calcs sunset and sunrise and outputs a msg. The chronos node then repeats the output each minute. So if you lose power the suncron will output a msg then that gets repeated every minute.
Forgot to check the box resend on restart in the suncron node