A couple of observations from my test system: If I send 255 commands immediately after each other: [code]ON /254/56/0 ON /254/56/1 ... ON /254/56/254[/code].. then C-Gate returns pretty fast (well under a second), although the actual process of turning the lights on will continue for about 10s. (I can control this with the speed-write parameter, I assume, but haven't tested that.) If, while the ON's are happening, I query the status of the groups with [code]GET /254/56/0 level GET /254/56/1 level ... GET /254/56/254 level[/code].. then I get back the actual status, ie some will be on and others off. If, instead of sending ON to 254 different addresses, I repeatedly send ON to (say) group 0, then it takes as long as it takes to send to 254 different addresses, so there's no optimisation taking place to detect the duplication. So, my questions: [LIST] [*]Is there any way to find the "pending" status, ie to see the level that was last set even if the command hasn't gone to the unit yet? [*] Is there any setting I've missed that would make C-Gate combine multiple buffered commands to the same group? [/LIST] I can do some of this in my own application logic if necessary but I don't want to re-invent the wheel if C-Gate can do it. It seems to me that it would be useful for C-Gate to do it (at the very least spotting that it has several commands queued for one group address and removing any duplication), which also makes me think it might already be there somewhere and I'm looking in the wrong place!