SlideShare une entreprise Scribd logo
1  sur  30
home	
  smart	
  home	
  

Heimautoma-sierung	
  mit	
  OSGi	
  
Thomas	
  Eichstädt-­‐Engelen	
  
Über	
  mich	
  
•    Senior	
  Consultant	
  bei	
  innoQ	
  Deutschland	
  
•    Schwerpunkt	
  Java,	
  Eclipse,	
  RCP	
  
•    Hobby:	
  Heimautoma-sierung	
  
•    CommiIer	
  bei	
  openHAB	
  seit	
  Ende	
  2010	
  
Begriffsbes-mmung	
  
•  Gebäudeautoma-sierung	
  
   –  Industrie-­‐	
  und	
  Zweckbauten	
  
   –  Ziel:	
  Energie-­‐	
  und	
  Personaleinsparung	
  
•  Heimautoma-sierung	
  
   –    Teilbereich	
  der	
  Gebäudeautoma-sierung	
  
   –    Wohnbauten	
  
   –    Ziel:	
  Komfort,	
  Sicherheit,	
  Energieeinsparung	
  
   –    bezieht	
  auch	
  „fachfremde“	
  Bereiche	
  mit	
  ein	
  
•  SmartHome	
  
   –  Automa-sierung	
  und	
  Vernetzung	
  von	
  Hauselektrik,	
  
      Elektrogeräten	
  und	
  Unterhaltungselektronik	
  
   –  Autarke	
  Ak-on	
  und	
  Reak-on	
  (Szenarien)	
  
   –  Trennung	
  von	
  Sensorik	
  und	
  Aktorik	
  
   –  Nicht	
  der	
  Kühlschrank	
  der	
  selbst	
  bestellt	
  
Szenarien	
  
•  Licht	
  gedimmt	
  einschalten	
  
•  Lichts-mmung	
  kontextabhängig	
  wählen	
  
•  anwesenheitsabhängige	
  Türklingel	
  
•  Alarm	
  melden	
  
•  Einschalten	
  der	
  Klima/Heizung	
  wenn	
  nö-g	
  
•  Ausschalten	
  wenn	
  Klima/Heizung	
  nö-g	
  
•  „Alles	
  Aus“	
  bei	
  Verlassen	
  des	
  Hauses	
  
•  Einschalten	
  der	
  Weihnachtsbeleuchtung	
  aber	
  Ausschalten,	
  
   wenn	
  Last	
  steigt	
  
•  Warnung	
  bei	
  Regen,	
  wenn	
  Dachfenster	
  geöffnet	
  
•  Balkonbewässerung	
  nach	
  WeIer	
  oder	
  Kalender	
  
•  Zisterne	
  füllen,	
  wenn	
  leer	
  
nö-ge	
  Aktorik	
  /	
  Sensorik	
  




hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐home-­‐automa-on.html	
  
Verteilerschränke	
  (Bsp.)	
  




Divers	
  –	
  www.knx-­‐user-­‐forum.de	
  
Standards	
  und	
  Produkte	
  
•    KNX/EIB	
  
•    digitalSTROM	
  
•    IPSymcom	
  
•    X10	
  
•    LCN	
  /	
  LON	
  
•    DALI	
  
•    1-­‐Wire	
  
•    ZigBee,	
  EnOcean	
  
•    Bussysteme	
  der	
  Elektronikversender	
  (ELV,	
  Conrad	
  etc.)	
  
•    ...	
  
Problem	
  
•  Unzählige	
  verschiedene	
  Komponenten	
  
•  Ebenso	
  viele	
  unterschiedliche	
  Protokolle	
  
•  Notwendigkeit	
  einer	
  Integra-onsplaform	
  
openHAB	
  
empowering	
  smart	
  homes	
  
Projektdetails	
  
•    ini-aler	
  checkin	
  MiIe	
  Juni	
  2010	
  
•    Hos-ng	
  bei	
  Google-­‐Code	
  (Mercurial)	
  
•    GPL	
  V3	
  
•    Java,	
  Eclipse,	
  OSGi,	
  Maven/Tycho,	
  P2	
  
