Smart home: Homematic, Fhem | 1.rész

Mottó: Ha már úgy is van egy XBian a tévére kötve, mi lenne, ha okosodna a lakásunk?

Persze jó dolog, ha van otthon egy Hey ‘Putter! (Lego: Batman), vagy egy Jarvis, mielőtt azonban éveket és vagyonokat költünk ilyesmire, van néhány alap dolog, amit jó, ha már tud a lakásunk – hogy legyen Jarvisnak mit állítgatnia.

Kezdjük egy aprósággal: akkor legyen fűtés, amikor otthon vagyunk, de nincs nyitva az ablak.

Hozzávalók:

Raspberry Pi
SD kártya
CUL
5V-os USB töltő
HomeMatic fűtőtest termosztát
USB hosszabbító (opcionális)
USB HUB (opcionális)

Raspberry Pi 2 Model B már volt otthon, raktam rá egy XBian-t a Kodi miatt. Jól lehet vele Twitchet is, meg Youtube-ot is nézni a tévén, hurrá. A Pi egész jó helyen van fizikailag is, hogy más feladatokkal is megbirkózzon. A XBian nem túl okos, de simán lehet parancssorból használni anélkül, hogy korlátozna, ami pl. az OpenElec-ről nem mondható el.

Egyébként bármelyik Raspberry Pi jó, akár a Zero W is. Internet kapcsolat, és egy szabad USB port elvárás, minden más ízlés dolga, illetve függ az egyéb feladatoktól.

A HomeMatic eléggé elterjedt, többek között a Telekom Smart Home megoldása is HomeMatic eszközökre épül (nem kizárólagosan, de pl. a fűtés vezérlés éppen igen), alacsony a bekerülési költsége – összehasonlítva más rendszerekkel, és egyébként német fejlesztés, ha bármi gáz van, van szerviz, support, ami kell. És nem utolsó sorban vannak ismerősök, akik már használják a rendszert és elégedettek.

Ezen kívül nem muszáj hozzá gyári vezérlő egységet venni, hanem felhasználhatom a Raspit, ha telepítem rá a fhem nevű, szintén német fejlesztésű szoftvert. A fhem nagyon úgy néz ki, amit egy informatikus magának dobott össze – nagyon ronda, de mindent meg tudsz vele csinálni, még ha nem is igazán nevezhetjük felhasználóbarátnak. Még jó, hogy lehet tuningolni, ami ebben az esetben inkább a kezelőfelület egyszerűsítését jelenti.

Fhem install

Ha nem akarjuk, hogy nyavalygás legyen belőle, akkor importáljuk a fhem repository gpg kulcsát.

wget -qO - http://debian.fhem.de/archive.key | apt-key add -

Adjuk hozzá a repository-t a /etc/apt/sources.list -hez.

deb http://debian.fhem.de/nightly/ /

A csomaglista frissítése után pedig installálhatjuk a fhem-et.

apt-get update
apt-get install fhem

A fhem-et az install automatikusan elindítja, és innentől (a standard beállítás szerint) a 8083-as porton keresztül elérhető a WEBGui (8084 a WEBPhone és 8085 a WEBTable).

CUL

A CUL rádiót úgy ajánlották, kaptam is egyet kipróbálásra, és első körben ezzel kezdtem fel a Smarthome felépítését. Mostanában inkább a HMLAN-t ajánlják, mivel közvetlenül Ethernet kábelre köthető. A CUL-nak mindig kell egy gazdagép (host) is, összességében jóval magasabb költségekre kényszerítve – ha nagyobb területet akarsz lefedni, mint amit a CUL el tud érni. A jó hír, hogy a rendszer nem csak fejlődőképes, de multivendor üzemmódban is működni tud, egyszerre több csatlakozón keresztül is okosodhat a ház.

Szerencsémre az általam kapott CUL már flashelve volt, bár állítólag az se nagy wasistdas. A rend kedvéért azért összeszedem a flasheléshez szükséges parancsokat.

apt-get install dfu-programmer
wget http://sourceforge.net/pculfw/code/HEAD/tree/trunk/culfw/Devices/CUL/CUL_V3.hex?format=raw -O CUL_V3.hex
dfu-programmer atmega32u4 erase
dfu-programmer atmega32u4 flash CUL_V3.hex
dfu-programmer atmega32u4 reset

