Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

openHAB @ Chaos BBQ Dortmund

3.684 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, Unterhaltung & Humor
  • Als Erste(r) kommentieren

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

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  

×