Sony Devices Binding

Hello, can’t find my TV KD-65X8505A through Things Discovery. OH2 Debug log - pastebin (it’s too big to paste here). Maybe somebody have a solution?

You’re getting the gson NoSuchMethod error that I’m struggling with right now (not sure why the dependencies are being screwed up). I’ll post when I’ve got all the dependencies correct and finally release the webscalar stuff…

1 Like

Alright - I’m releasing a beta version of the scalar service. You can find it at Sony PR.

A few things:

  1. Only has been tested on a few devices - may or may not work for you
  2. You’ll need to go through the pairing process. Likewise, if you’ve used the IRCC service - you may need to re-pair it as well (changes were made to both).
  3. Some fixes occurred in all of the implementations (SimpleIP, DIAL, and IRCC). Let me know if you see any issues.
  4. The scalar API DYNAMICALLY creates all channels (and will create ALOT of them). You can view the channels in PaperUI - just note that PaperUI will look like it’s frozen up when it’s trying to display channel (especially the "Show More’ option) - just give it a few minutes (like 5-10) to display. Apparently has issues with ALOT of channels. If you don’t use PaperUI - turn debug on for the binding and you’ll see the list of channels that it creates (do a find for “Creating Channel”)
  5. Because it gathers alot of information from the device - it usually takes the binding a few minutes to come online - be patient.

What I’d like for you do (beyond reporting any errors):

  1. Turn debug on for the plugin (from the karaf console: ‘log:set debug org.openhab.binding.sony’)
  2. In the log - find ‘Service: http’. You’ll see a (long) log message that lists all the services and the supported methods of those services. Please respond to this post with the MODEL # of your device and the complete log message (see below for an example). This will help me find out what services are available and can add them to the bind.

Example of what I hope you will post
MODEL: XBR-55X900E

Service: http://192.168.1.205/sony/accessControl
   actRegister({"clientid":"string", "nickname":"string", "level":"string"},{"function":"string", "value":"string"}*): 

Service: http://192.168.1.205/sony/appControl
   getApplicationList(): {"title":"string", "uri":"string", "icon":"string", "data":"string"}*
   getApplicationStatusList(): {"name":"string", "status":"string"}*
   getTextForm({"encKey":"string"}): {"text":"string"}
   getWebAppStatus(): {"active":"bool", "url":"string"}
   setActiveApp({"uri":"string", "data":"string"}): 
   setTextForm({"encKey":"string", "text":"string"}): 
   terminateApps(): 

Service: http://192.168.1.205/sony/audio
   getSoundSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getSpeakerSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getVolumeInformation(): {"target":"string", "volume":"int", "mute":"bool", "maxVolume":"int", "minVolume":"int"}*
   setAudioMute({"status":"bool"}): int
   setAudioVolume({"target":"string", "volume":"string", "ui":"string"}): 
   setSoundSettings({"settings":"GeneralSettings[]"}): 
   setSpeakerSettings({"settings":"GeneralSettings[]"}): 

Service: http://192.168.1.205/sony/avContent
   deleteContent({"uri":"string"}): 
   getContentCount({"source":"string", "type":"string", "target":"string"}): {"count":"int"}
   getContentList({"source":"string", "stIdx":"int", "cnt":"int", "type":"string", "target":"string"}): {"uri":"string", "title":"string", "index":"int", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programMediaType":"string", "directRemoteNum":"int", "epgVisibility":"string", "channelSurfingVisibility":"string", "visibility":"string", "startDateTime":"string", "channelName":"string", "fileSizeByte":"int", "isProtected":"bool", "isAlreadyPlayed":"bool", "productID":"string", "contentType":"string", "storageUri":"string", "videoCodec":"string", "chapterCount":"int", "durationSec":"double", "audioCodec":"string*", "audioFrequency":"string*", "audioChannel":"string*", "subtitleLanguage":"string*", "subtitleTitle":"string*", "parentalRating":"string*", "parentalSystem":"string*", "parentalCountry":"string*", "sizeMB":"int", "createdTime":"string", "userContentFlag":"bool"}*
   getCurrentExternalInputsStatus(): {"uri":"string", "title":"string", "connection":"bool", "label":"string", "icon":"string", "status":"string"}*
   getParentalRatingSettings(): {"ratingTypeAge":"int", "ratingTypeSony":"string", "ratingCountry":"string", "ratingCustomTypeTV":"string*", "ratingCustomTypeMpaa":"string", "ratingCustomTypeCaEnglish":"string", "ratingCustomTypeCaFrench":"string", "unratedLock":"bool"}
   getPlayingContentInfo(): {"uri":"string", "source":"string", "title":"string", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programTitle":"string", "startDateTime":"string", "durationSec":"int", "mediaType":"string", "playSpeed":"string", "bivl_serviceId":"string", "bivl_assetId":"string", "bivl_provider":"string"}
   getSchemeList(): {"scheme":"string"}*
   getSourceList({"scheme":"string"}): {"source":"string"}*
   setDeleteProtection({"uri":"string", "isProtected":"bool"}): 
   setFavoriteContentList({"favSource":"string", "contents":"string*"}): 
   setPlayContent({"uri":"string"}): 
   setPlayTvContent({"channel":"PlayTvChannel", "source":"string", "sourceType":"string", "broadcastFreqName":"string", "ignoreVisibilitySettings":"bool"}): 
   setTvContentVisibility({"uri":"string", "epgVisibility":"string", "channelSurfingVisibility":"string", "visibility":"string"}*): 

Service: http://192.168.1.205/sony/cec
   setCecControlMode({"enabled":"bool"}): 
   setMhlAutoInputChangeMode({"enabled":"bool"}): 
   setMhlPowerFeedMode({"enabled":"bool"}): 
   setPowerSyncMode({"sinkPowerOffSync":"bool", "sourcePowerOnSync":"bool"}): 

Service: http://192.168.1.205/sony/encryption
   getPublicKey(): {"publicKey":"string"}

Service: http://192.168.1.205/sony/guide
   getServiceProtocols(): string,string*
   getSupportedApiInfo({"services":"string*"}): {"service":"string", "protocols":"string*", "apis":"ApiInfo[]"}*

Service: http://192.168.1.205/sony/system
   getCurrentTime(): {"dateTime":"string", "timeZoneOffsetMinute":"int", "dstOffsetMinute":"int"}
   getDeviceMode({"value":"string"}): {"isOn":"bool"}
   getInterfaceInformation(): {"productCategory":"string", "productName":"string", "modelName":"string", "serverName":"string", "interfaceVersion":"string"}
   getLEDIndicatorStatus(): {"mode":"string", "status":"string"}
   getNetworkSettings({"netif":"string"}): {"netif":"string", "hwAddr":"string", "ipAddrV4":"string", "ipAddrV6":"string", "netmask":"string", "gateway":"string", "dns":"string*"}*
   getPowerSavingMode(): {"mode":"string"}
   getPowerStatus(): {"status":"string"}
   getRemoteControllerInfo(): {"bundled":"bool", "type":"string"},{"name":"string", "value":"string"}*
   getRemoteDeviceSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getSystemInformation(): {"product":"string", "region":"string", "language":"string", "model":"string", "serial":"string", "macAddr":"string", "name":"string", "generation":"string", "area":"string", "cid":"string"}
   getSystemSupportedFunction(): {"option":"string", "value":"string"}*
   getWolMode(): {"enabled":"bool"}
   requestReboot(): 
   setDeviceMode({"value":"string", "isOn":"bool"}): 
   setLEDIndicatorStatus({"mode":"string", "status":"string"}): 
   setLanguage({"language":"string"}): 
   setPowerSavingMode({"mode":"string"}): 
   setPowerStatus({"status":"bool"}): 
   setWolMode({"enabled":"bool"}): 

Service: http://192.168.1.205/sony/videoScreen
   getAudioSourceScreen(): {"screen":"string"}
   getBannerMode(): {"currentValue":"string", "candidate":"BannerModeCandidate[]"}
   getMultiScreenMode(): {"mode":"string", "option":"MultiScreenModeOption"}
   getPipSubScreenPosition(): {"position":"string"}
   getSceneSetting(): {"currentValue":"string", "candidate":"SceneSettingCandidate[]"}
   requestToNotifyScreenState({"multiScreenMode":"string", "pipSubScreenPosition":"string", "audioSourceScreen":"string", "option":"MultiScreenModeOption"}): {"multiScreenMode":"string", "pipSubScreenPosition":"string", "audioSourceScreen":"string", "option":"MultiScreenModeOption"}
   setAudioSourceScreen({"screen":"string"}): 
   setBannerMode({"value":"string"}): 
   setMultiScreenMode({"mode":"string", "option":"MultiScreenModeOption"}): 
   setPapScreenSize({"screen":"string", "size":"string"}): 
   setPipSubScreenPosition({"position":"string"}): 
   setSceneSetting({"value":"string"}): 

1 Like

I was just about to paste in the log from mine (55X900E) when I noticed you already did it for me in your example above. :wink:

I will post one from an 49X720E early to mid next week. I have it, but haven’t hooked it up yet and I won’t be able to get to it until Tuesday.

Looking forward to using this binding! Here’s what I got for my AVR. Let me know if you need anything else.

MODEL: STR-DN1060

Service: http://192.168.2.192:10000/sony/audio
   getCustomEqualizerSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getSoundSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getSpeakerSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getVolumeInformation({"output":"string"}): {"output":"string", "volume":"int", "mute":"string", "maxVolume":"int", "minVolume":"int", "step":"int"}*
   setAudioMute({"output":"string", "mute":"string"}): 
   setAudioVolume({"output":"string", "volume":"string"}): 
   setCustomEqualizerSettings({"settings":"GeneralSettings[]"}): 
   setSoundSettings({"settings":"GeneralSettings[]"}): 
   setSpeakerSettings({"settings":"GeneralSettings[]"}): 

Service: http://192.168.2.192:10000/sony/avContent
   getAvailablePlaybackFunction({"output":"string"}): {"functions":"FunctionInfo[]", "output":"string", "uri":"string"}*
   getBluetoothSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getContentCount({"uri":"string", "type":"string*", "target":"string", "view":"string", "path":"string"}): {"count":"int", "capability":"int"}
   getContentList({"uri":"string", "stIdx":"int", "cnt":"int", "type":"string*", "target":"string", "view":"string", "sort":"string", "path":"string"}): {"uri":"string", "title":"string", "index":"int", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programMediaType":"string", "directRemoteNum":"int", "epgVisibility":"string", "channelSurfingVisibility":"string", "visibility":"string", "startDateTime":"string", "channelName":"string", "fileSizeByte":"int", "isProtected":"string", "isAlreadyPlayed":"string", "productID":"string", "contentType":"string", "storageUri":"string", "chapterCount":"int", "durationMsec":"int", "audioInfo":"AudioInfo[]", "subtitleInfo":"SubtitleInfo[]", "parentalInfo":"ParentalInfo[]", "sizeMB":"int", "createdTime":"string", "userContentFlag":"bool", "content":"ContentInfo", "folderNo":"string", "fileNo":"string", "artist":"string", "genre":"string*", "albumName":"string", "contentKind":"string", "isPlayable":"string", "isBrowsable":"string", "remotePlayType":"string*", "playlistName":"string", "podcastName":"string", "broadcastFreq":"int", "broadcastFreqBand":"string", "parentUri":"string", "parentIndex":"int", "videoInfo":"VideoInfo", "is3D":"string", "path":"string"}*
   getCurrentExternalTerminalsStatus(): {"uri":"string", "title":"string", "connection":"string", "active":"string", "label":"string", "outputs":"string*", "meta":"string", "iconUrl":"string"}*
   getPlaybackModeSettings({"target":"string", "uri":"string"}): {"target":"string", "uri":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"bool", "candidate":"PlaybackModeSettingsCandidate[]"}*
   getPlayingContentInfo({"output":"string"}): {"uri":"string", "source":"string", "sourceLabel":"string", "title":"string", "output":"string", "stateInfo":"StateInfo", "positionSec":"double", "positionMsec":"int", "durationSec":"double", "durationMsec":"int", "playSpeedStep":"int", "repeatType":"string", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programTitle":"string", "startDateTime":"string", "mediaType":"string", "playSpeed":"string", "bivl_serviceId":"string", "bivl_assetId":"string", "bivl_provider":"string", "chapterIndex":"int", "chapterCount":"int", "subtitleIndex":"int", "artist":"string", "genre":"string*", "albumName":"string", "contentKind":"string", "fileNo":"string", "channelName":"string", "playlistName":"string", "podcastName":"string", "totalCount":"int", "broadcastFreq":"int", "broadcastFreqBand":"string", "dabInfo":"DabInfo", "audioInfo":"AudioInfo[]", "parentUri":"string", "service":"string", "index":"int", "parentIndex":"int", "videoInfo":"VideoInfo", "is3D":"string", "path":"string", "applicationName":"string"}*
   getSchemeList(): {"scheme":"string"}*
   getSourceList({"scheme":"string"}): {"source":"string", "title":"string", "isPlayable":"bool", "isBrowsable":"bool", "playAction":"string", "outputs":"string*", "meta":"string", "iconUrl":"string"}*
   getSupportedPlaybackFunction({"uri":"string"}): {"functions":"SupportedFunctionInfo[]", "uri":"string"}*
   pausePlayingContent({"output":"string"}): 
   presetBroadcastStation({"uri":"string", "frequency":"int"}): 
   scanPlayingContent({"output":"string", "direction":"string"}): 
   seekBroadcastStation({"direction":"string", "tuning":"string"}): 
   setActiveTerminal({"uri":"string", "active":"string"}): 
   setBluetoothSettings({"settings":"GeneralSettings[]"}): 
   setPlayContent({"uri":"string", "positionSec":"double", "positionMsec":"int", "resume":"bool", "requester":"string", "repeatType":"string", "keepLastFrame":"bool", "output":"string"}): 
   setPlayNextContent({"output":"string"}): 
   setPlayPreviousContent({"output":"string"}): 
   setPlaybackModeSettings({"settings":"GeneralSettings[]"}): 
   startContentBrowsing({"uri":"string"}): {"status":"string", "errorMessage":"string"}
   stopPlayingContent({"output":"string", "keepLastFrame":"bool"}): 

Service: http://192.168.2.192:10000/sony/guide
   getServiceProtocols(): string,string*
   getSupportedApiInfo({"services":"string*"}): {"service":"string", "protocols":"string*", "apis":"ApiInfo[]"}*

Service: http://192.168.2.192:10000/sony/system
   actSWUpdate(): 
   connectBluetoothDevice({"bdAddr":"string"}): 
   getDeviceMiscSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getInterfaceInformation(): {"productCategory":"string", "productName":"string", "modelName":"string", "serverName":"string", "interfaceVersion":"string"}
   getPowerSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getPowerStatus(): {"status":"string", "standbyDetail":"string"}
   getSWUpdateInfo({"network":"string"}): {"isUpdatable":"string", "swInfo":"SWInfo[]"}
   getSettingsTree({"usage":"string"}): {"settings":"SettingsTreeList[]"}
   getSleepTimerSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   getStorageList({"uri":"string"}): {"uri":"string", "deviceName":"string", "volumeLabel":"string", "permission":"string", "position":"string", "formattable":"string", "mounted":"string", "wholeCapacityMB":"int", "freeCapacityMB":"int", "systemAreaCapacityMB":"int", "formatting":"string", "isAvailable":"string", "lun":"int", "type":"string", "format":"string", "error":"string"}*
   getSystemInformation(): {"product":"string", "region":"string", "language":"string", "model":"string", "serial":"string", "macAddr":"string", "name":"string", "generation":"string", "area":"string", "cid":"string", "helpUrl":"string", "deviceID":"string", "version":"string", "duid":"string", "updatableVersion":"string", "wirelessMacAddr":"string", "esn":"string", "iconUrl":"string", "ssid":"string", "bdAddr":"string"}
   getWuTangInfo({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*
   setClientInfo({"target":"string", "value":"string"}*): 
   setDeviceMiscSettings({"settings":"GeneralSettings[]"}): 
   setPowerSettings({"settings":"GeneralSettings[]"}): 
   setPowerStatus({"status":"string", "standbyDetail":"string"}): 
   setSleepTimerSettings({"settings":"GeneralSettings[]"}): 
   setWuTangInfo({"settings":"GeneralSettings[]"}):

MODEL: KD-49XD7005

2017-07-27 07:03:56.952 [DEBUG] [covery.ScalarWebDiscoveryParticipant] - Service: http://192.168.1.11/sony/accessControl
   actRegister({"clientid":"string", "nickname":"string", "level":"string"},{"function":"string", "value":"string"}*): 

Service: http://192.168.1.11/sony/appControl
   getApplicationList(): {"title":"string", "uri":"string", "icon":"string", "data":"string"}*
   getApplicationStatusList(): {"name":"string", "status":"string"}*
   getTextForm({"encKey":"string"}): {"text":"string"}
   getWebAppStatus(): {"active":"bool", "url":"string"}
   setActiveApp({"uri":"string", "data":"string"}): 
   setTextForm({"encKey":"string", "text":"string"}): 
   terminateApps(): 

Service: http://192.168.1.11/sony/audio
   getSoundSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"bool", "candidate":"GeneralSettingsCandidate[]"}*
   getSpeakerSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"bool", "candidate":"GeneralSettingsCandidate[]"}*
   getVolumeInformation(): {"target":"string", "volume":"int", "mute":"bool", "maxVolume":"int", "minVolume":"int"}*
   setAudioMute({"status":"bool"}): int
   setAudioVolume({"target":"string", "volume":"string", "ui":"string"}): 
   setSoundSettings({"settings":"GeneralSettings[]"}): 
   setSpeakerSettings({"settings":"GeneralSettings[]"}): 

Service: http://192.168.1.11/sony/avContent
   deleteContent({"uri":"string"}): 
   getContentCount({"source":"string", "type":"string", "target":"string"}): {"count":"int"}
   getContentList({"uri":"string", "stIdx":"int", "cnt":"int", "type":"string*", "target":"string", "view":"string", "sort":"SortInfo", "search":"Search", "filter":"string*"}): {"uri":"string", "source":"string", "sourceLabel":"string", "title":"string", "index":"int", "output":"string", "stateInfo":"StateInfo", "globalPlaybackCount":"int", "dubbingInfo":"DubbingInfo", "position":"Position", "duration":"Duration", "playSpeed":"Speed", "repeatType":"string", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programTitle":"string", "programMediaType":"string", "programServiceType":"string", "directRemoteNum":"int", "visibility":"Visibility", "startDateTime":"string", "mediaType":"string", "bivlInfo":"BivlInfo", "chapterIndex":"int", "chapterCount":"int", "channelName":"string", "fileSizeByte":"int", "isProtected":"string", "isAutoDelete":"string", "isAlreadyPlayed":"string", "isNew":"string", "productID":"string", "contentType":"string", "storageUri":"string", "audioInfo":"AudioInfo[]", "subtitleInfo":"SubtitleInfo[]", "parentalInfo":"ParentalInfo[]", "dabInfo":"DabInfo", "sizeMB":"int", "createdTime":"string", "userContentFlag":"bool", "content":"ContentInfo", "folderNo":"string", "fileNo":"string", "totalCount":"int", "artist":"string", "genre":"string*", "broadcastGenreInfo":"BroadcastGenreInfo[]", "albumName":"string", "contentKind":"string", "isPlayable":"string", "isBrowsable":"string", "remotePlayType":"string*", "playlistName":"string", "podcastName":"string", "broadcastFreq":"BroadcastFreq", "service":"string", "parentUri":"string", "parentIndex":"int", "videoInfo":"VideoInfo[]", "groupInfo":"GroupInfo[]", "isPlaylist":"string", "playlistInfo":"PlaylistInfo[]", "recordingInfo":"RecordingInfo", "is3D":"string", "is4K":"string", "applicationName":"string", "isSoundPhoto":"string", "description":"Description", "hasResume":"string", "eventId":"string", "dataInfo":"DataBroadcastInfo", "syncContentPriority":"string", "clipCount":"int"}*
   getCurrentExternalInputsStatus(): {"uri":"string", "title":"string", "connection":"bool", "label":"string", "icon":"string", "status":"string"}*
   getFavoriteList(): {"source":"string", "label":"string"}*
   getParentalRatingSettings(): {"ratingTypeAge":"int", "ratingTypeSony":"string", "ratingCountry":"string", "ratingCustomTypeTV":"string*", "ratingCustomTypeMpaa":"string", "ratingCustomTypeCaEnglish":"string", "ratingCustomTypeCaFrench":"string", "unratedLock":"bool"}
   getPlayingContentInfo(): {"uri":"string", "source":"string", "title":"string", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programTitle":"string", "startDateTime":"string", "durationSec":"int", "mediaType":"string", "playSpeed":"string", "bivl_serviceId":"string", "bivl_assetId":"string", "bivl_provider":"string"}
   getSchemeList(): {"scheme":"string"}*
   getSourceList({"scheme":"string"}): {"source":"string"}*
   setDeleteProtection({"uri":"string", "isProtected":"bool"}): 
   setFavoriteContentList({"favSource":"string", "contents":"string*"}): 
   setPlayContent({"uri":"string"}): 
   setPlayTvContent({"channel":"PlayTvChannel", "source":"string", "sourceType":"string", "broadcastFreqName":"string", "ignoreVisibilitySettings":"bool"}): 
   setTvContentVisibility({"uri":"string", "epgVisibility":"string", "channelSurfingVisibility":"string", "visibility":"string"}*): 

Service: http://192.168.1.11/sony/browser
   actBrowserControl({"control":"string"}): int
   getTextUrl(): {"url":"string", "title":"string", "type":"string", "favicon":"string"}
   setTextUrl({"url":"string", "title":"string", "type":"string", "favicon":"string"}): int

Service: http://192.168.1.11/sony/cec
   setCecControlMode({"enabled":"bool"}): 
   setMhlAutoInputChangeMode({"enabled":"bool"}): 
   setMhlPowerFeedMode({"enabled":"bool"}): 
   setPowerSyncMode({"sinkPowerOffSync":"bool", "sourcePowerOnSync":"bool"}): 

Service: http://192.168.1.11/sony/encryption
   getPublicKey(): {"publicKey":"string"}

Service: http://192.168.1.11/sony/guide
   getServiceProtocols(): string,string*
   getSupportedApiInfo({"services":"string*"}): {"service":"string", "protocols":"string*", "apis":"ApiInfo[]"}*

Service: http://192.168.1.11/sony/recording
   addSchedule({"type":"string", "uri":"string", "title":"string", "startDateTime":"string", "durationSec":"int", "repeatType":"string", "quality":"string", "eventId":"string", "id":"string", "avoidDoubleRecording":"string", "mode":"string", "priority":"string", "storageUri":"string", "override":"string", "autoTransfer":"string", "trackedTitle":"string", "videoIndex":"int", "audioIndex":"int", "subtitleIndex":"int", "groupId":"string", "recordItemWithParentalLock":"string", "ignoreError":"string"}): {"annotation":"int", "conflict":"ConflictSchedule[]"}
   deleteSchedule({"id":"string", "contentUri":"string", "type":"string", "uri":"string", "title":"string", "startDateTime":"string", "durationSec":"int", "delMode":"string"}*): 
   getConflictScheduleList({"uri":"string", "title":"string", "startDateTime":"string", "durationSec":"int", "repeatType":"string"}): {"id":"string", "title":"string", "type":"string", "uri":"string", "startDateTime":"string", "durationSec":"int", "repeatType":"string"}*
   getHistoryList({"stIdx":"int", "cnt":"int"}): {"id":"string", "title":"string", "channelName":"string", "startDateTime":"string", "durationSec":"int", "reasonId":"int", "reasonMsg":"string"}*
   getRecordingStatus(): {"status":"string"}
   getScheduleList({"stIdx":"int", "cnt":"int"}): {"id":"string", "type":"string", "uri":"string", "title":"string", "channelName":"string", "startDateTime":"string", "durationSec":"int", "repeatType":"string", "overlapStatus":"string", "recordingStatus":"string", "quality":"string", "eventId":"string"}*
   getSupportedRepeatType(): string*

Service: http://192.168.1.11/sony/system
   getCurrentTime(): {"dateTime":"string", "timeZoneOffsetMinute":"int", "dstOffsetMinute":"int"}
   getDeviceMode({"value":"string"}): {"isOn":"bool"}
   getInterfaceInformation(): {"productCategory":"string", "productName":"string", "modelName":"string", "serverName":"string", "interfaceVersion":"string"}
   getLEDIndicatorStatus(): {"mode":"string", "status":"string"}
   getNetworkSettings({"netif":"string"}): {"netif":"string", "hwAddr":"string", "ipAddrV4":"string", "ipAddrV6":"string", "netmask":"string", "gateway":"string", "dns":"string*"}*
   getPowerSavingMode(): {"mode":"string"}
   getPowerStatus(): {"status":"string"}
   getRemoteControllerInfo(): {"bundled":"bool", "type":"string"},{"name":"string", "value":"string"}*
   getRemoteDeviceSettings({"target":"string"}): {"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"bool", "candidate":"GeneralSettingsCandidate[]"}*
   getStorageList({"uri":"string"}): {"uri":"string", "deviceName":"string", "volumeLabel":"string", "permission":"string", "position":"string", "formattable":"string", "mounted":"string", "wholeCapacityMB":"int", "freeCapacityMB":"int", "systemAreaCapacityMB":"int", "formatting":"string", "isAvailable":"string"}*
   getSystemInformation(): {"product":"string", "region":"string", "language":"string", "model":"string", "serial":"string", "macAddr":"string", "name":"string", "generation":"string", "area":"string", "cid":"string"}
   getSystemSupportedFunction(): {"option":"string", "value":"string"}*
   getWolMode(): {"enabled":"bool"}
   requestReboot(): 
   setDeviceMode({"value":"string", "isOn":"bool"}): 
   setLEDIndicatorStatus({"mode":"string", "status":"string"}): 
   setLanguage({"language":"string"}): 
   setPowerSavingMode({"mode":"string"}): 
   setPowerStatus({"status":"bool"}): 
   setWolMode({"enabled":"bool"}): 

Service: http://192.168.1.11/sony/videoScreen
   getAudioSourceScreen(): {"screen":"string"}
   getBannerMode(): {"currentValue":"string", "candidate":"BannerModeCandidate[]"}
   getMultiScreenMode(): {"mode":"string", "option":"MultiScreenModeOption"}
   getPipSubScreenPosition(): {"position":"string"}
   getSceneSetting(): {"currentValue":"string", "candidate":"SceneSettingCandidate[]"}
   requestToNotifyScreenState({"multiScreenMode":"string", "pipSubScreenPosition":"string", "audioSourceScreen":"string", "option":"MultiScreenModeOption"}): {"multiScreenMode":"string", "pipSubScreenPosition":"string", "audioSourceScreen":"string", "option":"MultiScreenModeOption"}
   setAudioSourceScreen({"screen":"string"}): 
   setBannerMode({"value":"string"}): 
   setMultiScreenMode({"mode":"string", "option":"MultiScreenModeOption"}): 
   setPapScreenSize({"screen":"string", "size":"string"}): 
   setPipSubScreenPosition({"position":"string"}): 
   setSceneSetting({"value":"string"}):

Bart,

You weren’t actually able to pair with the AVR (with scalar) were you? I thought I only supported TVs currently (my UHD player is very similar to your AVR and I haven’t found a way to pair with it yet - once I do - I believe AVRs would be supported then as well)>

Tim

Andi,

Ah - you have a similar device as Rickecho - you can give the Rickecho version (that I posted) a try if you want. May or may not support the built in browser (that what I’m having him try out). I say may or may not because I’m only going off the API here (I don’t have anything to test with) and there is some questions I have about a parameter on the API that I’m not sure what is. But if you’re daring - give it a try. BTW - do you use the recordings? There is a recording service (that I don’t support right now) and Rickecho doesn’t use it - so I haven’t attempted it yet…

Tim

Erkan, btw - the latest version should fix this issue as well.

Tim,

Hmm, no I haven’t - it’s stuck in “Initializing” in my Things browser. I haven’t been able to get it to work with IRCC either. I do have “Auto Renderer Access Control” enabled in the AVR menu, but I don’t see my RPI’s MAC in the “Allowed Devices” list, so it’s as if the binding never actually tries to pair - do I have to do anything specific to attempt that?,

Bart, could you restart openHAB and then pastebin (or other) the log file?

Thanks,
Tim

Tim,

https://pastebin.com/zrJ2huBr

Posted all log entries post-restart of OH, while in debug log setting. Let me know if you need anything else!

Bart - looks like the log was incomplete (never got to the part where it tries to pair to the TV). Could you restart openHAB again, find the thing, press the configuration button - change the access code to “RQST” (or simply retype it if it is) and press OK/Save. Does anything appear on the TV (should be a 4 digit code)? If it does - reedit the configuration and put in the code (rather than RQST) and it should pair and come online. If it doesn’t show a code - copy the log at that point and post…

1 Like

MODEL: KDL-48W585B

Service: http://192.168.178.62/sony/accessControl
   actRegister({"clientid":"string","nickname":"string","level":"string"},{"function":"string","value":"string"}*):

Service: http://192.168.178.62/sony/appControl
   getApplicationList(): {"title":"string","uri":"string","icon":"string","data":"string"}*
   getApplicationStatusList(): {"name":"string","status":"string"}*
   getTextForm({"encKey":"string"}): string
   getWebAppStatus(): {"active":"bool","url":"string"}
   setActiveApp({"uri":"string","data":"string"}):
   setCsxUserAccount({"userID":"string","accessToken":"string","userName":"string","encKey":"string"}):
   setTextForm({"encKey":"string","text":"string"}):
   terminateApps():

Service: http://192.168.178.62/sony/audio
   getVolumeInformation(): {"target":"string","volume":"int","mute":"bool","maxVolume":"int","minVolume":"int"}*
   setAudioMute({"status":"bool"}): int
   setAudioVolume({"target":"string","volume":"string"}): int

Service: http://192.168.178.62/sony/avContent
   deleteContent({"uri":"string"}):
   getContentCount({"source":"string","type":"string","target":"string"}): {"count":"int"}
   getContentList({"source":"string","stIdx":"int","cnt":"int","type":"string","target":"string"}): {"uri":"string","title":"string","index":"int","dispNum":"string","originalDispNum":"string","tripletStr":"string","programNum":"int","programMediaType":"string","startDateTime":"string","durationSec":"int","channelName":"string","isProtected":"bool","directRemoteNum":"int","isAlreadyPlayed":"bool"}*
   getCurrentExternalInputsStatus(): {"title":"string","uri":"string","connection":"bool","label":"string","icon":"string"}*
   getParentalRatingSettings(): {"ratingCountry":"string","ratingTypeAge":"integer","ratingTypeSony":"string","ratingCustomTypeTV":["string*"],"ratingCustomTypeMpaa":"string","ratingCustomTypeCaEnglish":"string","ratingCustomTypeCaFrench":"string","unratedLock":"bool"}
   getPlayingContentInfo(): {"uri":"string","source":"string","title":"string","dispNum":"string","originalDispNum":"string","tripletStr":"string","programNum":"int","programTitle":"string","startDateTime":"string","durationSec":"int","playSpeed":"string","bivl_serviceId":"string","bivl_assetId":"string","bivl_provider":"string","mediaType":"string"}
   getPlayingContentInfo2(): {"uri":"string","source":"string","title":"string","dispNum":"string","originalDispNum":"string","tripletStr":"string","programNum":"int","programTitle":"string","startDateTime":"string","durationSec":"int","playSpeed":"string","bivl_serviceId":"string","bivl_assetId":"string","bivl_provider":"string","mediaType":"string"}
   getSchemeList(): {"scheme":"string"}*
   getSourceList({"scheme":"string"}): {"source":"string"}*
   getSourceList2({"scheme":"string"}): {"source":"string"}*
   setDeleteProtection({"uri":"string","isProtected":"bool"}):
   setFavoriteContentList({"favSource":"string","contents":"string-array"}):
   setPlayContent({"uri":"string"}):
   setPlayTvContent({"channel":"string"}):
   setTvContentVisibility({"uri":"string","epgVisibility":"string","channelSurfingVisibility":"string","visibility":"string"}*):

Service: http://192.168.178.62/sony/browser
   actBrowserControl({"control":"string"}): int
   getBrowserBookmarkList(): {"title":"string","url":"string"}*
   getTextUrl(): {"url":"string","title":"string","type":"string","favicon":"string"}
   setTextUrl({"url":"string","title":"string","type":"string","favicon":"string"}): int

Service: http://192.168.178.62/sony/cec
   setCecControlMode({"enabled":"bool"}):
   setMhlAutoInputChangeMode({"enabled":"bool"}):
   setMhlPowerFeedMode({"enabled":"bool"}):
   setPowerSyncMode({"sinkPowerOffSync":"bool","sourcePowerOnSync":"bool"}):

Service: http://192.168.178.62/sony/encryption
   getPublicKey(): {"publicKey":"string"}

Service: http://192.168.178.62/sony/guide
   getServiceProtocols(): string,string*

Service: http://192.168.178.62/sony/notification
   requestToNotifySystemInformation({"region":"string","language":"string"}): {"region":"string","language":"string"}

Service: http://192.168.178.62/sony/recording
   addSchedule({"type":"string","uri":"string","title":"string","startDateTime":"string","durationSec":"int","repeatType":"string","quality":"string"}): {"annotation":"int"}
   deleteSchedule({"id":"string","type":"string","uri":"string","title":"string","startDateTime":"string","durationSec":"int"}):
   getConflictScheduleList({"uri":"string","title":"string","startDateTime":"string","durationSec":"int","repeatType":"string"}): {"id":"string","title":"string","type":"string","uri":"string","startDateTime":"string","durationSec":"int","repeatType":"string"}*
   getHistoryList({"stIdx":"int","cnt":"int"}): {"id":"string","title":"string","channelName":"string","startDateTime":"string","durationSec":"int","reasonId":"int","reasonMsg":"string"}*
   getRecordingStatus(): {"status":"string"}
   getScheduleList({"stIdx":"int","cnt":"int"}): {"id":"string","type":"string","uri":"string","title":"string","channelName":"string","startDateTime":"string","durationSec":"int","repeatType":"string","overlapStatus":"string","recordingStatus":"string","quality":"string"}*
   getSupportedRepeatType(): string*

Service: http://192.168.178.62/sony/system
   getColorKeysLayout(): {"colorKeysLayout":"string"}
   getCurrentTime(): {"dateTime":"string","timeZoneOffsetMinute":"int","dstOffsetMinute":"int"}
   getDateTimeFormat(): {"dateFormat":"string","timeFormat":"string"}
   getInterfaceInformation(): {"productCategory":"string","productName":"string","modelName":"string","serverName":"string","interfaceVersion":"string"}
   getNetworkSettings({"netif":"string"}): {"netif":"string","hwAddr":"string","ipAddrV4":"string","ipAddrV6":"string","netmask":"string","gateway":"string","dns":["string*"]}*
   getPostalCode(): {"postalCode":"string"}
   getPowerSavingMode(): {"mode":"string"}
   getPowerStatus(): {"status":"string"}
   getRemoteControllerInfo(): {"bundled":"bool","type":"string"},{"name":"string","value":"string"}*
   getSystemInformation(): {"product":"string","region":"string","language":"string","model":"string","serial":"string","macAddr":"string","name":"string","generation":"string","area":"string","cid":"string"}
   getSystemSupportedFunction(): {"option":"string","value":"string"}*
   getWolMode(): {"enabled":"bool"}
   requestReboot():
   requestToNotifyDeviceStatus({"internetTVLinkage":{"playingInternetTV":"bool","showingKeyControlableGui":"bool"}}): {"internetTVLinkage":{"playingInternetTV":"bool","showingKeyControlableGui":"bool"}}
   setCurrentTime({"dateTime":"string","timeZoneOffsetMinute":"int","dstOffsetMinute":"int"}):
   setLEDIndicatorStatus({"mode":"string","status":"bool"}):
   setLanguage({"language":"string"}):
   setPostalCode({"postalCode":"string"}):
   setPowerSavingMode({"mode":"string"}):
   setPowerStatus({"status":"bool"}):
   setWolMode({"enabled":"bool"}):

Service: http://192.168.178.62/sony/videoScreen
   getAudioSourceScreen(): {"screen":"string"}
   getMultiScreenMode(): {"mode":"string","option":{"internetTVMode":"bool"}}
   getPipSubScreenPosition(): {"position":"string"}
   getSceneSetting(): {"currentValue":"string","candidate":{"value":"string"}*}
   requestToNotifyScreenState({"multiScreenMode":"string","option":{"internetTVMode":"bool"},"pipSubScreenPosition":"string","audioSourceScreen":"string"}): {"multiScreenMode":"string","option":{"internetTVMode":"bool"},"pipSubScreenPosition":"string","audioSourceScreen":"string"}
   setAudioSourceScreen({"screen":"string"}):
   setMultiScreenMode({"mode":"string","option":{"internetTVMode":"bool"}}):
   setPapScreenSize({"screen":"string","size":"string"}):
   setPipSubScreenPosition({"position":"string"}):
   setSceneSetting({"value":"string"}):

johfeu,

A very interesting one (not sure why you have a getSourceList2) - you can also try out the Rickecho version which adds support for that “browser” section. What I’d like is for you to add the 5 browser channels - go to the TV and startup the browser and browse to some URL - does the browser channels change to reflect the browser URL (may take up to 15 seconds for the channels to update - but give it time). Likewise, if you change the browser text url channel to something - does the browser on the TV change? Additionally - do you use the TVs recording mode (relates to the recording section)?

Thanks,
Tim

Well, it’s odd that this TV is not being discovered at all – not Simple IP or Scalar Web. I’ve got the latest firmware (released about 2 weeks ago). I can’t find the menu option to enable remote control like there is on my X900E.

It’s a brand new model (released in the U.S. in mid-July). I have a question in to Sony support. We’ll see what that yields.

Try the sony sideview app and see if it finds it…

Good idea. The app sees the X900E, but not the X720E.

I know I have connectivity to the TV. There must be a setting I can’t find, or there’s no support in the firmware (yet).

Yes - if the sideview doesn’t see it, doubtful the binding will see it either. I know (as you probably do) that they buried the settings on the 900E - might need to do an exhaustive search to find them on the 720E. You may also want to see if there is a latest firmware on the support site and manually install it (my older 49x830c stopped getting automated firmware for some reason and I had to manually update it)

Yep, that’s what I figured.

You’re right about the X900E. It took me a while to find those settings, so I’ll look again on the X720E (for the 4th or 5th time). I found the renderer settings, and those appear to be set correctly according to the sideview instructions. The firmware I have is dated July 18 (two weeks ago), so I doubt there’s anything newer at this time.

Maybe one day Sony will respond to my support request. I tried to explain the issue as best I could in the 450 characters they gave me. I’m sure they’ll come back to me with a unhelpful response… :laughing:

Edit: Confirmed 4.421 is the latest firmware. :frowning_face: