home	  smart	  home	  Heimautoma-sierung	  mit	  OSGi	  Thomas	  Eichstädt-­‐Engelen	  
Über	  mich	  •    Senior	  Consultant	  bei	  innoQ	  Deutschland	  •    Schwerpunkt	  Java,	  Eclipse,	  RCP	  •    Hobb...
Begriffsbes-mmung	  •  Gebäudeautoma-sierung	     –  Industrie-­‐	  und	  Zweckbauten	     –  Ziel:	  Energie-­‐	  und	  Pe...
Szenarien	  •  Licht	  gedimmt	  einschalten	  •  Lichts-mmung	  kontextabhängig	  wählen	  •  anwesenheitsabhängige	  Tür...
nö-ge	  Aktorik	  /	  Sensorik	  hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐...
Verteilerschränke	  (Bsp.)	  Divers	  –	  www.knx-­‐user-­‐forum.de	  
Standards	  und	  Produkte	  •    KNX/EIB	  •    digitalSTROM	  •    IPSymcom	  •    X10	  •    LCN	  /	  LON	  •    DALI	...
Problem	  •  Unzählige	  verschiedene	  Komponenten	  •  Ebenso	  viele	  unterschiedliche	  Protokolle	  •  Notwendigkeit...
openHAB	  empowering	  smart	  homes	  
Projektdetails	  •    ini-aler	  checkin	  MiIe	  Juni	  2010	  •    Hos-ng	  bei	  Google-­‐Code	  (Mercurial)	  •    GPL...
Mo-va-on	  •    Automa-sierungsregeln	  •    Integra-on	  von	  Haus-­‐	  und	  Mul-mediasteuerung	  •    Visualisierung	 ...
Item	  •    eindeu-ger	  Name	  •    haben	  Typ	  (z.	  B.	  Switch,	  Dimmer,	  Number	  etc.)	  •    haben	  einen	  St...
demo.items	  /* Gruppen */!Group Licht!Group Bad "Bad“!/* Badezimmer */!Switch Licht_Bad_Decke !      !"Deckenlicht“ !    ...
Binding	  •  bindet	  Items	  an	  reale	  Hardware	  •  ist	  op-onal	  verfügbar	  (OSGi	  Bundle)	  •  für	  jeweils	  ...
Realisierte	  Bindings	  •    Bluetooth	  •    Exec	  /	  ComandLine	  •    Fritzbox	  •    Google	  Calendar	  •    HTTP	...
demo.items	  mit	  bindings	  /* Gruppen */!Group Licht!Group Bad "Bad“!/* Badezimmer */!Switch Licht_Bad_Decke    !    !"...
Systemarchitektur	                                                                                                        ...
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	     assoziier...
demo.sitemap	  sitemap mein_haus label="Mein Haus" {!     !Frame {!     !    !Group item=Bad icon="bath“!     !}!     !Fra...
User	  Interface	  I	  •  Webapplika-on	  •  bildet	  mit	  CSS	  und	  JavaScript	  iPhone-­‐App	  nach	  •  Webapplika-o...
User	  Interface	  –	  iPod/iPhone	  
Regeln	  •  Engine	  ist	  Jboss	  Drools	  Expert	  •  Basiert	  auf	  Rete-­‐Algorithmus	  •  Regeln	  können	  gewichte...
demo.drl	  package org.openhab.demo!import   org.openhab.core.items.*!import   org.openhab.core.types.*!import   org.openh...
Ausblick	  •    Charts	  mit	  RRD4J	  •    REST-­‐SchniIstelle	  •    Persistenz	  •    iPad-­‐Visualisierung	  („Sencha	...
Fazit	  •  Automa-sierung	  erfordert	  Integra-on	  •  leichte	  Konfigurierbarkeit	  auch	  für	  Nicht-­‐   Programmiere...
Weitere	  Quellen	  •    hIp://www.openhab.org	  •    hIp://webapp-­‐net.com	  •    hIp://www.intelligenteswohnen.com	  • ...
Vielen	  Dank!	                          Fragen?	  Kai	  Kreuzer	  
Nächste SlideShare
Wird geladen in …5
×

openHAB @ Chaos BBQ Dortmund

3.487 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, Unterhaltung & Humor
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
3.487
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

openHAB @ Chaos BBQ Dortmund

  1. 1. home  smart  home  Heimautoma-sierung  mit  OSGi  Thomas  Eichstädt-­‐Engelen  
  2. 2. Über  mich  •  Senior  Consultant  bei  innoQ  Deutschland  •  Schwerpunkt  Java,  Eclipse,  RCP  •  Hobby:  Heimautoma-sierung  •  CommiIer  bei  openHAB  seit  Ende  2010  
  3. 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. 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. 5. nö-ge  Aktorik  /  Sensorik  hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐home-­‐automa-on.html  
  6. 6. Verteilerschränke  (Bsp.)  Divers  –  www.knx-­‐user-­‐forum.de  
  7. 7. Standards  und  Produkte  •  KNX/EIB  •  digitalSTROM  •  IPSymcom  •  X10  •  LCN  /  LON  •  DALI  •  1-­‐Wire  •  ZigBee,  EnOcean  •  Bussysteme  der  Elektronikversender  (ELV,  Conrad  etc.)  •  ...  
  8. 8. Problem  •  Unzählige  verschiedene  Komponenten  •  Ebenso  viele  unterschiedliche  Protokolle  •  Notwendigkeit  einer  Integra-onsplaform  
  9. 9. openHAB  empowering  smart  homes  
  10. 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. 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. 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. 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. 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. 15. Realisierte  Bindings  •  Bluetooth  •  Exec  /  ComandLine  •  Fritzbox  •  Google  Calendar  •  HTTP  •  KNX  •  Networkhealth  •  NTP  •  RS-­‐232  •  TTS  •  WoL  •  XMPP  •  1-­‐Wire  
  16. 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. 17. Systemarchitektur   openHAB  hIp://planetslides.com/ar-cles/simplerna-­‐vivint-­‐service-­‐review-­‐home-­‐security-­‐home-­‐automa-on.html  
  18. 18. Architektur  I  -­‐  Designer  
  19. 19. Architektur  II  -­‐  Run-me  Kai  Kreuzer  –  www.openhab.org  
  20. 20. Konzept  des  openHAB  EventBus  Kai  Kreuzer  –  www.openhab.org  
  21. 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. 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. 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. 24. User  Interface  –  iPod/iPhone  
  25. 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. 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. 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. 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. 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. 30. Vielen  Dank!   Fragen?  Kai  Kreuzer  

×