/// <summary>
        /// Invoke the action synchronously
        /// </summary>
        /// <remarks>Blocks until the action has been processed
        /// on the device and sets any output arguments</remarks>
        /// <param name="aIndex"></param>
        /// <param name="aX"></param>
        /// <param name="aY"></param>
        /// <param name="aZ"></param>
        public void SyncGetPosition(uint aIndex, out uint aX, out uint aY, out uint aZ)
        {
            SyncGetPositionOpenhomeOrgTestLights1 sync = new SyncGetPositionOpenhomeOrgTestLights1(this);

            BeginGetPosition(aIndex, sync.AsyncComplete());
            sync.Wait();
            sync.ReportError();
            aX = sync.X();
            aY = sync.Y();
            aZ = sync.Z();
        }
 /// <summary>
 /// Invoke the action synchronously
 /// </summary>
 /// <remarks>Blocks until the action has been processed
 /// on the device and sets any output arguments</remarks>
 /// <param name="aIndex"></param>
 /// <param name="aX"></param>
 /// <param name="aY"></param>
 /// <param name="aZ"></param>
 public void SyncGetPosition(uint aIndex, out uint aX, out uint aY, out uint aZ)
 {
     SyncGetPositionOpenhomeOrgTestLights1 sync = new SyncGetPositionOpenhomeOrgTestLights1(this);
     BeginGetPosition(aIndex, sync.AsyncComplete());
     sync.Wait();
     sync.ReportError();
     aX = sync.X();
     aY = sync.Y();
     aZ = sync.Z();
 }