Openhab adalah software home automation yang memiliki fleksibiltas dalam proses konfigurasi. Terdapat dua metode dalam proses konfigurasi Openhab yaitu melalui web interface PaperUI dan file tekstual. Masing-masing memiliki kelebihan dan kekurangan dan menjadi pilihan kita untuk menggunakannya.
Pada tutorial ini saya akan menjelaskan cara konfigurasi Openhab menggunakan file tekstual dengan sedikit penggunaan Home Builder serta PaperUI untuk setup Items dan Sitemap sebagai inisiasi awal. Untuk mempermudah pemahaman, saya menggunakan skenario atau contoh sederhana dalam membangunan sebuah sistem smart home. Berikut skenario yang akan digunakan:
Pak Budi ingin membangun smart home untuk sebuah rumah sederhana yang baru saja selesai dibangun. Untuk mempermudah hidup Pak Budi, ia ingin memasang saklar otomatis berbasis wifi yang bisa dioperasikan dari handphonenya. Selain itu ia juga ingin agar lampu-lampunya bisa menyala secara otomatis saat matahari terbenam dan padam secara otomatis saat matahari terbit.
Berikut adalah spesifikasi rumah Pak Budi
Kamar
- Satu ruang tamu
- Dua kamar tidur, satu kamar tidur utama dan satu kamar anak
- Satu dapur
- Satu kamar mandi
- Satu garasi
- Satu taman depan
Saklar
- Masing-masing ruangan memiliki satu saklar untuk lampu penerangan
- Satu saklar ganda yang terletak di ruang tamu untuk lampu garasi dan lampu taman
Dari spesifikasi rumah diatas, kita bisa mengidentifikasi item dan thing untuk konfigurasi di atas
Items:
- Lampu ruang tamu
- Lampu kamar tidur utama
- Lampu kamar tidur anak
- Lampu dapur
- Lampu kamar mandi
- Lampu garasi
- Lampu taman
Things:
- Saklar lampu ruang tamu
- Saklar ganda lampu garasi dan taman
- Saklar lampu kamar tidur utama
- Saklar lampu kamar tidur anak
- Saklar lampu dapur
- Saklar lampu kamar mandi
Oke, sebagai inisiasi awal, kita akan membuat Items dan Sitemap dari tool Home Builder yang terdapat dalam PaperUI.
- Buka aplikasi Home Builder
- Pilih English pada kolom Please select your language
- Masukkan nama rumah “Rumah Idaman” pada kolom Home Setup Name
- Pada kolom Floor, pilih item Outside dan First Floor.
- Kolom Rooms akan otomatis terisi dengan kolom Outside dan First Floor sesuai dengan item yang dipilih pada kolom Floor.
- Pada kolom Outside, pilih item Garage dan Front Yard
- Pada kolom First Floor, pilih item Living Room, Kitchen, Master Bedroom, Bedroom, dan Bathroom
- Kolom Objects akan otomatis terisi dengan Living Room, Kitchen, Master Bedroom, Bedroom, dan Bathroom sesuai dengan item yang dipilih pada kolom Rooms.
- Pilih item Light untuk masing-masing section Objects tersebut.
- Klik tombol ITEMS dan SITEMAPS pada section What would you like to generate?
- Pada kolom How would you like to store the Items?, pilih Textual Configuration Files
- Tampilan Home Builder untuk langkah-langkah di atas harus terlihat seperti ini
Hasil dari proses di atas adalah konfigurasi Items dan Sitemaps yang dapat dilihat pada sisi kanan tampilan Home Builder. Klik tombol Items untuk menampilkan konfigurasi Items dan tombol Sitemaps untuk menampilkan konfigurasi Sitemaps
Konfigurasi Item
Sebuah item didefinisikan dengan sintaks sebagai berikut
itemtype itemname "labeltext [stateformat]" <iconname> (group1, group2, ...) ["tag1", "tag2", ...]
Keterangan:
- itemtype: tipe item
- itemname: nama item
- labeltext: label item yang akan tampil pada aplikasi
- stateformat: format label
- iconname: nama icon. Openhab memiliki koleksi icon bawaan yang bisa digunakan sesuai namanya.
- group: nama group untuk mengelompokkan item
- tag: tag item
- Urutan parameter harus sesuai seperti format diatas
- Parameter itemtype dan itemname bersifat mandatory sedangkan yang lainnya bersifat opsional.
- Parameter-parameter tersebut bisa dipisahkan dengan satu atau lebih spasi atau tab
- Sintaks konfigurasi di atas bisa dipisahkan menjadi lebih dari satu baris.
Berikut adalah konfigurasi Item hasil dari proses Home Builder pada langkah sebelumnya
Group Home "Rumah Idaman" <house> ["Building"]
Group OU "Outside" <garden> (Home) ["Outdoor"]
Group FF "First Floor" <firstfloor> (Home) ["FirstFloor"]
Group OU_Garage "Garage" <garage> (Home, OU) ["Garage"]
Group OU_FrontYard "Front Yard" <lawnmower> (Home, OU) ["Garden"]
Group FF_LivingRoom "Living Room" <sofa> (Home, FF) ["LivingRoom"]
Group FF_Kitchen "Kitchen" <kitchen> (Home, FF) ["Kitchen"]
Group FF_MasterBedroom "Master Bedroom" <bedroom_red> (Home, FF) ["Bedroom"]
Group FF_Bedroom "Bedroom" <bedroom> (Home, FF) ["Bedroom"]
Group FF_Bathroom "Bathroom" <bath> (Home, FF) ["Bathroom"]
Switch OU_Garage_Light "Light" <light> (OU_Garage, gLight) ["Lighting", "Switchable"] {channel=""}
Switch OU_FrontYard_Light "Light" <light> (OU_FrontYard, gLight) ["Lighting", "Switchable"] {channel=""}
Switch FF_LivingRoom_Light "Light" <light> (FF_LivingRoom, gLight) ["Lighting", "Switchable"] {channel=""}
Switch FF_Kitchen_Light "Light" <light> (FF_Kitchen, gLight) ["Lighting", "Switchable"] {channel=""}
Switch FF_MasterBedroom_Light "Light" <light> (FF_MasterBedroom, gLight) ["Lighting", "Switchable"] {channel=""}
Switch FF_Bedroom_Light "Light" <light> (FF_Bedroom, gLight) ["Lighting", "Switchable"] {channel=""}
Switch FF_Bathroom_Light "Light" <light> (FF_Bathroom, gLight) ["Lighting", "Switchable"] {channel=""}
Group:Switch:OR(ON, OFF) gLight "Light" <light> (Home) ["Lighting", "Switchable"]
Sebagai contoh, kita ambil satu baris konfigurasi untuk item lampu taman
Switch OU_FrontYard_Light "Light" <light> (OU_FrontYard, gLight) ["Lighting", "Switchable"] {channel=""}
Item lampu taman di atas memiliki tipe Switch (On/Off) dengan nama OU_FrontYard_Light dan label Light. Nama icon light adalah salah satu icon bawaan Openhab bergambar bola lampu. Jika mengganti nama icon dengan nama yang tidak sesuai dari koleksi icon Openhab maka icon tersebut tidak akan muncul. Item lampu taman di atas juga dikelompokkan dalam group OU_FrontYard dan gLight dengan tag Lighting dan Switchable.
Baris konfigurasi di atas dapat kita ubah dan sederhanakan manjadi
Switch OU_FrontYard_Light "Lampu" <light> (OU_FrontYard, gLight)
Perhatikan, saya mengganti label Light dengan Lampu sedangkan iconnya tidak berubah, tetap light.
Dari contoh di atas juga terdapat beberapa group item untuk mengelompokkan beberapa item. Group digunakan untuk mengelompokkan item berdasarkan perspektif lokasi atau fungsional dari item-item tersebut.
Sebagai contoh kita ambil satu baris konfigurasi group berdasarkan perspektif fungsional
Group:Switch:OR(ON, OFF) gLight "Light" <light> (Home) ["Lighting", "Switchable"]
Baris di atas adalah konfigurasi untuk group lampu dengan nama gLight. Bisa dilihat bahwa group di atas bertujuan untuk mengelompokkan semua item yang berfungsi sebagai lampu dengan tipe saklar/switch on/off. Misalnya apabila hendak menyalakan semua lampu secara bersamaan, dari logic aplikasi tinggal mengubah state dari group gLight (ON/OFF).
Ok mari kita sederhanakan konfigurasi Items dari rumah Pak Budi diatas:
Group Home "Rumah Budi" <house>
Group OU "Luar" <garden>
Group FF "Lantai Satu" <firstfloor>
Group OU_FrontYard "Taman Depan" <lawnmower> (Home, OU)
Group OU_Garage "Garasi" <garage> (Home, OU)
Group FF_LivingRoom "Ruang Tamu" <sofa> (Home, FF)
Group FF_MasterBedroom "Kamar Tidur Utama" <bedroom_red> (Home, FF)
Group FF_Bedroom "Kamar Tidur Anak" <bedroom> (Home, FF)
Group FF_Kitchen "Dapur" <kitchen> (Home, FF)
Group FF_Bathroom "Kamar Mandi" <bath> (Home, FF)
Switch OU_FrontYard_Light "Lampu" <light> (OU_FrontYard, gLight)
Switch OU_Garage_Light "Lampu" <light> (OU_Garage, gLight)
Switch FF_LivingRoom_Light "Lampu" <light> (FF_LivingRoom, gLight)
Switch FF_MasterBedroom_Light "Lampu" <light> (FF_MasterBedroom, gLight)
Switch FF_Bedroom_Light "Lampu" <light> (FF_Bedroom, gLight)
Switch FF_Kitchen_Light "Lampu" <light> (FF_Kitchen, gLight)
Switch FF_Bathroom_Light "Lampu" <light> (FF_Bathroom, gLight)
Group:Switch:OR(ON, OFF) gLight "Lampu" <light> (Home)
Tahap selanjutnya adalah menyimpan konfigurasi file item di atas pada direktori konfigurasi openhab. Untuk Openhabian raspberry, konfigurasi terletak pada direktori /etc/openhab2/items.
- Login ke dalam server openhab menggunakan ssh
- Simpan file konfigurasi items ke dalam direktori /etc/openhab2/items
- Gunakan format nama file namafile.items. Perhatikan untuk konfigurasi item menggunakan ekstensi .items. Sebagai contoh kita gunakan nama file default.items.
- Masuk ke dalam web konfigrasi Paper UI openhab http://ipaddress:8080
- Masuk ke dalam menu Configuration -> Items.
- Semua items di atas akan tampil ada halaman konfigurasi tersebut seperti gambar di bawah ini
Oke, sampai disini kita telah miliki konfigurasi untuk items untuk semua item yang berada pada rumah Pak Budi, langkah selanjutnya adalah membuat konfigurasi Things, Bridge dan Channel.
Leave a Reply