openHAB (open Home Automation Bus) java'da yazılmış olup, bina otomasyonunda kullanılan bileşenleri üretici ve iletişim protokolü gözetmeden bir platformda birleştiren yazılım çözümüdür. Bununla birlikte herhangi bir işletim sistemine bağlı olmaksızın ek bağlantılarla yeni teknolojilerle ve protokollerle geliştirile bilinir. openHAB eclipse kamu lisansı (EPL) altında ve açık kaynak (Open Source) olarak geliştiriliyor. openHAB'ın kullanıcı arayüzleri internet tarayıcısını, Android'i ve Apple iOS'i destekler.
Geliştirici(ler) | Kai Kreuzer |
---|---|
Güncel sürüm | 2.2.0 / 22.01.2017 |
Önizleme sürümü | 2.1.0-SNAPSHOT |
Programlama dili | Java 7'den itibaren |
İşletim sistemi | Linux, Windows, Mac OS X, Unix, Solaris,OpenBSD, FreeBSD |
Platform | JVM |
Tür | Bina otomasyonu |
Lisans | Eclipse Kamu Lisansı (EPL) |
Resmî sitesi | www.openhab.org |
Kod deposu |
|
OpenHAB "Duke’s Choice Award 2013" ödülüne layık görülmüştür.
Yazılım mimarisi
openHAB projesi aşağıdaki bölümlere ayrılmıştır
- openhab-runtime: eylemleri gerçekleştiren sunucu işlemi.
- openhab-designer: Eclipse tabanlı, kullanımı kolay konfigürasyon arayüzü.
openHAB Runtime
openHAB Runtime OSGi Frameworkü (Equinox) ye gömülü bir OSGi demetlerinden oluşan paketdir. Yazılımı tamamen java ile gerçekleştiği için bir JVM gerektirir. OSGi tabanlı yazılımı, yüksek derecede modüler mimari sunduğundan, çalışırken ek fonksiyonlar eklenip çıkartıla bilinir.
Haberleşme
openHAB'ın iki tane iç iletişim kanalı vardır:
- Bir tane eşzamansız (asenkron) Event Bus
- Bir tane Item Repository
Event Bus
Event Bus openHAB'ın sunduğu temel hizmetidir. Durum bilgisi içermeyen bütün bundleler, öteki bundlelere etkinliklerin (events) durumu hakkında bilgi verir. Bütün "Protokoll Bindingler" reel fiziki donanımların bağlantılarıdır ve haberleşmeyi "Event Bus" üzerinden gerçekleştirir. Burada teknik taban olarak "OSGi EventAdmin Service" kullanılmaktadır.
Item Repository
openHAB durum bilgisi içeren fonksiyonlar için "Item Repositoryu" sunmaktadır. "Item Repository" Event Busa bağlı olarak çalışır ve böylelikle Item'lerin (öğelerin) mevcut durumunu takip edebilmesini sağlar. Bu sayede istenildiğinde "Item Repositoryu" kullanılarak bir Itemin (öğenin) o anki mevcut durumunu sorgulama olanağını sunar. Örneğin bu durum bilgilerini visualize ederek sonradan mantıksal değişiklikler veya Persistence (depolama) hizmetine sunulma amacıyla kullanılabilinir. Böylelikle bağlantısı olmayan ve kendi mevcut durumunu kendinde kaydetme zorunluluğunda olan hizmetleri önler ve bunu bir merkezi hizmet olarak sunar.
Sitemap
openHAB jenerik konfigüre edilebilinen "Sitemap" adında bir kullanıcı arayüzüne sahiptir. "Sitemap" çeşitli sayfaların veya kullanıcı arayüzlerin (UI) içeriğini tanımlamak için bir (Tree - graph theory) sıralanmış widgetlerden oluşur. Widgetler bir Item'in mevcut durumu, grafiği veya şalteri olabilir. Ayrıca birkaç farklı "Sitemap" tanımlamalarda olabilir. Örneğin bu bir mobil cihaz veya başka bir gösterge opsiyonlu olabilir.
Item UI Providers
"Item UI Providers" dinamik bir bicimde kullanıcı arayüzü (UI) oluşturma olanağı sağlar. Item- ve grup- tanımları widgetin görünümünü konfigüre etmeyi ve böylelikle buradan dinamik bir bicimde Sitemapleri oluşturmayı sağlar. Bir kullanım örneği olarak daha önce "Sitefilede" önceden bir gruba deklare edilmiş bir grubun tüm elemanlarını göstermesi gibi.
openHAB Designer
"openHAB Designer" bir yazılımı olup "openHAB runtime" yi kolay konfigüre etmek için geliştirilmiştir. İçinde gerekli konfigürasyon dosyalarını oluşturmak için bir editör barındırır. Editörün sözdizimi denetimi, otomatik tamamlama ve bağlama özgü işaretleme gibi özellikleri vardır.
Desteklenen Teknolojiler
Bindings
OSGi platformu modüler mimari yapısı nedeniyle, platformu yeni teknolojilerle esnek bir bicimde geliştirmeye izin verir. Böylece fonksiyonelliği, "Bindinglerle" (bağlantılarla) kolayca dahil ve adapte edilebilir. Aşağıdaki "Bindinglerle" şu anda kullanılabilir:
, Bluetooth, Comfo Air, CUPS, , , , Epson Projector, Exec (Execute Command), , Fritz AHA, HDAnywhere, Heatmiser, , HTTP, IHC / ELKO, INSTEON Hub, , Koubachi, MAX!Cube, MiLight, Modbus TCP, , , Netatmo, Network Health, Nibe Heatpump, Nikobus, Novelan/Luxtronic Heatpump, NTP, , Onkyo AV Receiver, Open energy monitor, OpenPaths, OpenSprinkler, OSGi Configuration Admin, Philips Hue, Piface, Pioneer AV receiver, Plugwise, PLCBus, PulseAudio, RFXCOM, Samsung TV, Serial, SNMP, , System Info, Somfy URTSI II, Sonos, TCP/UDP, Swegon ventilation, , Tivo, , Wake-on-LAN,
Bazı özellikler "Binding" yerine kısmen konfigürasyon olarak geliştirilmiştir. Bunlar:
- Dropbox Support
- Google Calendar Support28 Temmuz 2013 tarihinde Wayback Machine sitesinde .
- Text to speech (TTS) uygulama
Persistence
"Persistence Service" bir "Itemin" mevcut durumunu depolamayı sağlar. Böylelikle, değişiklikleri görselleştirile bilinir, eski veriler sorgulana bilinir ya da sistemi yeniden çalıştırırken (rebootlarken) durum verilerini geri yüklene bilinir.
Şu anda aşağıdaki "Serviceler" sunulmaktadır:
- db4o - bir Java Object veritabanı
- rrd4j - bir round-robin veritabanı RRDtool'un Java versiyonu
- MySQL - bir MySQL veritabanı arayüzü
- Open.Sen.Se - bir Internet-of-Things (IoT) platformu
- logging using Logback - "Itemin" mevcut durumunu bir log dosyasına esnek bir söz dizimi tanımıyla yazar
Arayüzler
Kullanıcı Arayüzleri
- Classic UI - klasik bir internet arayüzü
- Apple iOS Client
- Android Client - HABDroid openHAB için bir Open Source Android kullanıcı arayüzüdür
- GreenT UI
- CometVisu22 Mart 2015 tarihinde Wayback Machine sitesinde .
OSGi konsolü
openHAB OSGi konsolu üzerinden de kontrol edilebilinir. Konsole komutları "Eventbuse" göndererek bir "Itemin" statüsünü değiştirir ya da mevcut durumunu öğrenebilirsiniz. Örneğin:
---openHAB commands--- openhab send <item> <command> - Bir "Item" için bir komut gönderir (Örneğin: ışığı aç) openhab status <item> - Bir "Itemin" mevcut durumu sorgulamak için openhab say <sentence to say> - TTS Speech-Engine kullanarak mesajı konuşarak iletme
XMPP Instant Messaging konsolü
openHAB XMPP (Jabber Instant Messenger) ile uzaktan erişimi destekler. Böylelikle bir Jabber hesabi ile bina otomasyonuyla komutlar göndermek için sohbet edebilirsiniz. Bu komutlar OSGi konsolunda kullandığınız komutlardır.
Google Takvim konsolü
openHAB komutlarını göndermenin bir başka yolu da Google Takvim'de ilgili bir giriş aracılığıyla zaman kontrollüdür.
REST-API
RESTful arayüzü ile diğer sistemlerle iletişime geçmek için openHAB açık bir arayüz oluşturur.
myopenHAB
myopenHAB adındaki bulut hizmetini (Cloud-Service) port açmadan ya da DynDNS kayıtı yapmadan uzaktan erişim sağlayarak yönetir ve HABDroid adındaki Android uygulamanızla bildirimler alabilirsiniz.(şu an myopenHAB2 Şubat 2017 tarihinde Wayback Machine sitesinde .
Dış bağlantılar
- openhab.org23 Eylül 2020 tarihinde Wayback Machine sitesinde . - openHAB'ın resmi internet sitesi
- openHAB Dokumentation23 Ocak 2017 tarihinde Wayback Machine sitesinde . openHAB 2'nin resmi dokümanları
- Bir openHAB demo arayüzü21 Eylül 2014 tarihinde Wayback Machine sitesinde .
- Cloud-Service myopenHAB2 Şubat 2017 tarihinde Wayback Machine sitesinde .
- eclipse.org/smarthome6 Nisan 2014 tarihinde Wayback Machine sitesinde . Eclipse SmartHome'ın resmi internet sitesi
- openHAB Community23 Ocak 2017 tarihinde Wayback Machine sitesinde . — İngilizce yardım yeri (support forum)
Kaynakça
- ^ 2013 Duke's Choice Awards blogs.oracle.com 2 Şubat 2017 tarihinde Wayback Machine sitesinde . ve Oracle.com 15 Mart 2014 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
openHAB open Home Automation Bus java da yazilmis olup bina otomasyonunda kullanilan bilesenleri uretici ve iletisim protokolu gozetmeden bir platformda birlestiren yazilim cozumudur Bununla birlikte herhangi bir isletim sistemine bagli olmaksizin ek baglantilarla yeni teknolojilerle ve protokollerle gelistirile bilinir openHAB eclipse kamu lisansi EPL altinda ve acik kaynak Open Source olarak gelistiriliyor openHAB in kullanici arayuzleri internet tarayicisini Android i ve Apple iOS i destekler open Home Automation Bus openHAB Gelistirici ler Kai KreuzerGuncel surum2 2 0 22 01 2017Onizleme surumu2 1 0 SNAPSHOTProgramlama diliJava 7 den itibarenIsletim sistemiLinux Windows Mac OS X Unix Solaris OpenBSD FreeBSDPlatformJVMTurBina otomasyonuLisansEclipse Kamu Lisansi EPL Resmi sitesiwww openhab orgKod deposugithub com openhab openhab core OpenHAB Duke s Choice Award 2013 odulune layik gorulmustur Yazilim mimarisiopenHAB projesi asagidaki bolumlere ayrilmistir openhab runtime eylemleri gerceklestiren sunucu islemi openhab designer Eclipse tabanli kullanimi kolay konfigurasyon arayuzu openHAB Runtime openHAB Runtime OSGi Frameworku Equinox ye gomulu bir OSGi demetlerinden olusan paketdir Yazilimi tamamen java ile gerceklestigi icin bir JVM gerektirir OSGi tabanli yazilimi yuksek derecede moduler mimari sundugundan calisirken ek fonksiyonlar eklenip cikartila bilinir Haberlesme openHAB in iki tane ic iletisim kanali vardir Bir tane eszamansiz asenkron Event Bus Bir tane Item RepositoryEvent Bus Event Bus openHAB in sundugu temel hizmetidir Durum bilgisi icermeyen butun bundleler oteki bundlelere etkinliklerin events durumu hakkinda bilgi verir Butun Protokoll Bindingler reel fiziki donanimlarin baglantilaridir ve haberlesmeyi Event Bus uzerinden gerceklestirir Burada teknik taban olarak OSGi EventAdmin Service kullanilmaktadir Item Repository openHAB durum bilgisi iceren fonksiyonlar icin Item Repositoryu sunmaktadir Item Repository Event Busa bagli olarak calisir ve boylelikle Item lerin ogelerin mevcut durumunu takip edebilmesini saglar Bu sayede istenildiginde Item Repositoryu kullanilarak bir Itemin ogenin o anki mevcut durumunu sorgulama olanagini sunar Ornegin bu durum bilgilerini visualize ederek sonradan mantiksal degisiklikler veya Persistence depolama hizmetine sunulma amaciyla kullanilabilinir Boylelikle baglantisi olmayan ve kendi mevcut durumunu kendinde kaydetme zorunlulugunda olan hizmetleri onler ve bunu bir merkezi hizmet olarak sunar Sitemap openHAB jenerik konfigure edilebilinen Sitemap adinda bir kullanici arayuzune sahiptir Sitemap cesitli sayfalarin veya kullanici arayuzlerin UI icerigini tanimlamak icin bir Tree graph theory siralanmis widgetlerden olusur Widgetler bir Item in mevcut durumu grafigi veya salteri olabilir Ayrica birkac farkli Sitemap tanimlamalarda olabilir Ornegin bu bir mobil cihaz veya baska bir gosterge opsiyonlu olabilir Item UI Providers Item UI Providers dinamik bir bicimde kullanici arayuzu UI olusturma olanagi saglar Item ve grup tanimlari widgetin gorunumunu konfigure etmeyi ve boylelikle buradan dinamik bir bicimde Sitemapleri olusturmayi saglar Bir kullanim ornegi olarak daha once Sitefilede onceden bir gruba deklare edilmis bir grubun tum elemanlarini gostermesi gibi openHAB Designer openHAB Designer bir yazilimi olup openHAB runtime yi kolay konfigure etmek icin gelistirilmistir Icinde gerekli konfigurasyon dosyalarini olusturmak icin bir editor barindirir Editorun sozdizimi denetimi otomatik tamamlama ve baglama ozgu isaretleme gibi ozellikleri vardir Desteklenen TeknolojilerBindings OSGi platformu moduler mimari yapisi nedeniyle platformu yeni teknolojilerle esnek bir bicimde gelistirmeye izin verir Boylece fonksiyonelligi Bindinglerle baglantilarla kolayca dahil ve adapte edilebilir Asagidaki Bindinglerle su anda kullanilabilir Bluetooth Comfo Air CUPS Epson Projector Exec Execute Command Fritz AHA HDAnywhere Heatmiser HTTP IHC ELKO INSTEON Hub Koubachi MAX Cube MiLight Modbus TCP Netatmo Network Health Nibe Heatpump Nikobus Novelan Luxtronic Heatpump NTP Onkyo AV Receiver Open energy monitor OpenPaths OpenSprinkler OSGi Configuration Admin Philips Hue Piface Pioneer AV receiver Plugwise PLCBus PulseAudio RFXCOM Samsung TV Serial SNMP System Info Somfy URTSI II Sonos TCP UDP Swegon ventilation Tivo Wake on LAN Bazi ozellikler Binding yerine kismen konfigurasyon olarak gelistirilmistir Bunlar Dropbox Support Google Calendar Support28 Temmuz 2013 tarihinde Wayback Machine sitesinde Text to speech TTS uygulamaPersistence Persistence Service bir Itemin mevcut durumunu depolamayi saglar Boylelikle degisiklikleri gorsellestirile bilinir eski veriler sorgulana bilinir ya da sistemi yeniden calistirirken rebootlarken durum verilerini geri yuklene bilinir Su anda asagidaki Serviceler sunulmaktadir db4o bir Java Object veritabani rrd4j bir round robin veritabani RRDtool un Java versiyonu MySQL bir MySQL veritabani arayuzu Open Sen Se bir Internet of Things IoT platformu logging using Logback Itemin mevcut durumunu bir log dosyasina esnek bir soz dizimi tanimiyla yazarArayuzlerKullanici Arayuzleri Classic UI klasik bir internet arayuzu Apple iOS Client Android Client HABDroid openHAB icin bir Open Source Android kullanici arayuzudur GreenT UI CometVisu22 Mart 2015 tarihinde Wayback Machine sitesinde OSGi konsolu openHAB OSGi konsolu uzerinden de kontrol edilebilinir Konsole komutlari Eventbuse gondererek bir Itemin statusunu degistirir ya da mevcut durumunu ogrenebilirsiniz Ornegin openHAB commands openhab send lt item gt lt command gt Bir Item icin bir komut gonderir Ornegin isigi ac openhab status lt item gt Bir Itemin mevcut durumu sorgulamak icin openhab say lt sentence to say gt TTS Speech Engine kullanarak mesaji konusarak iletme Jabber KonsolXMPP Instant Messaging konsolu openHAB XMPP Jabber Instant Messenger ile uzaktan erisimi destekler Boylelikle bir Jabber hesabi ile bina otomasyonuyla komutlar gondermek icin sohbet edebilirsiniz Bu komutlar OSGi konsolunda kullandiginiz komutlardir Google Takvim konsolu openHAB komutlarini gondermenin bir baska yolu da Google Takvim de ilgili bir giris araciligiyla zaman kontrolludur REST API RESTful arayuzu ile diger sistemlerle iletisime gecmek icin openHAB acik bir arayuz olusturur myopenHAB myopenHAB adindaki bulut hizmetini Cloud Service port acmadan ya da DynDNS kayiti yapmadan uzaktan erisim saglayarak yonetir ve HABDroid adindaki Android uygulamanizla bildirimler alabilirsiniz su an myopenHAB2 Subat 2017 tarihinde Wayback Machine sitesinde Dis baglantilaropenhab org23 Eylul 2020 tarihinde Wayback Machine sitesinde openHAB in resmi internet sitesi openHAB Dokumentation23 Ocak 2017 tarihinde Wayback Machine sitesinde openHAB 2 nin resmi dokumanlari Bir openHAB demo arayuzu21 Eylul 2014 tarihinde Wayback Machine sitesinde Cloud Service myopenHAB2 Subat 2017 tarihinde Wayback Machine sitesinde eclipse org smarthome6 Nisan 2014 tarihinde Wayback Machine sitesinde Eclipse SmartHome in resmi internet sitesi openHAB Community23 Ocak 2017 tarihinde Wayback Machine sitesinde Ingilizce yardim yeri support forum Kaynakca 2013 Duke s Choice Awards blogs oracle com 2 Subat 2017 tarihinde Wayback Machine sitesinde ve Oracle com 15 Mart 2014 tarihinde Wayback Machine sitesinde