Sony Devices Binding

Than you. Now it works. But the IRCC Commands not. I have installed the MAP Transform addin but nothing. Have you any idea?

cheers mate!

Same Problem:

2019-03-03 17:44:08.833 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/C:/Users/Baumi/Desktop/openhab-2.5.0.M1/addons/org.openhab.binding.sony-2.5.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.sony [198]
Unresolved requirement: Import-Package: org.eclipse.jdt.annotation; resolution:=“optional”
Unresolved requirement: Import-Package: org.eclipse.smarthome.config.discovery.upnp

Win10 / OH 2.5.0.M1

@Dragonfly
See response a few replys up - you’ll see th answer.

@anon92890676

If you would, do the following

  1. Stop openhab
  2. Delete the map file in transform directory
  3. Start openhab - should recreate the map file
  4. Open the map file, find the ‘Left’ command and post it
  5. Then send ‘Left’ to the ircc command channel
  6. Open the log, find where ‘Left’ is being sent and post the lines from that point to the corresponding HTTP command/response

If it works - don’t bother posting the above beyond a ‘it works’ type of response


@tmrobert8 I’m somehow missing audio controls in scalar. Also, before changing the state to Online i get an error “Storage doesn’t exist.” I have a Bravia KD-55XE8096

P.S.
I noticed that if I manually add scalar thing (via .things file) it doesn’t find any audio controls


@suntribe
First - storage doesn’t exist is fine. Likely your TV is reporting a storage service but the service isn’t responding because the TV actually doesn’t have storage (likely) or its a service only accessible through a different interface (which I’ll be integrating later on). Either way shouldn’t be an issue.

As for the audio - we’ll isn’t that a pain. I just stumbled on the exact issue as well by pure accident. Try this - shutdown openhab, turn on the tv and startup openhab (or turn on the tv and restart the binding if you know how to do that). I’m betting the audio channels appear now. Seems like the audio service will only respond when the device is on - in which case I can’t seem to get the audio channels defined at startup. I think this might be tied to the sonyaudio way of doing things (ie though a websocket) - I’ll need to think on this for a bit if you confirm that they appear now

@tmrobert8 I’ll try to restart the binding while the tv is on
 but odd thing is that autodiscovered scalar thing normally reports audio channels while the tv is off :slight_smile:

P.S.
image

You were right
 after i turned on the tv and restarted the binding
 audio channels are here


argh - it appears that a change by sony, sometime since I wrote the first version, has made it that some of the services will only respond when the device is on. That creates an issue for some of the services since I need information from the service to dynamically create the channels for the device. Current example is audio - I need to contact the device audio service to find out what audio channels are available (headphone, speaker, etc). If the device isn’t on, the audio service doesn’t respond and I can’t setup those channels.

That creates the problem that if you restart openhab and the device isn’t on - those channels will suddenly disappear even though they are valid once the device is on.

The ONLY way I can think to get around this is to go the zwave route and start creating thing definitions with specific channel setups for all the various devices (using the generic one as a default device when we don’t have a specific definition). I really didn’t want to do that because, like zwave, there is a ton of devices the binding supports and I don’t have the time to manage creating every little device.

The generic scalar device would still be the default if no specific device setup was found (and it will continue with it’s dynamic creation).

So here’s what I was thinking about doing. We’ll create device definitions from this beta group as well as we can (I’ll try to publish [later on]what you’ll need to give me to have it included). I’ll furthermore create a special xml registry that you can define/load your own definitions as well from some local files (this will allow new models to be defined without really having to change the binding each time).

Here’s an example:

    <thing-type id="scalar-XBR-xX830c">
        <label>Sony XBR-X830C</label>
        <description>Sony Bravia XBR-X830C TV</description>

        <channels>
            ... the various channel definitions specific to the 830C
        </channels>
        <config-description-ref uri="thing-type:sony:scalarconfig" />
    </thing-type>

Note that I’m using the lower case “x” as a wildcard since TVs generally have some model format where the screen size is part of it (and usually screen size doesn’t matter from a channel perspective).

What do you all think?

Thank you

My scaler-
 File
Left=Left
CursorLeft=CursorLeft
My ircc-
 File
CursorLeft=ircc:AAAAAgAAAJcAAABNAw%3D%3D
Left=ircc:AAAAAQAAAAEAAAA0Aw%3D%3D

