public DialogResult ShowDialog(IWin32Window owner, string deviceName, string parameterName, DriverSettingAttribute attribute, string initialValue)
        {
            ILogger logger = new StandardLogger(SharedLibrary.LoggerContextType.Driver, "Venstar", SharedLibrary.LoggerVerbosity.Detailed);
            logger.Info(deviceName);
            logger.Info(parameterName);
            logger.Info(initialValue);

            using (ThermostatIdentifiersDriverSettingEditorForm settingEditorForm = new ThermostatIdentifiersDriverSettingEditorForm(parameterName, attribute, initialValue, logger))
            {
                DialogResult dialogResult = settingEditorForm.ShowDialog(owner);
                this.value = dialogResult != DialogResult.OK ? (string)null : settingEditorForm.Value;
                return dialogResult;
            }
        }
        public ThermostatIdentifiersDriverSettingEditorForm(string parameterName, DriverSettingAttribute attribute, string initialXml, ILogger logger)
            : this()
        {
            this.logger = logger;

            if (string.IsNullOrEmpty(initialXml)) { return; }

            this.parameterName = parameterName;
            this.attribute = attribute;

            List<ThermostatIdentifier> thermostatIdentifiers = initialXml.DeserializeToThermostatIdentifiers().ToList();

            foreach (ThermostatIdentifier thermostatIdentifier in thermostatIdentifiers)
            {
                this.AddDataGridViewRow(thermostatIdentifier.MacAddress, thermostatIdentifier.Name, thermostatIdentifier.Url);
            }
        }