•    Jenkins	
  bei	
  CloudBees	
  
•    gut	
  gepflegtes	
  Wiki,	
  Issueliste	
  unvollständig	
  
•    zwei	
  ak-ve	
  Commiter	
  (Kai	
  Kreuzer,	
  TEE)	
  
•    wenige	
  Unit-­‐Tests,	
  dafür	
  Review	
  aller	
  checkins	
  
Mo-va-on	
  
•    Automa-sierungsregeln	
  
•    Integra-on	
  von	
  Haus-­‐	
  und	
  Mul-mediasteuerung	
  
•    Visualisierung	
  
•    Ablösung	
  von	
  Misterhouse	
  
•    Stabilität	
  
•    Konfigurierbarkeit	
  für	
  Nicht-­‐Programmierer	
  
•    Spielwiese	
  für	
  Java	
  /	
  Eclipse	
  /	
  OSGi	
  Technologien	
  
•    Ersatz	
  für	
  die	
  Modelleisenbahn	
  
Item	
  
•    eindeu-ger	
  Name	
  
•    haben	
  Typ	
  (z.	
  B.	
  Switch,	
  Dimmer,	
  Number	
  etc.)	
  
•    haben	
  einen	
  Status	
  
•    können	
  spezifische	
  Kommandos	
  akzep-eren	
  
•    spezielle	
  Group	
  Items	
  
•    können	
  dynamisch	
  zur	
  Laufzeit	
  geändert	
  
     werden	
  
demo.items	
  
/* Gruppen */!
Group Licht!
Group Bad "Bad“!

/* Badezimmer */!
Switch Licht_Bad_Decke !      !"Deckenlicht“ !    !    !     !    !(Bad, Licht)!
Switch Licht_Bad_Spiegel!     !"Spiegellicht“!    !    !     !    !(Bad, Licht)!
Number Temperatur_Bad   !     !"Temperatur [%.1f °C]" <temp> !    !(Bad)!
Switch Heizung_Bad !    !     !"Heizung" <heating>!    !     !    !(Bad)!
Rollershutter Rollladen_Bad   !"Rollladen“   !    !    !     !    !(Bad)!
Contact Fenster_Bad!    !     !"Fenster [%s]“!    !    !     !    !(Bad)    !    !!

/* Wetter */!
Number Aussentemperatur !     !"Außentemperatur [%.1f °C]“ !      !<temp>!
Number Wind   !    !    !     !"Windgeschwindigkeit [%.1f m/s]“   !<wind>!
Number Helligkeit !     !     !„Helligkeit [%.0f Lux]“ !    !     !<sun>!

/* Status */!
Switch Anwesend    !   !      !<present>!
Binding	
  
•  bindet	
  Items	
  an	
  reale	
  Hardware	
  
•  ist	
  op-onal	
  verfügbar	
  (OSGi	
  Bundle)	
  
•  für	
  jeweils	
  eine	
  konkrete	
  Hardware	
  bzw.	
  ein	
  
   Interface	
  oder	
  Protokoll	
  
•  Verbindung	
  mit	
  dem	
  Event	
  Bus	
  
•  „Übersetzung“	
  der	
  Kommandos	
  und	
  
   Statusupdates	
  zwischen	
  Event	
  Bus	
  und	
  
   Hardware	
  
Realisierte	
  Bindings	
  
•    Bluetooth	
  
•    Exec	
  /	
  ComandLine	
  
•    Fritzbox	
  
•    Google	
  Calendar	
  
•    HTTP	
  
•    KNX	
  
•    Networkhealth	
  
•    NTP	
  
•    RS-­‐232	
  
•    TTS	
  
•    WoL	
  
•    XMPP	
  
•    1-­‐Wire	
  
demo.items	
  mit	
  bindings	
  
/* Gruppen */!
Group Licht!
Group Bad "Bad“!