I have test to send with ircc::, without and with the Name. I get this result in my “/var/log/openhab2/events.log”

2019-03-04 18:12:00.774 [ome.event.ItemCommandEvent] - Item 'sony_ircc_xxxxxxxxxxxx_primary_command' received command Left
2019-03-04 18:12:00.776 [nt.ItemStatePredictedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command predicted to become Left
2019-03-04 18:12:00.778 [vent.ItemStateChangedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command changed from AAAAAQAAAAEAAAA0Aw%3D%3D to Left
2019-03-04 18:12:04.395 [ome.event.ItemCommandEvent] - Item 'sony_ircc_xxxxxxxxxxxx_primary_command' received command L1
2019-03-04 18:12:04.397 [nt.ItemStatePredictedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command predicted to become L1
2019-03-04 18:12:04.398 [vent.ItemStateChangedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command changed from Left to L1
2019-03-04 18:12:07.432 [ome.event.ItemCommandEvent] - Item 'sony_ircc_xxxxxxxxxxxx_primary_command' received command L2
2019-03-04 18:12:07.435 [nt.ItemStatePredictedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command predicted to become L2
2019-03-04 18:12:07.436 [vent.ItemStateChangedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command changed from L1 to L2
2019-03-04 18:12:09.788 [ome.event.ItemCommandEvent] - Item 'sony_ircc_xxxxxxxxxxxx_primary_command' received command L3
2019-03-04 18:12:09.788 [nt.ItemStatePredictedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command predicted to become L3
2019-03-04 18:12:09.789 [vent.ItemStateChangedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command changed from L2 to L3
2019-03-04 18:12:11.344 [ome.event.ItemCommandEvent] - Item 'sony_ircc_xxxxxxxxxxxx_primary_command' received command L4
2019-03-04 18:12:11.346 [nt.ItemStatePredictedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command predicted to become L4
2019-03-04 18:12:11.349 [vent.ItemStateChangedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command changed from L3 to L4
2019-03-04 18:12:13.000 [ome.event.ItemCommandEvent] - Item 'sony_ircc_xxxxxxxxxxxx_primary_command' received command L5
2019-03-04 18:12:13.001 [nt.ItemStatePredictedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command predicted to become L5
2019-03-04 18:12:13.002 [vent.ItemStateChangedEvent] - sony_ircc_xxxxxxxxxxxx_primary_command changed from L4 to L5
2019-03-04 18:12:14.548 [ome.event.ItemCommandEvent] - Item 'sony_scalar_xxxxxxxxxxxx_system_sysCmd' received command Left
2019-03-04 18:12:14.549 [nt.ItemStatePredictedEvent] - sony_scalar_xxxxxxxxxxxx_system_sysCmd predicted to become NULL
2019-03-04 18:12:15.878 [ome.event.ItemCommandEvent] - Item 'sony_scalar_xxxxxxxxxxxx_system_sysCmd' received command L1
2019-03-04 18:12:15.880 [nt.ItemStatePredictedEvent] - sony_scalar_xxxxxxxxxxxx_system_sysCmd predicted to become NULL
2019-03-04 18:12:18.161 [ome.event.ItemCommandEvent] - Item 'sony_scalar_xxxxxxxxxxxx_system_sysCmd' received command L2
2019-03-04 18:12:18.163 [nt.ItemStatePredictedEvent] - sony_scalar_xxxxxxxxxxxx_system_sysCmd predicted to become NULL
2019-03-04 18:12:20.110 [ome.event.ItemCommandEvent] - Item 'sony_scalar_xxxxxxxxxxxx_system_sysCmd' received command L3
2019-03-04 18:12:20.115 [nt.ItemStatePredictedEvent] - sony_scalar_xxxxxxxxxxxx_system_sysCmd predicted to become NULL
2019-03-04 18:12:21.323 [ome.event.ItemCommandEvent] - Item 'sony_scalar_xxxxxxxxxxxx_system_sysCmd' received command L4
2019-03-04 18:12:21.325 [nt.ItemStatePredictedEvent] - sony_scalar_xxxxxxxxxxxx_system_sysCmd predicted to become NULL
2019-03-04 18:12:22.502 [ome.event.ItemCommandEvent] - Item 'sony_scalar_xxxxxxxxxxxx_system_sysCmd' received command L5
2019-03-04 18:12:22.505 [nt.ItemStatePredictedEvent] - sony_scalar_xxxxxxxxxxxx_system_sysCmd predicted to become NULL

@anon92890676 - event log doesn’t help in this case. You’ll need to turn debug on for org.openhab.binding.sony and look at the openHAB log - we need to see the command it’s sending. If you want to send the command directly - use “AAAAAgAAAJcAAABNAw==” (you don’t want the ‘ircc:’ part and translate the %3D to equal signs). But looking at this - you should be able to simply send ‘Left’ and it would work - but we need to see what’s happening in the openhab log


Thank you. For my test I have use this:
Left=Left,L1=CursorLeft,L3=AAAAAgAAAJcAAABNAw==,L5=AAAAAQAAAAEAAAA0Aw==

On openhab I used log:tail and get this. I hope log:tail is the right thing?

The first is for this command: sony_ircc_xxxxxxxxx_primary_command
18:53:37.736 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_ircc_xxxxxxxx_primary_command’ received command Left
18:53:37.738 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_ircc_xxxxxxxx_primary_command predicted to become Left
18:53:37.744 [ERROR] [nding.sony.internal.ircc.IrccProtocol] - Bad return code from X_SendIRCC: 403 (http reason: Forbidden)
18:53:40.632 [INFO ] [inding.sony.internal.dial.DialHandler] - Attempting connection to DIAL device

18:53:42.810 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_ircc_xxxxxxxx_primary_command’ received command L1
18:53:42.811 [WARN ] [orm.AbstractFileTransformationService] - Could not transform ‘L1’ with the file ‘ircc-xxxxxxxx.map’ : Target value not found in map for ‘L1’
18:53:42.813 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_ircc_xxxxxxxx_primary_command predicted to become L1
18:53:42.815 [INFO ] [smarthome.event.ItemStateChangedEvent] - sony_ircc_xxxxxxxx_primary_command changed from Left to L1
18:53:42.818 [ERROR] [nding.sony.internal.ircc.IrccProtocol] - Bad return code from X_SendIRCC: 403 (http reason: Forbidden)
18:53:44.786 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_ircc_xxxxxxxx_primary_command’ received command L3
18:53:44.788 [WARN ] [orm.AbstractFileTransformationService] - Could not transform ‘L3’ with the file ‘ircc-xxxxxxxx.map’ : Target value not found in map for ‘L3’
18:53:44.789 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_ircc_xxxxxxxx_primary_command predicted to become L3
18:53:44.792 [INFO ] [smarthome.event.ItemStateChangedEvent] - sony_ircc_xxxxxxxx_primary_command changed from L1 to L3
18:53:44.796 [ERROR] [nding.sony.internal.ircc.IrccProtocol] - Bad return code from X_SendIRCC: 403 (http reason: Forbidden)
18:53:47.041 [WARN ] [orm.AbstractFileTransformationService] - Could not transform ‘L5’ with the file ‘ircc-xxxxxxxx.map’ : Target value not found in map for ‘L5’
18:53:47.042 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_ircc_xxxxxxxx_primary_command’ received command L5
18:53:47.046 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_ircc_xxxxxxxx_primary_command predicted to become L5
18:53:47.047 [INFO ] [smarthome.event.ItemStateChangedEvent] - sony_ircc_xxxxxxxx_primary_command changed from L3 to L5
18:53:47.048 [ERROR] [nding.sony.internal.ircc.IrccProtocol] - Bad return code from X_SendIRCC: 403 (http reason: Forbidden)

The second was this: sony_scalar_5089bf24928c_system_sysCmd
18:53:53.882 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_scalar_xxxxxxxx_system_sysCmd’ received command L5
18:53:53.883 [WARN ] [orm.AbstractFileTransformationService] - Could not transform ‘L5’ with the file ‘scalar-xxxxxxxx.map’ : Target value not found in map for ‘L5’
18:53:53.884 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_scalar_xxxxxxxx_system_sysCmd predicted to become NULL
18:53:55.302 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_scalar_xxxxxxxx_system_sysCmd’ received command L3
18:53:55.302 [WARN ] [orm.AbstractFileTransformationService] - Could not transform ‘L3’ with the file ‘scalar-xxxxxxxx.map’ : Target value not found in map for ‘L3’
18:53:55.303 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_scalar_xxxxxxxx_system_sysCmd predicted to become NULL
18:53:56.478 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_scalar_xxxxxxxx_system_sysCmd’ received command L1
18:53:56.479 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_scalar_xxxxxxxx_system_sysCmd predicted to become NULL
18:53:56.479 [WARN ] [orm.AbstractFileTransformationService] - Could not transform ‘L1’ with the file ‘scalar-xxxxxxxx.map’ : Target value not found in map for ‘L1’
18:53:57.677 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_scalar_xxxxxxxx_system_sysCmd’ received command Left
18:53:57.680 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_scalar_xxxxxxxx_system_sysCmd predicted to become NULL
18:54:00.508 [INFO ] [y.internal.scalarweb.ScalarWebHandler] - Status: OFFLINE
18:54:00.668 [INFO ] [inding.sony.internal.dial.DialHandler] - Attempting connection to DIAL device

18:54:10.689 [INFO ] [inding.sony.internal.dial.DialHandler] - Attempting connection to DIAL device

18:54:20.707 [INFO ] [inding.sony.internal.dial.DialHandler] - Attempting connection to DIAL device


@anon92890676

A couple of miscommunications here.

  1. Do NOT modify the .map file. The one generated is correct
  2. When I said you can use just “Left” - I meant you can send “Left” to the IRCCCommand channel - it would look up Left in the map file and do the command there (in which case the ircc: and %3d are correct). You could send “AAAAAgAAAJcAAABNAw==” to the IRCCCommand channel directly if you wanted to avoid the .map file (and only in this case do you drop the stuff the map file needed).

Regardless - this won’t work for you as is. As I noted in the release notes above - the IRCC service largely doesn’t work anymore because there is no way to pair to it (which is why you are getting 403s [authorization errors]). The ONLY way to get it to work is by preshared codes - on your TV you’ll need to enable a pre-shared code, enter the code in the TV, then go into the IRCC service config (in paperui) and specify that same code. The ONLY channel that will work is the IRCCCommand channel in that case.

Does paperui discover the scalar service instead? You should ALWAYS use this service if it comes up as it has everything that simpleip/dial/ircc has in it and will pair properly. You’ll get a map file and an IRCCCommand channel with scalar as well.

Thank you.

I don’t have modifiy the .map file.

Yes. I used in the second test (see my post before) the scalar. I have tested for Left with this one: sony_scalar_5089bf24928c_system_sysCmd and her I get
19:28:14.463 [INFO ] [inding.sony.internal.dial.DialHandler] - Attempting connection to DIAL device

19:28:19.669 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘sony_scalar_5089bf24928c_system_sysCmd’ received command Left
19:28:19.672 [INFO ] [arthome.event.ItemStatePredictedEvent] - sony_scalar_5089bf24928c_system_sysCmd predicted to become NULL
19:28:24.484 [INFO ] [inding.sony.internal.dial.DialHandler] - Attempting connection to DIAL device


scalar is also not working?

Now I have defined a access Code and have remove the binding to reinstall. The result:

scalar:
19:42:12.583 [INFO ] [smarthome.event.ThingUpdatedEvent ] - Thing ‘sony:scalar:5089bf24928c’ has been updated.
19:42:12.598 [INFO ] [y.internal.scalarweb.ScalarWebHandler] - Attempting connection to Scalar Web device

19:42:13.494 [INFO ] [rweb.protocols.ScalarWebLoginProtocol] - Command map already defined - ignoring: /etc/openhab2/transform/scalar-5089bf24928c.map
19:42:17.149 [ERROR] [.protocols.ScalarWebAvContentProtocol] - Exception occurred retrieving the content list for scheme ‘fav’ and source ‘fav:tv?id=1’: Illegal Argument
java.io.IOException: Illegal Argument
at org.openhab.binding.sony.internal.net.HttpResponse.createException(HttpResponse.java:176) ~[?:?]
at org.openhab.binding.sony.internal.scalarweb.protocols.AbstractScalarWebProtocol.execute(AbstractScalarWebProtocol.java:108) ~[?:?]
at org.openhab.binding.sony.internal.scalarweb.protocols.ScalarWebAvContentProtocol.getChannelDescriptors(ScalarWebAvContentProtocol.java:225) ~[?:?]
at org.openhab.binding.sony.internal.scalarweb.protocols.ScalarWebProtocolFactory.getChannelDescriptors(ScalarWebProtocolFactory.java:138) ~[?:?]
at org.openhab.binding.sony.internal.scalarweb.ScalarWebHandler.initializeTask(ScalarWebHandler.java:201) ~[?:?]
at org.openhab.binding.sony.internal.scalarweb.ScalarWebHandler.lambda$0(ScalarWebHandler.java:162) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
19:42:17.226 [ERROR] [.protocols.ScalarWebAvContentProtocol] - Exception occurred retrieving the content list for scheme ‘fav’ and source ‘fav:tv?id=2’: Illegal Argument
java.io.IOException: Illegal Argument

The ircc:
Works :slight_smile:

@anon92890676
Interesting stack trace - I need you to turn on debug (“log:set debug org.openhab.binding.sony” in the openhab console). Restart openhab and find this issue again in the log. Prior to that statement, there should be an HTTP request and an HTTP response that I’m going to need to see


Thank you for answer.

I have found that I lost my access Code in ircc after restart openhab. But this is a second problem.

For your question:
I have tail the log:tail org.openhab.binding.sony and get this

18:19:30.771 [DEBUG] [binding.sony.internal.net.HttpRequest] - 91 * Sending client request on thread safeCall-2
91 > POST http://192.168.1.110/sony/appControl
91 > Accept: application/json
91 > Content-Type: application/json
{“id”:8,“method”:“setActiveApp”,“version”:“1.0”,“params”:[{“uri”:“com.sony.dtv.com.android.vending.com.google.android.finsky.tvmainactivity.TvMainActivity”}]}

18:19:30.890 [DEBUG] [binding.sony.internal.net.HttpRequest] - 91 * Client response received on thread safeCall-2
91 < 200
91 < Connection: keep-alive
91 < Content-Length: 20
91 < Content-Type: application/json
{“result”:[],“id”:8}

18:19:30.891 [DEBUG] [eb.models.ScalarWebResultDeserializer] - >>> deserializing: result
18:19:30.892 [DEBUG] [eb.models.ScalarWebResultDeserializer] - >>> deserializing: error
18:19:30.893 [DEBUG] [rnal.scalarweb.models.ScalarWebResult] - >>> result: 8, [], []
18:19:42.460 [DEBUG] [binding.sony.internal.net.HttpRequest] - 92 * Sending client request on thread safeCall-10
92 > POST http://192.168.1.110/sony/system
92 > Accept: application/json
92 > Content-Type: application/json
{“id”:19,“method”:“setPowerStatus”,“version”:“1.0”,“params”:[{“status”:false}]}

18:19:42.563 [DEBUG] [binding.sony.internal.net.HttpRequest] - 92 * Client response received on thread safeCall-10
92 < 200
92 < Connection: keep-alive
92 < Content-Length: 21
92 < Content-Type: application/json
{“result”:[],“id”:19}

18:19:42.566 [DEBUG] [eb.models.ScalarWebResultDeserializer] - >>> deserializing: result
18:19:42.568 [DEBUG] [eb.models.ScalarWebResultDeserializer] - >>> deserializing: error
18:19:42.569 [DEBUG] [rnal.scalarweb.models.ScalarWebResult] - >>> result: 19, [], []
18:19:43.600 [DEBUG] [al.discovery.IrccDiscoveryParticipant] - Could not find the IRCC service for device: org.jupnp.model.meta.DeviceDetails@56093734
18:19:48.869 [INFO ] [y.internal.scalarweb.ScalarWebHandler] - Status: OFFLINE
18:19:48.872 [DEBUG] [ng.sony.internal.AbstractThingHandler] - Checking connectivity to 192.168.1.110:62388 - successful

When I poweron, it works. After this, I have in scalar thing in “access code” set the permanent security code. After this the thing is online, but When I send a command “Left” with the " sony_scalar_5089bf24928c_system_sysCmd" I get a very big stack trace

18:27:58.601 [DEBUG] [web.protocols.ScalarWebSystemProtocol] - Transformed Left with map file ‘scalar-5089bf24928c.map’ to Left
18:27:58.605 [DEBUG] [binding.sony.internal.net.HttpRequest] - 77 * Sending client request on thread safeCall-15
77 > POST http://192.168.1.110/sony/ircc
77 > Accept: text/xml;charset=utf-8
77 > Content-Type: text/xml;charset=utf-8
77 > SOAPACTION: “urn:schemas-sony-com:service:IRCC:1#X_SendIRCC”

<?xml version="1.0"?>

<s:Envelope xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/” s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
<s:Body>
<u:X_SendIRCC xmlns:u=“urn:schemas-sony-com:service:IRCC:1”>
Left
</u:X_SendIRCC>
</s:Body>
</s:Envelope>

18:27:58.891 [DEBUG] [binding.sony.internal.net.HttpRequest] - 77 * Client response received on thread safeCall-15
77 < 500
77 < Connection: keep-alive
77 < Content-Type: text/xml; charset=“utf-8”
77 < Date: Di., 05 MÀrz 2019 18:27:56 MEZ
77 < Ext:
77 < Server: Android/8.0.0 UPnP/1.0 IRCC/1.0
77 < Transfer-Encoding: chunked

<?xml version="1.0"?>

<s:Envelope
xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/”
s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
<s:Body>
<s:Fault>
s:Client
UPnPError


800
Cannot accept the IRCC Code


</s:Fault>
</s:Body>
</s:Envelope>

18:27:58.895 [DEBUG] [rnal.scalarweb.models.ScalarWebResult] - >>> result: -1, null, [500,"<?xml version=\"1.0\"?>\n<s:Envelope\n xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/”\n s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>\n <s:Body>\n <s:Fault>\n s:Client\n UPnPError\n \n <UPnPError xmlns=“urn:schemas-upnp-org:control-1-0”>\n 800\n Cannot accept the IRCC Code\n \n \n </s:Fault>\n </s:Body>\n</s:Envelope>"]
18:27:58.897 [DEBUG] [b.protocols.AbstractScalarWebProtocol] - Communication error for IRCC method on service system (http://192.168.1.110/sony/ircc): <?xml version="1.0"?>
<s:Envelope
xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/”
s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
<s:Body>
<s:Fault>
s:Client
UPnPError


800
Cannot accept the IRCC Code


</s:Fault>
</s:Body>
</s:Envelope>
java.io.IOException: <?xml version="1.0"?>
<s:Envelope
xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/”
s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
<s:Body>
<s:Fault>
s:Client
UPnPError


800
Cannot accept the IRCC Code


</s:Fault>
</s:Body>
</s:Envelope>
at org.openhab.binding.sony.internal.net.HttpResponse.createException(HttpResponse.java:176) ~[246:org.openhab.binding.sony:2.5.0.201903031429]
at org.openhab.binding.sony.internal.scalarweb.protocols.AbstractScalarWebProtocol.handleExecuteXml(AbstractScalarWebProtocol.java:190) [246:org.openhab.binding.sony:2.5.0.201903031429]
at org.openhab.binding.sony.internal.scalarweb.protocols.ScalarWebSystemProtocol.sendCommand(ScalarWebSystemProtocol.java:571) [246:org.openhab.binding.sony:2.5.0.201903031429]
at org.openhab.binding.sony.internal.scalarweb.protocols.ScalarWebSystemProtocol.setChannel(ScalarWebSystemProtocol.java:438) [246:org.openhab.binding.sony:2.5.0.201903031429]
at org.openhab.binding.sony.internal.scalarweb.ScalarWebHandler.handleCommand(ScalarWebHandler.java:154) [246:org.openhab.binding.sony:2.5.0.201903031429]
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.11.0.oh250M1]
at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [102:org.eclipse.smarthome.core:0.11.0.oh250M1]
at com.sun.proxy.$Proxy133.handleCommand(Unknown Source) [246:org.openhab.binding.sony:2.5.0.201903031429]
at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [109:org.eclipse.smarthome.core.thing:0.11.0.oh250M1]
at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [109:org.eclipse.smarthome.core.thing:0.11.0.oh250M1]
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.11.0.oh250M1]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.11.0.oh250M1]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]

Looks promising
 I was also thinking of maybe, instructing the used to turn the device on, before adding it to openhab, and then, taking whatever is found during online state, in a fallback dictionary or smth


It’s really crazy. When i send “power” with sony_scalar_5089bf24928c_system_sysCmd, my TV will go on/off. But Left or CursorLeft nothing happens. Only the stack trace from post before.

@anon92890676
Thanks - I’ve identified the two issues that will be fixed in the next version (one the map file isn’t correct and two the exception being thrown because of it). Next version will be available in a few days.

To ALL others - the .map file creation has a bug in it that I’ll be fixing - do the IRCC command will not work until the next version.