public static ReadOnlyThermostatFanState Empty() { var result = new ReadOnlyThermostatFanState { SupportedModes = new ThermostatFanMode[] {} }; return(result); }
public static ReadOnlyThermostatFanState Blank() { var result = new ReadOnlyThermostatFanState { SupportedModes = new ThermostatFanMode[0] }; return(result); }
public static ReadOnlyThermostatFanState Empty() { var result = new ReadOnlyThermostatFanState { SupportedModes = new ThermostatFanMode[] {} }; return result; }
public static ReadOnlyThermostatFanState Blank() { var result = new ReadOnlyThermostatFanState { SupportedModes = new ThermostatFanMode[0] }; return result; }
public static ReadOnlyThermostatFanState CopyFrom(IThermostatFanState state) { var supportedModes = new List<ThermostatFanMode>(); if (state.SupportedModes != null) { supportedModes.AddRange(state.SupportedModes); } var result = new ReadOnlyThermostatFanState { SupportedModes = supportedModes, Mode = state.Mode, CurrentAction = state.CurrentAction }; return result; }
public static ReadOnlyThermostatFanState CopyFrom(IThermostatFanState state) { var supportedModes = new List <ThermostatFanMode>(); if (state.SupportedModes != null) { supportedModes.AddRange(state.SupportedModes); } var result = new ReadOnlyThermostatFanState { SupportedModes = supportedModes, Mode = state.Mode, CurrentAction = state.CurrentAction }; return(result); }
public static ReadOnlyThermostatFanState FromXElement(XElement element) { ThermostatFanCurrentAction?currentAction = null; var currentActionString = element.GetAttributeStringValue("CurrentAction"); if (currentActionString != null) { currentAction = currentActionString.ToThermostatFanCurrentAction(); } ThermostatFanMode?mode = null; var modeString = element.GetAttributeStringValue("Mode"); if (modeString != null) { mode = modeString.ToThermostatFanMode(); } var supportedModes = new List <ThermostatFanMode>(); var supportedModesNode = element.Element("SupportedModes"); if (supportedModesNode != null) { foreach (var modeElement in supportedModesNode.Elements()) { var supportedMode = modeElement.Value.ToThermostatFanMode(); supportedModes.Add(supportedMode); } } var result = new ReadOnlyThermostatFanState { CurrentAction = currentAction, Mode = mode, SupportedModes = supportedModes }; return(result); }
public static ReadOnlyThermostatFanState ToThermostatFanState(this XElement element) { return(ReadOnlyThermostatFanState.FromXElement(element)); }
public static ReadOnlyThermostatFanState Copy(this IThermostatFanState state) { return(ReadOnlyThermostatFanState.CopyFrom(state)); }
public static IDeviceState GenerateExampleDevice(DeviceType type, bool includeCurrentAction, bool includeToggle, bool includeDimmer, bool includeColorSwitch, bool includeBinarySensor, bool includePowerSensor, bool includeTemperatureSensor, bool includeHumiditySensor, bool includeIlluminanceSensor, bool includeThermostat, bool includeKeypad) { string currentAction = "Idle"; var toggle = new ReadOnlyBinarySwitchSwitchState(BinarySwitchPower.On); var dimmer = new ReadOnlyMultilevelSwitchState(25, 100); var colorSwitch = new ReadOnlyColorSwitchState(new NamedColor("Purple")); var binarySensor = new ReadOnlyBinarySensorState(BinarySensorType.Motion, true, DateTime.UtcNow.AddMinutes(-4)); var powerSensor = new ReadOnlyMultilevelSensorState<IPower>(new WattsPower(25), DateTime.UtcNow.AddSeconds(-2)); var temperatureSensor = new ReadOnlyMultilevelSensorState<ITemperature>(new CelsiusTemperature(3), DateTime.UtcNow.AddSeconds(-1)); var humiditySensor = new ReadOnlyMultilevelSensorState<IHumidity>(new RelativeHumidity(25), DateTime.UtcNow.AddSeconds(-5)); var illuminanceSensor = new ReadOnlyMultilevelSensorState<IIlluminance>(new LuxIlluminance(50), DateTime.UtcNow.AddSeconds(-4)); var thermostatCoreModes = new[] { ThermostatMode.Auto, ThermostatMode.Cool, ThermostatMode.Heat, ThermostatMode.FanOnly, ThermostatMode.Off }; var thermostatCore = new ReadOnlyThermostatCoreState(thermostatCoreModes, ThermostatMode.Cool, ThermostatCurrentAction.Cooling); var thermostatFanModes = new[] { ThermostatFanMode.Auto, ThermostatFanMode.On }; var thermostatFan = new ReadOnlyThermostatFanState(thermostatFanModes, ThermostatFanMode.Auto, ThermostatFanCurrentAction.On); var thermostatSetpoints = new ReadOnlyThermostatSetpointCollection(new Dictionary<ThermostatSetpointType, ITemperature> { {ThermostatSetpointType.Cool, new FahrenheitTemperature(74)}, {ThermostatSetpointType.Heat, new FahrenheitTemperature(70)} }); var thermostat = new ReadOnlyThermostatState(thermostatCore, thermostatFan, thermostatSetpoints); var keypadButtons = new [] { new ReadOnlyKeypadButtonState("1", false), new ReadOnlyKeypadButtonState("2", true), new ReadOnlyKeypadButtonState("3", null) }; var keypad = new ReadOnlyKeypadState(keypadButtons); var location = new Location("Here"); var address = _id.ToString(); _id++; if (!includeCurrentAction) { currentAction = null; } if (!includeToggle) { toggle = null; } if (!includeDimmer) { dimmer = null; } if (!includeColorSwitch) { colorSwitch = null; } if (!includeBinarySensor) { binarySensor = null; } if (!includePowerSensor) { powerSensor = null; } if (!includeTemperatureSensor) { temperatureSensor = null; } if (!includeHumiditySensor) { humiditySensor = null; } if (!includeIlluminanceSensor) { illuminanceSensor = null; } if (!includeThermostat) { thermostat = null; } if (!includeKeypad) { keypad = null; } var device = new ReadOnlyDeviceState("Sample Device", address, location, null, true, type, currentAction, toggle, dimmer, colorSwitch, binarySensor, powerSensor, temperatureSensor, humiditySensor, illuminanceSensor, thermostat, keypad); return device; }
public static ReadOnlyThermostatFanState FromXElement(XElement element) { ThermostatFanCurrentAction? currentAction = null; var currentActionString = element.GetAttributeStringValue("CurrentAction"); if (currentActionString != null) { currentAction = currentActionString.ToThermostatFanCurrentAction(); } ThermostatFanMode? mode = null; var modeString = element.GetAttributeStringValue("Mode"); if (modeString != null) { mode = modeString.ToThermostatFanMode(); } var supportedModes = new List<ThermostatFanMode>(); var supportedModesNode = element.Element("SupportedModes"); if (supportedModesNode != null) { foreach (var modeElement in supportedModesNode.Elements()) { var supportedMode = modeElement.Value.ToThermostatFanMode(); supportedModes.Add(supportedMode); } } var result = new ReadOnlyThermostatFanState { CurrentAction = currentAction, Mode = mode, SupportedModes = supportedModes }; return result; }