ha-fusion
A modern, easy-to-use and performant custom Home Assistant dashboard
https://www.youtube.com/watch?v=D8mWruSuPOM
If you find this project useful, be sure to 🌟 this repository! If you love it, please consider donating! ❤️ https://www.paypal.com/paypalme/matt8707
📣 Pre-beta
The current state of this project is pre-beta. This means that there's basic functionality missing, incomplete features and unresolved issues. General feedback, bug reports and feature requests are welcome!
Installation
Add-on
For "Operating System" or "Supervised" installation methods, you can install ha-fusion as an add-on:
-
Add Repository: To begin, add the ha-fusion add-on repository to your Home Assistant instance. Click the button below or manually add the repository using this URL: https://github.com/matt8707/addon-ha-fusion.
-
Install Add-on: After adding the repository, refresh the add-on store page. Locate ha-fusion in the list and proceed with the installation.
Docker
If you're using the "Container" or "Core" installation methods, ha-fusion can be installed via Docker:
-
Docker Compose File: Place your edited copy of the docker-compose.yml file in a suitable directory.
-
Create Container: Run the following commands in your terminal to start the container:
cd path/to/docker-compose.yml docker-compose up -d ha-fusion
Update
To update to the latest version of ha-fusion, run the following commands:
docker-compose pull ha-fusion
docker-compose up -d ha-fusion
Alternative
Without docker-compose, updating the container involves additional steps. For each update, it's necessary to first stop the current container, remove it, pull the new image, and then execute the docker run command again.
docker run -d \
--name ha-fusion \
--network bridge \
-p 5050:5050 \
-v /path/to/ha-fusion:/app/data \
-e TZ=Europe/Stockholm \
-e HASS_URL=http://192.168.1.241:8123 \
--restart always \
ghcr.io/matt8707/ha-fusion
Kubernetes
If you prefer to use Kubernetes, you can deploy ha-fusion using the provided Helm charts:
-
Clone the Repository: Clone the ha-fusion repository to your local machine.
git clone https://github.com/matt8707/ha-fusion.git
-
Navigate to the Charts Directory: Change to the charts directory.
cd ha-fusion/charts
-
Customize Values: Modify the
values.yaml
file to suit your environment. -
Deploy the Chart: Run the following command to deploy ha-fusion to your Kubernetes cluster.
helm install ha-fusion .
for more indepth instructions, see Chart README.md
...
Query strings
View
To set a particular view when the page loads, add the "view" parameter. For example, if you have a "Bedroom" view, append the query string ?view=Bedroom
to the URL.
Menu
To disable the menu button, append the query string ?menu=false
to the URL. This is useful when you want to avoid unwanted changes to your dashboard, such as on wall-mounted tablets.
Keyboard Shortcuts
Key | Description |
---|---|
f | filter |
esc | exit |
cmd + s | save |
cmd + z | undo |
cmd + shift + z | redo |
Debug
To debug any errors, check the "Log" tab if you're using the addon, or use docker logs ha-fusion
for Docker setups. To inspect frontend issues, open the browser's console.
Develop
To begin contributing to the project, you'll first need to install node. It's also recommended to install pnpm. If you're unfamiliar with Svelte, consider doing the tutorial at https://learn.svelte.dev
# prerequisites (macos)
brew install node pnpm
# install
git clone https://github.com/matt8707/ha-fusion.git
cd ha-fusion
pnpm install
# environment
cp .env.example .env
code .env
# server
npm run dev -- --open
# dependencies
pnpm outdated
pnpm upgrade
# lint
npm run check
npm run lint
npm run format