A few quick notes:
a) New openHAB rules, never executed since openHAB started, take longer
There’s a pseudo-compile step that occurs on the first time a rule is executed, and this drags out the execution time for the first invocation.
And by drag out, I mean it can be 2-30 seconds “extra” for that first-time execution just after you wrote/published it. More typically it’s ~2seconds
I’m going to see if there’s a way to force-compile (“warm up”) the openHAB Rules so we don’t have to pay the price on the first execution.
b) A Scene running no MiOS “sendCommand” calls takes about 20-40ms to execute.
I have a number of scenes that conditionally execute their MiOS code. When they’re not calling out to MiOS, these scenes do date-time tests (for Night), [Debug] logging and some limited timing/conditionals.
These take 20-40ms per call (timed from inside the routine), and are being used for stuff like turning lights on when motion is detected.
I have timing hooks permanently in each of my Rules.
c) Delay from MiOS publishing in the HTTP Stream is about 10ms
and often less… The one major exemption to this is the nightly Heal operation that MiOS does, where they have an egregious Bug that floods ANY UI-Simple/Control-Point/UI device connected to them at that time.
I don’t scene stuff often at that time, so I have no idea what impact it has, but it can’t be healthy to do that on such a resource-limited system (Vera3), and I’m sure it accounts for why there are often more than one restart/reboot at that time.
I still have some tuning work to do, mostly related to when a lot of Commands are send FROM the openHAB system TO to the MiOS System. That said, once my MiOS system is reduced to only performing Z-Wave operations it’s going to get serialized on Z-Wave communications anyhow.
NB: All timing data relative to my openHAB deployment on an Odroid C1 with 1G RAM and a PNY SD Card. Network connection between Vera3 and openHAB is Netgear switched Gigabit Ethernet (two switches between)