/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void iNumericUpDownTemperature_ValueChanged(object sender, EventArgs e) { if (iTreeViewDevices.SelectedNode == null || !(iTreeViewDevices.SelectedNode.Tag is SmartHome.Device)) { return; } SmartHome.Device device = (SmartHome.Device)iTreeViewDevices.SelectedNode.Tag; if (!await device.SetTargetTemperature((float)iNumericUpDownTemperature.Value)) { // Authenticate anew before trying one last time await Authenticate(); SelectDevice(device.Identifier); await device.SetTargetTemperature((float)iNumericUpDownTemperature.Value); } await UpdateDeviceList(device.Identifier); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void iComboBoxThermostat_SelectedIndexChanged(object sender, EventArgs e) { if (iTreeViewDevices.SelectedNode == null || !(iTreeViewDevices.SelectedNode.Tag is SmartHome.Device)) { return; } SmartHome.Device device = (SmartHome.Device)iTreeViewDevices.SelectedNode.Tag; SmartHome.Thermostat.Radiator thermostat = SmartHome.Thermostat.Radiator.Off; Enum.TryParse <SmartHome.Thermostat.Radiator>(iComboBoxThermostat.SelectedValue.ToString(), out thermostat); if (thermostat == SmartHome.Thermostat.Radiator.Regulated) { // Set target temperature if (!await device.SetTargetTemperature((float)iNumericUpDownTemperature.Value)) { // Authenticate anew before trying one last time await Authenticate(); SelectDevice(device.Identifier); await device.SetTargetTemperature((float)iNumericUpDownTemperature.Value); } } else { // Turn it on of off if (!await device.SetTargetTemperatureCode((int)thermostat)) { // Authenticate anew before trying one last time await Authenticate(); SelectDevice(device.Identifier); await device.SetTargetTemperatureCode((int)thermostat); } } await UpdateDeviceList(device.Identifier); }