/* Badezimmer */!
Switch Licht_Bad_Decke    !    !"Deckenlicht“ !      !     !    !(Bad, Licht) { knx=„2/0/5“ }!
Switch Licht_Bad_Spiegel !     !"Spiegellicht“ !     !     !    !(Bad, Licht) { knx=„6/0/3“ }!
Number Temperatur_Bad!    !    !"Temperatur [%.1f °C]" <temp>   !(Bad)!
Switch Heizung_Bad   !    !    !"Heizung" <heating> !      !    !(Bad)!
Rollershutter Rollladen_Bad
                          !    !"Rollladen“    !     !     !    !(Bad)!
Contact Fenster_Bad !     !    !"Fenster [%s]“ !     !     !    !(Bad)
                                                                     !     !!

/* Wetter */!
Number Aussentemperatur   !    !"Außentemperatur [%.1f °C]“!    !<temp>    !{ onewire=„28.xxx“ }!
Number Wind    !     !    !    !"Windgeschwindigkeit [%.1f m/s]“!<wind>!
Number Helligkeit    !    !    !„Helligkeit [%.0f Lux]“    !    !<sun>!

/* Status */!
Switch Anwesend !   !     !<present> !    !    !{ bluetooth="EC9B5BC453E6“ }!
Systemarchitektur	
  




                                                                                                                     openHAB	
  




hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐home-­‐automa-on.html	
  
Architektur	
  I	
  -­‐	
  Designer	
  
Architektur	
  II	
  -­‐	
  Run-me	
  




Kai	
  Kreuzer	
  –	
  www.openhab.org	
  
Konzept	
  des	
  openHAB	
  EventBus	
  




Kai	
  Kreuzer	
  –	
  www.openhab.org	
  
Sitemap	
  
•  enthält	
  Seiteninhalt	
  
•  Seite	
  besteht	
  aus	
  Liste	
  von	
  Widgets,	
  die	
  mit	
  Items	
  
   assoziiert	
  werden	
  
•  enthält	
  einfache	
  Naviga-onsstruktur	
  (durch	
  
   Verschachtelung)	
  
•  Item-­‐Gruppen	
  verlinken	
  zu	
  dynamisch	
  erstellten	
  
   Unterseiten	
  (per	
  default)	
  
•  Default	
  kann	
  „überschrieben“	
  werden	
  
•  Es	
  kann	
  viele	
  Sitemaps	
  geben	
  
demo.sitemap	
  
sitemap mein_haus label="Mein Haus" {!

     !Frame {!
     !    !Group item=Bad icon="bath“!
     !}!

     !Frame label="Status" {!
     !    !Switch item=Anwesend!
     !}!

     !Frame label="Wetter" {!
     !    !Text item=Aussentemperatur!
     !    !Text item=Wind!
     !    !Text item=Helligkeit!
     !}!

}!
User	
  Interface	
  I	
  
•  Webapplika-on	
  
•  bildet	
  mit	
  CSS	
  und	
  JavaScript	
  iPhone-­‐App	
  nach	
  
•  Webapplika-on	
  registriert	
  sich	
  als	
  OSGi	
  
   HIpService	
  
•  Nutzt	
  integrierten	
  JeIy	
  (OSGi	
  Bundle)	
  HTTP	
  
   Server	
  
•  Vorteil:	
  kein	
  getrennter	
  Prozess	
  sondern	
  
   integraler	
  Bestandteil	
  von	
  openHAB	
  (Run-me)	
  
User	
  Interface	
  –	
  iPod/iPhone	
  
Regeln	
  
•  Engine	
  ist	
  Jboss	
  Drools	
  Expert	
  
•  Basiert	
  auf	
  Rete-­‐Algorithmus	
  
•  Regeln	
  können	
  gewichtet,	
  gruppiert	
  und	
  
   dynamisch	
  ak-viert	
  oder	
  deak-viert	
  werden	
  
•  Drools	
  unterstützt	
  u.a.	
  Timer	
  und	
  Kalender	
  
•  Regelsyntax	
  MVEL	
  und	
  Java	
  
demo.drl	
  
package org.openhab.demo!

import   org.openhab.core.items.*!
import   org.openhab.core.types.*!
import   org.openhab.core.library.items.*!
import   org.openhab.core.library.types.*!
import   org.openhab.core.rules.event.*!

import org.openhab.io.net.actions.Prowl!

import function org.openhab.core.rules.actions.BusEvent.*!


rule ”Haustürklingel - Abwesend”!
when!
    !Item(name=”Klingel”, hasChanged==true, state==OnOffType.ON)!
    !Item(name=”Anwesend”, state==OnOffType.OFF)!
then!
    !Prowl.pushNotification(„Tür“, „Es hat an der Haustür geklingelt!”);!
end!

rule ”Haustürklingel - Anwesend”!
when!
    !Item(name=”Klingel”, hasChanged==true, state==OnOffType.ON)!
    !Item(name=”Anwesend”, state==OnOffType.ON)!
then!
    !Audio.play(„gong.mp3“)!
end!
Ausblick	
  
•    Charts	
  mit	
  RRD4J	
  
•    REST-­‐SchniIstelle	
  
•    Persistenz	
  
•    iPad-­‐Visualisierung	
  („Sencha	
  Touch“?)	
  
•    Security	
  auf	
  Client/Device	
  Ebene	
  
•    Anwesenheitssimula-on	
  
•    Neue	
  Bindings	
  (APC,	
  Asterisk,	
  MPD,	
  DMX512,	
  VDR)	
  
•    DSL	
  für	
  Regeln	
  
•    Gestensteuerung	
  (kinect)	
  
•    Sprachsteuerung	
  
Aktuelle	
  Feature-­‐Liste:	
  hIp://code.google.com/p/openhab/issues/list?can=2&q=label
    %3AFeature	
  
Fazit	
  
•  Automa-sierung	
  erfordert	
  Integra-on	
  
•  leichte	
  Konfigurierbarkeit	
  auch	
  für	
  Nicht-­‐
   Programmierer	
  (openHAB	
  Designer)	
  
•  leichte	
  Erweiterbarkeit	
  für	
  Programmierer	
  
   (modulare	
  Architektur)	
  
•  aktuelle	
  Technologien	
  (OSGi/Equinox	
  über	
  
   Xtext,	
  Drools	
  und	
  Maven	
  Tycho)	
  
•  neIe	
  Leute	
  im	
  Projekt	
  :-­‐)	
  
