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

lost in abstraction
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Lost in Abstraction

Sebastian Janzen

slide-2
SLIDE 2

Sebastian

@sebbe128

slide-3
SLIDE 3

innoQ

https://www.innoq.com

slide-4
SLIDE 4

What is a 
 Smart Home?

slide-5
SLIDE 5
slide-6
SLIDE 6

Smart Home

is NOT a connected device is NOT a cloud service is NOT a single product

slide-7
SLIDE 7

“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

slide-8
SLIDE 8

It’s a system of things which support the

  • ccupants use cases.
slide-9
SLIDE 9

Smart Home participants

User Device Sofuware

Interaction I n t e r a c t i

  • n

A c c e s s

slide-10
SLIDE 10

The user’s expectations

Flexibility: Cover custom use cases Extensibility: Installation extension Sustainability: Long term benefjt Avoid vendor lock-in: Should be extensible

slide-11
SLIDE 11

Passive 
 User Ambitioned 
 User Expert

U U+ U++

slide-12
SLIDE 12

U U+ U++ UI Device

+ Best setup — Extensibility — Flexibility

slide-13
SLIDE 13

U U+ U++

UI Device

Cloud

+ Modifjcations to fjnal product — Privacy — Ofgline

slide-14
SLIDE 14

U U+ U++

UI UI UI

Eclipse 
 SmartHome

Device Device Device Service UI

slide-15
SLIDE 15

Eclipse 
 SmartHome
 (ESH)

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

What you do not get

> Hardware > A Java license

slide-19
SLIDE 19

OS JVM

OSGi Container Eclipse SmartHome (ESH)

  • penHAB

Solution X Solution Y

slide-20
SLIDE 20

How to use this?

slide-21
SLIDE 21

Representation Binding Thing Channel Channel Channel Bridge Thing Item

Link

UI

slide-22
SLIDE 22

Representation Binding Thing Channel Channel Channel Bridge Thing Item

Link

Hue Lamp Color Temp. Brightness Color Hue Bridge ColorItem Status: ONLINE State: #FF0000

slide-23
SLIDE 23

Representation Binding Thing Channel Channel Channel Bridge Thing Item

Link

UI Item GroupItem

Link

slide-24
SLIDE 24

Binding Thing Channel Channel Channel Bridge Thing Thing

Id, Name, Description, Bridge, Confjguration, Channels

slide-25
SLIDE 25

Binding Thing Channel Channel Channel Bridge Thing Id, Description, … Confjguration Channel

slide-26
SLIDE 26

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

slide-27
SLIDE 27

Representation Binding Thing Channel Channel Channel Bridge Thing Item

Link

slide-28
SLIDE 28

Bundle

Thing

Channel Channel Channel

Bridge Thing

slide-29
SLIDE 29

Eclipse SmartHome Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

slide-30
SLIDE 30

Eclipse SmartHome Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

Bundle

Thing

Channel Channel Channel

Bridge Thing

UI UI

slide-31
SLIDE 31

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

slide-32
SLIDE 32

Eclipse SmartHome Core Items Bindings Eclipse SmartHome Event Bus

PubSub PubSub

Rules

PubSub

Persistence

PubSub

Logging

PubSub

slide-33
SLIDE 33

How to program this?

slide-34
SLIDE 34

Bridge Thing

/ESH-INF/thing/bridge.xml

slide-35
SLIDE 35

Thing

/ESH-INF/thing/LCT001.xml

slide-36
SLIDE 36

Channel

/ESH-INF/thing/channels.xml

slide-37
SLIDE 37

Core ItemTypes

> Color > Contact > DateTime > Dimmer > Group > Location > Number > Player > Rollershutter > String > Switch

slide-38
SLIDE 38

What does Lost in Abstraction mean?

slide-39
SLIDE 39

Use case:
 Wash again, if washing fjnished and the door has not been opened afuer 16h.

slide-40
SLIDE 40

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

slide-41
SLIDE 41

Hardware UI State Washing Program Extra Parameters P

  • w

e r W a Washing Machine Power Water Amount Temperature Spin Extra H2O Door contact Time running Gateway Loss

slide-42
SLIDE 42

Hardware UI State Washing Program Extra Parameters P

  • w

e r W a Washing Machine API Power Water Amount Temperature Spin Extra H2O Door contact Time running Power Water Amount Temperature Spin Extra H2O Door contact Time running

slide-43
SLIDE 43

Power Water Amount Temperature Spin Extra H2O Door contact Time running My Washing Machine

Own Solution

Loss

slide-44
SLIDE 44

Power Water Amount Temperature Spin Extra H2O Door contact Time running Thing Model SwitchItem NumberItem NumberItem NumberItem SwitchItem ContactItem NumberItem Items

Own solution

X Y Setup Power Plug: Consumption NumberItem Use Cases

slide-45
SLIDE 45

Use case: Wash again

  • n wmPower changed to OFF

timer = startTimer({ wmPower.state = ON }, now + 16h) end

  • n wmDoor changed to OPEN

if timer then timer.cancel() end

slide-46
SLIDE 46

Eclipse SmartHome Benefjts

> Good framework to implement IoT device lifecycle > Easy to understand > Parallel development: UI + Binding > UI Testing without devices > Ofgline, “Intranet of Things”

slide-47
SLIDE 47

Thank you! Questions?