'delay notifications' plus 'timeperiods'

The show-stopper is very easy to describe. Delay notifications are bound to the object and cannot changed during the runtime of your core.

But the question from december 2019 can be answered.

Configured are recurring notification for your device something like 5 minutes or longer.
Inside the notification system configure your default rule that it only processes the first notification.

For the system with the delayed notification make a rule to cancel all notifications at night time and create a rule after this cancel message that you want a notification but only if your reach the recurring notification counter of 2, 5 or 10. This depends on your needs.

With the rule based notification you can build very complex rule systems for every need out there.