
Raspberry Pi üzerinde OpenHAB 2 kurulumu
Raspberry Pi 3 küçük; fakat bir o kadar da güçlü ve faydalı bir cihaz. Arkasındaki topluluk desteğiyle de gücüne güç katmakta. Farklı single on-board computer (SoC) deneyimlerim olmasına karşın özellikle topluluk desteği Raspberry Pi’yi öne çıkarttı. Evimde Raspberry Pi’yi akıllı ev sistemimin merkezinde konumlandırdım. Bu sebeple üzerinde OpenHAB 2 koşturuyorum. Bu makalemde, kısa süre önce Beta3 sürümü yayınlanan OpenHAB 2’yi nasıl Raspberry Pi üzerine kurabileceğinizi paylaşacağım.
Github üzerinde açık kaynak kodlu geliştirilen OpenHAB 2 projesi binary dağıtımlarını bintray üzerinden yapmakta. Yazımı hazırladığım sırada en son güncel sürümü olan Beta 3’e bu adresten ulaşılabilir. Online ve offline şeklinde iki dağıtımın bulunduğu bu adreste, ihtiyacınıza göre modüllerin online olarak indirildiği online sürümü dışında toplu halde hepsinin bir arada olduğu offline sürümüne de ulaşabilirsiniz. Ben yer kaplamaması adına bu makalemde online sürümü kullanmayı planlıyorum.
İlk adımımız Raspberry Pi’ye bağlanarak online sürümü indirmek olacak;
wget https://bintray.com/openhab/mvn/download_file?file_path=org%2Fopenhab%2Fdistro%2Fopenhab-online%2F2.0.0.b3%2Fopenhab-online-2.0.0.b3.zip -O openhab-online-2.0.0.b3.zip
Güncel sürümlere ait indirme adresleri için bintray üzerinde yer alan openhab-distro projesini ziyaret etmenizde fayda var.
İndirme işleminin tamamlanması ardından zip dosyasını açalım. Ben dosyaları /opt/openhab2 dizini altında atmayı tercih ettim. Siz isterseniz farklı bir dizin de kullanabilirsiniz.
sudo unzip openhab-online-2.0.0.b3.zip -d /opt/openhab2
Patform bağımsız geliştirilen OpenHAB 2, bu haliyle çalışmaya hazır durumda. OpenHAB 2 içerisinde önceden tanımlı 3 farklı yapılandırma paketi ile gelmektedir. Sadece bir gösterge panelinin yer aldığı, ek hiç bir arayüz ve eklentinin bulunmadığı minimal paketi. Tüm standart arayüz ve tipik eklentilerin yer aldığı standard paketi. Son olarak da; hızlıca OpenHAB 2’yi test edebileceğiniz, yeteneklerini görebileceğiniz arayüz, yapılandırma ve bir kaç eklentinin yer aldığı demo paketi. Bu paketler ve diğer eklenti seçimleri openhab 2 kurulum dizini altından conf/services/addons.cfg adresinde yer almaktadır. OpenHAB 2 varsayılan olarak standard paketini kullanmaktadır.
Yetkilendirme de sıkıntı yaşamamak için OpenHAB dizini yetkilerini düzeltelim;
sudo chown -R pi:pi /opt/openhab2
Aşağıdaki komut ile OpenHAB 2’yi başlatabiliriz;
/opt/openhab2/start.sh
OpenHAB 2 Apache Karaf’ı kullanmaktadır. Dolayısıyla da güçlü bir shell desteği sunmaktadır. Başlatmamız ardından bizi bu shell karşılayacaktır;

Ekrandaki karşılama mesajında da belirtildiği üzere bu shell’den çıkarak OpenHAB 2’yi durdurmak için ctrl-d tuş kombinasyonunu kullanabilirsiniz. Alternatif olarak shell’e system:shutdown ya da logout komutlarını yazarak da çıkış yapabilirsiniz. İlklendirme işlemleri tamamlandığından OpenHAB arayüzüne bir tarayıcı üzerinden Raspberry Pi’nizin 8080 portu üzerinden bağlanabilirsiniz;

