Sony Devices Binding

Hi Tim,
just tested the new binding. For me everything works fine except the following:

  1. volume does not work when using headphone (external speakers) connected to the TV.
  2. when changing channels with the remote, the sitemap is not updated. Need to update manually.

thanks for your work.
Using Bravia 49XD8305.

Hey tim still no luck.

Any advice on troubleshooting?

Thomas

Hello Tim, the new version seems to have solved my old issue, but now produces log flodding when the TV is off:

2017-01-31 18:03:35.784 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring
2017-01-31 18:04:08.950 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring
2017-01-31 18:04:42.168 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring
2017-01-31 18:06:21.702 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring
2017-01-31 18:06:54.874 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring
2017-01-31 18:07:28.051 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring
2017-01-31 18:08:01.225 [INFO ] [y.internal.simpleip.SimpleIpProtocol] - Response took too long - ignoring

Is that related to each other?

Thomas,

Just to make sure I understand - the old binding did discover the tv and was working? The new binding doesn’t discover the tv?

Tim

  1. Interesting about the volume - I’ve been working on the latest sony API (much better API) and just yesterday discovered it has separate settings for headphones (than the speakers). Unfortunately the IRCC interface doesn’t expose that at all - so you’ll need to wait for the scalarweb api implementation for headphone volume
  2. The IRCC service is similar to a remote control - pretty much one way only. Changing channels via the tv buttons or another remote control will NOT be visible to the binding. Again - the scalarweb api will be able to poll the tv for changes.

Andi,

That shouldn’t be happening and I’ll look into it (and have it fixed in the next version).

Tim

Exactly behaviour of the old one:

-TV was autodiscoverd
-Thing went offline immediately
-after adding the correct MAC Thing came back online

New Binding:
-Nothing happens (no auto discovery)

Btw is there a way for me to check if the TV Supports the Webscaler API ? (without the Binding)

Thomas

Turn on debug logging for the binding. Type “log:set DEBUG org.openhab.binding.sony” in the console. Restart openhab and in the console (after a few minutes) - you should see a line that looks like similar to “>>> GET: http://192.168.1.72:13737/sony/webapi/ssdp/dd.xml” from the class “
sony.internal.net.HttpRequest” (obvious different IP address - may even be a different url). Following that line there should be a “<<< 200 (<?xml version="1.0"?>” with a bunch of XML after that (somewhere in the XML - should contain your model #". If you could, copy/paste the whole XML back in a reply.

To answer you question - in the XML there should be a node called “X_ScalarWebAPI_DeviceInfo” that will give me the information to determine if your set supports the new API. Note: there should also be a “X_IRCC_DeviceInfo” node that describes the IRCC service as well.

Quick question, should I be able to control an AV amp with this binding? I have a STR-DN1050 and it is discovered as an IIRC device but is marked offline with the error;

“Error connecting to IRCC device (may need to turn it on manually)”

Turning on DEBUG logs I get this output; http://pastebin.com/6tC0A2za There seems to be a problem connecting to a couple of the URL’s but I am not exactly sure what I should be seeing :slight_smile:

I did test a script I found here https://www.domoticz.com/forum/viewtopic.php?t=10587 which seems to allow control of the amp OK.

Any ideas on solving this error (hoping there is a solution)?

Thanks,
– Stuart

I only see the binding initializing:

2017-02-02 22:31:06.139 [DEBUG] [org.openhab.binding.sony            ] - BundleEvent STARTING - org.openhab.binding.sony
2017-02-02 22:31:06.179 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sony.discovery.dial, component.id=185, service.id=326, service.bundleid=204, service.scope=bundle} - org.openhab.binding.sony
2017-02-02 22:31:06.199 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sony.discovery.ircc, component.id=186, service.id=327, service.bundleid=204, service.scope=bundle} - org.openhab.binding.sony
2017-02-02 22:31:06.212 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sony.discovery.simpleip, component.id=187, service.id=328, service.bundleid=204, service.scope=bundle} - org.openhab.binding.sony
2017-02-02 22:31:06.232 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=binding.sony, component.id=188, service.id=329, service.bundleid=204, service.scope=bundle} - org.openhab.binding.sony
2017-02-02 22:31:06.236 [DEBUG] [org.openhab.binding.sony            ] - BundleEvent STARTED - org.openhab.binding.sony

