added getDeviceByID