From a35808b0b1f2c0fca3f89fd6ad7fb51dffe7ffd7 Mon Sep 17 00:00:00 2001 From: samuelspagl Date: Tue, 12 Mar 2024 15:22:54 +0100 Subject: [PATCH] Add additional validation for CONF_ENTRY_MAX_VOLUME value in the setup process to be greater than zero --- CHANGELOG.md | 7 +++++++ custom_components/samsung_soundbar/config_flow.py | 3 ++- custom_components/samsung_soundbar/manifest.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89b48de..5b360d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.3.2] Fix division by zero + +### Added + +- The config flow now also checks whether the `int` provided for `CONF_ENTRY_MAX_VOLUME` is + greater than `1` and lower than `100`. This will make sure that a division by zero cannot happen. + ## [0.3.0] Icons and Chore ### Added diff --git a/custom_components/samsung_soundbar/config_flow.py b/custom_components/samsung_soundbar/config_flow.py index a7ec8a8..3f68af9 100644 --- a/custom_components/samsung_soundbar/config_flow.py +++ b/custom_components/samsung_soundbar/config_flow.py @@ -5,6 +5,7 @@ import voluptuous as vol from homeassistant import config_entries from homeassistant.helpers.aiohttp_client import async_get_clientsession from pysmartthings import APIResponseError +from voluptuous import All, Range from .const import (CONF_ENTRY_API_KEY, CONF_ENTRY_DEVICE_ID, CONF_ENTRY_DEVICE_NAME, CONF_ENTRY_MAX_VOLUME, DOMAIN) @@ -45,7 +46,7 @@ class ExampleConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): vol.Required(CONF_ENTRY_API_KEY): str, vol.Required(CONF_ENTRY_DEVICE_ID): str, vol.Required(CONF_ENTRY_DEVICE_NAME): str, - vol.Required(CONF_ENTRY_MAX_VOLUME): int, + vol.Required(CONF_ENTRY_MAX_VOLUME): All(int, Range(min=1, max=100)) } ), ) diff --git a/custom_components/samsung_soundbar/manifest.json b/custom_components/samsung_soundbar/manifest.json index df644b0..70a039f 100644 --- a/custom_components/samsung_soundbar/manifest.json +++ b/custom_components/samsung_soundbar/manifest.json @@ -8,5 +8,5 @@ "iot_class": "cloud_polling", "issue_tracker": "https://github.com/samuelspagl/ha_samsung_soundbar/issues", "requirements": ["pysmartthings"], - "version": "0.3.0" + "version": "0.3.2" }