Thats it. I also tried tog et the xml via postman request. didnt work

Stuart,

Glad somebody has an AV to test with! I’ll take a look at your output and get back to you shortly


Tim

Tomibeck,

You will need to trigger the autodiscovery process for the output to appear (if it already appears in the inbox, delete it and manually start the discovery process). Hopefully that will output what I need.

Thanks,
Tim

Hey Tim not working with the up do date version of the bining but with the one before:

<root xmlns="urn:schemas-upnp-org:device-1-0"
      xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11"
      xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <device>
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
    <friendlyName>BRAVIA KDL-55W905A</friendlyName>
    <manufacturer>Sony Corporation</manufacturer>
    <manufacturerURL>http://www.sony.net/</manufacturerURL>
    <modelName>KDL-55W905A</modelName>
    <modelNumber>MINT1.7.0.1</modelNumber>
    <UDN>uuid:00000000-0000-1010-8000-3c0771f804b3</UDN>
    <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC>
    <microsoft:magicPacketWakeSupported xmlns:microsoft="urn:schemas-microsoft-com:WMPNSS-1-0">1</microsoft:magicPacketWakeSupported>
    <iconList>
      <icon>
        <mimetype>image/png</mimetype>
        <width>32</width>
        <height>32</height>
        <depth>24</depth>
        <url>/MediaRenderer_32x32.png</url>
      </icon>
      <icon>
        <mimetype>image/png</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>24</depth>
        <url>/MediaRenderer_48x48.png</url>
      </icon>
      <icon>
        <mimetype>image/png</mimetype>
        <width>60</width>
        <height>60</height>
        <depth>24</depth>
        <url>/MediaRenderer_60x60.png</url>
      </icon>
      <icon>
        <mimetype>image/png</mimetype>
        <width>120</width>
        <height>120</height>
        <depth>24</depth>
        <url>/MediaRenderer_120x120.png</url>
      </icon>
      <icon>
        <mimetype>image/jpeg</mimetype>
        <width>32</width>
        <height>32</height>
        <depth>24</depth>
        <url>/MediaRenderer_32x32.jpg</url>
      </icon>
      <icon>
        <mimetype>image/jpeg</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>24</depth>
        <url>/MediaRenderer_48x48.jpg</url>
      </icon>
      <icon>
        <mimetype>image/jpeg</mimetype>
        <width>60</width>
        <height>60</height>
        <depth>24</depth>
        <url>/MediaRenderer_60x60.jpg</url>
      </icon>
      <icon>
        <mimetype>image/jpeg</mimetype>
        <width>120</width>
        <height>120</height>
        <depth>24</depth>
        <url>/MediaRenderer_120x120.jpg</url>
      </icon>
    </iconList>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
        <SCPDURL>/RenderingControlSCPD.xml</SCPDURL>
        <controlURL>/upnp/control/RenderingControl</controlURL>
        <eventSubURL>/upnp/event/RenderingControl</eventSubURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <SCPDURL>/ConnectionManagerSCPD.xml</SCPDURL>
        <controlURL>/upnp/control/ConnectionManager</controlURL>
        <eventSubURL>/upnp/event/ConnectionManager</eventSubURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
        <SCPDURL>/AVTransportSCPD.xml</SCPDURL>
        <controlURL>/upnp/control/AVTransport</controlURL>
        <eventSubURL>/upnp/event/AVTransport</eventSubURL>
      </service>
      <service>
        <serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType>
        <serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId>
        <SCPDURL>/DIALSCPD.xml</SCPDURL>
        <controlURL>/upnp/control/DIAL</controlURL>
        <eventSubURL></eventSubURL>
      </service>
      <service>
        <serviceType>urn:schemas-sony-com:service:IRCC:1</serviceType>
        <serviceId>urn:schemas-sony-com:serviceId:IRCC</serviceId>
        <SCPDURL>/IRCCSCPD.xml</SCPDURL>
        <controlURL>http://192.100.20.6/sony/IRCC</controlURL>
        <eventSubURL></eventSubURL>
      </service>
      <service>
        <serviceType>urn:schemas-sony-com:service:ScalarWebAPI:1</serviceType>
        <serviceId>urn:schemas-sony-com:serviceId:ScalarWebAPI</serviceId>
        <SCPDURL>/ScalarWebApiSCPD.xml</SCPDURL>
        <controlURL>/upnp/control/ScalarAPI</controlURL>
        <eventSubURL></eventSubURL>
      </service>
    </serviceList>
    <av:X_MaxBGMCount xmlns:av="urn:schemas-sony-com:av">64</av:X_MaxBGMCount>
    <av:X_StandardDMR xmlns:av="urn:schemas-sony-com:av">1.1</av:X_StandardDMR>
    <av:X_ScreenResolution xmlns:av="urn:schemas-sony-com:av">2K</av:X_ScreenResolution>
    <av:X_IRCCCodeList xmlns:av="urn:schemas-sony-com:av">
      <av:X_IRCCCode command="Power">AAAAAQAAAAEAAAAVAw==</av:X_IRCCCode>
      <av:X_IRCCCode command="Power ON">AAAAAQAAAAEAAAAuAw==</av:X_IRCCCode>
      <av:X_IRCCCode command="Power OFF">AAAAAQAAAAEAAAAvAw==</av:X_IRCCCode>
    </av:X_IRCCCodeList>
    <pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId>
    <pnpx:X_deviceCategory>MediaDevices</pnpx:X_deviceCategory>
    <pnpx:X_hardwareId>VEN_0106&amp;DEV_0006&amp;REV_01</pnpx:X_hardwareId>
    <df:X_deviceCategory>Display.TV Multimedia.DMR</df:X_deviceCategory>
    <av:X_TrackID_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
      <av:X_TrackID_BaseURL>http://192.100.20.6/sony/BgmSearch</av:X_TrackID_BaseURL>
    </av:X_TrackID_DeviceInfo>
    <av:X_ScalarWebAPI_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
      <av:X_ScalarWebAPI_Version>1.0</av:X_ScalarWebAPI_Version>
      <av:X_ScalarWebAPI_BaseURL>http://192.100.20.6/sony</av:X_ScalarWebAPI_BaseURL>
      <av:X_ScalarWebAPI_ServiceList>
        <av:X_ScalarWebAPI_ServiceType>guide</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>system</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>videoScreen</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>audio</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>avContent</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>recording</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>appControl</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>browser</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>notification</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>cec</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>accessControl</av:X_ScalarWebAPI_ServiceType>
        <av:X_ScalarWebAPI_ServiceType>irCommandProxy</av:X_ScalarWebAPI_ServiceType>
      </av:X_ScalarWebAPI_ServiceList>
    </av:X_ScalarWebAPI_DeviceInfo>
    <av:X_RDIS_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
      <av:X_RDIS_Version>1.0</av:X_RDIS_Version>
      <av:X_RDIS_SESSION_CONTROL>false</av:X_RDIS_SESSION_CONTROL>
      <av:X_RDIS_ENTRY_PORT>20677</av:X_RDIS_ENTRY_PORT>
    </av:X_RDIS_DeviceInfo>
    <av:X_DIALEX_DeviceInfo xmlns:av="urn:schemas-sony-com:av"> 
        <av:X_DIALEX_AppsListURL>http://192.100.20.6/DIAL/sony/applist</av:X_DIALEX_AppsListURL>
    </av:X_DIALEX_DeviceInfo>
  </device>
