... it's also now wrong ;)
Yes, because we have success thanks to the original idea that started this thread!
I've managed to use a virtual output that's basically feeback into the Miniserver that sends addMood & removeMood messages to lighting controller block. As you might expect this allows you to mix in and out any number of moods from any control source. It's like having infinite inputs into the Lighting Controller. At last - bliss! :)
I have driven these messages via SR flip-flops but you could use whatever logic you want. There is zero noticeable lag when using a physical switch and this feedback which is great.
For reference, here's what I did to make this work:
Put this in the address of a virtual output:
Using the correct user/pass and IP address of your miniserver (I created an API user specifically for this).
Then, find the ID of the Lighting Controller you want to send messages to (easiest way is to just look at that controller in the web interface and the ID is in the URL). It's something like 0f20f047-026b-2c81-fffff62eeb38b63d - going out on a limb here to guess it's not a security issue to share mine with everyone ;)
To mix a mood in/out construct a virtual output command of the form:
Command for ON: /dev/sps/io/0f20f047-026b-2c81-fffff62eeb38b63d/addMood/2
Command for OFF: /dev/sps/io/0f20f047-026b-2c81-fffff62eeb38b63d/removeMood/2
'2' being the mood to mix in/out in this case - use any mood number you like.
You can use 'changeTo' which switches to a desired mood instead of mixing with 'addMood' & 'removeMood'. I didn't use this, but it should work if you want that kind of thing.
Hope someone else could find this useful, it's finally got the lights in our open plan room working as I want with a single light controller and only a bit of extra logic to merge moods as I want.
Cheers,
Robin