Illinois Security Lab oBIX Protocol Overview presented by Lars Olson.

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

Transcript of Illinois Security Lab oBIX Protocol Overview presented by Lars Olson.

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