OpenHAB 2, standard paketinde bize farklı arayüz seçenekleri sunmaktadır. Yukarıdaki ekran görüntüsünde de görebileceğiniz bu arayüz seçeneklerinden tercih ettiğinize tıklayarak geçiş yapabilirsiniz. Daha önceden OpenHAB 1.x sürümlerini kullandıysanız tahminimce size Classic UI daha tanıdık gelecektir.
OpenHAB 2 varsayılan olarak 8080 (http) ve 8443 (https) portlarını kullanmatadır. Farklı bir port kullanmak isterseniz OPENHAB_HTTP_PORT ve OPENHAB_HTTPS_PORT ortam değişkenlerinde belirtmeniz gerekli;
export OPENHAB_HTTP_PORT=8980 export OPENHAB_HTTPS_PORT=8943
Benzer şekilde EXTRA_JAVA_OPTS ortam değişkeni ile ek Java parametreleri verebilmeniz de mümkün. Örneğin;
export EXTRA_JAVA_OPTS=-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0
Örneğimizde OpenHAB’ı komut satırından başlatmış olsak da, gerçek hayat senaryolarında bir hizmet olarak başlatılması tercih edilecektir. Bu senaryo geliştiriciler tarafından göz önüne alınarak hizmet olarak kurulması için aşağıdaki komut eklenmiştir;
openhab:install-service
Öte yandan Raspberry Pi için bu komut henüz desteklenmemektedir. Raspbian Jessie ve üzeri için servis kurulum adımlarını şimdilik elle gerçekleştirmeliyiz.
Hizmetimiz için bir openhab.service dosyası oluşturmalıyız. Bunun için aşağıdaki komut ile nano’yu başlatabilirsiniz;
sudo nano /lib/systemd/system/openhab.service
Servis dosyasının içeriği aşağıdaki şekilde olmalıdır;
[Unit] Description=Starts and stops the openHAB Home Automation Bus Documentation=http://www.openhab.org Wants=network-online.target After=network-online.target [Service] Type=simple GuessMainPID=yes User=pi ExecStart=/opt/openhab2/start.sh ExecStop=kill -SIGINT $MAINPID Restart=on-failure WorkingDirectory=/opt/openhab2 [Install] WantedBy=multi-user.target

OpenHAB servisini aşağıdaki komutla aktif hale getirmeliyiz;
sudo systemctl daemon-reload sudo systemctl enable openhab
Servisin aktif duruma gelmesi ardından sistemin her açılışında hizmetimiz de otomatik olarak başlatılacaktır. Aşağıdaki komutlar yardımıyla elle başlatabilir ya da durdurabiliriz;
sudo systemctl stop openhab sudo systemctl start openhab
Aşağıdaki komutla servis durumu hakkında bilgi alabiliriz;
sudo systemctl status openhab
OpenHAB 2’yi servis olarak başlattığınızda shell’e ssh üzerinden erilebişebilirsiniz. Apache Karaf’ın varsayılan ssh portu 8101’dir;
ssh -p 8101 karaf@localhost
Varsayılan kullanıcı adı karaf’tır. Şifresi kullanıcı adı ile aynıdır.

Yukarıda adımlar ardından her ne kadar OpenHAB’ı başlatmış olsakta, aslında şu an tam olarak kullanıma hazır değil. Öncelikle ihtiyacımız olan eklentileri kurmamız, yapılandırmalarını gerçekleştirmemiz gerekli. Eklenti kurma işlemini OpenHAB shell’inden yapabileceğimiz gibi Paper UI gibi arayüzler vasıtasıyla görsel olarak da yapabilmemiz mümkün.
Komut satırından devam etmek isterseniz aşağıdaki komut yardımıyla kurulum yapabileceğiniz eklentilerin/özelliklerin listesine ulaşabilirsiniz;
feature:list

Gördüğünüz gibi yukarıdaki komut eklenti/özellik listesini sunmasının yanında sürümleri ve sistemde kurulu olup olmadığı gibi ek bilgileri de sunmaktadır.
Listelenen eklentiler arasından istediklerinizi aşağıdaki komut yardımıyla kurabilirsiniz;
feature:install <eklenti/özellik adı>
Komuttaki <eklenti/özellik adı> bölümüne kurulumunun yapılması istediğiniz özelliğin adını yazmalısınız. Bu bilgiye bir önceki komutla gelen listedeki name stütunundan ulaşabilirsiniz. Örneğin; Z-Wave Bindign kurulumunu aşağıdaki şekilde yapabilirsiniz;
feature:install openhab-binding-zwave
İpucu: özellik listesinde aşağıdaki şekilde hızlı arama yapabilirsiniz;
feature:list | grep zwave

Kurulum işlemini alternatif olarak Paper UI üzerinden de yapabiliriz. Çok daha kolay olan bu yöntemde Paper UI arayüzünde sol tarafta yer alan menüden Extensions bölümüne gelerek istediğiniz eklentiyi kurabilirsiniz;

Her bir eklenti farklı yapılandırma ihtiyaçlarına sahip olduğu için yapılandırma adımlarını yeri geldikteçe ilerleyen makalelerde değineceğim.