Binding Request: Sharp Aquos TV

Just tried the new binding.

  • Automaticly found my TV
  • All controls work instantly

The only odd thing is it discovered the TV twice.
Both show up as:
AQUOS LE755U
Sharp TV

but with different id numbers

Thanks!
Jason

Mine did this too - discovered twice. Weird but either way still worked fine so I am very happy.

Lewis

Glad to hear it is working better now. :+1:

I have some cleanup to do in the code. Then I may add some additional functionality that was supported in the original OH1 binding. Is there anything specific in the original binding that you would like to see added to the OH2 binding?

Ugh. My bad. I probably screwed this up when I decided to change the discovery process to match on SHARP or AQUOS.

@jspeckman or @Lewis Would one or both of you mind putting the binding in DEBUG mode, then stop/start the binding. The binding should then dump out the details of the uPnP discovery packet for the packet that matches on SHARP and the packet that matches on AQUOS. It would be great if you could post those log file entries. It would look something like this:

2017-05-11 16:04:49.573 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - DISCOVERED Sharp TV with the following details
2017-05-11 16:04:49.573 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.toString=(RemoteDeviceIdentity) UDN: uuid:f8b7a5c8-7917-11e5-80a3-242642edb3b3, Descriptor: http://192.168.10.60:61340/
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.displayDetails=Intel Corporation Intel DLNA DMR Intel-X1
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.embeddedDevices=[Lorg.jupnp.model.meta.RemoteDevice;@42e7c7d1
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.localAddress=/192.168.XX.XX
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.interfaceMacAddress=null
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.descriptorUrl=http://192.168.XX.XX:61340/
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.descriptorUrl=null
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.udn=f8b7a5c8-7917-11e5-80a3-242642edb3b3
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.574 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.root.services=[Lorg.jupnp.model.meta.RemoteService;@7d1ffcef
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.friendlyName=SHARP LC-43LE653U
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.serialNumber=0000001
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.secProductCaps=null
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.baseURL=null
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.dlnaCaps=null
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.dlnaDocs=[Lorg.jupnp.model.types.DLNADoc;@104c12dc
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.name=Intel DLNA DMR
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.description=Intel DLNA DMR Using Auto-Generated UPnP Stack
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.number=Intel-X1
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.uri=http://www.intel.com
2017-05-11 16:04:49.575 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.576 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.manufacturer.name=Intel Corporation
2017-05-11 16:04:49.576 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.manufacturer.uri=http://www.intel.com
2017-05-11 16:04:49.576 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-11 16:04:49.576 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - Discovered a Sharp TV with serial number '0000001'
2

Here you go:
2017-05-12 07:17:36.998 [DEBUG] [org.openhab.binding.sharptv ] - BundleEvent STARTING - org.openhab.binding.sharptv
2017-05-12 07:17:36.998 [DEBUG] [org.openhab.binding.sharptv ] - BundleEvent STARTED - org.openhab.binding.sharptv
2017-05-12 07:17:37.042 [INFO ] [arptv.internal.SharpTVHandlerFactory] - SharpTV binding v2.1.0.201705112004
2017-05-12 07:17:37.067 [DEBUG] [org.openhab.binding.sharptv ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=binding.sharptv, component.id=187, service.id=323, service.bundleid=213, service.scope=bundle} - org.openhab.binding.sharptv
2017-05-12 07:17:37.072 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - Discovered AQUOS LE755U at http://192.168.150.71:12346/ipc/
2017-05-12 07:17:37.073 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - DISCOVERED Sharp TV with the following details
2017-05-12 07:17:37.073 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.toString=(RemoteDeviceIdentity) UDN: uuid:e94ee5fe-0a78-11e1-b06a-34F62D49A2AD, Descriptor: http://192.168.150.71:12346/ipc/
2017-05-12 07:17:37.073 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.074 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.displayDetails=Sharp Corporation AQUOS
LC-60LE755U 1.0W
2017-05-12 07:17:37.074 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.embeddedDevices=[Lorg.jupnp.model.meta.RemoteDevice;@503ef3
2017-05-12 07:17:37.075 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.075 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.localAddress=/192.168.150.33
2017-05-12 07:17:37.075 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.interfaceMacAddress=null
2017-05-12 07:17:37.076 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.descriptorUrl=http://192.168.150.71:12346/ipc/
2017-05-12 07:17:37.078 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.descriptorUrl=null
2017-05-12 07:17:37.078 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.udn=e94ee5fe-0a78-11e1-b06a-34F62D49A2AD
2017-05-12 07:17:37.079 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.079 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.root.services=[Lorg.jupnp.model.meta.RemoteService;@1d76740
2017-05-12 07:17:37.079 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.080 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.friendlyName=AQUOS LE755U
2017-05-12 07:17:37.080 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.serialNumber=null
2017-05-12 07:17:37.081 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.secProductCaps=null
2017-05-12 07:17:37.081 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.baseURL=null
2017-05-12 07:17:37.081 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.dlnaCaps=null
2017-05-12 07:17:37.081 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.dlnaDocs=[Lorg.jupnp.model.types.DLNADoc;@c2f4d0
2017-05-12 07:17:37.082 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.082 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.name=AQUOS
LC-60LE755U
2017-05-12 07:17:37.082 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.description=null
2017-05-12 07:17:37.083 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.number=1.0W
2017-05-12 07:17:37.085 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.uri=http://www.sharp-world.com/
2017-05-12 07:17:37.087 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.088 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.manufacturer.name=Sharp Corporation
2017-05-12 07:17:37.089 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.manufacturer.uri=http://www.sharp-world.com/
2017-05-12 07:17:37.090 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.091 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - Discovered a Sharp TV with serial number 'null’
2017-05-12 07:17:37.102 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - Discovered AQUOS LE755U at http://192.168.150.71:12346/ipc/
2017-05-12 07:17:37.102 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - DISCOVERED Sharp TV with the following details
2017-05-12 07:17:37.103 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.toString=(RemoteDeviceIdentity) UDN: uuid:e94ee5fe-0a78-11e1-b06a-34F62D49A2AD, Descriptor: http://192.168.150.71:12346/ipc/
2017-05-12 07:17:37.104 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.105 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.displayDetails=Sharp Corporation AQUOS
LC-60LE755U 1.0W
2017-05-12 07:17:37.105 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.embeddedDevices=[Lorg.jupnp.model.meta.RemoteDevice;@50043a
2017-05-12 07:17:37.106 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.107 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.localAddress=/192.168.150.33
2017-05-12 07:17:37.107 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.interfaceMacAddress=null
2017-05-12 07:17:37.108 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.descriptorUrl=http://192.168.150.71:12346/ipc/
2017-05-12 07:17:37.108 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.descriptorUrl=null
2017-05-12 07:17:37.108 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.identity.udn=e94ee5fe-0a78-11e1-b06a-34F62D49A2AD
2017-05-12 07:17:37.108 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.109 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.root.services=[Lorg.jupnp.model.meta.RemoteService;@1d76740
2017-05-12 07:17:37.109 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.109 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.friendlyName=AQUOS LE755U
2017-05-12 07:17:37.110 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.serialNumber=null
2017-05-12 07:17:37.110 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.secProductCaps=null
2017-05-12 07:17:37.110 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.baseURL=null
2017-05-12 07:17:37.110 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.dlnaCaps=null
2017-05-12 07:17:37.111 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.dlnaDocs=[Lorg.jupnp.model.types.DLNADoc;@c2f4d0
2017-05-12 07:17:37.111 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.112 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.name=AQUOS
LC-60LE755U
2017-05-12 07:17:37.112 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.description=null
2017-05-12 07:17:37.112 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.number=1.0W
2017-05-12 07:17:37.112 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.model.uri=http://www.sharp-world.com/
2017-05-12 07:17:37.112 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.112 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.manufacturer.name=Sharp Corporation
2017-05-12 07:17:37.113 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - device.details.manufacturer.uri=http://www.sharp-world.com/
2017-05-12 07:17:37.113 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - ---------------------------------------------
2017-05-12 07:17:37.113 [DEBUG] [iscovery.SharpTVDiscoveryParticipant] - Discovered a Sharp TV with serial number 'null’
2017-05-12 07:17:37.117 [DEBUG] [org.openhab.binding.sharptv ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.sharptv.upnpdiscovery, component.id=188, service.id=324, service.bundleid=213, service.scope=bundle} - org.openhab.binding.sharptv
2017-05-12 07:17:37.173 [DEBUG] [nding.sharptv.handler.SharpTVHandler] - HANDLER INITIALIZING FOR thing e94ee5fe-0a78-11e1-b06a-34F62D49A2AD
2017-05-12 07:17:37.173 [DEBUG] [nding.sharptv.handler.SharpTVHandler] - SharpTVHandler config is SharpTVConfig{ipAddress=192.168.150.71, port=10002, user=null, password=XXXX}

AV Mode Selection would be a nice feature to have.

Should be easy to do. It’ll likely be a Number item where the number identifies the AV mode.

@jspeckman I added AV Mode. There’s a new jar, and an update to the README.

Works great, in addition only 1 TV is discovered now.
Thanks!

Hi Mark,
Great works. Binding (V2.1) works great on my sharp, only 1 question, I can command TV correctly so far on power , Vol, Mute(quick test), but I don’t receive TV status return, like if I use TV remote to change volume, mute. I don’t see status changes on openhab, does this binding have retrieve status function from TV?

@hamwong Unfortunately, as best I’m able to determine, the Sharp API doesn’t allow status to be queried.

hi, in fact it does by single command, I don’t know does it able to revert all status in one command, but with single status is okay, example: POWR??? with revert 0 or 1, 0=off and 1=on, as far as I know, change 4digits to 4? will revert status.:grinning:

@mhilbush
Hello Mark,

first of all thank you for the OH2 binding. I did put org.openhab.binding.sharptv-2.1.0-SNAPSHOT.jar it in the addons folder, but the Binding is not showing up in the bundle list. When I use org.openhab.binding.sharptv-1.8.0-SNAPSHOT.jar it is shown within seconds by listing the bundles in karaf console.

Maybe I overread something. Would be great if you could help me with that.

Regards
Thomas

When the binding loads, it logs a statement like this in openhab.log. I assume you are not seeing this in the log?

2017-10-12 19:53:34.388 [INFO ] [arptv.internal.SharpTVHandlerFactory] - SharpTV binding v2.1.0.201705131936

Other than placing the jar in the addons directory, there’s really nothing else that’s needed.

The only thing I can think of… If you downloaded it from the git repo, you might’ve downloaded the wrong thing. You need to click on the link for the jar file, then save the file where it says “View Raw”. Like this:

You can look at the contents of what’s in the addons directory, or run the Linux “file” command on the file. If it’s HTML, you downloaded the wrong thing.

Hey Mark,

thanks for the lightning fast response.

I will give it a try.

Regards
Thomas

Hey Mark,

that was the exact reason which solved the problem.

Have a great weekend,
Thomas

Cool. Glad that got it sorted out. :+1:

I’ve finally gotten around to moving over my system to OpenHAB 2. This binding is great! Nice work. Is there any chance you could add the sleep timer function as another channel? Thank you!

I’ll take a look at the API to see if/how it’s supported.

It looks pretty straightforward to add. It’ll probably be a Number channel that allows 0-4 to set the sleep timer to 0ff, 30, 60, 90, and 120 minutes.

I’ll let you know when I have a version for you to try out.

@omatzyo I posted a new version here. In addition to adding the sleep-timer channel, I had to make a few changes to make the binding compatible with the current OH build environment. I hope that didn’t break it for your environment. If you’re on a fairly recent snapshot you should be fine.

  • Remove the 2.1 version of the binding from your addons directory (save it somewhere in case the new version doesn’t work)
  • Download the 2.2 version of the binding and place it in the addons directory
  • You may need to delete and rediscover the thing in order to pick up the new channel

Let me know how it goes.