public void Fill(int deviceRefId, out string measurement, out double?maxValidValue, out double?minValidValue) { measurement = null; maxValidValue = null; minValidValue = null; DeviceClass device = HS.GetDeviceByRef(deviceRefId) as DeviceClass; var deviceType = device.get_DeviceType_Get(HS); measurement = FindTypeString(new string[] { deviceType?.Device_SubType_Description, deviceType?.Device_API_Description, device.get_Name(HS) }); switch (measurement) { case "temperature": maxValidValue = 255; minValidValue = -255; break; case "battery": case "humidity": maxValidValue = 100; minValidValue = 0; break; case "watts": case "kwh": case "pressure": case "amperes": case "co2": case "luminance": case "pm25": minValidValue = 0; break; } }