private object TranslateNumeric(string value, OpenZWrapper.ValueType valueType)
 {
     if (valueType == OpenZWrapper.ValueType.Byte ||
         valueType == OpenZWrapper.ValueType.Int ||
         valueType == OpenZWrapper.ValueType.Short ||
         valueType == OpenZWrapper.ValueType.Decimal)
     {
         var valueNum = double.Parse(value);
         var range    = OpenZWrapper.Utils.GetRangeFor(valueType);
         if (valueType == OpenZWrapper.ValueType.Byte)
         {
             return((byte)TranslateByMargin(Math.Round(valueNum, 0), (byte)range.Min, (byte)range.Max));
         }
         if (valueType == OpenZWrapper.ValueType.Int)
         {
             return((int)TranslateByMargin(Math.Round(valueNum, 0), (int)range.Min, (int)range.Max));
         }
         if (valueType == OpenZWrapper.ValueType.Short)
         {
             return((short)TranslateByMargin(Math.Round(valueNum, 0), (short)range.Min, (short)range.Max));
         }
         if (valueType == OpenZWrapper.ValueType.Decimal)
         {
             return((decimal)TranslateByMargin(valueNum, (double)range.Min, (double)range.Max));
         }
     }
     return(value);
 }
        public static Type GetTypeBy(OpenZWrapper.ValueType zWaveValueType)
        {
            switch (zWaveValueType)
            {
            case OpenZWrapper.ValueType.Bool:
                return(typeof(Lazurite.ActionsDomain.ValueTypes.ToggleValueType));

            case OpenZWrapper.ValueType.Button:
                return(typeof(Lazurite.ActionsDomain.ValueTypes.ButtonValueType));

            case OpenZWrapper.ValueType.Byte:
            case OpenZWrapper.ValueType.Decimal:
            case OpenZWrapper.ValueType.Short:
            case OpenZWrapper.ValueType.Int:
                return(typeof(Lazurite.ActionsDomain.ValueTypes.FloatValueType));

            case OpenZWrapper.ValueType.String:
                return(typeof(Lazurite.ActionsDomain.ValueTypes.InfoValueType));

            case OpenZWrapper.ValueType.List:
                return(typeof(Lazurite.ActionsDomain.ValueTypes.StateValueType));
            }
            return(typeof(ValueTypeBase));
        }