1 / 15

oBIX Protocol Overview

oBIX Protocol Overview. presented by Lars Olson. 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

cardea
Download Presentation

oBIX Protocol Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. oBIX Protocol Overview presented by Lars Olson

  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

  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?

  4. 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> About operation

  5. 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> Read operation 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)

  6. 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.2F</display> <facets> <min>-100</min> <max>300<max> </facets> </object> <object> <id>OutsideAirTemp 2</id> ... </object> </readRes> Read operation

  7. 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> Write operation

  8. writeRes locale error * id display <writeRes> <locale>en-US</locale> <error> <id> setTime </id> <display> Mismatched types: enum != absTime </display> </error> </writeRes> Write operation no matching error element means operation completed successfully

  9. 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> Subscription operations <include> describes contents of both subscribeRes and default for pollRes suggested xsd:duration, the server doesn’t have to follow it

  10. 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> Subscription operations update every item, even if no change has occurred (default is “false”)

  11. unsubscribeReq subscriptionId unsubscribeRes (empty element) <unsubscribeReq> <subscriptionId> OutsideAirTemp_subscr_1 </subscriptionId> </unsubscribeReq> <unsubscribeRes /> Subscription operations

  12. 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> Status element How do we describe the fault? How do we acknowledge the alarm? (<writeReq>?)

  13. 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> Unit element

  14. 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> Facets element accuracy of the value number of decimal places URI for image file for user interface

  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

More Related