Seuraavaksi ajattelin kirjoittaa virtuaaliavustimen käyttöön ottamisesta Home Assistantissa. Home Assistantin saa konffattua käyttämään Google Assistantin tai Alexan kautta suoritettavia äänikomentoja, mutta ajattelin kokeilla, miten avoin vaihtoehto Almond/Genie toimii. Käytän jatkossa virtuaaliavustimesta nimeä Genie vaikka Home Assistantissa puhutaankin yleisesti Almondista.

Genie -virtuaaliavustin on Stanford Open Virtual Assistant Labin kehittämä avoin ja yksityisyyttä suojeleva virtuaaliassistentti. Genietä on mahdollista käyttää myös pilvipohjaisena, mutta minä ajattelin kokeilla standalone -versiota, jonka voi asentaa omalle palvelimelle.

Geniestä löytyy suoraan valmis lisäosa Home Assistantin lisäosakaupasta, josta sen asennus onnistuisi helposti. Minulla Home Assistant on kuitenkin asennettuna Docker Composen avulla, joten lisäosakauppa ei ole käytössä eli tämä tietää hiukan haasteellisempaa asennusta. Tarkemmin Genien asentamisesta löytyy tietoa Stanford University Open Virtual Assistant Lab:in Github sivulta, johon linkki tässä.

Suositeltava tapa asentaa Genie olisi käyttää Dockerin vaihtoehtoista Podman -containeria. Ongelmaksi tulee se, että Genie -serveristä ei löydy vaihtoehtoa Raspberry Pi:lle eli jäljelle jää vaihtoehto asentaa Genie kehittäjä-versiosta. Minulla on jo valmiiksi asennettuna nodejs, jota käytettiin RuuviTagien asennuksen yhteydessä, joten sen asennusta ei tarvitse nyt erikseen suorittaa.

Asennus aloitetaan asentamalla tarvittavat paketit komennolla sudo apt install nodejs gettext build-essential make g++ graphicsmagick zip unzip libpulse-dev.

Seuraavaksi luodaan kopio GitHub -hakemistosta komennolla git clone https://github.com/stanford-oval/genie-server ja siirrytään ko. hakemistoon komennolla cd genie-server.

Lopuksi ajetaan komento npm ci, joka asentaa Genie -serverin. Asentamisen jälkeen annetaan vielä komento npm start, joka käynnistää palvelimen.

Seuraavaksi kokeillaan, että palvelin toimii eli mennään selaimella osoitteeseen http://x.x.x.x:3000, jossa x.x.x.x on sen koneen IP-osoite, johon Genie -server on asennettu. Aluksi luodaan palvelimelle salasana, jonka jälkeen kirjaudutaan palvelimelle sisään. Kirjautumisen jälkeen avautuu alla olevan mukainen ikkuna, josta nähdään myös muutama Genielle annettu käsky.

Kuva: Almond eli Genie -server

Nyt meillä on siis Genie -server käynnissä ja seuraavaksi tehdään siitä automaattisesti käynnistyvä palvelu. Aluksi annetaan komento sudo nano /etc/systemd/system/almond.service ja lisätään sinne alla olevat rivit

[Unit]
Description=Almond-standalone server

[Service]
Type=simple
Restart=always
User=pi
WorkingDirectory=/home/pi/genie-server
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target

Seuraavaksi annetaan vielä komennot

sudo systemctl enable almond
sudo systemctl start almond

Genie -serverin asetukset Home Assistantissa Link to heading

Seuraavaksi tehdään Home Assistantiin tarvittavat muutokset eli lisätään configuration.yaml -tiedostoon seuraavat rivit ja käynnisteään Home Assistant uudestaan

#configuration.yaml
almond:
  type: local
  host: http://127.0.0.1:3000

Käynnistämisen jälkeen voidaan kokeilla Genien (Home Assistantissa Almond) toimintaa painamalla Home Assistantin oikeasta ylälaidasta mikrofonikuvaketta

_Kuva: Home Assistant virtuaaliavusti_men käynnistyskuvake

Tämän jälkeen meille avautuu virtuaaliavustajan ikkuna eli alalaidasta nähdään, että avustimena toimii Almond

Kuva: Home Assistant virtuaaliavustin

Huomiona Geniestä, että se toimii englannin kielisenä samoin kuin Google Assistant tai Alexa. Genien sanavarasto ei tietenkään ole niin laaja kuin näissä kaupallisissa versioissa, mutta laitteiden komentaminen onnistuu myös tällä oikein mainiosti. Käytössä tulee huomoida, että mm. kytkimet ja sensorit on nimetty selkeästi, jotta virtuaaliavustin osaa niitä komentaa. Genien komennoista löytyy tarkempi listaus palvelimen yläreunan Cheatsheets -kohdasta.

Seuraavassa kirjoituksessa kerron tarkemmin ääniohjauksen käyttöönotosta Genien kanssa, mutta palataan tähän sitten myöhemmin.

Jaa tämä: