Upload
kai-kreuzer
View
1.825
Download
0
Embed Size (px)
Citation preview
Eclipse@Home - Home Automation in Practice
Kai Kreuzer
Empowering the SmartHome
openHAB
Agenda
•Why?
•What?
•Live Demo•Q&A Session
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
Why?
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 =~ /^[\'\"]/) {
What?
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
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
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
Live Demo
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• ...
Questions?