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. Osoita ESPHOME_DASHBOARD_URL siihen 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. Valmis docker-compose-zwave.yml tulee mukana Athenan omassa repossa - katso kyseinen sivu.
  • deCONZ - aja deCONZ (deconzcommunity/deconz) omana konttinaan sillä koneella, johon ConBee/RaspBee- tikku on kytketty. Valmis docker-compose-deconz.yml tulee 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.