UPnP-Robair-Sensor1

From air
Jump to navigation Jump to search

<!-- UPnP Service Description for Analog Sensor v1.0 -->
<scpd>
   <serviceStateTable>
      <stateVariable>
         <name>Name</name>
         <sendEventsAttribute>no</sendEventsAttribute>
         <dataType>string</dataType>
      </stateVariable>
      <stateVariable>
         <Optional/>
         <name>Application</name>
         <sendEventsAttribute>no</sendEventsAttribute>
         <dataType>string</dataType>
      </stateVariable>
      <stateVariable>
         <name>Value</name>
         <sendEventsAttribute>yes</sendEventsAttribute>
         <dataType>float</dataType>
      </stateVariable>
      <stateVariable>
         <Optional/>
         <name>Error</name>
         <sendEventsAttribute>yes</sendEventsAttribute>
         <dataType>float</dataType>
      </stateVariable>
      <stateVariable>
         <!-- International System of Units http://en.wikipedia.org/wiki/SI_base_unit  -->
         <Optional/>
         <name>Unit</name>
         <sendEventsAttribute>no</sendEventsAttribute>
         <dataType>string</dataType>
         <allowedValueList>
            <!-- Base Units -->
            <allowedValue>m</allowedValue>
            <allowedValue>kg</allowedValue>
            <allowedValue>A</allowedValue>
            <allowedValue>K</allowedValue>
            <allowedValue>cd</allowedValue>
            <allowedValue>mol</allowedValue>
            <allowedValue>s</allowedValue>
            <!-- Derived Units http://en.wikipedia.org/wiki/SI_derived_units  -->
            <!-- TODO -->
         </allowedValueList>
      </stateVariable>
      <stateVariable>
         <Optional/>
         <name>Timestamp</name>
         <sendEventsAttribute>yes</sendEventsAttribute>
         <dataType>date</dataType>
      </stateVariable>
      
      <!-- Event is trigged in Value > HighValueThreshold OR Value < LowValueThreshold -->
      <stateVariable>
         <Optional/>
         <name>HighValueThreshold</name>
         <sendEventsAttribute>yes</sendEventsAttribute>
         <dataType>float</dataType>
      </stateVariable>
      <stateVariable>
         <Optional/>
         <name>LowValueThreshold</name>
         <sendEventsAttribute>yes</sendEventsAttribute>
         <dataType>float</dataType>
      </stateVariable>
      
   </serviceStateTable>

   <actionList>
      <action>
         <name>GetName</name>
         <argumentList>
            <argument>
               <name>CurrentName</name>
               <direction>out</direction>
               <relatedStateVariable>Name</relatedStateVariable>
               <retval/>
            </argument>
         </argumentList>
      </action>
      <action>
         <Optional/>
         <name>GetApplication</name>
         <argumentList>
            <argument>
               <name>CurrentApplication</name>
               <direction>out</direction>
               <relatedStateVariable>Application</relatedStateVariable>
               <retval/>
            </argument>
         </argumentList>
      </action>
      <action>
         <name>GetCurrentValue</name>
         <argumentList>
            <argument>
               <name>CurrentValue</name>
               <direction>out</direction>
               <relatedStateVariable>Value</relatedStateVariable>
            </argument>
            <argument>
               <name>CurrentError</name>
               <direction>out</direction>
               <relatedStateVariable>Error</relatedStateVariable>
            </argument>
            <argument>
               <name>Unit</name>
               <direction>out</direction>
               <relatedStateVariable>Unit</relatedStateVariable>
            </argument>
            <argument>
               <name>Timestamp</name>
               <direction>out</direction>
               <relatedStateVariable>Timestamp</relatedStateVariable>
            </argument>
         </argumentList>
      </action>

      <action>
         <Optional/>
         <name>GetHighValueThreshold</name>
         <argumentList>
            <argument>
               <name>CurrentHighValueThreshold</name>
               <direction>out</direction>
               <relatedStateVariable>HighValueThreshold</relatedStateVariable>
               <retval/>
            </argument>
         </argumentList>
      </action>
      <action>
         <Optional/>
         <name>SetHighValueThreshold</name>
         <argumentList>
            <argument>
               <name>NewHighValueThreshold</name>
               <direction>in</direction>
               <relatedStateVariable>HighValueThreshold</relatedStateVariable>
            </argument>
         </argumentList>
      </action>

      <action>
         <Optional/>
         <name>GetLowValueThreshold</name>
         <argumentList>
            <argument>
               <name>CurrentLowValueThreshold</name>
               <direction>out</direction>
               <relatedStateVariable>LowValueThreshold</relatedStateVariable>
               <retval/>
            </argument>
         </argumentList>
      </action>
      <action>
         <Optional/>
         <name>SetLowValueThreshold</name>
         <argumentList>
            <argument>
               <name>NewHighValueThreshold</name>
               <direction>in</direction>
               <relatedStateVariable>LowValueThreshold</relatedStateVariable>
            </argument>
         </argumentList>
      </action>
      
   </actionList>
</scpd>