diff --git a/.idea/changes.md b/.idea/changes.md index a0ef851..21a4208 100644 --- a/.idea/changes.md +++ b/.idea/changes.md @@ -18,6 +18,7 @@ - Added the broader product roadmap to the persistent project prompt: blueprints, templates, Lovelace designs, and more category support as future store targets. - Started the blueprint/category-aware installer preparation: installation metadata now distinguishes install type and installed paths, repo payloads expose install targets, and the active panel shows install-target context for future non-integration categories. - Added initial blueprint install-path handling groundwork so the codebase is no longer fully hard-wired to `custom_components/`. +- Bumped the integration version from `0.7.4` to `0.7.5` and added the `0.7.5` release entry to `CHANGELOG.md` for blueprint support and the documentation refresh. ### Documented - Captured the verified project identity from the repository and README files: Bahmcloud Store is a Home Assistant custom integration intended to behave like a provider-neutral store for custom integrations, similar to HACS but broader than GitHub-only workflows. diff --git a/.idea/start prompt.md b/.idea/start prompt.md index 9e3a897..376933c 100644 --- a/.idea/start prompt.md +++ b/.idea/start prompt.md @@ -130,5 +130,5 @@ Recommended workflow for future tasks: 6. If and only if a release is being prepared with user approval, fold release-worthy changes into `CHANGELOG.md`. Current release baseline: -- `manifest.json` version is `0.7.4` -- Latest documented release in `CHANGELOG.md` is `0.7.4` dated `2026-03-23` +- `manifest.json` version is `0.7.5` +- Latest documented release in `CHANGELOG.md` is `0.7.5` dated `2026-03-23` diff --git a/CHANGELOG.md b/CHANGELOG.md index 4319079..4804a83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,18 @@ Sections: --- +## 0.7.5 - 2026-03-23 + +### Added +- Initial blueprint install support with deployment to the Home Assistant blueprints folder. +- Category-aware install metadata including install type, install target, and installed paths. +- Install target details in the repository view for supported content categories. + +### Changed +- Store documentation refreshed to match the current feature set, including pinned repositories, release notes, and blueprint support. +- Non-integration content handling is now prepared for category-specific install strategies instead of assuming `custom_components` only. +- Frontend asset version updated so the latest store UI changes load immediately after deployment. + ## 0.7.4 - 2026-03-23 ### Added diff --git a/README.md b/README.md index 6e9c8dd..b1d956b 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,86 @@ # Bahmcloud Store (BCS) for Home Assistant -Bahmcloud Store (BCS) is a provider-neutral store for Home Assistant custom integrations. -It allows you to browse, install, update, downgrade, uninstall and restore integrations -directly from the Home Assistant UI. +Bahmcloud Store (BCS) is a provider-neutral store for Home Assistant content hosted on git platforms. +It currently supports installing and managing: -This README is intended for **end users**. +- Integrations +- Blueprints + +Supported providers today: + +- GitHub +- GitLab +- Gitea / Forgejo-style hosts +- Custom repositories added by URL when the host behaves compatibly + +This README is for end users. + +--- + +## Features + +- Browse repositories from the official BCS index, HACS integration source, and custom repository URLs +- Install, update, downgrade, and uninstall integrations directly from Home Assistant +- Install blueprint repositories directly into the Home Assistant blueprints folder +- Read repository README files inside the store UI +- View release notes for provider releases +- Pin repositories so important items stay easy to find +- Use native Home Assistant update entities for installed integrations +- Create and restore backups for integration installs and updates --- ## Installation -### Option A: Home Assistant OS / Supervised (Add-on – recommended) +### Option A: Home Assistant OS / Supervised -1. Open **Settings → Add-ons → Add-on Store** -2. Add the Bahmcloud Add-on repository +1. Open **Settings -> Add-ons -> Add-on Store** +2. Add the Bahmcloud add-on repository: `https://git.bahmcloud.de/bahmcloud/addons` 3. Install **Bahmcloud Store Installer** 4. Start the add-on 5. Restart Home Assistant Installed to: -/config/custom_components/bahmcloud_store +`/config/custom_components/bahmcloud_store` ---- - -### Option B: Manual Installation (Container / Core) +### Option B: Manual Installation 1. Download the latest release 2. Copy `custom_components/bahmcloud_store` to: - /config/custom_components/bahmcloud_store + `/config/custom_components/bahmcloud_store` 3. Restart Home Assistant --- ## Repository Sources -- **BCS Official** -- **HACS** -- **Custom** +- **BCS Official**: repositories from the Bahmcloud store index +- **HACS**: optional official HACS integration source +- **Custom**: repositories you add manually by URL + +--- + +## Current Content Support + +### Integrations + +- Expected repository content: `custom_components//...` +- Install target: `/config/custom_components/` +- Supports install, update, uninstall, backup, restore, version selection, and update entities +- Restart required after install, update, uninstall, or restore + +### Blueprints + +- Expected repository content: `blueprints/...` +- Install target: `/config/blueprints/...` +- Supports install and uninstall through the store +- No restart is normally required for blueprint deployment --- ## Documentation -Developer documentation: -https://git.bahmcloud.de/bahmcloud/bahmcloud_store/src/branch/main/README_DEVELOPER.md +- Developer documentation: `README_DEVELOPER.md` +- Full user guide: `README_FULL.md` -Full technical documentation: -https://git.bahmcloud.de/bahmcloud/bahmcloud_store/src/branch/main/README_FULL.md diff --git a/README_DEVELOPER.md b/README_DEVELOPER.md index 955d60a..44c6c65 100644 --- a/README_DEVELOPER.md +++ b/README_DEVELOPER.md @@ -1,115 +1,159 @@ -# Bahmcloud Store – Developer Documentation +# Bahmcloud Store - Developer Documentation For contributors and maintainers. -## Architecture +## Project Scope -Repositories: -1) Installer Add-on (HAOS/Supervised) ```https://git.bahmcloud.de/bahmcloud/addons``` -2) Core Integration ```https://git.bahmcloud.de/bahmcloud/bahmcloud_store``` -3) Store Index (`store.yaml`) ```https://git.bahmcloud.de/bahmcloud/ha_store``` +Bahmcloud Store is evolving from an integration-only store into a broader Home Assistant git-based content store. -### Integration Layout +Currently supported install categories: -custom_components/bahmcloud_store/ -- __init__.py: setup, panel registration, schedule background after HA started -- core.py: index merge, enrichment, install/update/uninstall, backups, restore, caching -- providers.py: GitHub/GitLab/Gitea repo info + latest version helpers -- metadata.py: read bcs.yaml / hacs.json / hacs.yaml -- storage.py: persistent storage (installed, custom, repo cache, hacs cache) -- views.py: HTTP API endpoints -- update.py: UpdateEntity implementation -- repairs.py: (optional) Repairs flow for restart -- panel/: UI (panel.js, styles.css, etc.) -- manifest.json +- Integrations +- Blueprints + +Planned categories: + +- Templates +- Lovelace / dashboard designs +- Additional content types with category-specific install logic + +## Repository Layout + +Repositories related to the project: + +1. Installer add-on: + `https://git.bahmcloud.de/bahmcloud/addons` +2. Core integration: + `https://git.bahmcloud.de/bahmcloud/bahmcloud_store` +3. Store index: + `https://git.bahmcloud.de/bahmcloud/ha_store` + +## Integration Layout + +`custom_components/bahmcloud_store/` + +- `__init__.py`: setup, panel registration, delayed startup refresh, periodic refresh +- `core.py`: index merge, repo enrichment, install/update/uninstall, backup/restore, category-aware install groundwork +- `providers.py`: provider detection, latest version lookup, release notes, README fetching +- `metadata.py`: reads `bcs.yaml`, `hacs.json`, and `hacs.yaml` +- `storage.py`: persistent storage for installed repos, settings, caches +- `views.py`: HTTP API +- `update.py`: Home Assistant update entities +- `repairs.py`: restart-required repair flow +- `panel/`: active frontend panel +- `manifest.json` ## Runtime Model -- RepoItem (merged) -- Installed repos (storage) -- Repo cache (persisted enrichment) -- HACS meta cache (mapping owner/repo → name/description) - -## Background - -- Heavy work only after `homeassistant_started` -- Refresh: if index unchanged → installed-only refresh + schedule enrichment -- Opening a repo triggers `ensure_repo_details()` and persists to cache - -## Providers - -- GitHub: API/releases/tags/atom + raw readme -- GitLab: API releases/tags + raw readme -- Gitea: API releases/tags + raw readme -- Custom: API or HTTPS Request to your Git Provider +- `RepoItem`: merged repository model used by the UI and backend +- Installed repositories: persisted in Home Assistant storage +- Settings: persistent UI and behavior settings such as HACS enablement and pinned repositories +- Repo cache: provider and metadata enrichment cache +- HACS cache: display metadata cache for HACS integration repositories ## Metadata -- Prefer `bcs.yaml`, fallback `hacs.json` / `hacs.yaml` -- Populate name/description/category/author/maintainer +Metadata priority: -## HTTP API (excerpt) +1. `bcs.yaml` +2. `hacs.yaml` +3. `hacs.json` -Base: /api/bcs +Common fields: -- GET /api/bcs -- POST /api/bcs?action=refresh -- GET /api/bcs/readme?repo_id=... -- GET /api/bcs/versions?repo_id=... -- POST /api/bcs/install?repo_id=...&version=... -- POST /api/bcs/update?repo_id=...&version=... -- POST /api/bcs/uninstall?repo_id=... -- GET /api/bcs/backups?repo_id=... -- POST /api/bcs/restore?repo_id=...&backup_id=... -- (optional) POST/DELETE custom_repo - -## Update Entities - -- Unique id bcs: -- Compare installed ref vs latest ref -- Dispatcher signal on refresh/install/update - -## Storage - -- JSON in HA `.storage` -- async read/write helpers -- repo cache applied on startup - -## Contributing to **BCS Official** - -1) Add pull request to `https://git.bahmcloud.de/bahmcloud/ha_store` (with your integration added to) `store.yaml`) -2) Add entry: ```yaml -- name: Your Integration Name - url: https://your-git-hoster.com/your-org/your-repo - category: Category (actually only "Integrations" are supported) +name: Example Project +description: Short description +category: Integrations +author: Example Author +maintainer: Example Maintainer ``` -3) (Recommended) Add `bcs.yaml` to your repo: + +Category currently matters operationally: + +- `Integrations` -> install from `custom_components/...` +- `Blueprint` / `Blueprints` -> install from `blueprints/...` + +## Supported Install Categories + +### Integrations + +- Expected source layout: `custom_components//manifest.json` +- Install target: `/config/custom_components/` +- Supports backup, restore, update entities, and restart-required flow + +### Blueprints + +- Expected source layout: `blueprints/...` +- Install target: `/config/blueprints/...` +- Initial support is focused on direct install and uninstall +- Category-aware groundwork is in place so future content types can use their own install strategies + +## HTTP API + +Base path: `/api/bcs` + +- `GET /api/bcs` +- `POST /api/bcs?action=refresh` +- `GET /api/bcs/settings` +- `POST /api/bcs/settings` +- `GET /api/bcs/readme?repo_id=...` +- `GET /api/bcs/release_notes?repo_id=...&ref=...` +- `GET /api/bcs/versions?repo_id=...` +- `GET /api/bcs/repo?repo_id=...` +- `POST /api/bcs/install?repo_id=...&version=...` +- `POST /api/bcs/update?repo_id=...&version=...` +- `POST /api/bcs/uninstall?repo_id=...` +- `GET /api/bcs/backups?repo_id=...` +- `POST /api/bcs/restore?repo_id=...&backup_id=...` +- `POST /api/bcs/restart` +- `DELETE /api/bcs/custom_repo?id=...` + +## Current UI Features + +- Search, source filter, category filter, state filter, sorting +- HACS integration source toggle +- Pinned repositories +- README rendering +- Release notes rendering +- Version selection +- Backup restore UI for integrations + +## Contributing to the Official Store Index + +Add a repository to the BCS store index in `ha_store`. + +Example index entry: + ```yaml -name: Your Integration Name -description: One-liner for the store (optional, store information are also catched from git repository) -category: Integrations (actually only supported) -author: Your Name -maintainer: Your Handle +- name: Example Project + url: https://your-git-hoster.example/org/repo + category: Blueprint ``` -4) Open PR; validation checks: reachable, has `custom_components//manifest.json`, sensible metadata -5) Merge → appears in **BCS Official** after refresh -## Coding Guidelines +Recommended repository metadata: -- Async I/O, no blocking event loop -- Respect provider rate limits -- Clean logging around refresh/install/update/restore -- Keep UI responsive; throttle updates +```yaml +name: Example Project +description: One-line description +category: Blueprint +author: Example Author +maintainer: Example Maintainer +``` ---- +Validation should match the category: -## Planed Features +- Integrations: verify `custom_components//manifest.json` +- Blueprints: verify `blueprints/...` -- Add Downloads and install for category "Dashboard" -- Add Downloads and install for category "Template" -- Add Downloads and install for category "Theme" -- Add Downloads and install for category "Blueprint" -- +## Design Direction +The long-term architecture should remain category-aware: + +- category -> validation strategy +- category -> install target +- category -> backup / restore behavior +- category -> UI affordances + +This is especially important before Templates and Lovelace support are added, because those should stay compatible with established HACS expectations where possible. diff --git a/README_FULL.md b/README_FULL.md index af496f2..2d2c92f 100644 --- a/README_FULL.md +++ b/README_FULL.md @@ -1,27 +1,30 @@ -# Bahmcloud Store – Full User Guide +# Bahmcloud Store - Full User Guide -This guide explains **all features** of Bahmcloud Store (BCS) for Home Assistant. -It is written for users and admins who want a complete, practical reference. +This guide explains the current feature set of Bahmcloud Store (BCS) for Home Assistant. -> BCS lets you install & manage custom integrations from **GitHub/GitLab/Gitea** and your own sources, with backups, restore, and version pinning. +BCS is a git-based store UI that can currently manage integrations and blueprints from multiple repository providers. --- ## Contents + - Concepts -- Sources (BCS / HACS / Custom) +- Sources +- Supported Content Types - UI Overview -- Finding Integrations +- Finding Repositories - Installing -- Selecting Versions / Downgrading +- Selecting Versions - Updating - Uninstalling -- Backups & Restore +- Pinned Repositories +- Release Notes +- Backups and Restore - Custom Repositories - HACS Repositories -- Update Entities in Home Assistant -- Background Caching & Performance -- Restart Required +- Update Entities +- Performance and Caching +- Restart Behavior - Troubleshooting - FAQ @@ -29,189 +32,281 @@ It is written for users and admins who want a complete, practical reference. ## Concepts -- **Sources**: - - **BCS Official** → entries from index (`store.yaml`) made and added from Bahmcloud - - **HACS** → official HACS integrations list (toggleable) - - **Custom** → manual entries you add locally -- **Install location**: `/config/custom_components/` -- **Backup**: BCS keeps pre‑update copies in `/config/.bcs_backups///` +### Sources + +- **BCS Official**: repositories from the official Bahmcloud index +- **HACS**: optional HACS integration source +- **Custom**: repositories you add manually by URL + +### Installed Ref + +BCS stores the installed ref separately from any version declared inside the repository itself. +That makes update checks more reliable when a repository uses tags or releases that do not exactly match its internal manifest version. --- -## Sources (BCS / HACS / Custom) +## Supported Content Types -Each repository card shows a **source badge**: -- **BCS Official** – from Bahmcloud index -- **HACS** – from HACS official list (enable with the toggle) -- **Custom** – added by you +### Integrations -You can **filter by source** with the **Source** dropdown (All / BCS Official / HACS / Custom). +- Source layout: `custom_components//...` +- Install target: `/config/custom_components/` +- Supports install, update, downgrade, uninstall, backups, restore, and update entities +- Restart required after install, update, uninstall, or restore + +### Blueprints + +- Source layout: `blueprints/...` +- Install target: `/config/blueprints/...` +- Supports install and uninstall through the store +- Intended for blueprint repositories without integration-specific folder structures --- ## UI Overview -Top bar: -- **Search** (name/description) -- **Source** filter (All/BCS Official/HACS/Custom) -- **Category** filter (actually only Integrations are supported) -- **State-Filter** filter (All/Installed/Not installed/Update available/Custom repos) -- **Sort** (name (A-Z)/Updates first/Installed first) -- **HACS official** toggle (on/off) +Store view: -Repository card: -- Name, description, badges (source, installed/update), category -- Buttons: **Install / Update / Uninstall** -- **Readme** expandable -- **Open** to see details (available versions, metadata) +- Search +- Source filter +- Category filter +- State filter +- Sorting +- HACS source toggle +- Pinned repository filtering and sorting + +Repository detail view: + +- README rendering +- Release notes for provider releases +- Version selector +- Install / Update / Uninstall actions +- Pin / Unpin action +- Backup restore action for integrations +- Category and install target information --- -## Finding Integrations +## Finding Repositories -1. Use **Search** to filter by keywords. -2. Combine with **Category** and **Source**. -3. Sort to surface desired results. +1. Use **Search** to filter by name, description, or URL. +2. Use **Source** to switch between BCS Official, HACS, and Custom repositories. +3. Use **Category** to focus on a specific content type. +4. Use **Pinned** filtering or sorting to surface repositories you watch often. -Descriptions and latest versions are filled progressively by a background process; opening a repo loads details on demand. +Descriptions, metadata, and latest versions may appear progressively because BCS enriches repository information in the background. --- ## Installing -1. Open a repository. -2. Optionally select **Install version** (default: **Latest**). -3. Click **Install** and wait for confirmation. -4. Follow the **Restart required** prompt. (or use restart toggle in HomeAssistant Settings) +### Integration Install -**What happens internally** -- BCS downloads the repository ZIP for the selected version (release/tag/branch). -- It extracts all integrations found under `custom_components/` and deploys them. -- It saves the **installed version (ref)** to track updates reliably, even if the repo’s own `manifest.json` is wrong/outdated. +1. Open a repository. +2. Optionally select a version. +3. Click **Install**. +4. Restart Home Assistant when prompted. + +Internally, BCS: + +- downloads the selected repository archive +- extracts `custom_components/...` +- installs every valid integration found there +- stores the installed ref +- creates backups before overwriting existing integration folders + +### Blueprint Install + +1. Open a blueprint repository. +2. Optionally select a version. +3. Click **Install**. + +Internally, BCS: + +- downloads the selected repository archive +- extracts `blueprints/...` +- copies blueprint files into `/config/blueprints/...` + +Blueprint installs normally do not require a Home Assistant restart. --- -## Selecting Versions / Downgrading +## Selecting Versions -- Use the **Install version** dropdown in the detail view. -- Choose **Latest** or a previous **release/tag**. -- Installing a chosen ref **pins** the integration to that ref (no surprise updates). -- You can upgrade again later by selecting **Latest** and clicking **Update**. +- Use the version selector in the detail view. +- `Latest` uses the newest provider release or tag BCS can determine. +- You can install an older release or tag when available. +- Release notes are shown when the selected version is a provider release with a body. --- ## Updating -- The **Update** button appears when `latest_version` differs from your **installed version (ref)**. -- Updates are also available via **Home Assistant → Settings → Updates** (native Update entity). -- Clicking **Update** runs the same safe pipeline as **Install** (with backup). +### Integrations -**Tip:** Opening a repository detail view forces an immediate check for the latest version for that repo. +- The **Update** button appears when the latest ref differs from the installed ref. +- Updates are also available through **Settings -> Updates** via native Home Assistant update entities. +- Integration updates create backups before overwriting files. + +### Blueprints + +- Blueprint repositories can also be reinstalled from another selected version. +- The current blueprint path handling is focused on direct deployment to the blueprints folder. --- ## Uninstalling -- Click **Uninstall** on the repository. -- BCS removes the integration folders under `custom_components/`. -- The installed state is cleared in the Store. -- Restart Home Assistant if prompted. +### Integrations + +- Removes the installed integration directories from `/config/custom_components` +- Clears the installed state in BCS +- Usually requires a restart + +### Blueprints + +- Removes the installed blueprint files recorded by BCS +- Cleans up empty directories below `/config/blueprints` when possible --- -## Backups & Restore +## Pinned Repositories -Before an update/install over existing files, BCS creates a backup: +You can pin repositories to keep important items easy to find. -``` -/config/.bcs_backups/// -``` +Current behavior: -**Restore**: -1. Open the repository in store. -2. Select **Restore…**. -3. Pick one of the **last backups** (up to retention limit). (Version details are showed in ()) -4. Confirm – BCS restores files and reconciles installed version to the restored ref. -5. Restart Home Assistant if prompted. +- Pin or unpin from the detail view +- Filter the store by pinned repositories +- Sort the store with pinned repositories first +- Pinned repositories show a dedicated badge in the store overview +- Pinned state is persisted in settings -If the old backup lacks metadata, BCS best‑effort derives the installed version from the backup’s `manifest.json`, or marks the ref as `restored:` so updates remain possible. +--- + +## Release Notes + +When a provider release has a release body, BCS can show release notes in the detail view for the selected version. + +Notes: + +- Release notes are available for real releases, not every tag or branch +- If no provider release body exists, BCS shows a clear not-available state + +--- + +## Backups and Restore + +Integration installs and updates create backups before overwriting existing files. + +Backup path: + +`/config/.bcs_backups///` + +Restore flow: + +1. Open the repository detail +2. Click **Restore** +3. Select a backup +4. Confirm restore +5. Restart Home Assistant if prompted + +Restore is currently intended for integrations. --- ## Custom Repositories -You can add any public repository (GitHub/GitLab/Gitea/Any other Git Hoster). BCS will attempt to detect: -- provider & default branch -- latest version (release/tag/atom) -- repo metadata (prefer `bcs.yaml`, fallback `hacs.json/hacs.yaml`) -- readme (common filenames) +You can add any public repository URL that matches a supported provider style and contains supported content. -**Add an custom repository**(typical flows): -- From the Store UI - 1. If you start up Bahmcloud Store, you are on tab "Store" - 2. Go to tab "Manage" - 3. Add Repository URL (Example: ``https://git.bahmcloud.de/bahmcloud/bahmcloud_store``) and (optional) Name you want to show up (will be grabbed from GIT Repository) - 4. Repository show up in Custom Repositories-list and in "Store" Tab, if available +BCS attempts to detect: -**Remove an custom repository**(typical flows): -- From the Store UI - 1. If you start up Bahmcloud Store, you are on tab "Store" - 2. Go to tab "Manage" - 3. Your repository you want to remove (if its custom) show up in the list - 4. Press "Remove" Button to delete from Store (Attention: If you Remove installed Repository, you won´t be able to Uninstall from Store, you have to remove by your own (Delete Folder from ```config/custom_components/*```)) +- provider +- default branch +- latest version +- metadata from `bcs.yaml`, `hacs.yaml`, or `hacs.json` +- README content -Custom repos get the **Custom** badge and can be filtered via **Source**. +Custom repositories get a **Custom** badge and can be filtered separately. --- ## HACS Repositories -Enable the **HACS official** toggle to include official HACS integrations. +Enable the HACS toggle to include official HACS integration repositories. -- BCS downloads the HACS integration list and maps **human‑readable names/descriptions** from HACS metadata. -- HACS entries are **not** part of your BCS-Official Repositories (avoid duplicate entries). +Current scope: -With many HACS repos, metadata loads in the background; names/descriptions appear progressively and are cached. +- HACS source support is currently focused on integrations +- HACS metadata is used to improve naming and descriptions --- -## Update Entities in Home Assistant +## Update Entities -BCS exposes update entities for installed repos: -- Found under **Settings → Updates** -- Clicking **Install** triggers BCS update pipeline -- Shows **installed** and **latest** versions (BCS ref logic) +BCS exposes Home Assistant update entities for installed integrations. + +- Found under **Settings -> Updates** +- Shows installed ref and latest ref +- Lets Home Assistant trigger the BCS update pipeline + +Blueprint repositories do not currently use the integration-style update entity flow. --- -## Background Caching & Performance +## Performance and Caching -- **Fast initial list**: index + local cache only -- **Background enrichment**: provider info, latest version, metadata, description, readme (best effort) -- **On‑demand**: opening a repo triggers immediate enrichment; data is **persisted** to cache -- **Persistent cache**: survives HA restarts; speeds up subsequent runs -- **Refresh**: immediately rechecks installed repos and key metadata +BCS is designed to keep startup responsive. + +- Heavy work runs after Home Assistant startup +- Repo data is enriched in the background +- Repository details are cached +- Version lists are cached +- HACS metadata is cached + +Opening a repository detail view can force immediate enrichment for that repository. --- -## Restart Required +## Restart Behavior -After install, update, or restore, BCS raises a **Restart required** item in Home Assistant (Repairs). You can restart directly from there. +Restart usually matters only for integration changes. + +- Integration install/update/uninstall/restore: restart expected +- Blueprint install/uninstall: restart usually not needed + +BCS uses a Home Assistant repair flow to surface restart requirements for integration changes. --- ## Troubleshooting -- **New release but no update**: Open the repo detail once; ensure it’s a **release/tag** (commits alone don’t change the ref). -- **Descriptions/Latest missing**: Wait for background enrichment or open the repo detail (forces enrichment). Cached afterwards. -(You also can Install new version by selecting in Version tab) -- **Slow startup**: BCS schedules heavy work after HA started. Keep indexes reasonable. +- **Latest version missing**: open the repository detail once to force a recheck +- **Release notes missing**: the selected version may be a tag or branch without a provider release body +- **Blueprint install fails**: verify the repository really contains a `blueprints/` folder +- **Integration install fails**: verify the repository contains `custom_components//manifest.json` +- **Repo appears but cannot install**: metadata can describe the category, but the repository layout still has to match that category --- ## FAQ -- **Backups path?** `/config/.bcs_backups///` -- **Install path?** `/config/custom_components/` -- **Downgrade?** Yes, pick an older version and install. -- **Restart needed?** Yes, after install/update/restore. +### Where are integrations installed? + +`/config/custom_components/` + +### Where are blueprints installed? + +`/config/blueprints/...` + +### Are pinned repositories persistent? + +Yes. + +### Do blueprints require a restart? + +Usually no. + +### Do integrations require a restart? + +Yes, normally after install, update, uninstall, or restore. diff --git a/custom_components/bahmcloud_store/manifest.json b/custom_components/bahmcloud_store/manifest.json index b373c8f..d9c6a44 100644 --- a/custom_components/bahmcloud_store/manifest.json +++ b/custom_components/bahmcloud_store/manifest.json @@ -1,7 +1,7 @@ { "domain": "bahmcloud_store", "name": "Bahmcloud Store", - "version": "0.7.4", + "version": "0.7.5", "documentation": "https://git.bahmcloud.de/bahmcloud/bahmcloud_store", "config_flow": true, "platforms": ["update"],