Example #1
0
        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;
            }
        }