
Tavoite
Rakennetaan pohja, joka:
- on vakaa
- toimii 24/7
- tukee Home Assistantia ja Node-REDiä
- on laajennettavissa myöhempään kehitykseen
Tämän vaiheen tarkoitus ei ole vielä rakentaa automaatiota, vaan tehdä puhdas ja hallittu alusta energiahubille.
Arkkitehtuurivalinta
Valitaan heti alussa selkeä rakenne:
- OS: Debian minimal
- Runtime: Docker + Docker Compose
- Palvelut:
- Home Assistant
- Node-RED
Miksi tämä valinta
- palvelut eriytyvät selkeästi
- päivitykset ovat hallittavia
- varmuuskopiointi on helppoa
- rakenne on laajennettavissa myöhemmin
- Home Assistant ja Node-RED voidaan pitää puhtaasti omissa rooleissaan
Debian-asennus
Suositeltu versio
Tavoitteena oli Debian 12 stable, mutta toteutus tehtiin nyt Debian 13:lla.
Se toimii tässä vaiheessa, joten ohje jatkuu sillä käytännön toteutuksella.
Asennuksen periaate
- käytä netinst-asennusmediaa
- tee asennus ilman työpöytäympäristöä
- ota SSH käyttöön
- käytä yhtä koko levyä
- jätä domain-kenttä tyhjäksi
- jätä root-salasana tyhjäksi ja käytä normaalia käyttäjää sudo-oikeuksilla
Käytetyt valinnat
- hostname: energyhub
- user: oma normaali käyttäjä
- network: Ethernet
- partitioning: guided, use entire disk
- software selection:
- valittuna vain:
- SSH server
- standard system utilities
- ei desktop environmentia
- valittuna vain:
Huomio
Jos asennuksessa näkyy kohta “popularity contest”, valitse Ei.
Peruskonfiguraatio
Kirjaudu sisään Debianiin ja aja:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git vim htop
SSH-yhteys toiselta koneelta
Suositus on siirtyä heti SSH-käyttöön, jotta komennot voi copy/pasteta.
Selvitä IP
Tarvittaessa:
ip a
Yhdistä toiselta koneelta
Windows PowerShell / Windows Terminal / Mac / Linux Terminal:
ssh user@192.168.xxx.xxx
Ensimmäisellä kerralla hyväksy host key komennolla:
yes
Syötä sen jälkeen käyttäjän salasana.
Docker-asennus
Asenna Docker:
curl -fsSL https://get.docker.com | sh
Lisää käyttäjä docker-ryhmään:
sudo usermod -aG docker $USER
Kirjaudu ulos ja takaisin sisään.
Testaa Docker:
docker run hello-world
Huomio
Jos saat virheen tyyliin:
group ’docker’ does not exist
Docker ei ole asentunut oikein tai asennus ei ole ehtinyt loppuun. Aja Docker-asennus uudelleen.
Docker Compose
Tässä toteutuksessa käytettiin komentoa:
docker compose
eli erillistä vanhaa docker-compose-pakettia ei välttämättä tarvita.
Voit silti halutessasi asentaa sen:
sudo apt install -y docker-compose
Mutta tämän toteutuksen kannalta riittää, että docker compose toimii.
Testaa:
docker compose version
Hakemistorakenne
Luo energiahubille oma selkeä kansiorakenne:
mkdir -p ~/energyhub
cd ~/energyhub
mkdir homeassistant nodered backups
Tarkista:
ls
Pitäisi näkyä:
backups homeassistant nodered

Home Assistant- ja Node-RED-containerit
Luo tiedosto:
nano ~/energyhub/docker-compose.yml
Sisällöksi tämä:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
– ./homeassistant:/config
network_mode: host
restart: unless-stopped
privileged: true
nodered:
container_name: nodered
image: nodered/node-red:latest
volumes:
– ./nodered:/data
network_mode: host
restart: unless-stopped
Miksi network_mode: host
Tässä ympäristössä se on käytännöllinen, koska:
- vähentää verkkoasetusten säätöä
- helpottaa HA:n ja Node-REDin välistä yhteyttä
- sopii paikalliseen energiahubiin
YAML-huomio
Jos docker compose up -d antaa virheen tyyliin:
yaml: line xx: mapping values are not allowed in this context
syy on lähes aina:
- väärä sisennys
- tab-merkit
- ylimääräinen merkki rivillä
Korvaa silloin koko tiedosto puhtaalla versiolla yllä.
Containerien käynnistys
Siirry energyhub-kansioon:
cd ~/energyhub
Käynnistä palvelut:
docker compose up -d
Tarkista konfiguraatio tarvittaessa ennen käynnistystä:
docker compose config
Tarkista käynnissä olevat containerit:
docker ps
Pitäisi näkyä ainakin:
- homeassistant
- nodered
Käyttöönotto selaimella
Home Assistant
Avaa:
http://192.168.xxx.xxx:8123
Ensimmäisellä käynnistyskerralla:
- luo käyttäjä
- älä tuo vanhaa varmuuskopiota
- älä tee integraatioita vielä laajasti
- pidä ympäristö puhtaana
Node-RED
Avaa:
http://192.168.xxx.xxx:1880
Tässä vaiheessa riittää, että Node-RED avautuu.

Tässä vaiheessa ei tehdä vielä
Tässä vaiheessa tarkoitus on vain saada perusalusta toimimaan.
Ei tehdä vielä:
- ei automaatioita
- ei templateja
- ei vanhan Home Assistant -konfiguraation importtia
- ei Node-RED flow’ta
- ei integraatioiden massalisäystä
Miksi
Tavoite on rakentaa uusi arkkitehtuuri puhtaalta pohjalta, ei siirtää vanhaa rakennetta uuteen ympäristöön.
Tämän vaiheen lopputulos
Kun tämä osa on valmis, käytössä on:
- Debian-pohjainen energiahubi
- SSH-yhteys hallintaa varten
- Docker-ympäristö
- puhdas Home Assistant
- puhdas Node-RED
- selkeä kansiorakenne jatkokehitykselle
Seuraava vaihe
Seuraavassa teknisessä ohjeessa siirrytään ensimmäiseen oikeaan toiminnalliseen kerrokseen:
- Home Assistantin ja Node-REDin roolien lukitus
- ensimmäiset integraatiot
- ensimmäinen ohjauslogiikka