Innetől már ugyanezt kellene látnunk:

root@xbian:# lsusb
Bus 001 Device 004: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project

A fhem beviteli mezőjéből, ha kiadjuk az usb scan parancsot, akkor – ha minden rendben van – akkor az alábbi üzenetet kapjuk:

FHEM: usb scan

A fhem.cfg-t ezzel úgy módosítsuk, hogy az alábbi információk jelen legyenek:

define CUL1 CUL /dev/ttyAMA0@9600 1234
define CUL_0 CUL /dev/ttyACM0@9600 1034

Ha bármilyen gond lenne az eszközök felismerésével, akkor érdemes hozzáférést adni a tty-hoz az alábbi parancsokkal, majd próbálkozzunk újra az usb scan paranccsal:

root@xbian:~# usermod -a -G tty fhem
root@xbian:~# usermod -a -G tty xbian

A beviteli mezőben adjuk ki a következő két parancsot, ahol a „hmId”-nél megadott 6 karakter hosszú string egy szabadon választott hexadecimális érték.

attr CUL_0 hmId AAAAAA
attr CUL_0 rfmode HomeMatic

Fhem beállítások / Eszköz hozzáadása

A rendszerbe köttendő minden egyes elemet párosítani kell a CUL rádióval. A fhem oldalon ki kell adni a

set CUL_0 hmPairForSec 600

parancsot a beviteli mezőben. Ennek hatására 600mp, azaz 10 percünk van a különböző eszközök párosítására. Ennek módja a felhasználói leírásban szerepel.

Produktabbildung Homematic 105155 Funk-Heizkörperthermostat für Smart Home / HausautomationAz első eszköz, amit a rendszerre kötöttem egy HomeMatic (HM-CC-RT-DN) fűtőtest termosztát volt.

Ez az egyik legelterjedtebb fűtőtest termosztát a HomeMatic rendszerben. A termosztát maga tud hőmérsékletet mérni, felismeri, ha nyitva van az ablak (külön érzékelő nélkül is), valamint van egy „boost” funkciója is – 10 percre maximumra csavarja a fűtést. Az egyszerű példánkhoz tökéletesen megfelel a termosztát mérési eredménye. Hosszú távon érdemes figyelembe venni, hogy a szobában nem egyenletes a hőmérséklet elosztás, és a fűtőtest közelében hamarabb mérhető lesz a célhőmérséklet, mint mondjuk azon a területen, ahol az idő nagy részében tartózkodni fogunk.

A telepítés után a „boost” (középső) gombot 3mp-ig folyamatosan nyomva tartva pairing módba kerül a termosztát is. Ez cirka 30mp-ig tart, melynek során az eszköz 30-tól 1-ig visszafelé számol. Sikeres párosítás után a képen is látható képernyőt kell hogy lássuk (jobb oldalon kis antenna jellel).

Heti fűtésbeosztás

define Futes_nappali_WEEKPROFILE weekprofile

paranccsal létrehoztam egy általános heti beosztást azokra a helyiségekre, ahol általában napközben tartózkodunk.

A beosztást az otthontartózkodás valószínűsége alapján létrehoztam, és a napi tapasztalatok függvényében fogom még módosítani. Természetesen attól, hogy van egy ilyen hetirend, még nincs semmi kőbe vésve, akár telefonon, akár webes felületen, akár a fűtőtesten közvetlenül lehet módosítani.

Felmerült probléma

A logban előjöttek a „CUL_0: Unknown code A0D3584101F84F1236ADA06013680::-103:CUL_0, help me!” üzenetek. Mivel a Fhem nálam relatív új, a CUL viszont nem mostanában kapott új firmware-t, ezért első körben az egyik fórumbejegyzés alapján visszaállítottam egy régebbi verziójú drivert. Szerencsére az egész FHEM elérhető SVN-ből…

Apróság, de van akinek kizáró ok lehet: A Fhem kicsit olyan, mint a rút kiskacsa. Egy végtelen történetben, ahol nem lesz belőle szépséges hattyú, ámde igen okos, és – ha a saját munkákat nem számítjuk – olcsón megkapható rút kiskacsa. Én szóltam 🙂

[serialposts]