Have you seen Time Based State Machine [3.2.0;3.4.9] or Time Based State Machine [4.0.0.0;4.9.9.9] if on OH 4? You don’t need to write the logic for this nor do you necessarily need all these Items and such. This provides a rule that will drive a time based state machine that allows you to set up different start times for each state given a type of day (weekend, holiday, custom day type, etc). Sounds like exactly what you are trying to do.
If that’s more than you are after, there is a Time is <Item>
rule trigger that will trigger the rule at the date time or just the time ignoring the date.
If you are stuck on sitemaps, you’ll have to wait for OH 4 which has a new input element that lets you input arbitrary text.
On MainUI (any version) you can use a Date Time or just a Time picker.
And here’s your XY Problem. I’m going to guess that you are running openHABian with the default zram configuration. The way zram works is all the changes you make to OH configs, persistence, logs, etc. only exist in RAM. It’s not until zramd is normally shutdown that all the contents of that zram volume are written to the SD card. Consequently, if you pull the plug, any changes made since the last startup, including to MapDB, are lost.
So you can disable zram, though then you need to watch out for SD card wea-out and you increase the likelihood that the file system will become corrupted on loss of power or you need to take actions to make sure that power loss is a rare event and come up with recovery procedures.
What makes this an XY Problem is non of the above involves messing with cron expressions.