</root>
)
2017-02-06 16:10:06.852 [DEBUG] [inding.sony.internal.net.HttpRequest] - >>> GET: http://192.100.20.6:52323/ScalarWebApiSCPD.xml
2017-02-06 16:10:06.853 [DEBUG] [inding.sony.internal.net.HttpRequest] - <<< 200 (<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <serviceStateTable>
    <stateVariable sendEvents="no">
      <name>X_ScalarWebAPI</name>
      <dataType>string</dataType>
    </stateVariable>
  </serviceStateTable>
</scpd>
)
2017-02-06 16:10:06.874 [DEBUG] [inding.sony.internal.net.HttpRequest] - >>> GET: http://192.100.20.6:52323/IRCCSCPD.xml
2017-02-06 16:10:06.875 [DEBUG] [inding.sony.internal.net.HttpRequest] - <<< 200 (<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  
  <actionList>
    <action>
      <name>X_SendIRCC</name>
      <argumentList>
        <argument>
          <name>IRCCCode</name>
          <direction>in</direction>
          <relatedStateVariable>X_A_ARG_TYPE_IRCCCode</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
        
    <action>
      <name>X_GetStatus</name>
      <argumentList>
        <argument>
          <name>CategoryCode</name>
          <direction>in</direction>
          <relatedStateVariable>X_A_ARG_TYPE_Category</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentStatus</name>
          <direction>out</direction>
          <relatedStateVariable>X_A_ARG_TYPE_CurrentStatus</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentCommandInfo</name>
          <direction>out</direction>
          <relatedStateVariable>X_A_ARG_TYPE_CurrentCommandInfo</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
  </actionList>
  
  <serviceStateTable>
    <stateVariable sendEvents="no">
      <name>X_A_ARG_TYPE_IRCCCode</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_A_ARG_TYPE_Category</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_A_ARG_TYPE_CurrentStatus</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_A_ARG_TYPE_CurrentCommandInfo</name>
      <dataType>string</dataType>
    </stateVariable>
  </serviceStateTable>
</scpd>
)
2017-02-06 16:10:06.915 [DEBUG] [inding.sony.internal.net.HttpRequest] - >>> GET: http://192.100.20.6:52323/DIALSCPD.xml
2017-02-06 16:10:06.917 [DEBUG] [inding.sony.internal.net.HttpRequest] - <<< 200 (<?xml version="1.0" ?> 
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
  <specVersion>
    <major>1</major> 
    <minor>0</minor> 
  </specVersion>
  <serviceStateTable>
    <stateVariable sendEvents="no">
      <name>X_DialNullVariable</name> 
      <dataType>string</dataType> 
    </stateVariable>
  </serviceStateTable>
</scpd>
)
2017-02-06 16:10:06.944 [DEBUG] [inding.sony.internal.net.HttpRequest] - >>> GET: http://192.100.20.6:52323/AVTransportSCPD.xml
2017-02-06 16:10:06.946 [DEBUG] [inding.sony.internal.net.HttpRequest] - <<< 200 (<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <actionList>
    <action>
      <name>SetAVTransportURI</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentURI</name>
          <direction>in</direction>
          <relatedStateVariable>AVTransportURI</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentURIMetaData</name>
          <direction>in</direction>
          <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>SetNextAVTransportURI</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>NextURI</name>
          <direction>in</direction>
          <relatedStateVariable>NextAVTransportURI</relatedStateVariable>
        </argument>
        <argument>
          <name>NextURIMetaData</name>
          <direction>in</direction>
          <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetMediaInfo</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>NrTracks</name>
          <direction>out</direction>
          <relatedStateVariable>NumberOfTracks</relatedStateVariable>
        </argument>
        <argument>
          <name>MediaDuration</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentMediaDuration</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentURI</name>
          <direction>out</direction>
          <relatedStateVariable>AVTransportURI</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentURIMetaData</name>
          <direction>out</direction>
          <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
        </argument>
        <argument>
          <name>NextURI</name>
          <direction>out</direction>
          <relatedStateVariable>NextAVTransportURI</relatedStateVariable>
        </argument>
        <argument>
          <name>NextURIMetaData</name>
          <direction>out</direction>
          <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
        </argument>
        <argument>
          <name>PlayMedium</name>
          <direction>out</direction>
          <relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>
        </argument>
        <argument>
          <name>RecordMedium</name>
          <direction>out</direction>
          <relatedStateVariable>RecordStorageMedium</relatedStateVariable>
        </argument>
        <argument>
          <name>WriteStatus</name>
          <direction>out</direction>
          <relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetTransportInfo</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentTransportState</name>
          <direction>out</direction>
          <relatedStateVariable>TransportState</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentTransportStatus</name>
          <direction>out</direction>
          <relatedStateVariable>TransportStatus</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentSpeed</name>
          <direction>out</direction>
          <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetPositionInfo</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>Track</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentTrack</relatedStateVariable>
        </argument>
        <argument>
          <name>TrackDuration</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentTrackDuration</relatedStateVariable>
        </argument>
        <argument>
          <name>TrackMetaData</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>
        </argument>
        <argument>
          <name>TrackURI</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentTrackURI</relatedStateVariable>
        </argument>
        <argument>
          <name>RelTime</name>
          <direction>out</direction>
          <relatedStateVariable>RelativeTimePosition</relatedStateVariable>
        </argument>
        <argument>
          <name>AbsTime</name>
          <direction>out</direction>
          <relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>
        </argument>
        <argument>
          <name>RelCount</name>
          <direction>out</direction>
          <relatedStateVariable>RelativeCounterPosition</relatedStateVariable>
        </argument>
        <argument>
          <name>AbsCount</name>
          <direction>out</direction>
          <relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetDeviceCapabilities</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>PlayMedia</name>
          <direction>out</direction>
          <relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable>
        </argument>
        <argument>
          <name>RecMedia</name>
          <direction>out</direction>
          <relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable>
        </argument>
        <argument>
          <name>RecQualityModes</name>
          <direction>out</direction>
          <relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetTransportSettings</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>PlayMode</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentPlayMode</relatedStateVariable>
        </argument>
        <argument>
          <name>RecQualityMode</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>Stop</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>Play</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>Speed</name>
          <direction>in</direction>
          <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>Pause</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>Seek</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>Unit</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable>
        </argument>
        <argument>
          <name>Target</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>Next</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>Previous</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetCurrentTransportActions</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>Actions</name>
          <direction>out</direction>
          <relatedStateVariable>CurrentTransportActions</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action> 
      <name>X_DLNA_GetBytePositionInfo</name>
        <argumentList>
          <argument>
            <name>InstanceID</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
          </argument>
          <argument>
             <name>TrackSize</name>
             <direction>out</direction>
             <relatedStateVariable>X_DLNA_CurrentTrackSize</relatedStateVariable>
          </argument>
          <argument>
            <name>RelByte</name>
            <direction>out</direction>
            <relatedStateVariable>X_DLNA_RelativeBytePosition</relatedStateVariable>
          </argument>
          <argument>
            <name>AbsByte</name>
            <direction>out</direction>
            <relatedStateVariable>X_DLNA_AbsoluteBytePosition</relatedStateVariable>
          </argument>
        </argumentList>
      </action>
  </actionList>
  <serviceStateTable>
    <stateVariable sendEvents="no">
      <name>TransportState</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>NO_MEDIA_PRESENT</allowedValue>
        <allowedValue>STOPPED</allowedValue>
        <allowedValue>TRANSITIONING</allowedValue>
        <allowedValue>PLAYING</allowedValue>
        <allowedValue>PAUSED_PLAYBACK</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>TransportStatus</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>OK</allowedValue>
        <allowedValue>ERROR_OCCURRED</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>PlaybackStorageMedium</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>NONE</allowedValue>
        <allowedValue>NETWORK</allowedValue>
        <allowedValue>USB</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>RecordStorageMedium</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>NOT_IMPLEMENTED</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>PossiblePlaybackStorageMedia</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>PossibleRecordStorageMedia</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentPlayMode</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>NORMAL</allowedValue>
      </allowedValueList>
      <defaultValue>NORMAL</defaultValue>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>TransportPlaySpeed</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>1</allowedValue>
        <allowedValue>10</allowedValue>
        <allowedValue>30</allowedValue>
        <allowedValue>120</allowedValue>
        <allowedValue>-10</allowedValue>
        <allowedValue>-30</allowedValue>
        <allowedValue>-120</allowedValue>
      </allowedValueList>
      <defaultValue>1</defaultValue>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>RecordMediumWriteStatus</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>NOT_IMPLEMENTED</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentRecordQualityMode</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>NOT_IMPLEMENTED</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>PossibleRecordQualityModes</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>NumberOfTracks</name>
      <dataType>ui4</dataType>
      <allowedValueRange>
        <minimum>0</minimum>
        <maximum>1</maximum>
      </allowedValueRange>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentTrack</name>
      <dataType>ui4</dataType>
      <allowedValueRange>
        <minimum>0</minimum>
        <maximum>1</maximum>
        <step>1</step>
      </allowedValueRange>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentTrackDuration</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentMediaDuration</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentTrackMetaData</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentTrackURI</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>AVTransportURI</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>AVTransportURIMetaData</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>NextAVTransportURI</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>NextAVTransportURIMetaData</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>RelativeTimePosition</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>AbsoluteTimePosition</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>RelativeCounterPosition</name>
      <dataType>i4</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>AbsoluteCounterPosition</name>
      <dataType>i4</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>CurrentTransportActions</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_DLNA_RelativeBytePosition</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_DLNA_AbsoluteBytePosition</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_DLNA_CurrentTrackSize</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
      <name>LastChange</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>A_ARG_TYPE_SeekMode</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>TRACK_NR</allowedValue>
        <allowedValue>ABS_TIME</allowedValue>
        <allowedValue>REL_TIME</allowedValue>
        <allowedValue>ABS_COUNT</allowedValue>
        <allowedValue>REL_COUNT</allowedValue>
        <allowedValue>X_DLNA_ABS_BYTE</allowedValue>
        <allowedValue>X_DLNA_REL_BYTE</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>A_ARG_TYPE_SeekTarget</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>A_ARG_TYPE_InstanceID</name>
      <dataType>ui4</dataType>
    </stateVariable>
  </serviceStateTable>
</scpd>
)
2017-02-06 16:10:07.021 [DEBUG] [inding.sony.internal.net.HttpRequest] - >>> GET: http://192.100.20.6:52323/ConnectionManagerSCPD.xml
2017-02-06 16:10:07.022 [DEBUG] [inding.sony.internal.net.HttpRequest] - <<< 200 (<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
    <specVersion>
        <major>1</major>
        <minor>0</minor>
    </specVersion>
    <actionList>
        <action>
            <name>GetProtocolInfo</name>
            <argumentList>
                <argument>
                    <name>Source</name>
                    <relatedStateVariable>SourceProtocolInfo</relatedStateVariable>
                    <direction>out</direction>
                </argument>
                <argument>
                    <name>Sink</name>
                    <relatedStateVariable>SinkProtocolInfo</relatedStateVariable>
                    <direction>out</direction>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetCurrentConnectionIDs</name>
            <argumentList>
                <argument>
                    <name>ConnectionIDs</name>
                    <relatedStateVariable>CurrentConnectionIDs</relatedStateVariable>
                    <direction>out</direction>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetCurrentConnectionInfo</name>
            <argumentList>
                <argument>
                    <name>ConnectionID</name>
                    <relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
                    <direction>in</direction>
                </argument>
                <argument>
                    <name>RcsID</name>
                    <relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable>
                    <direction>out</direction>
                </argument>
                <argument>
                    <name>AVTransportID</name>
                    <relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable>
                    <direction>out</direction>
                </argument>
                <argument>
                    <name>ProtocolInfo</name>
                    <relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable>
                    <direction>out</direction>
                </argument>
                <argument>
                    <name>PeerConnectionManager</name>
                    <relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable>
                    <direction>out</direction>
                </argument>
           

Good news and bad news. You’re IRCC service won’t work (like my tv, a recent firmware took away the IRCC action list) - so IRCC won’t work (atleast for now). Good news is that your’s definately supports ScalarWeb - in fact, it even has a few services that my TV doesn’t. You’ll need to wait until I’ve finished that API to try it out. On a side note, can you turn on your TV, then on a PC/laptop/whatever browse to “http://192.100.20.6/DIAL/sony/applist” and see if you get anything (probably a access denied - but just a curiosity).

Note: I’m probably about 25-30% done with the scalarweb right now (I have it connecting, able to request/enter pins, and get information about the tv). I’m still trying to figure out how to organize the channels however (alot of the scalar api is dynamic).

Stuart,

Have you paired the binding with the STR-DN1050 yet? Looking at the logs that you posted - doesn’t appear to be paired yet. Turn the receiver on (and have it outputting to some display). Edit the configuration of the thing and changes the accessCode to “RQST” (probably already says “RQST” - just continue then). When you save it - the binding will go into a pairing mode and a 4 digit number should be displayed on the receiver’s display output. Edit the configuration and enter the 4 digit number and save - the binding should then pair with the receiver and go online (note: you only have 45 or 60 seconds to pair - the AV will cancel it after that and you’ll need to go through the process again). The important part is the receiver must be on and outputting to a display to do this correctly.

Sound good to me. I rather wait a bit longer and have the new API then. If you need help testing let me know.

The only thing I’m still curious about is why this is not working at all wir the newer version.

Old version was giving you a false impression. Didn’t have as much detection built into it - so it assumed IRCC was available (since the IRCC node was in that XML) and falsely went online (bet the old version then had issues with issue commands). New version actually investigates the IRCC service to see what it has and won’t discover the device (nor go online) unless certain requirements are met.

Hey Tim, i have a STR-DN1030 AV amp and try to get it up and running with your binding.

when deploying org.openhab.binding.sony-2.1.0-SNAPSHOT.jar from your latest zip the discovery process (initiated by adding a new Thing “Sony Binding” is not detecting my AV amp on the network, although the binding seems to be deployed correctly:

2017-02-06 17:21:32.196 [DEBUG] [org.openhab.binding.sony            ] - BundleEvent STARTING - org.openhab.binding.sony
2017-02-06 17:21:32.216 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sony.discovery.dial, component.id=180, service.id=307, service.bundleid=191, service.scope=bundle} - org.openhab.binding.sony
2017-02-06 17:21:32.236 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sony.discovery.ircc, component.id=181, service.id=308, service.bundleid=191, service.scope=bundle} - org.openhab.binding.sony
2017-02-06 17:21:32.245 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sony.discovery.simpleip, component.id=182, service.id=309, service.bundleid=191, service.scope=bundle} - org.openhab.binding.sony
2017-02-06 17:21:32.257 [DEBUG] [org.openhab.binding.sony            ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=binding.sony, component.id=183, service.id=310, service.bundleid=191, service.scope=bundle} - org.openhab.binding.sony
2017-02-06 17:21:32.260 [DEBUG] [org.openhab.binding.sony            ] - BundleEvent STARTED - org.openhab.binding.sony

