State detectors don't fire on startup
Consider the following situation
a binary meta point returns true if the time is between 7 AM and 5 PM
a state exists on detector on the binary meta point. the condition is state is 1 for 0 seconds.
a scheduled event is triggered every hour
a compound event is created to combine the two conditions: it is between 7AM and 5PM and the scheduled event is triggered.
If mango is restarted between 7AM and 5PM the compound event doesn't fire every hour because the state detector isn't triggered except when the point value is updated (i think).
Do you think the state detectors should fire on mango startup as well?
For this particular problem I have worked around by creating a cron-scheduled event but I have other scenarios where the compound event isn't based upon only time dependent events and these compound events do not fire when the condition should be true.
Many PEDs already do this, but it seems to have been left out of a few. Note that in cases like the state change counter the chosen logging type can affect create false positives or negatives on startup (since the information required may not be available), so there are specific gaps. If you depend upon PEDs for operation it is best to prevent system downtime. That said, i've changed the code to detect conditions on startup.
this seemed like one of those problems where there is a lot more to it than appears on first glance, so I asked before diving in.