Here is a little history.
Unfortunately I have well too many cases when RM rule fails to complete. Usually failing RM rule has a re-triggering protection by using PB set to FALSE at the very beginning and TRUE at the very end with Required Expression PB = TRUE. All these rules are randomly failing at a point when rule has a "Wait for the Expression". Nature of a failure is - Expression becomes TRUE but rule did not advance beyond this point. I reported this case multiple times but usually I was not able to provide all the required info such as all logs for rule itself, rule subscription(s) status, logs for the all involved devices, etc ... Always something was missing and because failure is very random it is/was impossible to collect all that info.
As of now I gave up to fight with this phenomena.
Instead I am thinking about separating tasks by using multiple hubs. Ideally it will be nice to have
a single hub with true task separation. I am talking about true dedicated complete processing units for a different tasks such as:
- Dedicated processing for all Zwave Communications
(this is already a case, there is a dedicated ZWave sub-proccesor); - Dedicated processing all Zigbee Communications
(this is already a case, there is a dedicated Zigbee sub-proccesor); - Dedicated LAN/Matter processing
(I am not using Matter but have a C7 hub dedicated for almost all LAN integrations); - Dedicated Event application processing unit
(again now this is a part of this multi-core/multi-tasking/multi-threading SW implementation);
Because current HW does not have a dedicated Event Processor and Application Processor I am seriously thinking about using separate hubs for these tasks.
My BIG question is:
If I will use say, one hub for handling only Zwave (and/or Zigbee, and/or LAN) communication and one dedicated hub for applications only (all hubs are interconnected with hub mesh) where all Event Processing will be done?
If all Event Processing will be done say, for ZWave on the dedicated ZWave hub, etc. this should be a big help in terms of splitting tasks between multiple CPUs. However all this mess with a HW will not improve anything if Event Processing will be done on the Application hub.