Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .github/workflows/publish-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ concurrency:
cancel-in-progress: false

permissions:
contents: read
contents: write
packages: write

jobs:
Expand Down Expand Up @@ -63,6 +63,19 @@ jobs:
- name: Validate Home Assistant integration syntax
run: python3 -m compileall -q homeassistant/integration

- name: Package HACS integration release
run: |
cd homeassistant/integration
zip -r ../../virtual_carillon.zip . -x '__pycache__/*' '*.pyc'

- name: Publish GitHub release with HACS asset
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: >-
gh release create "${GITHUB_REF_NAME}" virtual_carillon.zip
--title "Virtual Carillon ${GITHUB_REF_NAME}"
--generate-notes

- name: Log in to GHCR
uses: docker/login-action@v3
with:
Expand Down
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Virtual Carillon

<p align="center">
<img src="homeassistant/app/logo.png" alt="Virtual Carillon" width="480">
<img src="homeassistant/integration/brand/logo@2x.png" alt="Virtual Carillon" width="480">
</p>

Virtual Carillon turns your speakers into a programmable Church carillon.
Expand All @@ -20,7 +20,7 @@ You can also run the carillon on its own from the command line or connect to it

Most people will use Virtual Carillon with [Home Assistant](https://www.home-assistant.io/getting-started/), a free, self-hosted home-automation system. The included Home Assistant Integration provides a user-friendly GUI to interact with Virtual Carillon. We also provide Virtual Carillon as a standalone app for advanced users who are comfortable working from the command line and don't want to use Home Assistant.

[HACS](https://hacs.xyz/docs/use/) (Home Assistant Community Store) is an optional community store inside Home Assistant. This repository keeps all Home Assistant sources under `homeassistant/`; use the manual installation path below unless a HACS release package is provided.
[HACS](https://hacs.xyz/docs/use/) (Home Assistant Community Store) is the recommended way to install the Home Assistant integration. Releases include the HACS package; the repository keeps its source under `homeassistant/integration` so no HACS-specific top-level source directory is needed. If HACS is unavailable, use the manual installation fallback below.

For either Home Assistant path, you must have at least one working Home Assistant `media_player` (speaker) before setting up Virtual Carillon.

Expand All @@ -40,9 +40,13 @@ Use this path when your Home Assistant installation has **Settings → Apps**. I

2. Search the App store for **Virtual Carillon**, select it, choose **Install**, and then choose **Start**.
3. Open the app’s **Configuration** tab. Set **API token** to a long, unique private value, choose **Save**, and restart the app if Home Assistant asks.
4. Install the integration:
4. Install the integration through HACS:

- **Manual installation:** copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant.
- In HACS, open **Integrations**, choose the three-dot menu, and select **Custom repositories**.
- Add `https://github.com/HPaulson/virtual-carillon` as an **Integration**, then choose **Download** for the latest release.
- Restart Home Assistant when HACS asks.

If HACS is unavailable, manually copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant.

5. Open **Settings → Devices & services → Add integration**, search for **Virtual Carillon**, and enter:

Expand Down Expand Up @@ -80,7 +84,14 @@ Use this path when Home Assistant itself runs in a Docker container. Virtual Car

The `virtual-carillon_default` network is created by the command in step 3. Once both containers share it, Home Assistant can reach the engine as `http://virtual-carillon:9876`. Keep this connection in your own Compose configuration if you recreate the Home Assistant container.

5. Copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant. HACS custom repositories currently require the integration under a repository-root `custom_components/` directory, so this source layout is intentionally installed manually.
5. Install the integration through HACS:

- In HACS, open **Integrations**, choose the three-dot menu, and select **Custom repositories**.
- Add `https://github.com/HPaulson/virtual-carillon` as an **Integration**, then choose **Download** for the latest release.
- Restart Home Assistant when HACS asks.

If HACS is unavailable, manually copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant.

6. Open **Settings → Devices & services → Add integration**, search for **Virtual Carillon**, and enter:

- **Engine URL:** `http://virtual-carillon:9876`
Expand Down
5 changes: 4 additions & 1 deletion hacs.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"name": "Virtual Carillon",
"homeassistant": "2024.1.0"
"homeassistant": "2024.1.0",
"zip_release": true,
"filename": "virtual_carillon.zip",
"hide_default_branch": true
}
Loading