Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

openHAB @ ECE2011

3,790 views

Published on

Published in: Technology
  • Be the first to comment

openHAB @ ECE2011

  1. 1. Eclipse@Home - Home Automation in Practice openHAB Empowering the SmartHome Kai Kreuzer
  2. 2. Agenda •Why? •What? •Live Demo •Q&A Session
  3. 3. 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
  4. 4. Why?
  5. 5. 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 =~ /^["]/) {
  6. 6. What?
  7. 7. The Open Source Project openHAB.org • GPLv3, hostet at Google Code (Mercurial DVCS)• Continuous Integration Server (Jenkins) at CloudBees.com Eclipse RCP OSGi-based Runtime Configuration Tool EMF EventAdmin Xtext/Xbase 2.0 Declarative JBoss Drools Services Jetty Maven3/Tycho JAX-RS/Jersey
  8. 8. Concept of openHAB Event Bus Stateful Services Automation Logic openHAB openHAB openHAB User Interface Item Registry Console Logging Status Updates Status Updates Commands Commands Commands openHAB Event Bus Status Updates Status Updates Status Updates Status Updates Commands Commands Commands Commands KNX Binding RS-232 Binding Bluetooth Binding Bluetooth MPD Binding ... RS-232 KNX MPD
  9. 9. Features• User Interfaces: • Bindings for: • Smartphone UI • KNX • Console via XMPP • One-Wire • Google Calendar Events • RS-232 • REST-API • Bluetooth • HTTP In/Out• Rule Actions: • Exec (Command line) • Mails via SMTP • NTP (Network Time Protocol) • XMPP / Jabber Notifications • Wake-on-LAN • Prowl-Notifications • AVM Fritz!Box • Text-to-Speech • Network-Health • Soundfile / Stream Player • MPD (Music Player Deamon) • Volume Control
  10. 10. LiveDemo
  11. 11. 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 • ...
  12. 12. Questions?

×