Sony Devices Binding for OH3

see this post for start
https://community.openhab.org/t/transformation/138085

Hello
Now i have a problem the map file shows Home=AAAAAQAAAAEAAABgAw%3D%3D. and the iirc channel doesnt work.

Now if i stop openhab and clear the cache everything works again for a day or two after that it failes again with no logs i did not enable extended logs …

Any ideea ?

Also by pulling the data from the tv at :18863/sony/webapi/ssdp/dd.xml i get only

<av:X_IRCC_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
<av:X_IRCC_Version>1.0</av:X_IRCC_Version>
<av:X_IRCC_CategoryList>
<av:X_IRCC_Category>
<av:X_CategoryInfo>AAEAAAAB</av:X_CategoryInfo>
</av:X_IRCC_Category>
<av:X_IRCC_Category>
<av:X_CategoryInfo>AAIAAACk</av:X_CategoryInfo>
</av:X_IRCC_Category>
<av:X_IRCC_Category>
<av:X_CategoryInfo>AAIAAACX</av:X_CategoryInfo>
</av:X_IRCC_Category>
<av:X_IRCC_Category>
<av:X_CategoryInfo>AAIAAAB3</av:X_CategoryInfo>
</av:X_IRCC_Category>
<av:X_IRCC_Category>
<av:X_CategoryInfo>AAIAAAAa</av:X_CategoryInfo>
</av:X_IRCC_Category>
</av:X_IRCC_CategoryList>
</av:X_IRCC_DeviceInfo>
<av:X_IRCCCodeList xmlns:av="urn:schemas-sony-com:av">
<av:X_IRCCCode command="Power">AAAAAQAAAAEAAAAVAw==</av:X_IRCCCode>
</av:X_IRCCCodeList>
</device>
</root>

Some questions to support the analysis:

  • How is the ircc command being issued? Within a rule or UI element?
  • Does the non-mapped command work?
  • When the ircc command doesn’t work, what does the console commandbundle:list | grep Map provide as output?

rule dsl

what do you mean about that ? like using other buttons ? i never used that only rule to trigger the home or ok button press

all are active 240 │ Active │ 80 │ 3.2.0.202112181218 │ openHAB Add-ons :: Bundles :: Transformation Service :: Map

i guess all this information doesnt help that much do you have an ideea what and how should i log in order to get more useful information to debug this ?

thanks

With non-mapped command I meant to send the code AAAAAQ... instead of the mapped command Home.

I’m trying to explore if the issue is related to the mapping or to the ircc command

For setting-up a separate info/debug log file for the Sony binding please follow the instructions provided in my initial post in Sony Binding - Add-on Marketplace / Bundles - openHAB Community. Once available, I can have a look into the logs to get some hints of the issue’s root cause.

It might also help to set-up a simple UI cell from which you could send IRCC commans to the TV. E.g. this is my cell definition for sending the Options command;

component: oh-label-cell
config:
  action: command
  actionCommand: Options
  actionItem: BRAVIAKDL50W656A_IRCCCommand
  expandable: false
  item: BRAVIAKDL50W656A_IRCCCommand
  stateAsHeader: true
  title: IRCC Command

sorry for the late reply now i cannot send ircc commands anymore but in the separate sony.log file i cannot find anything strange just this two lines when i send a command

[INFO ] [g.sony.internal.AbstractThingHandler] - Thing initialization is called, trying to connect...
[INFO ] [g.sony.internal.AbstractThingHandler] - Starting state polling every 30 seconds 

and then in the logs i see

[INFO ] [openhab.event.ItemCommandEvent      ] - Item 'MediaruimteTV_IRCCCommand' received command AAAAAQAAAAEAAABgAw==                                                                
 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'MediaruimteTV_IRCCCommand' predicted to become AAAAAQAAAAEAAABgAw== 

but nothing happens on the screen

this is driving me crazy could this be related to an cec hdmi device that also has the ability to control the buttons ?

update remove the hdmi cec cable from the television company box and the internet dropped hmm… then tried to connect to youtube nothing so i started pinging the tv and now i have dropped packages. The tv is connected with an ethenet cable.
So what i did i disconnect the cable and connect via wifi and the dropped packages go away but still cannot send ircc commands so i did a clear cache of openhab and everyrhing is working like normal.
I will keep posting because is driving me crazy.

Thank you for pointing in the direction of Android Debug Bridge. It worked like a charm!

For anyone it may concern: After installing the binding, I had to manually add my Android TV device by its IP. Current app status appears in the following channel:

String SonyTVApp "Current App" { channel="androiddebugbridge:android:sony:current-package"}

