Bose SoundTouch Binding

Sorry i did not recognize your post.
I do not really know how you did your installation, but yes the addon folder should be the right place for the binding.

@marvkis
do you think you find time to maintain this binding? otherwise i will have a deeper look in the XML Handler. Thatā€™s the part i do not really understand at the moment!
If i understand it, i would be able to fully maintain this binding, and could create a PR.
But of course i only would do this with your permission

Hi @tiknx,

to be honest - it really seems i donā€™t have enough spare time to maintain the binding right now. And you are asking for something thatā€™s (in my opinion) the idea of a community project - If (for some purposes) the current maintainer is not able to continue his work somebody else could take it over. So, you explicitly have the permission to take the code over and bring it to the next level :wink:

Iā€™m not 100% aware of the XML part. It might be quite a hack. So when you have some questions donā€™t hesitate to ask and i try to answer!

I even could try to grant you access to my github project if you want to keep the original place of the binding. Or maybe you get a pull request from me :wink:

Cheers,
Chris

Hi Chris,
just trying to get the Bose binding on OH2 working. Using Soundtouch 10 Speakers. Speakers as thing identified but getting following status in the thing configuration in Paper UI:
UNINITIALIZED - HANDLER_INITIALIZING_ERROR Illegal status INITIALIZING. Bindings only may set UNKNOWN, ONLINE, OFFLINE or REMOVED

log file shows:
2017-01-08 18:19:27.806 [WARN ] [overy.SoundTouchDiscoveryParticipant] - SoundTouch Device Bad delivered no MAC Address!

2017-01-08 18:19:32.813 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing ā€˜bosesoundtouch:device:A0F6FD3681F5ā€™: java.lang.IllegalArgumentException: Illegal status INITIALIZING. Bindings only may set UNKNOWN, ONLINE, OFFLINE or REMOVED.
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Illegal status INITIALIZING. Bindings only may set UNKNOWN, ONLINE, OFFLINE or REMOVED.
at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_111]
at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_111]
at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:188)[96:org.eclipse.smarthome.core:0.9.0.201612221226]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:81)[96:org.eclipse.smarthome.core:0.9.0.201612221226]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:65)[96:org.eclipse.smarthome.core:0.9.0.201612221226]
at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:710)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_111]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
Caused by: java.lang.IllegalArgumentException: Illegal status INITIALIZING. Bindings only may set UNKNOWN, ONLINE, OFFLINE or REMOVED.
at org.eclipse.smarthome.core.thing.internal.ThingManager$1.ensureValidStatus(ThingManager.java:184)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at org.eclipse.smarthome.core.thing.internal.ThingManager$1.statusUpdated(ThingManager.java:149)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateStatus(BaseThingHandler.java:386)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateStatus(BaseThingHandler.java:403)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at org.openhab.binding.bosesoundtouch.handler.BoseSoundTouchHandler.openConnection(BoseSoundTouchHandler.java:319)[190:org.openhab.binding.bosesoundtouch:2.0.0.201512212144]
at org.openhab.binding.bosesoundtouch.handler.BoseSoundTouchHandler.initialize(BoseSoundTouchHandler.java:143)[190:org.openhab.binding.bosesoundtouch:2.0.0.201512212144]
at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:713)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)[103:org.eclipse.smarthome.core.thing:0.9.0.201612221226]
at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:179)[96:org.eclipse.smarthome.core:0.9.0.201612221226]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
ā€¦ 3 more

any idea what I am missing ?

My system
WIN7 64bit
Bose binding 2.0.0 snapshot java file copied in folder
C:\openhab2\runtime\system\org\openhab\binding

Thanks for looking into it.

The binding from @marvkis is updated now and should work with the latest snapshot!
Now both of us officially maintain this binding. So i will delete my fork

thanks is working :slight_smile:

Great! Sounds like time to create an official Pull Request for it!

Hi @tiknx

Everything working fine except I am having trouble setting up Zone Control. I have three soundtouch 10 (Balkon, Bad, KĆ¼che). If I try to send:
sendCommand(Bose2_ZoneControl,ā€œMaster; Members:Badā€)

Following message in the log
Invalid / unknown device: ā€œmembers:badā€ in command Master; Members:Bad

In the log I get following message when starting OH2:
SoundTouch Device Bad delivered no MAC Address!
SoundTouch Device Balkon delivered no MAC Address!
SoundTouch Device KĆ¼che delivered no MAC Address!

In the Paper UI the thing Bad, Balkon, KĆ¼che is identified by the binding. Power, Volume, Preset,ā€¦ working fine.

Any idea what I am missing?

Thx.
.

Afaik @marvkis had fixed this bug already. I will serve you a new binary today.

That would be

No this is an other binding

There is no official PR of this binding

Hm, thatā€™s bad. Definitely a sign that a PR of this one here should have been created earlier already to make it clear to others that there is already a binding in progressā€¦

Can anyone assess the feature set and code quality of both? How shall we continue? Having two bindings does not make much sense.

I would say, that the features of this binding are better. I had a look at the other binding a few days ago.
I canā€™t say which code has the better quality

I have updated the binary, this should solve the problems with the problems with the zones

here again the link, to be sure to find the right binding

@marvkis and me will try to contact the maintainer of the other binding, to so solve this little problem

Wish Iā€™d done that for my Nest binding for openHAB 2. Instead Iā€™ve been helping maintain the 1.x add-ons and a few other things.

1 Like

Thx. It is working !

Hi @all,
very interesting thread. If I knew it before I would have inform you that I plan to make a PR with my binding.

Hi @xianlukas,

yes it was a bit bad luck that we were stuck in our PR preparations and now we have two plugins.

Would it be okay for you to combine our efforts into one plugin? It seems we have some channels (Power/Volume/Source) in common but also some unique things in each plugin (bass level in yours, zones and other things in our).
So we could combine things into one plugin and maintain it together. When we have more people knowing the plugin the changes are better that one of the team members has time to fix a bug or adapt it to new firmware versions :wink:

What do you think?

Bye,
Christian :wink: akaā€™ @marvkis

1 Like

Hi @marvkis,
sorry for the late answer.
How could this be done best or what exactly are thinking of?

Bye,
Christian :wink: akaā€™ @xianlukas

Hi @xianlukas,

I think we should do this in a democratic process. Each of us three (@tiknx, @xianlukas and me) reviews both works to identify differences, pros and cons and then we decide how to merge everything?
Maybe this process works better if we do it in direct contact (from your name we guess you also could be german speaking like us) without bothering the forum with all the detailsā€¦

If this is Okay drop me a PM and we exchange our mail addresses. Or come up with an other proposal :wink:

Bye,
Chris