public static string GetJsonStringFromParamEnum(Constants.PowerStateParamValues value) { switch (value) { case Constants.PowerStateParamValues.ON: return("\"on\""); case Constants.PowerStateParamValues.OFF: return("\"off\""); } return(string.Empty); }
/// <summary> /// Sets the light device's power state /// </summary> /// <param name="powerState"> The power state to set the light device to, can be anything from Constants.PowerStateParamValues</param> /// <param name="duration"> Duration of the effect, minimum value for this argument is Constants.MinValueForDurationParameter and so is the default value</param> /// <param name="effectType"> Type of the effect, can be anything from Constants.EffectParamValues and default value is Constants.EffectParamValues.SUDDEN</param> /// <remarks> /// Throws if duration argument is out of range or if device is not connected /// </remarks> public bool SetPower(Constants.PowerStateParamValues powerState, int duration = Constants.MinValueForDurationParameter, Constants.EffectParamValues effectType = Constants.EffectParamValues.SUDDEN) { ThrowExceptionIfIntArgIsOutOfRange("duration", duration, Constants.MinValueForDurationParameter); ThrowExceptionIfNotConnected(); return(SendCommandMessage(1, "set_power", new string[] { Utils.GetJsonStringFromParamEnum(powerState), Utils.GetJsonStringFromParamEnum(effectType), duration.ToString(System.Globalization.CultureInfo.InvariantCulture) })); }