However, when deploying your previous version from Dec 30th org.openhab.binding.sony-2.0.0-SNAPSHOT.jar
my AV amp gets discovered but never gets online.

http://pastebin.com/nyikQp9s

i was not able to pair/authenticate the device yet. Although the discovery process has configured “RQST” as access code, my AV amp does not display any code on the screen - even though i’m in GUI Mode. Not sure if it’s neccessary to use the “Settings/Network/Media Remote Device” option on the Sony to register a new media remote, so i tried this option too without success.

any ideas how to include my STR-DN1030 with your binding?

Thanks, Oliver

Oliver,

The old binding will falsely go online and will never pair because of that - please ignore it completely. I’m assuming the posted debug log file is from the old binding? The big question is why is the new binding not finding the IRCC service on AVs (same as Stuarts issue). Looking at the debug log - seems like it should be identifying it correctly. I’m going to be uploading a new version shortly that will add a bunch more debugging information to the autodiscovery process to hopefully tell me what’s going wrong


Thanks,
Tim

Oliver/Stuart,

I just posted a new zip file over on openhab2-addons sony thread (on page 3 now). Give install this and rediscover with debug level on (and post that if you would). This binding will NOT change anything from your perspective but will dump some additional debugging information so I can see (hopefully) what is going on with the AVs


Thanks,
Tim