First of all, thanks a lot for the great binding.
My binding and things works well, both IRCC and Scale things can function good, but when I check into the log, I found that my IRCC things is getting OFFline then Online every 30s, anyone have any idea?
Thanks in advance.

Patrick

Your observation might be related to the retry process, whch tries to detect if a Sony device has been switched on outside OH.

For further analysis it would be great if you could provide the following information:

  • Source/version of the binding. Please note that only the marketplace versions will be supported.
  • Configuration (including value of discovery.sony-ircc:background)
  • Log output

@andan Thanks for the work you do to keep this binding alive!!

Now that 3.4 is released, and openHAB development has moved to 4.0, were you planning to do a 4.0.0 build of the binding?

I intend to keep maintaining the binding for future OH releases as long as there is any interest (includung mine :wink: )

I’m also thinking to create a PR for getting this binding merged into the official addons repo,
However, I’m a bit reluctant to do this without support or at least the go from the original developer who seems to have left the OH community. The code is quite complex and contains some ‘ideosyncratic’ type solutions which would have the potential to make the PR review process quite time consuming for both the reviewer and the requestor.

1 Like

I’m interested, too. :wink:

I looked at the code a while back, and I agree with your reluctance to submit a PR for all the reasons you mention. It could be very gnarly to get through the review process. And I’m not sure that effort will yield much additional value, compared with the far less effort to keep the binding available in the marketplace.

The build for 4.0 looks pretty straightforward - POM change, copyright notice change, and a few SAT errors. I’m running it in 4.0 now, but I just did -DskipChecks=true to get past the SAT errors. :wink:

I’m also still interested in your binding Andreas. And always available in case you need someone for testing :wink:

Thank you for the awesome Sony binding! I’m currently using the Scalar API in the Sony Devices Binding to control the Power Saving Mode on a Sony A80J TV and it’s been working great!

I’m now trying to use the Scalar API to control the Audio Output option on the Sony A80J TV. The exact API I’m trying to use is documented here on Sony’s website.

I’m trying to switch between using “Speaker” or “audioSystem” on the A80J, which according to the API should be possible. I can switch between these options using the menu on the TV without any issues but I’m having trouble getting this to work with the binding.

Under the Thing for my A80J, I’m using the Sound Setting output Terminal () Channel linked to a Switch Item, but the TV does not seem to recognize the command. Looking at the API, I was thinking the Item might need to be a String instead of a Switch but that didn’t seem to work either (unless I don’t have the syntax right.)

Any ideas why the TV isn’t recognizing the command or anything else I can try? Thank you!

My ideas what you could try to solve/analyse the issue are

  • Link sound setting channel to string item and send either command speaker or audioSystem from the item
  • Use built-in Sony REST API support (see doc), select setSoundSetting service, and execute it with parameters {"target":"outputTerminal","value":"audioSystem"}
  • Generate debug log output

If you send me the respective results/outcome I could try to analyse the issue from my end.

Hi @andan, thanks for the help! I tried linking the sound setting channel to a string item but still couldn’t my TV to recognize the command. And unfortunately, when I tried to access the API via browser, all that displayed was a blank page (I’m wondering if something changed recently with accessing the API via browser).

However, you gave me an idea to try accessing the API using an API testing tool. I ended up using Postman and discovered there’s a way to pull all the supported API commands for my TV using the below.

{"method":"getMethodTypes","params":[""],"id":1,"version":"1.0"}

When running the above in Postman, the results don’t list the setSoundSettings API. The setPowerSavingMode was listed and that is working correctly so I believe since setSoundSettings isn’t listed, my TV doesn’t support it.

I did some more tinkering and discovered there is a way to control the Audio Output using IRCC. Using the below in Postman I found the IRCC code for AudioOutput_Toggle.

{"method":"getRemoteControllerInfo","params":[""],"id":1,"version":"1.0"}

With the above discovery, I created an IRCC Thing for my TV linked to an IRCC Command and accomplished what I need with some rules. The IRCC method is working great so I should be all set!

TLDR :smile: I couldn’t get my TV to recognize the Scalar API to control the Audio Output. Instead of using Scalar, I was able to use IRCC.

Great to hear that you have found a working solution using the IRCC service.

Just for my understanding: Does the getMethodTypes request return the getSoundSettings method?

The background is that in general the binding checks the existence of available services via a getMethodTypes request and dynamically creates the channels accordingly. However, for the soundSetting channel, the check is limited to the getSoundSettings method. In that case, the soundSetting channel should still work as a read only channel.

Can you confirm this expected behaviour?

My Sony devices have no sound settings methods so I cannot check it from my end.

Thanks.

Out of curiosity, is it possible to control an Android TV based Sony TV using the Google TV app? Im working on a binding to incorporate Google TV and im curious if the Sony TVs may be a candidate for use. Thanks!