Weitere	
  Quellen	
  
•    hIp://www.openhab.org	
  
•    hIp://webapp-­‐net.com	
  
•    hIp://www.intelligenteswohnen.com	
  
•    hIp://knx-­‐user-­‐forum.de	
  
•    hIp://eib-­‐home.de	
  
Vielen	
  Dank!	
  

                        Fragen?	
  



Kai	
  Kreuzer	
  

Contenu connexe

En vedette

En vedette (6)

Homeautomation
HomeautomationHomeautomation
Homeautomation
 
openHAB @ ECE2011
openHAB @ ECE2011openHAB @ ECE2011
openHAB @ ECE2011
 
openHAB @ Devoxx 2012
openHAB @ Devoxx 2012openHAB @ Devoxx 2012
openHAB @ Devoxx 2012
 
CES 2016 – GfK smart home presentation
CES 2016 – GfK smart home presentationCES 2016 – GfK smart home presentation
CES 2016 – GfK smart home presentation
 
User centred design (UCD) and the connected home
User centred design (UCD) and the connected homeUser centred design (UCD) and the connected home
User centred design (UCD) and the connected home
 
Ericsson presentation connected home slideshare
Ericsson presentation connected home slideshareEricsson presentation connected home slideshare
Ericsson presentation connected home slideshare
 

Similaire à openHAB @ Chaos BBQ Dortmund

Javascript done right
Javascript done rightJavascript done right
Javascript done right
Dirk Ginader
 
Web Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserWeb Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier Browser
Sebastian Bauer
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
Florian Holzhauer
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
Mayflower GmbH
 

Similaire à openHAB @ Chaos BBQ Dortmund (20)

openHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG DüsseldorfopenHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG Düsseldorf
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Javascript done right
Javascript done rightJavascript done right
Javascript done right
 
PHP Sucks?!
PHP Sucks?!PHP Sucks?!
PHP Sucks?!
 
Web Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier BrowserWeb Workers - Das Arbeitstier Browser
Web Workers - Das Arbeitstier Browser
 
