2 Commits

Author SHA1 Message Date
c8d05acae9 Tune relative dimming steps 2026-02-15 21:00:24 +01:00
082ce93334 Fix light color temperature decoding 2026-02-15 20:42:32 +01:00
5 changed files with 23 additions and 15 deletions

View File

@@ -41,7 +41,9 @@ Completed:
- Light port support added with full KNX color/temperature mappings and individual color channels. - Light port support added with full KNX color/temperature mappings and individual color channels.
- Light port keys renamed to avoid conflicts; outgoing updates now only target light state addresses. - Light port keys renamed to avoid conflicts; outgoing updates now only target light state addresses.
- Light port optional relative dimming address (DPT 3.007) added. - Light port optional relative dimming address (DPT 3.007) added.
- Project version set to 0.0.23 and `CHANGELOG.md` maintained. - Light color temperature event type mapping and relative dimming decoding fixed.
- Relative dimming step mapping tuned to avoid on/off jumps.
- Project version set to 0.0.25 and `CHANGELOG.md` maintained.
Files created: Files created:
- `custom_components/ha_knx_bridge/__init__.py` - `custom_components/ha_knx_bridge/__init__.py`

View File

@@ -1,5 +1,11 @@
# Changelog # Changelog
## 0.0.25 - 2026-02-15
- Tune light relative dimming step mapping to avoid on/off jumps.
## 0.0.24 - 2026-02-15
- Fix light color temperature event type mapping and improve relative dimming decoding.
## 0.0.23 - 2026-02-15 ## 0.0.23 - 2026-02-15
- Add optional light relative dimming address (DPT 3.007). - Add optional light relative dimming address (DPT 3.007).

View File

@@ -73,7 +73,8 @@ Only state addresses expose an `invert outgoing` toggle to flip KNX payloads.
Notes: Notes:
- For XY color, the bridge sends the brightness as the Y (luminance) component. - For XY color, the bridge sends the brightness as the Y (luminance) component.
- Relative dimming (DPT 3.007) maps KNX step values to `brightness_step_pct` in Home Assistant. - Relative dimming (DPT 3.007) maps KNX step values to small `brightness_step_pct` changes in Home Assistant.
- Color temperature mode must match the KNX telegram DPT: `relative` for 5.001, `absolute` for 7.600, `absolute_float` for DPT 9.
## Notes ## Notes
- For DPT 1.008 (Up/Down), the bridge treats `0 = Up/Open` and `1 = Down/Close`. - For DPT 1.008 (Up/Down), the bridge treats `0 = Up/Open` and `1 = Down/Close`.
@@ -107,5 +108,5 @@ Notes:
- Advanced DPT mapping options and inversion settings. - Advanced DPT mapping options and inversion settings.
## Versioning and Releases ## Versioning and Releases
- Current version: 0.0.23 - Current version: 0.0.25
- `CHANGELOG.md` lists versions with the newest entries at the top. - `CHANGELOG.md` lists versions with the newest entries at the top.

View File

@@ -1612,9 +1612,9 @@ def _light_color_temperature_event_type(mode: str) -> str | None:
if mode == "relative": if mode == "relative":
return "percent" return "percent"
if mode == "absolute": if mode == "absolute":
return "7.600" return "2byte_unsigned"
if mode == "absolute_float": if mode == "absolute_float":
return "9" return "2byte_float"
return None return None
@@ -1668,8 +1668,7 @@ def _light_uses_white_channel(port: LightPort) -> bool:
def _relative_dimming_step(value: int) -> tuple[str, int] | None: def _relative_dimming_step(value: int) -> tuple[str, int] | None:
if value < 0 or value > 15: value = value & 0x0F
return None
if value == 0 or value == 8: if value == 0 or value == 8:
return None return None
if value <= 7: if value <= 7:
@@ -1679,13 +1678,13 @@ def _relative_dimming_step(value: int) -> tuple[str, int] | None:
direction = "up" direction = "up"
step = value - 8 step = value - 8
percent_map = { percent_map = {
1: 100, 1: 10,
2: 50, 2: 8,
3: 25, 3: 6,
4: 13, 4: 4,
5: 6, 5: 3,
6: 3, 6: 2,
7: 2, 7: 1,
} }
percent = percent_map.get(step) percent = percent_map.get(step)
if percent is None: if percent is None:

View File

@@ -1,7 +1,7 @@
{ {
"domain": "ha_knx_bridge", "domain": "ha_knx_bridge",
"name": "HA KNX Bridge", "name": "HA KNX Bridge",
"version": "0.0.23", "version": "0.0.25",
"config_flow": true, "config_flow": true,
"documentation": "https://github.com/bahmcloud/HA-KNX-Bridge", "documentation": "https://github.com/bahmcloud/HA-KNX-Bridge",
"issue_tracker": "https://github.com/bahmcloud/HA-KNX-Bridge/issues", "issue_tracker": "https://github.com/bahmcloud/HA-KNX-Bridge/issues",