GREE Controller — Home Assistant distribution
This directory contains the OCI build, Home Assistant add-on repository source, custom integration and repository synchronization tooling.
Configuration
Create the local build/repository configuration once:
cd ha-addon
cp .env.example .env
$EDITOR .env
build.sh and sync-repository.sh read all deployment-specific values from .env; .env is ignored by Git.
Important variables:
REGISTRY=repo.example.com
IMAGE_NAME=gree-controller
DISTRO=alpine
RUST_VERSION=1.89
BUILD_PLATFORMS=linux/amd64,linux/arm64
BUILDER=gree-controller-multiarch
BUILDER_CONFIG=
HA_REPO_URL=https://repo.example.com/gree-controller-ha-addon/
HA_REPO_BRANCH=master
HA_REPO_PATH=../gree-controller-ha-addon
ADDON_DIR=gree-controller
INTEGRATION_DOMAIN=gree_controller
OCI image
./build.sh render
./build.sh load amd64
./build.sh load aarch64
./build.sh push
The project version comes only from root Cargo.toml. render synchronizes it to Cargo.lock, add-on config.yaml and the custom integration manifest.json, and sets the OCI image from .env.
Home Assistant repository
./sync-repository.sh
The command updates/clones HA_REPO_URL, mirrors the repository and pushes only when content changed. The resulting repository contains:
repository.yaml
gree-controller/ # Home Assistant add-on
custom_components/gree_controller/ # Home Assistant custom integration
The custom integration source is maintained only in:
ha-addon/home-assistant/custom_components/gree_controller/
It is added to the separate HA repository during synchronization, so it is not duplicated in this project.
Adding the repository to the Home Assistant add-on store installs the add-on only. The bundled custom integration can be copied from the same repository to /config/custom_components/gree_controller/ when required.
Layout
.env.example local deployment configuration template
Dockerfile multi-architecture image
build.sh metadata + OCI build/push
run.sh add-on entrypoint
sync-repository.sh separate HA repository synchronization
repository/ add-on repository source
home-assistant/ custom integration source and migration output