public async Task RegisterAdapterSettingOptionAddedTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var dbAdapter = UnitTesting.CreateFakeAdapter(); var adapterSetting = new AdapterSetting { Name = "Adapter Setting 1", ValueType = DataType.STRING, Value = "Hello World", UniqueIdentifier = "PropertyTest" }; dbAdapter.Settings.Add(adapterSetting); var option1 = new AdapterSettingOption { Name = "Option 1", }; var option2 = new AdapterSettingOption { Name = "Option 2", }; adapterSetting.Options.Add(option1); using (var context = new ZvsContext(dbConnection)) { context.Adapters.Add(dbAdapter); await context.SaveChangesAsync(); } var adapter = new StubUnitTestAdapter { AdapterGuidGet = () => dbAdapter.AdapterGuid }; adapterSetting.Options.Add(option2); //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(adapterSetting, o => o.PropertyTest); AdapterSetting a; using (var context = new ZvsContext(dbConnection)) { a = await context.AdapterSettings .Include(o => o.Options) .FirstOrDefaultAsync(o => o.Id == adapterSetting.Id); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsTrue(a.Options.Count == 2, "Expected 2 adapter setting options"); Assert.IsTrue(a.Options[1].Name == option2.Name, "Adapter option name mismatch"); }
public async Task RegisterNewDeviceSettingTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var deviceSetting = new DeviceSetting { Name = "Device Setting 1", ValueType = DataType.STRING, Value = "Hello World" }; //act var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting); DeviceSetting setting; using (var context = new ZvsContext(dbConnection)) { setting = await context.DeviceSettings.FirstOrDefaultAsync(); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsNotNull(setting, "Setting not saved!"); Assert.IsTrue(setting.Name == deviceSetting.Name, "Device setting name mismatch"); }
public void ConstructorTest() { //arrange //act var result = new AdapterSettingBuilder(new UnitTestDbConnection(), CancellationToken.None); //assert Assert.IsNotNull(result); }
public void ConstructorTest() { //arrange //act var result = new AdapterSettingBuilder(new ZvsEntityContextConnection(), CancellationToken.None); //assert Assert.IsNotNull(result); }
public async Task RegisterRemovedDeviceTypeSettingOptionTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var deviceType = UnitTesting.CreateFakeDeviceType(); var deviceTypeSetting = new DeviceTypeSetting { Name = "Device Type Setting 1", ValueType = DataType.STRING, Value = "Hello World", DeviceType = deviceType }; var option1 = new DeviceTypeSettingOption { Name = "Option 1", }; var option2 = new DeviceTypeSettingOption { Name = "Option 2", }; deviceTypeSetting.Options.Add(option1); deviceTypeSetting.Options.Add(option2); using (var context = new ZvsContext(dbConnection)) { context.DeviceTypeSettings.Add(deviceTypeSetting); await context.SaveChangesAsync(); } deviceTypeSetting.Options.Remove(option2); //act var result = await adapterBuilder.RegisterDeviceTypeSettingAsync(deviceTypeSetting); DeviceTypeSetting setting; using (var context = new ZvsContext(dbConnection)) { setting = await context.DeviceTypeSettings .Include(o => o.Options) .FirstOrDefaultAsync(); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsNotNull(setting, "Setting not found"); Assert.IsTrue(setting.Options.Count == 1, "Expected 2 options"); Assert.IsTrue(setting.Options[0].Name == option1.Name, "Name mismatch"); }
public async Task RegisterAdapterSettingOnNonPropertyAdapterTest() { //Arrange Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(new UnitTestDbConnection(), CancellationToken.None); var adapter = new StubUnitTestAdapter(); //act await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(new AdapterSetting(), o => o.FieldTest); //assert - throws }
public async Task RegisterAdapterSettingOnNonPropertyAdapterTest() { //Arrange Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(new StubIEntityContextConnection(), CancellationToken.None); var adapter = new StubUnitTestAdapter(); //act await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(new AdapterSetting(), o => o.FieldTest); //assert - throws }
public override async Task OnSettingsCreating(AdapterSettingBuilder settingBuilder) { var testSetting = new AdapterSetting { Name = "Test setting", Value = (360).ToString(CultureInfo.InvariantCulture), ValueType = DataType.STRING, Description = "Unit testing only" }; await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(testSetting, o => o.TestSetting); }
public async Task Initialize(IFeedback<LogEntry> log, IEntityContextConnection entityContextConnection) { EntityContextConnection = entityContextConnection; Log = log; DeviceValueBuilder = new DeviceValueBuilder(entityContextConnection); DeviceCommandBuilder = new DeviceCommandBuilder(entityContextConnection); var dtb = new DeviceTypeBuilder(entityContextConnection); await OnDeviceTypesCreating(dtb); var sb = new AdapterSettingBuilder(entityContextConnection, CancellationToken); await OnSettingsCreating(sb); }
public async Task RegisterAdapterSettingNullAdapterTest() { //Arrange var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "asb-RegisterAdapterSettingNullAdapterTest" }; Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder( dbConnection, CancellationToken.None); var adapter = new StubUnitTestAdapter(); //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(new AdapterSetting(), o => o.PropertyTest); //assert Console.WriteLine(result.Message); Assert.IsTrue(result.HasError); }
public async Task RegisterAdapterSettingValueDonestTriggerChangedTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var dbAdapter = UnitTesting.CreateFakeAdapter(); var adapterSetting = new AdapterSetting { Name = "Adapter Setting 1", ValueType = DataType.STRING, Value = "Hello World", UniqueIdentifier = "PropertyTest" }; dbAdapter.Settings.Add(adapterSetting); using (var context = new ZvsContext(dbConnection)) { context.Adapters.Add(dbAdapter); await context.SaveChangesAsync(); } var adapter = new StubUnitTestAdapter { AdapterGuidGet = () => dbAdapter.AdapterGuid }; adapterSetting.Value = "New value!"; //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(adapterSetting, o => o.PropertyTest); Adapter a; using (var context = new ZvsContext(dbConnection)) { a = await context.Adapters .Include(o => o.Settings) .FirstOrDefaultAsync(o => o.AdapterGuid == dbAdapter.AdapterGuid); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsTrue(a.Settings.Count == 1, "Expected 1 adapter setting"); Assert.IsTrue(a.Settings[0].Value == "Hello World", "Adapter value changed when it shouldn't!"); }
public async Task RegisterAdapterSettingNullAdapterTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var adapter = new StubUnitTestAdapter(); //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(new AdapterSetting(), o => o.PropertyTest); //assert Console.WriteLine(result.Message); Assert.IsTrue(result.HasError); }
public async Task RegisterAdapterSettingAdapterTest() { //Arrange var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "asb-RegisterAdapterSettingAdapterTest" }; Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var dbAdapter = UnitTesting.CreateFakeAdapter(); using (var context = new ZvsContext(dbConnection)) { context.Adapters.Add(dbAdapter); await context.SaveChangesAsync(); } var adapter = new StubUnitTestAdapter { AdapterGuidGet = () => dbAdapter.AdapterGuid }; var adapterSetting = new AdapterSetting { Name = "Adapter Setting 1", ValueType = DataType.STRING, Value = "Hello World" }; //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(adapterSetting, o => o.PropertyTest); Adapter a; using (var context = new ZvsContext(dbConnection)) { a = await context.Adapters .Include(o=> o.Settings) .FirstOrDefaultAsync(o => o.AdapterGuid == dbAdapter.AdapterGuid); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsTrue(a.Settings.Count == 1, "Expected 1 adapter setting"); Assert.IsTrue(a.Settings[0].Name == adapterSetting.Name, "Adapter setting name mismatch"); }
public override async Task OnSettingsCreating(AdapterSettingBuilder settingBuilder) { var hostSetting = new AdapterSetting { Name = "Host", Value = "127.0.0.1", ValueType = DataType.STRING, Description = "The host machine which your MQTT server is installed." }; var portSetting = new AdapterSetting { Name = "Port", Value = "1883", ValueType = DataType.INTEGER, Description = "The port on host machine which your MQTT server is installed. (1883 - default, 8883 - SSL)" }; await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(hostSetting, o => o.HostSetting); await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(portSetting, o => o.PortSetting); }
public override async Task OnSettingsCreating(AdapterSettingBuilder settingBuilder) { var wifi1IpSetting = new AdapterSetting { Name = "WiFi Controller 1 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the first WiFi Controller." }; var wifi1SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi1IpSetting, o => o.WiFi1Setting); if (wifi1SettingResult.HasError) { await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 1 setting. {0}", wifi1SettingResult.Message); } var wifi2IpSetting = new AdapterSetting { Name = "WiFi Controller 2 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the second WiFi Controller." }; var wifi2SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi2IpSetting, o => o.WiFi2Setting); if (wifi2SettingResult.HasError) { await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 2 setting. {0}", wifi2SettingResult.Message); } var wifi3IpSetting = new AdapterSetting { Name = "WiFi Controller 3 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the third WiFi Controller." }; var wifi3SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi3IpSetting, o => o.WiFi3Setting); if (wifi3SettingResult.HasError) { await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 1 setting. {0}", wifi3SettingResult.Message); } var wifi4IpSetting = new AdapterSetting { Name = "WiFi Controller 4 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the fourth WiFi Controller." }; var wifi4SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi4IpSetting, o => o.WiFi4Setting); if (wifi4SettingResult.HasError) { await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 4 setting. {0}", wifi4SettingResult.Message); } await base.OnSettingsCreating(settingBuilder); }
public virtual Task OnSettingsCreating(AdapterSettingBuilder settingBuilder) { return Task.FromResult(0); }
public override async Task OnSettingsCreating(AdapterSettingBuilder settingBuilder) { var wifi1IpSetting = new AdapterSetting { Name = "WiFi Controller 1 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the first WiFi Controller." }; var wifi1SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi1IpSetting, o => o.WiFi1Setting); if (wifi1SettingResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 1 setting. {0}", wifi1SettingResult.Message); var wifi2IpSetting = new AdapterSetting { Name = "WiFi Controller 2 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the second WiFi Controller." }; var wifi2SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi2IpSetting, o => o.WiFi2Setting); if (wifi2SettingResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 2 setting. {0}", wifi2SettingResult.Message); var wifi3IpSetting = new AdapterSetting { Name = "WiFi Controller 3 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the third WiFi Controller." }; var wifi3SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi3IpSetting, o => o.WiFi3Setting); if (wifi3SettingResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 1 setting. {0}", wifi3SettingResult.Message); var wifi4IpSetting = new AdapterSetting { Name = "WiFi Controller 4 IP Address", Value = "", ValueType = DataType.STRING, Description = "The IP Address of the fourth WiFi Controller." }; var wifi4SettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(wifi4IpSetting, o => o.WiFi4Setting); if (wifi4SettingResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the wifi controller 4 setting. {0}", wifi4SettingResult.Message); await base.OnSettingsCreating(settingBuilder); }
public async Task RegisterRemovedDeviceTypeSettingOptionTest() { //Arrange var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "asb-RegisterRemovedDeviceTypeSettingOptionTest" }; Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var deviceType = UnitTesting.CreateFakeDeviceType(); var deviceTypeSetting = new DeviceTypeSetting { Name = "Device Type Setting 1", ValueType = DataType.STRING, Value = "Hello World", DeviceType = deviceType }; var option1 = new DeviceTypeSettingOption { Name = "Option 1", }; var option2 = new DeviceTypeSettingOption { Name = "Option 2", }; deviceTypeSetting.Options.Add(option1); deviceTypeSetting.Options.Add(option2); using (var context = new ZvsContext(dbConnection)) { context.DeviceTypeSettings.Add(deviceTypeSetting); await context.SaveChangesAsync(); } deviceTypeSetting.Options.Remove(option2); //act var result = await adapterBuilder.RegisterDeviceTypeSettingAsync(deviceTypeSetting); DeviceTypeSetting setting; using (var context = new ZvsContext(dbConnection)) { setting = await context.DeviceTypeSettings .Include(o => o.Options) .FirstOrDefaultAsync(); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsNotNull(setting, "Setting not found"); Assert.IsTrue(setting.Options.Count == 1, "Expected 2 options"); Assert.IsTrue(setting.Options[0].Name == option1.Name, "Name mismatch"); }
public async Task RegisterNoUpdateDeviceTypeSettingTest() { //Arrange var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "asb-RegisterNoUpdateDeviceTypeSettingTest" }; Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None); var deviceType = UnitTesting.CreateFakeDeviceType(); var deviceTypeSetting = new DeviceTypeSetting { Name = "Device Type Setting 1", ValueType = DataType.STRING, Value = "Hello World", DeviceType = deviceType }; using (var context = new ZvsContext(dbConnection)) { context.DeviceTypeSettings.Add(deviceTypeSetting); await context.SaveChangesAsync(); } //act var result = await adapterBuilder.RegisterDeviceTypeSettingAsync(deviceTypeSetting); DeviceTypeSetting setting; using (var context = new ZvsContext(dbConnection)) { setting = await context.DeviceTypeSettings.FirstOrDefaultAsync(); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsNotNull(setting, "Setting not found"); Assert.IsTrue(setting.Value == deviceTypeSetting.Value, "Device type setting name mismatch"); }
public async Task RegisterAdapterSettingValueDonestTriggerChangedTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder( dbConnection, CancellationToken.None); var dbAdapter = UnitTesting.CreateFakeAdapter(); var adapterSetting = new AdapterSetting { Name = "Adapter Setting 1", ValueType = DataType.STRING, Value = "Hello World", UniqueIdentifier = "PropertyTest" }; dbAdapter.Settings.Add(adapterSetting); using (var context = new ZvsContext(dbConnection)) { context.Adapters.Add(dbAdapter); await context.SaveChangesAsync(); } var adapter = new StubUnitTestAdapter { AdapterGuidGet = () => dbAdapter.AdapterGuid }; adapterSetting.Value = "New value!"; //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(adapterSetting, o => o.PropertyTest); Adapter a; using (var context = new ZvsContext(dbConnection)) { a = await context.Adapters .Include(o => o.Settings) .FirstOrDefaultAsync(o => o.AdapterGuid == dbAdapter.AdapterGuid); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsTrue(a.Settings.Count == 1, "Expected 1 adapter setting"); Assert.IsTrue(a.Settings[0].Value == "Hello World", "Adapter value changed when it shouldn't!"); }
public async Task RegisterAdapterSettingOptionRemovedTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder( dbConnection, CancellationToken.None); var dbAdapter = UnitTesting.CreateFakeAdapter(); var adapterSetting = new AdapterSetting { Name = "Adapter Setting 1", ValueType = DataType.STRING, Value = "Hello World", UniqueIdentifier = "PropertyTest" }; dbAdapter.Settings.Add(adapterSetting); var option1 = new AdapterSettingOption { Name = "Option 1", }; var option2 = new AdapterSettingOption { Name = "Option 2", }; adapterSetting.Options.Add(option1); adapterSetting.Options.Add(option2); using (var context = new ZvsContext(dbConnection)) { context.Adapters.Add(dbAdapter); await context.SaveChangesAsync(); } var adapter = new StubUnitTestAdapter { AdapterGuidGet = () => dbAdapter.AdapterGuid }; adapterSetting.Options.Remove(option2); //act var result = await adapterBuilder.Adapter(adapter).RegisterAdapterSettingAsync(adapterSetting, o => o.PropertyTest); AdapterSetting a; using (var context = new ZvsContext(dbConnection)) { a = await context.AdapterSettings .Include(o => o.Options) .FirstOrDefaultAsync(o => o.Id == adapterSetting.Id); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsTrue(a.Options.Count == 1, "Expected 2 adapter setting options"); Assert.IsTrue(a.Options[0].Name == option1.Name, "Adapter option name mismatch"); }
public async Task RegisterNewDeviceSettingTest() { //Arrange var dbConnection = new UnitTestDbConnection(); Database.SetInitializer(new CreateFreshDbInitializer()); var adapterBuilder = new AdapterSettingBuilder( dbConnection, CancellationToken.None); var deviceSetting = new DeviceSetting { Name = "Device Setting 1", ValueType = DataType.STRING, Value = "Hello World" }; //act var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting); DeviceSetting setting; using (var context = new ZvsContext(dbConnection)) { setting = await context.DeviceSettings.FirstOrDefaultAsync(); } //assert Console.WriteLine(result.Message); Assert.IsFalse(result.HasError); Assert.IsNotNull(setting, "Setting not saved!"); Assert.IsTrue(setting.Name == deviceSetting.Name, "Device setting name mismatch"); }
public override async Task OnSettingsCreating(AdapterSettingBuilder settingBuilder) { var comSetting = new AdapterSetting { Name = "Com Port", Value = (3).ToString(CultureInfo.InvariantCulture), ValueType = DataType.COMPORT, Description = "The COM port that your z-wave controller is assigned to." }; var pollIntSetting = new AdapterSetting { Name = "Polling interval", Value = (360).ToString(CultureInfo.InvariantCulture), ValueType = DataType.INTEGER, Description = "The frequency in which devices are polled for level status on your network. Set high to avoid excessive network traffic. " }; var comPortSettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(comSetting, o => o.ComportSetting); if (comPortSettingResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the comport adapter setting. {0}", comPortSettingResult.Message); var pollIntSettingResult = await settingBuilder.Adapter(this).RegisterAdapterSettingAsync(pollIntSetting, o => o.PollingIntervalSetting); if (pollIntSettingResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the polling adapter setting. {0}", pollIntSettingResult.Message); var dimmerOnResult = await settingBuilder.RegisterDeviceTypeSettingAsync(new DeviceTypeSetting { UniqueIdentifier = OpenzWaveDeviceTypeSettings.DefaultDimmerOnLevel.ToString(), DeviceTypeId = DimmerTypeId, Name = "Default Level", Description = "Level that an device is set to when using the 'ON' command.", Value = "99",//default value ValueType = DataType.BYTE }); if (dimmerOnResult.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the dimmer level setting. {0}", dimmerOnResult.Message); var repollLevelSetting = await settingBuilder.RegisterDeviceTypeSettingAsync(new DeviceTypeSetting { UniqueIdentifier = OpenzWaveDeviceTypeSettings.EnableRepollOnLevelChange.ToString(), DeviceTypeId = DimmerTypeId, Name = "Enable re-poll on level change", Description = "Re-poll dimmers 3 seconds after a level change is received?", Value = true.ToString(), //default value ValueType = DataType.BOOL }); if (repollLevelSetting.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the re-poll setting. {0}", repollLevelSetting.Message); var repollSetting = await settingBuilder.RegisterDeviceTypeSettingAsync(new DeviceTypeSetting { UniqueIdentifier = OpenzWaveDeviceTypeSettings.RepollingEnabled.ToString(), DeviceTypeId = DimmerTypeId, Name = "Enable polling for this device", Description = "Toggles automatic polling for a device.", Value = false.ToString(), //default value ValueType = DataType.BOOL }); if (repollSetting.HasError) await Log.ReportErrorFormatAsync(CancellationToken, "An error occured when registering the re-poll setting. {0}", repollSetting.Message); }