openhab @ ece2011
TRANSCRIPT
![Page 1: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/1.jpg)
Eclipse@Home - Home Automation in Practice
Kai Kreuzer
Empowering the SmartHome
openHAB
![Page 2: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/2.jpg)
Agenda
•Why?
•What?
•Live Demo•Q&A Session
![Page 3: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/3.jpg)
About Me
• Principal Software Engineer at Temenos in Lausanne, Switzerland
• Eclipse Enthusiast since 2006, doing Model Driven Development with Eclipse RCP
• Home Automation as a hobby
• founded openHAB.org in 2010
![Page 4: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/4.jpg)
Why?
![Page 5: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/5.jpg)
![Page 6: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/6.jpg)
![Page 7: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/7.jpg)
![Page 8: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/8.jpg)
![Page 9: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/9.jpg)
![Page 10: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/10.jpg)
![Page 11: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/11.jpg)
sub html_sub { my ($data, $sub_required) = @_; return unless $data; my ($sub_name, $sub_arg, $sub_ref);
$data = '&' . $data if $data and $data !~/^&/; # Avoid & character in the url ... messes up Tellme $data =~ s/\=\&+$//; # Goofy wapalizer (http://www.gelon.net) appends this??
# Save ISMAP data: xyz(a,b)?1,2 -> xyz(a,b,1,2) if ($data =~ /^(.+)\)\?(\d+),(\d+)$/) { $data = "$1,xy=$2|$3)"; } # Allow for &sub1 and &sub1(args) if ((($sub_name, $sub_arg) = $data =~ /^\&(\S+?)\((.*)\)$/) or (($sub_name) = $data =~ /^\&(\S+)$/)) { $sub_arg = '' unless defined $sub_arg; # Avoid uninit warninng# $sub_ref = \&{$sub_name}; # This does not work ... code refs are always auto-created :(# if (defined $sub_ref) {
# Check for authorization if (($Authorized or $Password_Allow{"&$sub_name"} and $Password_Allow{"&$sub_name"} eq 'anyone')) { # If not quoted, split to multiple argument according to ,# $sub_arg = "'$sub_arg'" if $sub_arg and $sub_arg !~ /^[\'\"]/; # Add quotes if needed unless ($sub_arg =~ /^[\'\"]/) {
![Page 12: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/12.jpg)
What?
![Page 13: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/13.jpg)
The Open Source Project openHAB.org
• GPLv3, hostet at Google Code (Mercurial DVCS)• Continuous Integration Server (Jenkins) at CloudBees.com
OSGi-based RuntimeEclipse RCP
Configuration Tool
Jetty
EMFXtext/Xbase 2.0
DeclarativeServices
EventAdmin
Maven3/Tycho
JBoss Drools
JAX-RS/Jersey
![Page 14: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/14.jpg)
Concept of openHAB Event Bus
KNX Binding
RS-232 Binding
Bluetooth Binding
MPD Binding
KNX
Blue
tooth
RS-2
32
MPD
openHAB Event Bus
Comm
ands
Statu
s Upd
ates
Comm
ands
Statu
s Upd
ates
Comm
ands
Statu
s Upd
ates
Comm
ands
Statu
s Upd
ates
...
openHABItem Registry
Comm
ands
Statu
s Upd
ates
Automation Logic
User Interface
openHAB Console
openHAB Logging
Comm
ands
Statu
s Upd
ates
Comm
ands
Stateful Services
![Page 15: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/15.jpg)
Features
• Bindings for:• KNX• One-Wire• RS-232• Bluetooth• HTTP In/Out• Exec (Command line)
• NTP (Network Time Protocol)
• Wake-on-LAN• AVM Fritz!Box• Network-Health• MPD (Music Player Deamon)
• User Interfaces:• Smartphone UI• Console via XMPP• Google Calendar Events• REST-API
• Rule Actions:• Mails via SMTP • XMPP / Jabber Notifications• Prowl-Notifications• Text-to-Speech• Soundfile / Stream Player• Volume Control
![Page 16: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/16.jpg)
Live Demo
![Page 17: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/17.jpg)
openHAB.org – Outlook
Version 0.9.0 by end of 2011:• Xbase powered rule engine• Asterisk binding• VDR binding• REST server push (Atmosphere)
Roadmap:•HTML5 based tablet UI• Persistence (database support)• Charts, gauges, meters• ...
![Page 18: openHAB @ ECE2011](https://reader034.vdocuments.us/reader034/viewer/2022051314/554a158fb4c9058c5d8b4e42/html5/thumbnails/18.jpg)
Questions?