I have finally got around to installing my Ness Smartbell and configuring it to message C-Bus Matrix to trigger the doorbell sound over the MRA speakers. As the Matrix doorbell function still has some issues , I decided to make up my own little doorbell Logic/Scene to alert the house that someone is at the door. In the kitchen I have installed an Android touchscreen that is connected as a MRA source that also rings with the Ness Smartbell app. Started off with a few variables capture the current MRA Zone source and volumes to return them back to after the doorbell function was finished [CODE]{Variables for Doorbell Function} Ensuite_Source : integer; Workshop_Source : integer; Studio_Source : integer; Kitchen_Source : integer; Ensuite_Volume : integer; Workshop_Volume : integer; Studio_Volume : integer; Kitchen_Volume : integer;[/CODE] Then created the module to capture the status of the various speaker locations along with a couple of scenes to tie it all together [CODE]{Once the doorbell has been pressed} once (GetCBusState("WiredHouse", "Trigger Control", "Front Doorbell") = ON) then begin {Capture MRA Zone Sources} Ensuite_Source := GetCbusLevel("WiredHouse", "Lighting", "Ensuite Absolute Source"); Kitchen_Source := GetCbusLevel("WiredHouse", "Lighting", "Kitchen Absolute") ; Studio_Source := GetCbusLevel("WiredHouse", "Lighting", "Studio Absolute") ; Workshop_Source := GetCbusLevel("WiredHouse", "Lighting", "Workshop Absolute Source"); {Capture MRA Zone Volumes} Ensuite_Volume := GetCbusLevel("WiredHouse", "Lighting", "Ensuite Volume"); Kitchen_Volume := GetCbusLevel("WiredHouse", "Lighting", "Kitchen Volume") ; Studio_Volume := GetCbusLevel("WiredHouse", "Lighting", "Studio Volume") ; Workshop_Volume := GetCbusLevel("WiredHouse", "Lighting", "Workshop Volume"); {Set Volumes to Zero} SetScene("AmpOffDoorbell"); Delay(3); {Set Volume on the 4 zones to 40% over 8 Seconds and set to touchscreen souce} SetScene("Doorbell"); {Wait for doorbell to be answered or timeout} Delay(60); {Return Zones back to where they were} SetLightingLevel("Ensuite Absolute Source", Ensuite_Source, "0s"); SetLightingLevel("Kitchen Absolute", Kitchen_Source, "0s"); SetLightingLevel("Studio Absolute", Studio_Source, "0s"); SetLightingLevel("Workshop Absolute Source", Workshop_Source, "0s"); SetLightingLevel("Ensuite Volume", Ensuite_Volume, "8s"); SetLightingLevel("Kitchen Volume", Kitchen_Volume, "8s"); SetLightingLevel("Studio Volume", Studio_Volume, "8s"); SetLightingLevel("Workshop Volume", Workshop_Volume, "8s"); end;[/CODE] The first scene sets these zones volume to off, then changes the source to the kitchen touchscreen, then ramps the volume to 40% over 8 seconds. After a minute, it returns the various zones back to their previous source and volume settings. Heavy and convoluted, but think it should work well. Going to test it out tonight. :D