node.js
node.jsnode.js
node.js
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Ant im Detail
Ant im DetailAnt im Detail
Ant im Detail
 
Schematron in der Qualitätssicherung
Schematron in der QualitätssicherungSchematron in der Qualitätssicherung
Schematron in der Qualitätssicherung
 
Skalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoSkalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google Go
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
Node.js für Webapplikationen
Node.js für WebapplikationenNode.js für Webapplikationen
Node.js für Webapplikationen
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.de
 
Webapplikationen mit Node.js
Webapplikationen mit Node.jsWebapplikationen mit Node.js
Webapplikationen mit Node.js
 
mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlagen
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
 

openHAB @ Chaos BBQ Dortmund

  • 1. home  smart  home   Heimautoma-sierung  mit  OSGi   Thomas  Eichstädt-­‐Engelen  
  • 2. Über  mich   •  Senior  Consultant  bei  innoQ  Deutschland   •  Schwerpunkt  Java,  Eclipse,  RCP   •  Hobby:  Heimautoma-sierung   •  CommiIer  bei  openHAB  seit  Ende  2010  
  • 3. Begriffsbes-mmung   •  Gebäudeautoma-sierung   –  Industrie-­‐  und  Zweckbauten   –  Ziel:  Energie-­‐  und  Personaleinsparung   •  Heimautoma-sierung   –  Teilbereich  der  Gebäudeautoma-sierung   –  Wohnbauten   –  Ziel:  Komfort,  Sicherheit,  Energieeinsparung   –  bezieht  auch  „fachfremde“  Bereiche  mit  ein   •  SmartHome   –  Automa-sierung  und  Vernetzung  von  Hauselektrik,   Elektrogeräten  und  Unterhaltungselektronik   –  Autarke  Ak-on  und  Reak-on  (Szenarien)   –  Trennung  von  Sensorik  und  Aktorik   –  Nicht  der  Kühlschrank  der  selbst  bestellt  
  • 4. Szenarien   •  Licht  gedimmt  einschalten   •  Lichts-mmung  kontextabhängig  wählen   •  anwesenheitsabhängige  Türklingel   •  Alarm  melden   •  Einschalten  der  Klima/Heizung  wenn  nö-g   •  Ausschalten  wenn  Klima/Heizung  nö-g   •  „Alles  Aus“  bei  Verlassen  des  Hauses   •  Einschalten  der  Weihnachtsbeleuchtung  aber  Ausschalten,   wenn  Last  steigt   •  Warnung  bei  Regen,  wenn  Dachfenster  geöffnet   •  Balkonbewässerung  nach  WeIer  oder  Kalender   •  Zisterne  füllen,  wenn  leer  
  • 5. nö-ge  Aktorik  /  Sensorik   hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐home-­‐automa-on.html  
  • 6. Verteilerschränke  (Bsp.)   Divers  –  www.knx-­‐user-­‐forum.de  
  • 7. Standards  und  Produkte   •  KNX/EIB   •  digitalSTROM   •  IPSymcom   •  X10   •  LCN  /  LON   •  DALI   •  1-­‐Wire   •  ZigBee,  EnOcean   •  Bussysteme  der  Elektronikversender  (ELV,  Conrad  etc.)   •  ...  
  • 8. Problem   •  Unzählige  verschiedene  Komponenten   •  Ebenso  viele  unterschiedliche  Protokolle   •  Notwendigkeit  einer  Integra-onsplaform  
  • 10. Projektdetails   •  ini-aler  checkin  MiIe  Juni  2010   •  Hos-ng  bei  Google-­‐Code  (Mercurial)   •  GPL  V3   •  Java,  Eclipse,  OSGi,  Maven/Tycho,  P2   •  Jenkins  bei  CloudBees   •  gut  gepflegtes  Wiki,  Issueliste  unvollständig   •  zwei  ak-ve  Commiter  (Kai  Kreuzer,  TEE)   •  wenige  Unit-­‐Tests,  dafür  Review  aller  checkins  
  • 11. Mo-va-on   •  Automa-sierungsregeln   •  Integra-on  von  Haus-­‐  und  Mul-mediasteuerung   •  Visualisierung   •  Ablösung  von  Misterhouse   •  Stabilität   •  Konfigurierbarkeit  für  Nicht-­‐Programmierer   •  Spielwiese  für  Java  /  Eclipse  /  OSGi  Technologien   •  Ersatz  für  die  Modelleisenbahn  
  • 12. Item   •  eindeu-ger  Name   •  haben  Typ  (z.  B.  Switch,  Dimmer,  Number  etc.)   •  haben  einen  Status   •  können  spezifische  Kommandos  akzep-eren   •  spezielle  Group  Items   •  können  dynamisch  zur  Laufzeit  geändert   werden  
  • 13. demo.items   /* Gruppen */! Group Licht! Group Bad "Bad“! /* Badezimmer */! Switch Licht_Bad_Decke ! !"Deckenlicht“ ! ! ! ! !(Bad, Licht)! Switch Licht_Bad_Spiegel! !"Spiegellicht“! ! ! ! !(Bad, Licht)! Number Temperatur_Bad ! !"Temperatur [%.1f °C]" <temp> ! !(Bad)! Switch Heizung_Bad ! ! !"Heizung" <heating>! ! ! !(Bad)! Rollershutter Rollladen_Bad !"Rollladen“ ! ! ! ! !(Bad)! Contact Fenster_Bad! ! !"Fenster [%s]“! ! ! ! !(Bad) ! !! /* Wetter */! Number Aussentemperatur ! !"Außentemperatur [%.1f °C]“ ! !<temp>! Number Wind ! ! ! !"Windgeschwindigkeit [%.1f m/s]“ !<wind>! Number Helligkeit ! ! !„Helligkeit [%.0f Lux]“ ! ! !<sun>! /* Status */! Switch Anwesend ! ! !<present>!
  • 14. Binding   •  bindet  Items  an  reale  Hardware   •  ist  op-onal  verfügbar  (OSGi  Bundle)   •  für  jeweils  eine  konkrete  Hardware  bzw.  ein   Interface  oder  Protokoll   •  Verbindung  mit  dem  Event  Bus   •  „Übersetzung“  der  Kommandos  und   Statusupdates  zwischen  Event  Bus  und   Hardware  
  • 15. Realisierte  Bindings   •  Bluetooth   •  Exec  /  ComandLine   •  Fritzbox   •  Google  Calendar   •  HTTP   •  KNX   •  Networkhealth   •  NTP   •  RS-­‐232   •  TTS   •  WoL   •  XMPP   •  1-­‐Wire  
  • 16. demo.items  mit  bindings   /* Gruppen */! Group Licht! Group Bad "Bad“! /* Badezimmer */! Switch Licht_Bad_Decke ! !"Deckenlicht“ ! ! ! !(Bad, Licht) { knx=„2/0/5“ }! Switch Licht_Bad_Spiegel ! !"Spiegellicht“ ! ! ! !(Bad, Licht) { knx=„6/0/3“ }! Number Temperatur_Bad! ! !"Temperatur [%.1f °C]" <temp> !(Bad)! Switch Heizung_Bad ! ! !"Heizung" <heating> ! ! !(Bad)! Rollershutter Rollladen_Bad ! !"Rollladen“ ! ! ! !(Bad)! Contact Fenster_Bad ! ! !"Fenster [%s]“ ! ! ! !(Bad) ! !! /* Wetter */! Number Aussentemperatur ! !"Außentemperatur [%.1f °C]“! !<temp> !{ onewire=„28.xxx“ }! Number Wind ! ! ! !"Windgeschwindigkeit [%.1f m/s]“!<wind>! Number Helligkeit ! ! !„Helligkeit [%.0f Lux]“ ! !<sun>! /* Status */! Switch Anwesend ! ! !<present> ! ! !{ bluetooth="EC9B5BC453E6“ }!
  • 17. Systemarchitektur   openHAB   hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐home-­‐automa-on.html  
  • 18. Architektur  I  -­‐  Designer  
  • 19. Architektur  II  -­‐  Run-me   Kai  Kreuzer  –  www.openhab.org  
  • 20. Konzept  des  openHAB  EventBus   Kai  Kreuzer  –  www.openhab.org  
  • 21. Sitemap   •  enthält  Seiteninhalt   •  Seite  besteht  aus  Liste  von  Widgets,  die  mit  Items   assoziiert  werden   •  enthält  einfache  Naviga-onsstruktur  (durch   Verschachtelung)   •  Item-­‐Gruppen  verlinken  zu  dynamisch  erstellten   Unterseiten  (per  default)   •  Default  kann  „überschrieben“  werden   •  Es  kann  viele  Sitemaps  geben  
  • 22. demo.sitemap   sitemap mein_haus label="Mein Haus" {! !Frame {! ! !Group item=Bad icon="bath“! !}! !Frame label="Status" {! ! !Switch item=Anwesend! !}! !Frame label="Wetter" {! ! !Text item=Aussentemperatur! ! !Text item=Wind! ! !Text item=Helligkeit! !}! }!
  • 23. User  Interface  I   •  Webapplika-on   •  bildet  mit  CSS  und  JavaScript  iPhone-­‐App  nach   •  Webapplika-on  registriert  sich  als  OSGi   HIpService   •  Nutzt  integrierten  JeIy  (OSGi  Bundle)  HTTP   Server   •  Vorteil:  kein  getrennter  Prozess  sondern   integraler  Bestandteil  von  openHAB  (Run-me)  
  • 24. User  Interface  –  iPod/iPhone  
  • 25. Regeln   •  Engine  ist  Jboss  Drools  Expert   •  Basiert  auf  Rete-­‐Algorithmus   •  Regeln  können  gewichtet,  gruppiert  und   dynamisch  ak-viert  oder  deak-viert  werden   •  Drools  unterstützt  u.a.  Timer  und  Kalender   •  Regelsyntax  MVEL  und  Java  
  • 26. demo.drl   package org.openhab.demo! import org.openhab.core.items.*! import org.openhab.core.types.*! import org.openhab.core.library.items.*! import org.openhab.core.library.types.*! import org.openhab.core.rules.event.*! import org.openhab.io.net.actions.Prowl! import function org.openhab.core.rules.actions.BusEvent.*! rule ”Haustürklingel - Abwesend”! when! !Item(name=”Klingel”, hasChanged==true, state==OnOffType.ON)! !Item(name=”Anwesend”, state==OnOffType.OFF)! then! !Prowl.pushNotification(„Tür“, „Es hat an der Haustür geklingelt!”);! end! rule ”Haustürklingel - Anwesend”! when! !Item(name=”Klingel”, hasChanged==true, state==OnOffType.ON)! !Item(name=”Anwesend”, state==OnOffType.ON)! then! !Audio.play(„gong.mp3“)! end!
  • 27. Ausblick   •  Charts  mit  RRD4J   •  REST-­‐SchniIstelle   •  Persistenz   •  iPad-­‐Visualisierung  („Sencha  Touch“?)   •  Security  auf  Client/Device  Ebene   •  Anwesenheitssimula-on   •  Neue  Bindings  (APC,  Asterisk,  MPD,  DMX512,  VDR)   •  DSL  für  Regeln   •  Gestensteuerung  (kinect)   •  Sprachsteuerung   Aktuelle  Feature-­‐Liste:  hIp://code.google.com/p/openhab/issues/list?can=2&q=label %3AFeature  
  • 28. Fazit   •  Automa-sierung  erfordert  Integra-on   •  leichte  Konfigurierbarkeit  auch  für  Nicht-­‐ Programmierer  (openHAB  Designer)   •  leichte  Erweiterbarkeit  für  Programmierer   (modulare  Architektur)   •  aktuelle  Technologien  (OSGi/Equinox  über   Xtext,  Drools  und  Maven  Tycho)   •  neIe  Leute  im  Projekt  :-­‐)  
  • 29. Weitere  Quellen   •  hIp://www.openhab.org   •  hIp://webapp-­‐net.com   •  hIp://www.intelligenteswohnen.com   •  hIp://knx-­‐user-­‐forum.de   •  hIp://eib-­‐home.de  
  • 30. Vielen  Dank!   Fragen?   Kai  Kreuzer