Asennus ja käyttöönotto
Yksi Docker-image, yksi MariaDB-kontti. Erillistä lähdekoodin kloonausta tai tietokannan pystytystä ei tarvita - Athena tuo oman tietokantaskeemansa käyttöön automaattisesti ensimmäisellä käynnistyskerralla.
Mitä tarvitset
- Docker Engine + Compose-lisäosa millä tahansa Linux x86-, x86_64- tai arm64-koneella - PC, NUC tai Raspberry Pi / muu pienoistietokone käy.
- Lähiverkko, joka tukee mDNS/multicast-liikennettä. Laitteiden automaattinen tunnistus ja API-yhteydet tarvitsevat sitä - ks. ESPHome.
- Bluetooth-sovitin isäntäkoneessa, vain jos aiot yhdistää
IKEA IDÅSEN-pöydän - molemmat compose-tiedostot liittävät
isäntäkoneen
/var/run/dbus-soketin Athena-konttiin, jotta se voi tavoittaa BlueZ:n.
Valitse käyttöönottotapa
Kaksi compose-tiedostoa sen mukaan, haluatko myös ESPHomen oman käännös/validointi-ominaisuuden:
- Kaikki yhdessä (
docker-compose-with-esphome.yml) - Athena + MariaDB + mukana tuleva ESPHome-hallintapaneeli, kaikki samalla koneella. Hyvä oletusvalinta yhdelle pienelle laitteelle. - Jaettu käyttöönotto (
docker-compose.yml+docker-compose-esphome.yml) - Athena + MariaDB tällä koneella, ESPHome-paneeli (raskaita käännöksiä - täysi ESP-IDF-työkaluketjun lataus ja natiivi käännös per laite) omalla, tehokkaammalla koneella, jaettuna verkkoon liitetyn hakemiston kautta. OsoitaESPHOME_DASHBOARD_URLsiihen toiseen koneeseen.
Käyttöönotto
1. Hae compose-tiedostot
Compose-tiedostot ja .env.example asuvat osoitteessa
github.com/makershopfi/athena -
kloonaa se, tai lataa vain ne muutamat tiedostot, jotka tarvitset valitsemaasi
käyttöönottotapaan.
git clone https://github.com/makershopfi/athena.git cd athena
2. Määritä asetukset
# tyhjässä kansiossa, valitsemasi docker-compose-tiedoston vieressä cp .env.example .env # muokkaa .env - aseta vähintään DB_PASSWORD ja DB_ROOT_PASSWORD
3. Käynnistä
Käyttää valmiiksi rakennettua imagea - aja ensin ./build-docker.sh <tag>, tai
aseta TAG-arvo .env-tiedostossa johonkin jo julkaistuun versioon.
docker compose up -d
Tämä hakee imagen, käynnistää MariaDB:n, odottaa sen ilmoittavan olevansa terve ja käynnistää
sitten Athenan - joka tuo oman tietokantaskeemansa automaattisesti käyttöön ensimmäisellä
käynnistyskerralla. Mitään muuta ei tarvitse asettaa käsin. Molemmat compose-tiedostot ajavat
athena-palvelua tilassa network_mode: host, jotta se näkee oikeasti
lähiverkon mDNS-lähetykset - jotka Dockerin oletussiltaverkko ei koskaan näe.
4. Avaa se
Käy osoitteessa http://palvelimesi:8080 (tai mikä tahansa PORT-arvo,
jonka asetit .env-tiedostoon, oletuksena 8000). Katso
Ensimmäinen käyttöönotto, mitä ensimmäinen näyttö tarjoaa.
HTTPS
Selaimet sallivat WebUSB/WebSerial-rajapinnat (joita
selaimen kautta tehtävä USB-kirjoitus käyttää) ja eräät
muut selainrajapinnat vain suojatussa yhteydessä - https:// tai
localhost, ei koskaan pelkkä http:// lähiverkon IP-osoitteessa tai
isäntänimessä. Molemmat compose-tiedostot sisältävät mukana tulevan caddy-palvelun
tätä varten: se päättää HTTPS-yhteyden ja välittää liikenteen Athenalle käyttäen Caddyn
tls internal -toimintoa, joka luo ja säilyttää oman paikallisen varmenteiden
myöntäjän ja varmenteen automaattisesti - ei manuaalista varmennevaihetta.
Oletuksena käytössä on portti 8443, ei vakioportti 443 - joka on
usein jo varattu jaetulla palvelimella. Vaihda se HTTPS_PORT-arvolla
.env-tiedostossa, jos 8443-portti on myös varattu; WebUSB/WebSerial
vaativat vain https://-skeeman, ei nimenomaan porttia 443, joten mikä tahansa
vapaa portti käy.
# .env
ATHENA_SECURE_COOKIES=true
HTTPS_PORT=8443
Aseta ATHENA_SECURE_COOKIES päälle, kun mukana tuleva Caddy-palvelu on käynnissä -
muuten kirjautumisevästeen oma Secure-lippu hylkää istunnot, jotka saapuvat
Athenalle sen kautta. Käy sitten osoitteessa https://palvelimesi:8443 (muista
portti - se ei ole HTTPS:n oletusportti).
Selaimet näyttävät "ei suojattu" -varoituksen ensimmäisellä käyntikerralla, koska mukana tulevan välityspalvelimen varmenteiden myöntäjä ei ole selaimesi luotettujen joukossa - WebUSB/WebSerial vaativat vain https://-skeeman, ei julkisesti luotettua varmennetta, joten kertaalleen läpi klikkaaminen riittää. Poistaaksesi varoituksen tietyltä laitteelta, vie varmenteiden myöntäjä kontista (docker exec athena-caddy cat /data/caddy/pki/authorities/local/root.crt) ja asenna se luotetuksi juureksi siellä.
Tietokantamoottori
.env-tiedoston DB_*-muuttujien tarvitsee alkuun vain osoittaa mukana
tulevaan MariaDB-konttiin - valinta MariaDB/MySQL:n ja oman PostgreSQL:n välillä, sekä
myöhempi siirtyminen toiseen tietokantaan, on siitä eteenpäin Configuration > System
-asia, ei uusi käyttöönotto. Katso Asetukset.
Erillisiä oheispalveluja tarvitsevat integraatiot
Muutama integraatio muodostaa sillan erilliseen palveluun sen sijaan, että puhuisi laitteistolle suoraan - näitä ei ole paketoitu Athenan omiin compose-tiedostoihin, koska jokainen tarvitsee oman USB-tikun välityksen tai verkkonäkyvyyden sillä koneella, jolla radio todella on.
- Z-Wave - aja Z-Wave JS UI
(
zwavejs/zwave-js-ui) omana konttinaan; toimii minkä tahansa Z-Wave-USB-tikun kanssa, mukaan lukien Home Assistantin oma Connect ZWA-2. Valmisdocker-compose-zwave.ymltulee mukana Athenan omassa repossa - katso kyseinen sivu. - deCONZ - aja deCONZ
(
deconzcommunity/deconz) omana konttinaan sillä koneella, johon ConBee/RaspBee- tikku on kytketty. Valmisdocker-compose-deconz.ymltulee mukana Athenan omassa repossa - katso kyseinen sivu. - Matter - aja matter-server
(
matterjs-server, tai sen arkistoitu edeltäjäpython-matter-server) omana konttinaan,network_mode: host. Täysi compose-tiedosto kyseisellä sivulla. - Zigbee (EZSP/paljas Silicon Labs
-koordinaattori) - ei erillistä palvelua, poista vain kommentti jo valmiina olevalta
devices:-riviltäathena-palvelussa molemmissa mukana tulevissa compose-tiedostoissa ja osoita se tikkuusi. - MQTT - aja
docker-compose-mqtt.yml(erillinen Mosquitto-broker, tulee mukana Athenan omassa repossa) sen yllä olevan compose-tiedoston rinnalla, jota jo käytät. Täysi compose-tiedosto kyseisellä sivulla.
Katso myös Zigbee2MQTT (sivupalkin "Lisäosat"-osiossa) -
ei oma Athena-integraatio, mutta sen hallitsemat Zigbee-yhdyskäytävät/-laitteet ilmestyvät
automaattisesti yllä olevan MQTT-integraation kautta, kun molemmat osoittavat samaan brokeriin.
Valmis docker-compose-zigbee2mqtt.yml (ja configuration.yaml.example)
tulee mukana Athenan omassa repossa myös - katso kyseinen sivu.
Ajaminen ilman käyttöliittymää
Aseta ATHENA_HEADLESS=true sammuttaaksesi verkkokäyttöliittymän kokonaan - vain
/api/*-reitit pysyvät tavoitettavissa. Hyödyllinen, jos jokin muu (toinen
automaatiojärjestelmä, mobiilisovellus) on ainoa taho, joka koskaan puhuu tälle asennukselle.
Tuki
Athena on nuori projekti - odota karkeita reunoja. Kysymykset tai ongelmat: käytä etusivun yhteydenottolomaketta.