lost in abstraction
play

Lost in Abstraction Sebastian Janzen Sebastian @sebbe128 innoQ - PowerPoint PPT Presentation

Lost in Abstraction Sebastian Janzen Sebastian @sebbe128 innoQ https://www.innoq.com What is a Smart Home ? Smart Home is NOT a connected device is NOT a cloud service is NOT a single product A dwelling incorporating a


  1. Lost in Abstraction Sebastian Janzen

  2. Sebastian @sebbe128

  3. innoQ https://www.innoq.com

  4. What is a 
 Smart Home ?

  5. Smart Home is NOT a connected device is NOT a cloud service is NOT a single product

  6. “A dwelling incorporating a communications network that connects the key electrical appliances and services, and allows them to be remotely controlled , monitored or accessed .” 2003 UK Department of Trade and Industry - http:/ /goo.gl/7PW8Gv

  7. It’s a system of things which support the occupants use cases .

  8. Smart Home participants So fu ware n o A i t c c c a e r s e s t n I User Device Interaction

  9. The user’s expectations Flexibility : Cover custom use cases Extensibility : Installation extension Sustainability : Long term bene fj t Avoid vendor lock-in : Should be extensible

  10. U + U ++ U Passive 
 Ambitioned 
 Expert User User

  11. U + U ++ U UI + Best setup — Extensibility — Flexibility Device

  12. U + U ++ U UI + Modi fj cations to fj nal product — Privacy Cloud — O fg line Device

  13. U + U ++ U UI UI UI UI Eclipse 
 SmartHome Service Device Device Device

  14. Eclipse 
 SmartHome 
 (ESH)

  15. Eclipse SmartHome > An open source Internet of Things framework > Java OSGi based Project > Eclipse Public License > Since 2014 > Base of openHAB > Requirements: Java >= 6 > Base of successful commercial Projects

  16. What you get > Structure to handle IoT devices > Web-Interfaces, Apps, Examples > More than 100 already supported things > Documentation > Commercial support available > Large and active community

  17. What you do not get > Hardware > A Java license

  18. openHAB Solution X Solution Y Eclipse SmartHome (ESH) OSGi Container JVM OS

  19. How to use this?

  20. Binding Representation UI Bridge Thing Thing Item Channel Link Channel Channel

  21. Binding Representation Bridge Thing Hue Bridge Status: ONLINE State: #FF0000 Hue Lamp Thing ColorItem Item Channel Color Link Brightness Channel Color Temp. Channel

  22. Binding Representation UI Bridge Thing GroupItem Thing Item Channel Link Channel Item Channel Link

  23. Binding Bridge Thing Thing Thing Id, Name, Description, Channel Bridge, Con fj guration, Channels Channel Channel

  24. Binding Bridge Thing Thing Channel Channel Id, Description, … Channel Con fj guration Channel

  25. Representation Bridge Thing Thing Item Item Channel Type, Name, Channel Label, Icon, Tags, … Channel

  26. Binding Representation Bridge Thing Thing Item Channel Link Channel Channel

  27. Bundle Bridge Thing Thing Channel Channel Channel

  28. Bundle Bundle Bundle Bridge Thing Bridge Thing Bridge Thing Thing Thing Thing Channel Channel Channel Channel Channel Channel Eclipse Channel Channel Channel SmartHome Bundle Bundle Bundle Bridge Thing Bridge Thing Bridge Thing Thing Thing Thing Channel Channel Channel Channel Channel Channel Channel Channel Channel

  29. Bundle Bundle Bundle Bridge Thing Bridge Thing Bridge Thing UI Thing Thing Thing Channel Channel Channel Channel Channel Channel Eclipse Channel Channel Channel SmartHome Bundle Bundle Bundle Bridge Thing Bridge Thing Bridge Thing UI Thing Thing Thing Channel Channel Channel Channel Channel Channel Channel Channel Channel

  30. UI Binding Binding Binding UI Binding Eclipse Persistence Rules SmartHome Discovery REST … UIs

  31. Eclipse SmartHome Core Items Bindings Rules PubSub PubSub PubSub Eclipse SmartHome Event Bus PubSub PubSub Persistence Logging

  32. How to program this?

  33. /ESH-INF/thing/bridge.xml Bridge Thing

  34. /ESH-INF/thing/LCT001.xml Thing

  35. /ESH-INF/thing/channels.xml Channel

  36. Core ItemTypes > Color > Number > Contact > Player > DateTime > Rollershutter > Dimmer > String > Group > Switch > Location

  37. What does Lost in Abstraction mean?

  38. Use case: 
 Wash again, if washing fj nished and the door has not been opened a fu er 16h.

  39. Convenient ✓ Power Washing Machine Water Amount Hardware UI Temperature State Spin Washing Program Extra H2O Extra Parameters Door contact Time running

  40. Loss Power P Washing Machine Water Amount o Hardware UI Temperature w Gateway State Spin e Washing Program Extra H2O r Extra Parameters Door contact W Time running a

  41. Power Power P Washing Machine Water Amount Water Amount o Hardware UI Temperature Temperature w State Spin Spin e Washing Program Extra H2O Extra H2O r Extra Parameters Door contact Door contact W API Time running Time running a

  42. Own Solution Power Water Amount Temperature Spin My Washing Machine Extra H2O Door contact Time running Loss

  43. Own solution Thing Model Items Power SwitchItem X Water Amount NumberItem Temperature NumberItem Y Spin NumberItem Extra H2O SwitchItem Door contact ContactItem Setup Time running NumberItem Power Plug: NumberItem Use Cases Consumption

  44. Use case: Wash again on wmPower changed to OFF timer = startTimer({ wmPower.state = ON }, now + 16h) end on wmDoor changed to OPEN if timer then timer.cancel() end

  45. Eclipse SmartHome Bene fj ts > Good framework to implement IoT device lifecycle > Easy to understand > Parallel development: UI + Binding > UI Testing without devices > O fg line, “Intranet of Things”

  46. Thank you! Questions?

Recommend


More recommend