Šonedēļ uztaisīju vairāk tādu “bling-bling” lietiņu un saliku FHEM kopā ar Apple Siri balss asistentu.

Patiesībā tas ir diezgan vienkāršs process, bet uz datora (Raspberry Pi manā gadījumā) ir nepieciešams uzstādīt papildus programmatūru Homebridge, kas nodrošina Siri integrāciju uz Raspberry Pi un tad jau FHEM atbalsta arī Homebridge. Ja izklausās pārāk sarežģīti, tad nav ko baidīties, bet ķeramies klāt!

Nepieciešamo komponenšu instalācija

Ielogojamies mūsu Raspberry Pi ar lietotāju pi, atjaunojam repozitorijus un un instalējam nepieciešamo programmatūru ar sekojošām komandām

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libssl-dev
sudo apt-get install -y nodejs
sudo apt-get install python g++ libavahi-compat-libdnssd-dev
sudo apt-get install npm
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g homebridge-fhem

Homebridge configurācija

Tā kā tālāk uzstādīsim, lai Homebridge tiktu palaists kā lietotāja pi process, tad pi lietotāja katalogā izveidojam apakškatalogu .homebridge

mkdir ~/.homebridge

Un tajā izveidojam failu config.json ar sekojošu saturu

{ 
    "bridge" :  { 
        "name" :  "Homebridge" , 
        "username" :  "CC:22:3D:E3:CE:30" , 
        "port" :  51826 , 
        "pin" :  "031-45-154" 
    },

    "platforms" :  [ 
        { 
            "platform" :  "FHEM" , 
            "name" :  "FHEM" , 
            "server" :  "127.0.0.1" , 
            "port" :  "8083" , 
            "auth" :  { "user" :  "xxx" ,  "pass" :  "yyy" }, 
            "filter" :  "" 
        } 
     ],

    "accessories" :  [] 
}

Šajā failā varat atstāt visu kā ir, bet jāpievērš uzmanība sekojošām lietām:

  • bridge sadaļā username atstājam kā ir, name varam nomainīt, uz ko vēlamies
  • platforms sadaļā server ir serveris, uz kura ir instalēts FHEM. Tā kā manā gadījumā tas ir tas pats raspberry Pi, tad atstājam lokālo adresi 127.0.0.1
  • auth sadaļā ir jānorāda lietotājs un parole FHEM WEB, ja uzstādījāt. Šie diemžēl šajā failā ir jānorāda atklātā tekstā. Ja lietotājs un parole nav uzstādīti, tad visu rindu ar auth izdzēšiet
  • filter daļā varat atlasīt, kuras ierīces vēlēsieties redzēt Apple ekosistēmā, piemēram rakstot filter:”room=Viesistaba”, bet es atstāju šo bez, lai visas ierīces tiktu attēlotas Apple

Papildus nepieciešams uzstādīt homebridge un siri atbalstu FHEM sistēmā, tās komandrindā ierakstot sekojošu komandu

define siri siri

un saglabājot FHEM konfigurāciju, nospiežot Save pogu.

Homebridge palaišana

Pirmo reizi homebridge rekomendēju palaist manuāli ievadot komandu

homebridge

Pirmo reizi palaižot tiks parādīta kļūda

[FHEM] genericDeviceType attribute was not known. please restart.

un programma apstāsies. Tagad varam sakonfigurēt sistēmu, lai homebridge palaižās katru reizi, kad ieslēdzam raspberry pi. Izveidojiet failu /etc/init.d/homebridge un iekopējiet sekojošo saturu tajā

#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for homebridge
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof homebridge`
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is already running"
else
        su - pi -c "homebridge > /dev/null 2>&1 &"
        echo "Homebridge starting"
        $0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is not running"
else
        kill $PID
        echo "Homebridge closed"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
        $0 start
else
        $0 stop
        $0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is running PID $PID"
else
        echo "Homebridge is not running"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0

Lai sakonfigurētu automātisku startu ievadiet sekojošas komandas

sudo chmod 755 /etc/init.d/homebridge
sudo update-rc.d homebridge defaults

Tagad, katreiz ieslēdzot vai pārstartējot datoru, homebridge automātiski palaidīsies. To var arī palaist vai pārstartēt ar komandām

palaist: sudo /etc/init.d/homebridge start
pārstartēt: sudo /etc/init.d/homebridge restart
apstādināt sudo /etc/init.d/homebridge stop

Palaižat homebridge ar augstākminēto komandu un pēc visiem konfigurācijas paziņojumiem, jūs redzēsiet sekojošu informāciju

QR kodu vai zemāk redzamo teksta kodu jāizmanto, lai pievienotu ierīces uz Apple telefona vai datora.

Ierīču pievienošana uz iPhone

Atveriet uz iPhone Home aplikāciju un zem (+) izvēlnes izvēlaties Add Accessory opciju.

Noskanējiet QR kodu vai arī izvēlaties opciju “Don’t Have a Code or Can’t Scan?” un ievadiet 8 ciparu teksta kodu. Aplikācija informēs, ka šī ierīce nav izgājusi Apple sertifikāciju, bet apstipriniet to un tiks pievienots Homebridge kā hub un visas FHEM definētās ierīces.

Diemžēl informācija par istabu konfigurāciju no FHEM netiek pārnesta, tāpēc Home aplikācijā tās atkal ir jāsadala pa istabām. Es šo apstākli uztvēru pozitīvi un piešķīru istabām angliskos nosaukumus, lai varētu dot Siri komandas ar balsi, jo latviešu valoda diemžēl netiek atbalstīta.

Es visu uzstādīšanu veicu uz iPhone, bet palaižot Home aplikāciju uz iMac datora visa konfigurācija caur iCloud attēlojās arī tur, tāpēc atkārtota konfigurēšana nav nepieciešama.

Tas arī ir gandrīz viss un tagad varat izmantot visas jūsu gudrās mājas sniegtās iespējas arī caur Apple telefonu ar pilnu Siri integrāciju.

Ierīču tipi

Ir ierīces, kuras telefonā attēlojas neprecīzi, piemēram, mans Philips televizors tiek attēlots kā spuldzīte kuru var tikai izslēgt (Ieslēgt nevar, jo mans modelis neatbalsta Wake-On-Lan un pēc izslēgšanas nav pieejams). Pastāv iespēja definēt apakš-tipus un specifiskas komandas, lai šo sakārtotu, bet par to tad rakstos par konkrētiem ierīču tipiem.

Detalizētāku informāciju par konfigurāciju var atrast šajā lapā.

Izmaiņas FHEM un to attēlošana homebridge

Ja FHEM veicat kādas izmaiņas ar konfigurāciju, piemēram pievienojiet jaunas ierīces, tad pēc tam nepieciešams pātrstartēt homebridge ar komandu

sudo /etc/init.d/homebridge restart

Un uz jūsu Apple telefoniem, planšetēm un datoriem jaunās ierīces automātiski parādīsies zem Default Room un varat tās pārlikt pēc piederības uz citām istabām.

Ierīču konfigurēšana homebridge

Homebridge pats arī atbalsta ierīču pievienošanu tieši ar spraudņu palīdzību, tomēr šis nav rekomendēts veids, jo tad FHEM par šīm ierīcēm neko nezin vai arī var veidoties konfliktsituācijas.

P.S.

Atnāca arī šādi smart slēdži, ko likt vadā. Jāizdomā, ko vēlēšos ar viņiem kontrolēt un tad jau būs arī raksts par to. Ja ir idejas – rakstiet komentāros.