mirror of
https://github.com/NickoScope/nickol-knx-mcp.git
synced 2026-09-30 03:41:58 +02:00
docs(example): regenerate demo-home outputs with colour + climate (Track A/D)
Regenerate examples/demo-home/generated/ with the current generator: 13 lights now carry RGBW/RGB/CCT colour, 6 climate zones assembled with HA-doc-verified keys, sensors fold into climate where applicable. README updated (entity counts, capability note) and records that the real ETS6-signed round-trip was validated. Report source path sanitized (relative). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
514caa5fd2
commit
a6a5e68444
@@ -17,7 +17,7 @@ showcase of how the KNX (I/O) and Home Assistant (logic) layers fit together.
|
||||
|---|---|
|
||||
| `demo-home.knxproj` | The synthetic project: **239 group addresses, 47 ETS Functions**, 13 zones (living w/ fireplace, kitchen, master + 2 kids bedrooms each with ensuite, guest WC, laundry, 2 corridors, staircase). Lighting (switch/dim/CCT/RGBW), underfloor heating + AC, sensors, scenes. |
|
||||
| `generated/project_report.md` | `project_report` output — inventory + 🔴🟡🔵 findings + HA mapping preview. |
|
||||
| `generated/home-assistant-knx.yaml` | `generate_ha_package` output — KNX entities (switch/light/cover/binary_sensor/sensor) + a `review` list. **Nothing is dropped silently.** |
|
||||
| `generated/home-assistant-knx.yaml` | `generate_ha_package` output — KNX entities (switch / light incl. **RGBW/RGB/CCT colour** / cover / **climate** / binary_sensor / sensor) + a `review` list. **Nothing is dropped silently.** |
|
||||
| `generated/group-addresses.xml` / `.csv` | `generate_ets_group_addresses` output — ETS-importable. |
|
||||
| `ha-brain/` | The Home Assistant **smart layer** on top of these entities — circadian lighting, multi-factor climate, presence/season/time logic, statistics. See its own [README](ha-brain/README.md). |
|
||||
|
||||
@@ -40,8 +40,18 @@ dimmer has an on/off status, so it isn't flagged for its missing brightness stat
|
||||
future release.
|
||||
|
||||
Inventory: 239 GAs · 47 Functions · 0 errors that block parsing. The HA generator produced
|
||||
**19 switches, 13 lights, 6 covers, 13 binary sensors, 63 sensors**, with 18/19 switches getting a
|
||||
`state_address` paired via ETS Function roles.
|
||||
**19 switches, 13 lights (incl. RGBW / RGB / CCT colour), 6 covers, 6 climate zones, 13 binary
|
||||
sensors, 41 sensors** — on/off, brightness, colour and climate command/status pairs assembled into
|
||||
multi-address entities, with 18/19 switches getting a `state_address` paired via ETS Function roles.
|
||||
|
||||
> **Generated by the current tool.** Lights carry `rgbw_address` / `color_address` /
|
||||
> `color_temperature_address` (+ `color_temperature_mode`) where the project has colour; `climate`
|
||||
> entities carry `temperature_address`, `target_temperature_state_address`, `operation_mode_address`
|
||||
> and `command_value_state_address` — keys verified against the Home Assistant KNX docs. A `climate`
|
||||
> is emitted only when its required keys are present, otherwise the zone is sent to `review`, so an
|
||||
> invalid entity is never written. Reserve / logic / scratch group addresses are classified and kept
|
||||
> out of the error and missing-status checks (none in this clean synthetic project, but it stops the
|
||||
> tool crying wolf on real ones).
|
||||
|
||||
## ⚠️ Caveats (please read)
|
||||
|
||||
@@ -53,7 +63,10 @@ Inventory: 239 GAs · 47 Functions · 0 errors that block parsing. The HA genera
|
||||
that signature can't be forged (by design). So: use this file with xknxproject-based tooling.
|
||||
To get a real, ETS-signed project, **import the group-address export** (`generated/group-addresses.xml`)
|
||||
into a fresh ETS project via *Import Group Addresses* and **export** from ETS — that file opens
|
||||
everywhere and is the gold standard.
|
||||
everywhere and is the gold standard. **This round-trip was done and validated:** a KNX engineer
|
||||
imported the export into ETS6 and sent back a real signed `.knxproj`, and the tool ran the full
|
||||
pipeline on it cleanly (note that an *Import Group Addresses* round-trip does not carry ETS
|
||||
Functions, so command/status pairing then relies on naming alone).
|
||||
- **The flaws are on purpose.** Do not "fix" them — they are the point.
|
||||
- **`ha-brain/` is a design demo.** Valid Home Assistant YAML built on best practices, but not
|
||||
deployed against a live bus here; entity IDs assume the names `generate_ha_package` produces.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Source project: Nikolay Demo House
|
||||
# REVIEW before use: command/status pairing is inferred heuristically.
|
||||
# Multi-GA fixtures (light/cover/climate) and scenes need manual verification.
|
||||
# 65 group address(es) need manual review (see the 'review' list); nothing is dropped silently.
|
||||
# 50 group address(es) need manual review (see the 'review' list); nothing is dropped silently.
|
||||
|
||||
knx:
|
||||
switch:
|
||||
@@ -11,24 +11,24 @@ knx:
|
||||
- name: Living room fireplace on/off
|
||||
address: 0/3/0
|
||||
state_address: 0/4/0
|
||||
- name: Kitchen island pendants switch
|
||||
address: 1/0/12
|
||||
state_address: 1/4/12
|
||||
- name: Master bath mirror CCT switch
|
||||
address: 1/0/26
|
||||
state_address: 1/4/26
|
||||
- name: Kids room 1 ceiling switch
|
||||
address: 1/0/30
|
||||
state_address: 1/4/30
|
||||
- name: Kids room 1 RGB accent switch
|
||||
address: 1/0/31
|
||||
state_address: 1/4/31
|
||||
- name: Living room ceiling spots switch
|
||||
address: 1/0/1
|
||||
state_address: 1/4/1
|
||||
- name: Living room fireplace floor lamp switch
|
||||
address: 1/0/4
|
||||
state_address: 1/4/4
|
||||
- name: Kitchen main ceiling switch
|
||||
address: 1/0/10
|
||||
state_address: 1/4/10
|
||||
- name: Master bedroom wardrobe LED switch
|
||||
address: 1/0/23
|
||||
state_address: 1/4/23
|
||||
- name: Master bath ceiling switch
|
||||
address: 1/0/25
|
||||
state_address: 1/4/25
|
||||
- name: Kids bath 1 ceiling switch
|
||||
address: 1/0/35
|
||||
state_address: 1/4/35
|
||||
- name: Kids room 2 ceiling switch
|
||||
address: 1/0/40
|
||||
state_address: 1/4/40
|
||||
- name: Kids room 2 desk light switch
|
||||
address: 1/0/41
|
||||
state_address: 1/4/41
|
||||
@@ -37,7 +37,6 @@ knx:
|
||||
state_address: 1/4/45
|
||||
- name: Guest WC ceiling switch
|
||||
address: 1/0/50
|
||||
state_address: 1/4/1
|
||||
- name: Laundry ceiling switch
|
||||
address: 1/0/55
|
||||
state_address: 1/4/55
|
||||
@@ -66,23 +65,27 @@ knx:
|
||||
- name: Living room cove brightness
|
||||
brightness_address: 1/2/2
|
||||
brightness_state_address: 1/5/2
|
||||
address: 1/0/1
|
||||
state_address: 1/4/1
|
||||
address: 1/0/2
|
||||
state_address: 1/4/2
|
||||
- name: Living room RGBW accent wall brightness
|
||||
brightness_address: 1/2/3
|
||||
brightness_state_address: 1/5/3
|
||||
address: 1/0/2
|
||||
state_address: 1/4/2
|
||||
address: 1/0/3
|
||||
state_address: 1/4/3
|
||||
rgbw_address: 1/3/3
|
||||
rgbw_state_address: 1/6/3
|
||||
- name: Kitchen worktop LED brightness
|
||||
brightness_address: 1/2/11
|
||||
brightness_state_address: 1/5/12
|
||||
address: 1/0/10
|
||||
state_address: 1/4/10
|
||||
address: 1/0/11
|
||||
state_address: 1/4/11
|
||||
color_temperature_address: 1/3/11
|
||||
color_temperature_mode: absolute
|
||||
color_temperature_state_address: 1/6/11
|
||||
- name: Kitchen island pendants brightness
|
||||
brightness_address: 1/2/12
|
||||
brightness_state_address: 1/5/12
|
||||
address: 1/0/11
|
||||
state_address: 1/4/11
|
||||
address: 1/0/12
|
||||
state_address: 1/4/12
|
||||
- name: Master bedroom ceiling brightness
|
||||
brightness_address: 1/2/20
|
||||
brightness_state_address: 1/5/20
|
||||
@@ -101,23 +104,28 @@ knx:
|
||||
- name: Master bath mirror CCT brightness
|
||||
brightness_address: 1/2/26
|
||||
brightness_state_address: 1/5/26
|
||||
address: 1/0/23
|
||||
state_address: 1/4/23
|
||||
address: 1/0/26
|
||||
state_address: 1/4/26
|
||||
color_temperature_address: 1/3/26
|
||||
color_temperature_mode: absolute
|
||||
color_temperature_state_address: 1/6/26
|
||||
- name: Kids room 1 ceiling brightness
|
||||
brightness_address: 1/2/30
|
||||
brightness_state_address: 1/5/30
|
||||
address: 1/0/3
|
||||
state_address: 1/4/3
|
||||
address: 1/0/30
|
||||
state_address: 1/4/30
|
||||
- name: Kids room 1 RGB accent brightness
|
||||
brightness_address: 1/2/31
|
||||
brightness_state_address: 1/5/31
|
||||
address: 1/0/4
|
||||
state_address: 1/4/4
|
||||
address: 1/0/31
|
||||
state_address: 1/4/31
|
||||
color_address: 1/3/31
|
||||
color_state_address: 1/6/31
|
||||
- name: Kids room 2 ceiling brightness
|
||||
brightness_address: 1/2/40
|
||||
brightness_state_address: 1/5/40
|
||||
address: 1/0/25
|
||||
state_address: 1/4/25
|
||||
address: 1/0/40
|
||||
state_address: 1/4/40
|
||||
- name: Staircase LED steps brightness
|
||||
brightness_address: 1/2/65
|
||||
brightness_state_address: 1/5/65
|
||||
@@ -153,6 +161,43 @@ knx:
|
||||
move_short_address: 2/1/30
|
||||
position_address: 2/2/30
|
||||
position_state_address: 2/6/1
|
||||
climate:
|
||||
- name: Living room HVAC mode
|
||||
temperature_address: 4/0/1
|
||||
target_temperature_state_address: 3/4/1
|
||||
target_temperature_address: 3/0/1
|
||||
operation_mode_address: 3/1/1
|
||||
command_value_state_address: 3/6/1
|
||||
- name: Kitchen HVAC mode
|
||||
temperature_address: 4/0/2
|
||||
target_temperature_state_address: 3/4/2
|
||||
target_temperature_address: 3/0/2
|
||||
operation_mode_address: 3/1/2
|
||||
command_value_state_address: 3/6/2
|
||||
- name: Master bedroom HVAC mode
|
||||
temperature_address: 4/0/3
|
||||
target_temperature_state_address: 3/4/3
|
||||
target_temperature_address: 3/0/3
|
||||
operation_mode_address: 3/1/3
|
||||
command_value_state_address: 2/6/10
|
||||
- name: Master bath HVAC mode
|
||||
temperature_address: 4/0/4
|
||||
target_temperature_state_address: 3/4/4
|
||||
target_temperature_address: 3/0/4
|
||||
operation_mode_address: 3/1/4
|
||||
command_value_state_address: 3/6/4
|
||||
- name: Kids room 1 HVAC mode
|
||||
temperature_address: 4/0/5
|
||||
target_temperature_state_address: 3/4/5
|
||||
target_temperature_address: 3/0/5
|
||||
operation_mode_address: 3/1/5
|
||||
command_value_state_address: 3/6/5
|
||||
- name: Kids bath 1 HVAC mode
|
||||
temperature_address: 4/0/6
|
||||
target_temperature_state_address: 3/4/6
|
||||
target_temperature_address: 3/0/6
|
||||
operation_mode_address: 3/1/6
|
||||
command_value_state_address: 3/6/6
|
||||
binary_sensor:
|
||||
- name: Master bath presence
|
||||
state_address: 4/4/4
|
||||
@@ -181,36 +226,6 @@ knx:
|
||||
- name: HVAC controller fault
|
||||
state_address: 6/1/1
|
||||
sensor:
|
||||
- name: Kitchen worktop LED colour temp
|
||||
state_address: 1/3/11
|
||||
type: 2byte_unsigned
|
||||
- name: Master bath mirror CCT colour temp
|
||||
state_address: 1/3/26
|
||||
type: 2byte_unsigned
|
||||
- name: Kitchen worktop LED colour temp status
|
||||
state_address: 1/6/11
|
||||
type: 2byte_unsigned
|
||||
- name: Master bath mirror CCT colour temp status
|
||||
state_address: 1/6/26
|
||||
type: 2byte_unsigned
|
||||
- name: Living room heating setpoint
|
||||
state_address: 3/0/1
|
||||
type: temperature
|
||||
- name: Kitchen heating setpoint
|
||||
state_address: 3/0/2
|
||||
type: temperature
|
||||
- name: Master bedroom heating setpoint
|
||||
state_address: 3/0/3
|
||||
type: temperature
|
||||
- name: Master bath heating setpoint
|
||||
state_address: 3/0/4
|
||||
type: temperature
|
||||
- name: Kids room 1 heating setpoint
|
||||
state_address: 3/0/5
|
||||
type: temperature
|
||||
- name: Kids bath 1 heating setpoint
|
||||
state_address: 3/0/6
|
||||
type: temperature
|
||||
- name: Kids room 2 heating setpoint
|
||||
state_address: 3/0/7
|
||||
type: temperature
|
||||
@@ -244,24 +259,6 @@ knx:
|
||||
- name: Kids room 2 AC setpoint
|
||||
state_address: 3/0/27
|
||||
type: temperature
|
||||
- name: Living room heating setpoint status
|
||||
state_address: 3/4/1
|
||||
type: temperature
|
||||
- name: Kitchen heating setpoint status
|
||||
state_address: 3/4/2
|
||||
type: temperature
|
||||
- name: Master bedroom heating setpoint status
|
||||
state_address: 3/4/3
|
||||
type: temperature
|
||||
- name: Master bath heating setpoint status
|
||||
state_address: 3/4/4
|
||||
type: temperature
|
||||
- name: Kids room 1 heating setpoint status
|
||||
state_address: 3/4/5
|
||||
type: temperature
|
||||
- name: Kids bath 1 heating setpoint status
|
||||
state_address: 3/4/6
|
||||
type: temperature
|
||||
- name: Kids room 2 heating setpoint status
|
||||
state_address: 3/4/7
|
||||
type: temperature
|
||||
@@ -295,24 +292,6 @@ knx:
|
||||
- name: Kids room 2 AC setpoint status
|
||||
state_address: 3/4/27
|
||||
type: temperature
|
||||
- name: Living room temperature
|
||||
state_address: 4/0/1
|
||||
type: temperature
|
||||
- name: Kitchen temperature
|
||||
state_address: 4/0/2
|
||||
type: temperature
|
||||
- name: Master bedroom temperature
|
||||
state_address: 4/0/3
|
||||
type: temperature
|
||||
- name: Master bath temperature
|
||||
state_address: 4/0/4
|
||||
type: temperature
|
||||
- name: Kids room 1 temperature
|
||||
state_address: 4/0/5
|
||||
type: temperature
|
||||
- name: Kids bath 1 temperature
|
||||
state_address: 4/0/6
|
||||
type: temperature
|
||||
- name: Kids room 2 temperature
|
||||
state_address: 4/0/7
|
||||
type: temperature
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# KNX Project Report — Nikolay Demo House
|
||||
|
||||
- **Source:** `demo-home.knxproj`
|
||||
- **Source:** `examples/demo-home/demo-home.knxproj`
|
||||
- **GA style:** ThreeLevel
|
||||
- **ETS tool version:** 6.1.5686.0 (xknxproject 3.9.0)
|
||||
- **Last modified:** 2026-06-28T10:00:00Z
|
||||
@@ -15,9 +15,9 @@
|
||||
- KNX Data Secure GAs: **0**
|
||||
|
||||
|
||||
**By category:** diagnostics=10, energy=2, hvac=77, lighting=100, scene=4, sensor=15, shutter=26, unknown=5
|
||||
**By category:** diagnostics=10, energy=2, hvac=77, lighting=106, scene=4, sensor=13, shutter=26, unknown=1
|
||||
|
||||
**By kind:** command=100, sensor=55, status=81, unknown=3
|
||||
**By kind:** command=104, sensor=53, status=81, unknown=1
|
||||
|
||||
|
||||
## 2. Findings
|
||||
@@ -51,10 +51,10 @@ Totals: 🔴 errors **2**, 🟡 warnings **10**, 🔵 info **0**
|
||||
|
||||
## 3. Home Assistant mapping preview
|
||||
|
||||
Entities that can be generated now: switch **19**, light **13**, cover **6**, binary_sensor **13**, sensor **63**.
|
||||
Entities that can be generated now: switch **19**, light **13**, cover **6**, climate **6**, binary_sensor **13**, sensor **41**.
|
||||
|
||||
|
||||
**Needs manual review (65):**
|
||||
**Needs manual review (50):**
|
||||
|
||||
- `0/1/2` All blinds down — verify_cover_mapping
|
||||
- `2/0/1` Living room window blind up/down — verify_cover_mapping
|
||||
@@ -63,26 +63,17 @@ Entities that can be generated now: switch **19**, light **13**, cover **6**, bi
|
||||
- `2/0/20` Kids room 1 blind up/down — verify_cover_mapping
|
||||
- `2/0/30` Kids room 2 blind up/down — verify_cover_mapping
|
||||
- `0/1/1` All lights off — switch_without_status
|
||||
- `0/0/1` Scene All off — manual_scene
|
||||
- `0/0/2` Scene Movie — manual_scene
|
||||
- `0/0/3` Scene Night — manual_scene
|
||||
- `0/0/4` Scene Away — manual_scene
|
||||
- `1/3/3` Living room RGBW accent wall colour — unmapped_dpt
|
||||
- `1/3/31` Kids room 1 RGB accent colour — unmapped_dpt
|
||||
- `1/6/3` Living room RGBW accent wall colour status — unmapped_dpt
|
||||
- `1/6/31` Kids room 1 RGB accent colour status — unmapped_dpt
|
||||
- `3/1/1` Living room HVAC mode — manual_climate
|
||||
- `3/1/2` Kitchen HVAC mode — manual_climate
|
||||
- `3/1/3` Master bedroom HVAC mode — manual_climate
|
||||
- `3/1/4` Master bath HVAC mode — manual_climate
|
||||
- `3/1/5` Kids room 1 HVAC mode — manual_climate
|
||||
- `3/1/6` Kids bath 1 HVAC mode — manual_climate
|
||||
- `3/1/7` Kids room 2 HVAC mode — manual_climate
|
||||
- `3/1/8` Kids bath 2 HVAC mode — manual_climate
|
||||
- `1/0/50` Guest WC ceiling switch — switch_without_status
|
||||
- `3/1/9` Guest WC HVAC mode — manual_climate
|
||||
- `3/1/10` Laundry HVAC mode — manual_climate
|
||||
- `3/1/11` Corridor GF HVAC mode — manual_climate
|
||||
- `3/1/12` Corridor UF HVAC mode — manual_climate
|
||||
- `0/0/1` Scene All off — manual_scene
|
||||
- `0/0/2` Scene Movie — manual_scene
|
||||
- `0/0/3` Scene Night — manual_scene
|
||||
- `0/0/4` Scene Away — manual_scene
|
||||
- `3/1/7` Kids room 2 HVAC mode — manual_climate
|
||||
- `3/1/8` Kids bath 2 HVAC mode — manual_climate
|
||||
- `3/1/21` Living room AC mode — manual_climate
|
||||
- `3/1/22` Kitchen AC mode — manual_climate
|
||||
- `3/1/23` Master bedroom AC mode — manual_climate
|
||||
@@ -102,11 +93,19 @@ Entities that can be generated now: switch **19**, light **13**, cover **6**, bi
|
||||
- `1/1/65` Staircase LED steps dim — not_mapped
|
||||
- `2/3/1` Living room window blind slat — shutter_slat_unattached
|
||||
- `2/3/10` Master bedroom blind slat — shutter_slat_unattached
|
||||
- `2/6/10` Master bedroom blind slat status — shutter_slat_unattached
|
||||
- `3/3/21` Living room AC fan speed — not_mapped
|
||||
- `3/3/22` Kitchen AC fan speed — not_mapped
|
||||
- `3/3/23` Master bedroom AC fan speed — not_mapped
|
||||
- … and 15 more
|
||||
- `3/3/25` Kids room 1 AC fan speed — not_mapped
|
||||
- `3/3/27` Kids room 2 AC fan speed — not_mapped
|
||||
- `3/6/3` Master bedroom floor valve status — not_mapped
|
||||
- `3/6/7` Kids room 2 floor valve status — not_mapped
|
||||
- `3/6/8` Kids bath 2 floor valve status — not_mapped
|
||||
- `3/6/9` Guest WC floor valve status — not_mapped
|
||||
- `3/6/10` Laundry floor valve status — not_mapped
|
||||
- `3/6/11` Corridor GF floor valve status — not_mapped
|
||||
- `3/6/12` Corridor UF floor valve status — not_mapped
|
||||
- `4/2/1` Living room CO2 — not_mapped
|
||||
|
||||
|
||||
## 4. Next steps
|
||||
|
||||
Reference in New Issue
Block a user