diff --git a/homeassistant/components/wled/light.py b/homeassistant/components/wled/light.py index 244837bab207..4cfe64f66989 100644 --- a/homeassistant/components/wled/light.py +++ b/homeassistant/components/wled/light.py @@ -188,12 +188,11 @@ class WLEDSegmentLight(WLEDEntity, LightEntity): # If this is the one and only segment, calculate brightness based # on the main and segment brightness + segment_brightness = int(state.segments[self._segment].brightness) if not self.coordinator.has_main_light: - return int( - (state.segments[self._segment].brightness * state.brightness) / 255 - ) + return int((segment_brightness * state.brightness) / 255) - return state.segments[self._segment].brightness + return segment_brightness @property def effect_list(self) -> list[str]: diff --git a/homeassistant/components/wled/manifest.json b/homeassistant/components/wled/manifest.json index b14c5df25ef3..37352376050d 100644 --- a/homeassistant/components/wled/manifest.json +++ b/homeassistant/components/wled/manifest.json @@ -7,6 +7,6 @@ "integration_type": "device", "iot_class": "local_push", "quality_scale": "platinum", - "requirements": ["wled==0.21.0"], + "requirements": ["wled==0.22.0"], "zeroconf": ["_wled._tcp.local."] } diff --git a/homeassistant/components/wled/number.py b/homeassistant/components/wled/number.py index a91d83a3ee9b..c9a3a6338cb8 100644 --- a/homeassistant/components/wled/number.py +++ b/homeassistant/components/wled/number.py @@ -54,7 +54,7 @@ NUMBERS = [ native_step=1, native_min_value=0, native_max_value=255, - value_fn=lambda segment: segment.speed, + value_fn=lambda segment: int(segment.speed), ), WLEDNumberEntityDescription( key=ATTR_INTENSITY, diff --git a/requirements_all.txt b/requirements_all.txt index 430fcd2924f2..8484508515d8 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -3312,7 +3312,7 @@ wiim==0.1.0 wirelesstagpy==0.8.1 # homeassistant.components.wled -wled==0.21.0 +wled==0.22.0 # homeassistant.components.wolflink wolf-comm==0.0.48 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 0636f8b76832..b66653714730 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2806,7 +2806,7 @@ wiffi==1.1.2 wiim==0.1.0 # homeassistant.components.wled -wled==0.21.0 +wled==0.22.0 # homeassistant.components.wolflink wolf-comm==0.0.48 diff --git a/tests/components/wled/conftest.py b/tests/components/wled/conftest.py index 32acd40c8534..91cb7dd8afed 100644 --- a/tests/components/wled/conftest.py +++ b/tests/components/wled/conftest.py @@ -60,6 +60,8 @@ def mock_wled_releases() -> Generator[MagicMock]: wled_releases = wled_releases_mock.return_value wled_releases.releases.return_value = Releases( beta="1.0.0b5", + nightly=None, + repo="wled/WLED", stable="0.99.0", ) diff --git a/tests/components/wled/snapshots/test_diagnostics.ambr b/tests/components/wled/snapshots/test_diagnostics.ambr index 46953b004408..44ce1833e44e 100644 --- a/tests/components/wled/snapshots/test_diagnostics.ambr +++ b/tests/components/wled/snapshots/test_diagnostics.ambr @@ -194,6 +194,7 @@ 'arch': 'esp32', 'brand': 'WLED', 'core': 'v3.3.6-16-gcc5440f6a2', + 'cpalcount': 0, 'freeheap': 198384, 'fs': dict({ 'pmt': 1718827787.0, @@ -203,16 +204,19 @@ 'fxcount': 187, 'ip': '127.0.0.1', 'leds': dict({ + 'cct': False, 'count': 30, 'fps': 5, 'light_capabilities': 1, 'max_power': 850, 'max_segments': 32, 'power': 515, + 'rgbw': False, 'segment_light_capabilities': list([ 1, 1, ]), + 'wv': False, }), 'lip': '', 'live': False, @@ -221,6 +225,7 @@ 'name': 'WLED RGB Light', 'palcount': 71, 'product': 'FOSS', + 'str': False, 'udpport': 21324, 'uptime': 966, 'ver': '0.14.4', @@ -306,17 +311,23 @@ }), 'state': dict({ 'bri': 128, + 'ledmap': 0, 'lor': 0, + 'mainseg': 1, 'nl': dict({ 'dur': 60, 'mode': 1, 'on': False, + 'rem': -1, 'tbri': 0, }), 'on': True, 'seg': dict({ '0': dict({ 'bri': 255, + 'c1': 128, + 'c2': 128, + 'c3': 16, 'cct': 127, 'cln': -1, 'col': list([ @@ -336,20 +347,39 @@ 0, ]), ]), + 'frz': False, 'fx': 0, + 'grp': 1, 'id': 0, 'ix': 128, 'len': 15, + 'm12': 0, + 'mY': False, + 'mi': False, + 'o1': False, + 'o2': False, + 'o3': False, + 'of': 0, 'on': True, 'pal': 0, + 'rY': False, 'rev': False, 'sel': False, + 'set': 0, + 'si': 0, + 'spc': 0, 'start': 0, + 'startY': 0, 'stop': 15, + 'stopY': 0, 'sx': 32, + 'tp': False, }), '1': dict({ 'bri': 255, + 'c1': 128, + 'c2': 128, + 'c3': 16, 'cct': 127, 'cln': -1, 'col': list([ @@ -369,17 +399,33 @@ 0, ]), ]), + 'frz': False, 'fx': 3, + 'grp': 1, 'id': 1, 'ix': 64, 'len': 15, + 'm12': 0, + 'mY': False, + 'mi': False, + 'o1': False, + 'o2': False, + 'o3': False, + 'of': 0, 'on': True, 'pal': 1, + 'rY': False, 'rev': True, 'sel': True, + 'set': 0, + 'si': 0, + 'spc': 0, 'start': 15, + 'startY': 0, 'stop': 30, + 'stopY': 0, 'sx': 16, + 'tp': False, }), }), 'transition': 7, diff --git a/tests/components/wled/test_update.py b/tests/components/wled/test_update.py index b28ed0e23ee6..dc0f409ac7d6 100644 --- a/tests/components/wled/test_update.py +++ b/tests/components/wled/test_update.py @@ -63,6 +63,8 @@ async def test_update_information_available( """Test having no update information available at all.""" mock_wled_releases.releases.return_value = Releases( beta=None, + nightly=None, + repo="https://github.com/wled/WLED", stable=None, )