System report

From A-SMIL.org
Revision as of 09:51, 22 June 2017 by SMIL T.A. (Talk | contribs)

Jump to: navigation, search

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 (For MBR-1100, XMP-6200/6250/6400/7300 and XDS-1078 series)

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>2017-06-22T09:27:11Z</date>
<version>1.0</version>
<player id="9e7df0ed-2a5c-4a19-bec7-ecf00e2efae5">
<systemInfo>
<systemStartTime>2017-06-22T05:27:07-04:00</systemStartTime>
<systemTimeZone>US/Eastern</systemTimeZone>
<totalCapacity>7377477632</totalCapacity>
<totalFreeSpace>6895546368</totalFreeSpace>
<cpuUsage>31%</cpuUsage>
<memoryTotal>1048576</memoryTotal>
<memoryUsed>969224</memoryUsed>
<hdmiOutput>1920x1080p-60</hdmiOutput>
<network>
<interface id="eth0">
<type>ethernet</type>
<mac>ec:f0:0e:2e:fa:e5</mac>
<ip>192.168.1.102</ip>
<netmask>255.255.255.0</netmask>
</interface>
</network>
<configuration>
<modelInfo>
<prop name="PCB" value="MBR-1100"/>
<prop name="PCBRevision" value="SR3"/>
<prop name="licenseModel" value="Android"/>
<prop name="manufacturer" value=""/>
<prop name="manufacturerURL" value=""/>
<prop name="modelDescription" value=""/>
<prop name="modelName" value="XMP-6200"/>
<prop name="modelURL" value=""/>
<prop name="option" value=""/>
</modelInfo>
<factoryDefault>
<variant></variant>
</factoryDefault>
<userPref>
<prop name="info.playerName" value="ecf00e2efae5"/>
<prop name="info.playGroup" value=""/>
<prop name="info.playGroupMaster" value=""/>
<prop name="system.locale" value="en_US"/>
<prop name="net.proxy.type" value="HTTP"/>
<prop name="net.proxy.host" value=""/>
<prop name="net.proxy.port" value="0"/>
<prop name="hardware.videoOut.0.format" value="auto"/>
<prop name="hardware.videoOut.0.margin" value="auto"/>
<prop name="hardware.videoOut.0.rotation" value="auto"/>
<prop name="app.start" value="{&quot;action&quot;:&quot;android.intent.action.VIEW&quot;,&quot;packageName&quot;:&quot;com.iadea.player&quot;,&quot;uri&quot;:&quot;http:\/\/localhost:8080\/v2\/user-data\/usbdata\/index.smil&quot;,&quot;className&quot;:&quot;com.iadea.player.SmilActivity&quot;}"/>
<prop name="app.fallback" value="{}"/>
<prop name="app.settings.com.iadea.console.disableAutoStart" value="false"/>
<prop name="app.settings.com.iadea.console.hideIpAddress" value="false"/>
<prop name="schedule.reboot.days" value="Sun|Mon|Tue|Wed|Thu|Fri|Sat"/>
<prop name="schedule.reboot.time" value="04:00"/>
<prop name="hardware.audioOut.0.masterSoundLevel" value="0.015848931924611124"/>
<prop name="hardware.hdmi.audio.samplingrate" value="48000"/>
<prop name="net.wifi.enabled" value="false"/>
<prop name="net.wifi.dhcp.enabled" value="true"/>
<prop name="net.ethernet.enabled" value="true"/>
<prop name="net.ethernet.dhcp.enabled" value="true"/>
<prop name="net.ethernet.ip" value="192.168.1.102"/>
<prop name="net.ethernet.netmask" value="255.255.255.0"/>
<prop name="net.ethernet.gateway" value="192.168.1.2"/>
<prop name="net.ethernet.dnsServers" value="192.168.1.2"/>
<prop name="net.mobile.apn" value=""/>
<prop name="net.mobile.user" value=""/>
<prop name="net.mobile.preferredNetwork" value="AUTO"/>
<prop name="time.timeZone" value="US/Eastern"/>
<prop name="time.autoTime.enabled" value="true"/>
<prop name="time.autoTime.server" value="default"/>
<prop name="debug.adb.enabled" value="true"/>
<prop name="debug.adb.tcp.enabled" value="false"/>
<prop name="usb.updateSmil.enabled" value="true"/>
<prop name="content.serverUrl" value="http://localhost:8080/v2/user-data/usbdata/index.smil"/>
</userPref>
</configuration>
</systemInfo>
<hardwareInfo>
<hardware id="display:0">
<prop name="modelName" value="Acer P235H"/>
<prop name="productId" value="EDID:00d0"/>
<prop name="serialNumber" value="LH10W0104300"/>
<prop name="vendorId" value="EDID:ACR"/>
</hardware>
</hardwareInfo>
</player>
</report>


System Report File Format (For other players)

<?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