From 127fa98471329f08fb6dbc52fd62c0bd05aeef2b Mon Sep 17 00:00:00 2001 From: bahmcloud Date: Fri, 13 Feb 2026 12:14:45 +0100 Subject: [PATCH] Track project prompt and state files --- .gitignore | 2 ++ .idea/PROJECT_STATE.md | 55 ++++++++++++++++++++++++++++++++++++++++++ .idea/START_PROMPT.md | 20 +++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 .idea/PROJECT_STATE.md create mode 100644 .idea/START_PROMPT.md diff --git a/.gitignore b/.gitignore index 01d0600..66dad1e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ .idea/ +!.idea/START_PROMPT.md +!.idea/PROJECT_STATE.md .DS_Store __pycache__/ *.pyc diff --git a/.idea/PROJECT_STATE.md b/.idea/PROJECT_STATE.md new file mode 100644 index 0000000..12fbc38 --- /dev/null +++ b/.idea/PROJECT_STATE.md @@ -0,0 +1,55 @@ +# Project State: HA KNX Bridge + +## Project Description +HA KNX Bridge is a Home Assistant custom integration that mirrors Home Assistant entities +to KNX group addresses and accepts KNX actions to control Home Assistant entities. +It is installed via HACS and configured through the Home Assistant UI (config flow). +The integration should: +- Reuse an existing Home Assistant KNX integration entry when available. +- Allow users to add "Ports" that bind a single HA entity to KNX group addresses. +- Auto-select appropriate KNX DPTs and request only the group addresses needed. +- Ignore missing/empty group addresses without errors. + +Target compatibility: Home Assistant 2025.12 with forward compatibility to 2026.2. + +Project rules: +- Keep `README.md` updated for user-relevant changes after each new version. +- Maintain `CHANGELOG.md` with newest entries at the top. +- Releases are created only when explicitly requested. +- Version number must match everywhere it is referenced (manifest, changelog, README, HACS if used). + +## Current State (as of 2026-02-13) +Completed: +- Repo initialized with `main` branch and pushed to GitHub. +- HACS metadata (`hacs.json`) and base integration scaffold created. +- Config flow created with subentries ("Ports") for: + - Binary Sensor + - Cover +- KNX group address validation and normalization in subentry flows. +- Options flow skeleton added (no options yet). +- `bcs.yaml` metadata file added for BCS store listing. +- Bridge manager implements: + - Binary sensor state -> KNX send (DPT 1) + - Cover KNX incoming commands -> HA services + - Cover HA state -> KNX percent updates (DPT 5.001) +- README includes initial DPT mapping and roadmap. +- Project version set to 0.0.2 and `CHANGELOG.md` maintained. + +Files created: +- `custom_components/ha_knx_bridge/__init__.py` +- `custom_components/ha_knx_bridge/bridge.py` +- `custom_components/ha_knx_bridge/config_flow.py` +- `custom_components/ha_knx_bridge/const.py` +- `custom_components/ha_knx_bridge/manifest.json` +- `custom_components/ha_knx_bridge/strings.json` +- `hacs.json` +- `README.md` +- `CHANGELOG.md` +- `.gitignore` + +Open items / next steps: +- Validate and format KNX group address inputs in config flow. +- Add optional option flow for future settings. +- Expand entity coverage (light, switch, sensor, climate). +- Add tests (config flow, KNX mapping). +- Improve DPT auto-selection logic per entity features. diff --git a/.idea/START_PROMPT.md b/.idea/START_PROMPT.md new file mode 100644 index 0000000..4e29505 --- /dev/null +++ b/.idea/START_PROMPT.md @@ -0,0 +1,20 @@ +# Start Prompt (Use for Every New Chat) + +You are working on the `HA-KNX-Bridge` project. + +Required steps at the start of every new chat: +1. Read `.idea/PROJECT_STATE.md` to understand the goal and current status. +2. Scan the repository for recent code changes relevant to the request. +3. If you make changes, update `.idea/PROJECT_STATE.md` to reflect the new state and date. + +Constraints: +- Keep the project description and state accurate and concise. +- Always write an explicit date (YYYY-MM-DD) when updating the Current State section. +- Do not invent progress; only record what is verified in the repo. +- After any user-relevant change and version bump, update `README.md`. +- Maintain `CHANGELOG.md` with newest entries at the top, format: + - Version number + - Date (YYYY-MM-DD) + - Bullet list of changes +- Create releases only when explicitly requested. +- Keep the version number consistent in all files where it appears.