illinois security lab obix protocol overview presented by lars olson

15
Illin ois Security Lab oBIX Protocol Overview presented by Lars Olson

Upload: francis-curtis

Post on 01-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

oBIX Protocol Overview

presented by Lars Olson

Page 2: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

2

oBIX

• oBIX = Open Building Information Exchange– XML vocabulary for control systems– OASIS working draft

• currently 0.6, 2 December 2004• some sections are not yet written

– Links for general public, technical information

• Technical committee– Representatives from Cisco, Echelon, IBM, LonMark, OASIS,

Trane, Tridium, UNC

• Subcommittees:– Technical standards– Power systems (metering, analysis, generation)– Security systems (access control, intrusion detection, CCTV

monitoring, fire detection & life safety systems)– Enterprise requirements, Roadmap

Page 3: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

3

oBIX Data Model

• ?????

• Objects are queried as trees– How are they organized? (Depends on the

system designer?)– Is a tree appropriate?

• e.g. Motion sensors could be part of both security system and lighting system

• Then again, we could clone duplicate entries to create a tree

• Use cases?

Page 4: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

4

About operation

• aboutReq– locale

• aboutRes– locale– serverName– serverTime– serverBootTime– vendorName– vendorUrl– productName– productUrl– productVersion– locales– services

<aboutReq><locale>en</locale>

</aboutReq>

<aboutRes><locale>en</locale><serverName>Server B</serverName><serverTime>

2004-09-02T03:20:36+05:00</serverTime>

  <vendorName>Acme</vendorName><productName>My oBIX Server</productName><productVersion>1.2.34</productVersion><locales>

<locale>en</locale><locale>fr</locale>

<locales><services>

<service><id>http://obix.com/ns/sys/1.0</id>

</service><service>

<id>http://obix.com/ns/hist/1.0</id></service>

</services></aboutRes>

Page 5: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

5

Read operation

• readReq– locale– depth– include

• id• value• status• display• facets• ext *

– id *

<readReq>

<locale>en</local>

<depth>0</depth>

<include>

<id>true</id>

<status>false</status>

<ext>

http://obix.com/ns/hist/1.0

</ext>

</include>

<id>OutsideAirTemp 1</id>

<id>OutsideAirTemp 2</id>

</readReq>

objects in the data model are

trees (no default specified?)what values should

be returned (defaults for all but

<ext> are true)

metadata about the object (I’ll

cover this later)

Page 6: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

6

Read operation

• readRes– locale– object *

• id

• [value] (<bool>, <int>, <str>, <unit>, etc.)

• status (described later)

• display

• facets

• ext

• children– object *

– error *• id

• display

<readRes><locale>en</locale><object>

<id>OutsideAirTemp 1</id><real>75.201</real><status>

<quality>ok</quality></status><display>75.2F</display><facets>

<min>-100</min><max>300<max>

</facets></object><object>

<id>OutsideAirTemp 2</id>...

</object></readRes>

Page 7: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

7

Write operation

• writereq– locale– write *

• id• [value], one of:

– <bool>– <int>– <real>– <enum>– <str>– <absTime>– <relTime>– <object>

» id» [value]» children

<writeReq><write>

<id>/Zone2/Lights.on</id><bool>true</bool>

</write><write>

<id>Fan.speed</id><enum>fast</enum>

</write><write>

<id>Site.streetAddress</id><object>

<children><object>

<id>street</id><str>...</str>

</object><object>

<id>city</id><str>...</str>

</object>...

</children></object>

</write></writeReq>

Page 8: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

8

Write operation

• writeRes– locale– error *

• id• display

<writeRes><locale>en-US</locale><error>

<id>setTime

</id><display>

Mismatched types:enum != absTime

</display></error>

</writeRes>

no matching error element means

operation completed successfully

Page 9: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

9

Subscription operations

• subscribeReq, extends readReq– locale, depth, include,

id *– lease

• subscribeRes, extends readRes– locale, object *, error *– subscriptionId– lease

<subscribeReq><locale>en</local><depth>0</depth><include>

<id>true</id><status>false</status><ext>

http://obix.com/ns/hist/1.0</ext>

</include><id>OutsideAirTemp 1</id><lease>PT5M</lease>

</subscribeReq>

<subscribeRes>[readRes elements]<subscriptionId>

OutsideAirTemp_subscr_1</subscriptionId><lease>PT2M</lease>

<subscribeRes>

<include> describes contents of both

subscribeRes and default for pollRes

suggested xsd:duration, the

server doesn’t have to follow it

Page 10: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

10

Subscription operations

• pollReq– locale– subscriptionId– forceAll– include

• pollRes, extends readRes– locale, object *, error *– invalid

• display

<pollReq>

<subscriptionId>

OutsideAirTemp_subscr_1

</subscriptionId>

</pollReq>

<pollRes>

<invalid>

<display>

Lease time expired

</display>

</invalid>

</pollRes>

update every item, even if no change

has occurred (default is “false”)

Page 11: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

11

Subscription operations

• unsubscribeReq– subscriptionId

• unsubscribeRes (empty element)

<unsubscribeReq>

<subscriptionId>

OutsideAirTemp_subscr_1

</subscriptionId>

</unsubscribeReq>

<unsubscribeRes />

Page 12: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

12

Status element

• status– quality

• “ok” (default if not present)

• “overridden”• “disabled”• “fault”

– alarm• inAlarm• unacked

– timestamp– param *

<status>

<quality>ok</quality>

<alarm>

<inAlarm>false</inAlarm>

<unacked>false</unacked>

</alarm>

<timestamp>

2004-09-02T10:27:00

</timestamp>

<display>OK</display>

<param name="...">

xs:string

</param>

<param name="...">

xs:string

</param>

</status>

How do we describe the

fault?

How do we acknowledge the

alarm? (<writeReq>?)

Page 13: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

13

Unit element

• unit– id– display– symbol– dimension

• kg, m, sec, K, A, mol, cd

– scale– offset

• Example shown is kilowatt, 1000 m2kg/sec3

<unit>

<id>kilowatt</id>

<display>kilowatt</display>

<symbol>kW</symbol>

<dimension>

<m>2</m>

<kg>1</kg>

<sec>-3</sec>

</dimension>

<scale>1000</scale>

</unit>

Page 14: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

14

Facets element

• facets– min– max– resolution– precision– writable– icon– range

• declare by reference with “id=…” attribute

• or enumerate with item *– id– display

– units

<facets><min>0</min><max>100</max><resolution>0.25</resolution>

</facets>

<facets><icon>

/icons/equipment.png</icon><range>

<item><id>true</id><display>On</display>

</item><item>

<id>false</id><display>Off</display>

</item></range>

</facets>

accuracy of the value

number of decimal placesURI for image

file for user interface

Page 15: Illinois Security Lab oBIX Protocol Overview presented by Lars Olson

IllinoisSecurity Lab

15

Other protocols

• LonTalk– Not an open protocol– Can download reference for free, license agreement required

• Modbus– 48 members– Specs available for download

• OPC– 393 members, including GM, HP, Hitachi, Microsoft, Mitsubishi,

NIST, Philip Morris (?), Siemens, various universities (mostly foreign)

– Requires free registration to download specs

• ZigBee (wireless sensor net protocol)– 183 members, including Motorola, Philips, Samsung, Cisco– Requires free registration to download specs– Presentations and white papers