Can anyone explain how the macros interact with each other?
Every setup is different. I can't explain your setup. But if you created the macros [and the series of events they are to cause] comparing that information with the AHP's log should give you a good idea.
My bad! I wasn't seeking an explanation of why my particular macros interact with each other, but rather in general terms how newly-triggered macros interact with already-running macros.
I agree with all of your comments and assessments, and I will add the following:
I'm wondering what can be done to avoid or compensate for signal collisions, because they are almost guaranteed to occur in any sort of real world situation like this. I was assuming that the X10 devices and the software would handle at least some of this "recovery" effort, but...
(By the way, I use the floodlight motion sensors, which are wired types and issue only PLC, not RF. If I was trying to use the XxxxEye RF motion sensors here, the problem would be multiplied - because those RF sensors issue an ON command every time motion is (re-)detected, where the floodlight sensors issue their ON commands only once per "instance", and thus trigger their response macros only once per "session". On the other hand, the RF sensors would cause a flurry of ON triggers until all motion stopped, thus trying to re-trigger their response macros many times per motion).
One of the biggest difficulties that I've found in regards to positioning motion sensors and cameras is that the motion sensors have a wide field of view while the cameras have a considerably narrower field of view. This is part of the reason why I have so many cameras to deal with). It also creates logic issues when trying to figure out how to match the proper camera to any given motion trigger - as you said. In fact, this was one reason for using SmartMacros to manage the system: It should allow flexibility in controlling the cameras without having to do as much physical relocation as would be needed if the experimentation was done only with the hardware devices.
I agree wholeheartedly that shorter macros are better - especially considering that they take a substantial time to execute. Unfortunately, all the things that need to happen in response to a motion trigger (especially at night) in order to workaround various problems with camera control (which is another whole issue), means that the macros here typically need to be 15-20 steps long, taking at least that many seconds to execute completely (not counting any delays that may be needed). This extended execution time increases the likelihood that some other macro will get triggered while one is still executing.
But, getting back to the original question of how newly-triggered macros affect and interact with already-running macros, you mentioned using the AHP log to assess the behavior. This has been problematic to say the least, because there is often no apparent correlation between the macros that seem to be involved and that actual commands that appear in the log; it often appears that the commands of two macros are intermingled at best, but worse, there are many cases where some commands never even appear in the log (possibly due to collisions, as you noted), while the most perplexing thing is to find extraneous commands appearing here and there, that can't be attributed to any macro that should have been running at the time. This makes looking at the logs even more confusing that simply trying to account for the actual observed behavior of the cameras and things. If collisions can account for all this, then clearly I need to find out how to avoid or compensate for these collisions in order to get any sort of desired behavior to occur. But, based on what I've seen in the logs, it appears that the execution of the macros themselves is being affected when a new macro gets triggered while another macro is already running, but in rather inconsistent ways (so I'm not really sure what's going on). That's why I'm trying to determine what the expected interactions
should be, and then maybe I can make some sense of what I'm seeing in the logs, within that context. Meanwhile, it's total gibberish.