IBM Research - Zurich GmbH Saeumerstrasse 4 8803 Rueschlikon Switzerland Author: email: Date: Version: Bernhard Jansen [email protected] 19.12.2012 1.0 Subject: Interface specification for actuation and sensing of home automation equipment for the EcoGrid EU Project 1 1. Interface Specification as XML Schema Definition <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="2.1"> <xsd:annotation> <xsd:appinfo> <jxb:schemaBindings> <jxb:package name="com.ibm.zrl.ecogrid.powermatcher.mqinterface"></jxb:package> </jxb:schemaBindings> </xsd:appinfo> </xsd:annotation> <xsd:simpleType name="versionType"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="1"/> <xsd:maxInclusive value="1"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="typeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="GetAll"/> <xsd:enumeration value="GetAllUserSettings"/> <xsd:enumeration value="GetAllHouseStatus"/> <xsd:enumeration value="SetRelais"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="cmdAttributes"> <xsd:sequence> <xsd:element name="id" type="xsd:int" minOccurs="1" maxOccurs="1"></xsd:element> <xsd:element name="relais" type="xsd:boolean" minOccurs="1" maxOccurs="1"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="houseStatus"> <xsd:sequence> <xsd:element name="id" type="xsd:int"></xsd:element> <xsd:element name="indoorTemp" type="xsd:double" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="outdoorTemp" type="xsd:double" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="meterreading" type="xsd:double" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="relais" type="xsd:boolean" minOccurs="0" maxOccurs="1"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="userSettings"> <xsd:sequence> <xsd:element name="id" type="xsd:int"></xsd:element> <xsd:element name="checkBox1" type="xsd:boolean" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="checkBox2" type="xsd:boolean" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="pullDown1" type="xsd:int" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="pullDown2" type="xsd:int" minOccurs="0" maxOccurs="1"></xsd:element> <xsd:element name="interruptUntil" type="xsd:long" minOccurs="0" 2 maxOccurs="1"></xsd:element> <xsd:element name="interruptTemp" type="xsd:double" minOccurs="0" maxOccurs="1"></xsd:element> </xsd:sequence> </xsd:complexType> <!-the root element for a GOP Command. --> <!-- Request --> <xsd:element name="ibmpm"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="1"></xsd:element> <xsd:element maxOccurs="1"></xsd:element> <xsd:element maxOccurs="1"></xsd:element> <xsd:element minOccurs="0" maxOccurs="unbounded"></xsd:element> <xsd:element minOccurs="0" maxOccurs="unbounded"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> name="version" type="versionType" minOccurs="1" name="command" type="typeType" minOccurs="0" name="attributes" type="xsd:int" minOccurs="0" name="userSettings" type="userSettings" name="houseStatus" type="houseStatus" 3