DeviceTools class + tests, timeformat conversions + deviceID