Difference between revisions of "System report"

From A-SMIL.org
Jump to: navigation, search
(Designating a URL to the SystemReport Handler)
Line 93: Line 93:
 
</configuration>
 
</configuration>
 
</systemInfo>
 
</systemInfo>
 +
<hardwareInfo>
 +
<hardware id="display:0">
 +
<prop name=”modelName” value=”{string}”/>
 +
<prop name=”vendorId” value=”{string}”/>
 +
<!--only when screen supports HDMI CEC -->
 +
<prop name=”power” value=”on”/>
 +
</hardware>
 +
</hardwareInfo>
 
</player>
 
</player>
 
</report>
 
</report>

Revision as of 06:14, 18 May 2015

A-SMIL player reports its player configuration. The report is sent back to designated server every 5 minutes.

Designating a URL to the SystemReport Handler

In your SMIL script, you need to add a section to your head section to define where the media player should PUT the system report file. A typical definition looks like this.

<head>
  <metadata>
    <x-server xmlns="http://schemas.adfotain.org/adapi-1.0">
      <subscriptionList>
        <subscription>
          <type>SystemReport</type>
          <action>http://server/filename</action>
          <method>put</method>
          <refreshInterval>3600</refreshInterval>
          <retryInterval>3600</retryInterval>
        </subscription>
      </subscriptionList>
    </x-server>
  </metadata>
</head>

Here "http://server/filename" is the path of the file that will contain the report. Typically it is provide as the name of a server-side CGI script (PHP, etc.) which will receive the content of the file via HTTP PUT method. The refresh interval can be adjusted by adding an extra <refreshInterval> tag, this can control the report update frequency.

System Report File Format

A log file uploaded to the server looks like this.

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://schemas.adfotain.org/adapi-1.0">
<date>{createdate}</date>
<version>1.0</version>
<player id="{playerId}">
<systemInfo>
<systemStartTime>{startTime}</systemStartTime>
<systemTZ>{timeZone}</systemTZ>
<totalCapacity>7845879808</totalCapacity>
<totalFreeSpace>7098961920</totalFreeSpace>
<network>
<interface id="eth0">
<type>ethernet</type>
<mac>{macAddress}</mac>
<ip>{ipAddress}</ip>
<netmask>{netMask}</netmask>
</interface>
</network>
<configuration>
<modelInfo>
<prop name="manufacturer" value=""/>
<prop name="manufacturerURL" value=""/>
<prop name="modelDescription" value="Full HD Open API Player"/>
<prop name="modelName" value="XMP-320"/>
<prop name="modelURL" value=""/>
<prop name="PCB" value="XMP-320"/>
<prop name="PCBRevision" value="A1"/>
</modelInfo>
<factoryDefault>
</factoryDefault>
<userPref>
<prop name="security.wifi.blocked" value="false"/>
<prop name="info.playerName" value="{playerName}"/>
<prop name="net.proxy.type" value="HTTP"/>
<prop name="net.proxy.host" value=""/>
<prop name="net.proxy.port" value="1080"/>
<prop name="net.proxy.user" value=""/>
<prop name="net.wifi.ssid" value=""/>
<prop name="net.wifi.authentication" value=""/>
<prop name="net.wifi.encryption" value=""/>
<prop name="net.ethernet.dhcp.enabled" value="true"/>
<prop name="net.ethernet.dhcp.vendorClass" value="digital_signage"/>
<prop name="net.ethernet.ip" value=""/>
<prop name="net.ethernet.netmask" value=""/>
<prop name="net.ethernet.gateway" value=""/>
<prop name="net.ethernet.domain" value=""/>
<prop name="net.ethernet.dnsServers" value=""/>
<prop name="time.tzDescription" value="Taiwan"/>
<prop name="time.tzCode" value="CST-08:00"/>
<prop name="time.autoUpdate.protocol" value="content"/>
<prop name="time.autoUpdate.server" value="time.digisignage.net"/>
<prop name="display.format" value="auto"/>
<prop name="content.bootFromServer" value="true"/>
<prop name="content.serverUrl" value="{contentsourceUrl}"/>
<prop name="task.scheduledReboot.days" value="Sunday Monday Tuesday Wednesday Thursday Friday Saturday"/>
<prop name="task.scheduledReboot.time" value="04:00"/>
<prop name="task.debugReport.enabled" value="true"/>
<prop name="task.debugReport.action" value="http://username:password@debugServerURL"/>
<prop name="task.debugReport.method" value="put"/>
<prop name="hardware.serial.0.driver" value=""/>
</userPref>
</configuration>
</systemInfo>
<hardwareInfo>
<hardware id="display:0">
<prop name=”modelName” value={string}/>
<prop name=”vendorId” value={string}/>
<!--only when screen supports HDMI CEC -->
<prop name=”power” value=”on”/>
</hardware>
</hardwareInfo>
</player>
</report>

Related