XML_TerminalState

XML message about status of a single terminal

<TerminalState>
  <id><!--required, terminal ID--></id>
  <serialNo><!--optional, xs:string, terminal serial No.--></serialNo>
  <terminalName><!--read-only, required, xs:string, terminal name--></terminalName>
  <PlayerState><!--dependent, player status-->
    <BasicInfo><!--required, basic information-->
      <version><!--required, xs:string, terminal software version--></version>
      <hardwareVersion><!--required, xs:string, terminal hardware version--></hardwareVersion>
      <systemVersion><!--required, xs:string, terminal system version--></systemVersion>
      <dspVersion><!--required, xs:string, terminal DSP version--></dspVersion>
      <characteristicCode><!--optional, xs:string, terminal attribute code--></characteristicCode>
      <registerTime><!--required, xs:time, terminal registration time (ISO 8601 format)--></registerTime>
    </BasicInfo>
    <WorkState><!--required, terminal running status-->
      <TerminalAddress><!--required, terminal address information-->
        <addressingFormatType opt="ipaddress,hostname"><!--required, xs:string, terminal address type:IP address, domain name--></addressingFormatType>
        <hostName><!--dependent, xs:string, domain name--></hostName>
        <IpAddress><!--dependent-->
          <ipVersion opt="v4,v6,dual"><!--required, xs:string, IP address version: IPv4, IPv6--></ipVersion>
          <ipAddress><!--dependent, xs:string, IP address--></ipAddress>
          <ipv6Address><!--dependent, xs:string, IPv6 address--></ipv6Address>
        </IpAddress>
      </TerminalAddress>
      <port><!--optional, xs:integer, port No.--></port>
      <macAddress><!--read-only, required, xs:string, terminal MAC address--></macAddress>  
      <macAddress1><!--read-only, optional, xs:string, terminal MAC address1, no more than 2 NIC is supported--></macAddress1>
      <distributeServerUrl><!--read-only, required, xs:string, distributor URL--></distributeServerUrl>
      <onlineState><!--read-only, required, xs:string, online status: online, offline--></onlineState>
      <abnormalState><!--read-only, required, xs:string, abnormal status: normal, abnormal--></abnormalState>
      <CPUList><!--optional, CPU utilization list-->
        <CPU>
          <cpuDescription><!--required, xs:string, CPU description--></cpuDescription>
          <cpuUtilization><!--required, xs:integer, percentage, range: [0,100]--></cpuUtilization>
        </CPU>
      </CPUList>
      <MemoryList><!--optional, memory utilization-->
        <Memory>
          <memoryDescription><!--required, xs:string, memory description--></memoryDescription>
          <memoryUsage><!--required, xs:float, used memory, unit: MB--></memoryUsage>
          <memoryAvailable><!--required, xs:float, available memory, unit: MB--></memoryAvailable>
        </Memory>
      </MemoryList>
      <DiskList><!--optional, disk utilization-->
        <Disk>
          <diskDescription><!--required, xs:string, disk description--></diskDescription>
          <diskUsage><!--required, xs:float, used disk, unit: MB--></diskUsage>
          <diskAvailable><!--required, xs:float, available disk, unit: MB--></diskAvailable>
        </Disk>
      </DiskList>
      <temperature><!--optional, xs:integer, working temperature, unit: ℃ --></temperature>
    </WorkState>
    <PlayInfo><!--optional, playing information-->
      <scheduleNo><!--optional, xs:integer, program schedule ID--></scheduleNo>
      <scheduleName><!--optional, xs:string, program schedule name--></scheduleName>
      <playState><!--optional, xs:string, playing status: "invalid" (invalid status),"hdmi" (HDMI status), "vga" (VGA status), "schedulePlay", "scheduleStop", "screenOff", "faceAttendance", "otherApp"--></playState>
      <insertState><!--optional, xs:string, cut-in status: "invalid" (invalid cut-in), "insertEnd" (cut-in has completed), "insertPublish" (sending data to the terminal), "insertStart" (cut-in has started), "insertFail" (cut-in failed)--></insertState>
    </PlayInfo>
    <TimingPlan><!--optional, enabled state of schedules-->
      <SwitchPlan><!--optional, enabled state of startup and shutdown schedule-->
        <enabled><!--required, xs:boolean, whether the startup and shutdown schedule is enabled--></enabled>	
      </SwitchPlan>
      <VolumePlan><!--optional, enabled state of volume adjustment schedule -->
        <enabled><!--required, xs:boolean, whether the volume adjustment schedule is enabled--></enabled>	
      </VolumePlan>
    </TimingPlan>
  </PlayerState>
  <IPCStateList>
    <IPCState>
      <id><!--required, xs:integer, terminal ID--></id>
      <onlineState><!--read-only, required, xs:string, online status: online, offline--></onlineState>
    </IPCState>
  </IPCStateList>
  <installType><!--optional, xs:string, screen direction: landscape, portrait--></installType>
  <Resolution><!--optional, resolution -->
    <width><!--required, xs:integer, width--></width> 
    <height><!--required, xs:integer, height--></height>
  </Resolution>
  <terminalType><!--optional, xs:string, terminal type: normal, decode, touch---></terminalType>
</TerminalState>