openHAB @ Chaos BBQ Dortmund

3.467 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.467
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  

×