Exemplo n.º 1
0
 public void SettingsToScreen(HAClimateDeskBandSettings settings)
 {
     TxtApiBaseUrl.Text          = settings.ApiBaseUrl;
     TxtApiKey.Text              = settings.ApiKey;
     TxtEntityIdClimate.Text     = settings.ClimateEntityId;
     TxtEntityIdTemperature.Text = settings.TemperatureEntityId;
     TxtEntityIdPowerUsage.Text  = settings.PowerUsageEntityId;
     ChkPreferLastChangeAndPowerUsage.Checked = settings.PreferLastChangeAndPowerUsage;
 }
Exemplo n.º 2
0
        public static void SaveSettings(HAClimateDeskBandSettings settings)
        {
            try
            {
                if (!Directory.Exists(GetSettingsPath()))
                {
                    Directory.CreateDirectory(GetSettingsPath());
                }

                File.WriteAllText(GetSettingsFileName(), JsonConvert.SerializeObject(settings));
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error saving settings: {ex.Message}", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 3
0
        public void LoadSettings()
        {
            try
            {
                HAClimateDeskBandSettings = Library.LoadSettings();

                bool settingsOK = SettingsOK();

                ControlsHelper.SyncBeginInvoke(this, () =>
                {
                    PlotViewTemperature.Visible = !string.IsNullOrWhiteSpace(HAClimateDeskBandSettings.TemperatureEntityId) && settingsOK;
                    LblTemperature.Visible      = !string.IsNullOrWhiteSpace(HAClimateDeskBandSettings.TemperatureEntityId) && settingsOK;
                    PictureFire.Visible         = !string.IsNullOrWhiteSpace(HAClimateDeskBandSettings.ClimateEntityId) && settingsOK;
                    PictureOff.Visible          = !string.IsNullOrWhiteSpace(HAClimateDeskBandSettings.ClimateEntityId) && settingsOK;
                    PicturePause.Visible        = !string.IsNullOrWhiteSpace(HAClimateDeskBandSettings.ClimateEntityId) && settingsOK;
                    PictureHA.Visible           = !settingsOK;
                });

                ResizeControls();

                if (settingsOK)
                {
                    HttpClient = new HttpClient
                    {
                        BaseAddress = new Uri(HAClimateDeskBandSettings.ApiBaseUrl)
                    };

                    HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", HAClimateDeskBandSettings.ApiKey);

                    UpdateValues();
                }
                else
                {
                    ControlsHelper.SyncBeginInvoke(this, () =>
                    {
                        LblInfo.Text = string.Empty;
                    });
                }
            }
            catch (Exception ex)
            {
                SetErrorState($"Error loading settings: {ex.Message}");
            }
        }