AllPlay binding: Looking for testers

@Maarten1, thanks for your feedback.

Mute doesn’t seem to work on the Panasonic speakers (same on mine). This is not a binding problem, as if I set mute from the IoT Explorer app, it doesn’t work either. As a workaround I’d suggest to set the volume to 0. I’ll add a comment about this to the documentation. The shuffle command, however, works for me. Note that shuffle means all following songs will be played in random order, it will not immediately jump to the next song when shuffle is activated. Could you check again? If it is still not working, I can check.

Are you using PaperUI or rules? You can stream from an URL using the stream channel, like this:
LVPanasonicAll8Stream.sendCommand("http://chromaradio.com:8008/listen.pls")
You need to know the URL of the file. The binding is not able to discover your music library and offer you songs for playing.

Zone management is indeed not yet implemented, it’s on my Todo list :slight_smile:

@dominicdesu I tested “Input” and it is running! Thanks a lot! :slight_smile:

Hi,

i’m trying to get the Allplay binding running on a Synology Diskstation using Docker.
But i get the following error:

18:45:17.340 [ERROR] [org.openhab.binding.allplay         ] - [org.openhab.binding.allplay.discovery(196)] The activate method has thrown an exception
java.lang.UnsatisfiedLinkError: /openhab/userdata/cache/org.eclipse.osgi/210/0/.cp/lib/x86-64/linux/liballjoyn_java.so: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /openhab/userdata/cache/org.eclipse.osgi/210/0/.cp/lib/x86-64/linux/liballjoyn_java.so)

18:45:17.365 [WARN ] [org.openhab.binding.allplay         ] - FrameworkEvent WARNING - org.openhab.binding.allplay
org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object

18:45:17.375 [DEBUG] [overy.AllPlaySpeakerDiscoveryService] - Starting scan for AllPlay devices

18:45:17.375 [ERROR] [org.openhab.binding.allplay         ] - [org.openhab.binding.allplay.discovery(196)] The activate method has thrown an exception
java.lang.NoClassDefFoundError: Could not initialize class de.kaizencode.tchaikovsky.AllPlay

Can somebody help me, to get it running?

Sorry, no idea what has to be done on a Synology…
However if you find a solution I can update the readme or the binding accordingly.

@nignac

I do not know so well in linux, but maybe this helps?

read there answers No: 41 and 42

Do you have GLIBCXX_3.4.21 on your system?

try this command:

 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

Maybe you have to install or update your version? How to update? Depending on your linux system…

in above link answer No. 42 is for ubuntu!!

installing:

 sudo apt-get install libstdc++6

update: (but I’m not sure, if it’s the correct repository!!)

sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade 

But NO WARRANTY, if this helps! Maybe a linux (Synology) specialist could tell you more?

The Docker image from here: https://hub.docker.com/r/openhab/openhab/ is based on Debian:jessie. But Debian:jessie misses the GLIBCXX_3.4.21. The way you mentioned works on ubuntu, but not on Debian:jessie because there is no newer Version than GLIBCXX_3.4.20.

I switched over to an ubuntu based image and installed openhab2.1.0-snapshot manually.

But If i run the discovery from AllPlayBinding openhab2 chrashes:


# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fbb720ab274, pid=4888, tid=0x00007fbbcd2c8700
#
# JRE version: OpenJDK Runtime Environment (8.0_112-b16) (build 1.8.0_112-b16)
# Java VM: OpenJDK 64-Bit Server VM (25.112-b16 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [liballjoyn_java.so+0x107274]  JBusAttachment::Disconnect()+0x4d4
#
# Core dump written. Default location: /openhab/userdata/core or core.4888
#

@nignac can you let me know which snapshot version of the AllPlay binding you’re using? E.g. by executing bundle:list | grep AllPlay in the karaf console.
Also, which docker image did you use for the ubuntu version?

If have installed an Ubuntu-Docker image (17.04):
https://hub.docker.com/_/ubuntu/

and just translated / executed the commands from the .dockerfile
https://github.com/openhab/openhab-docker/blob/master/2.1.0-snapshot/amd64/Dockerfile

Output of bundle:list | grep AllPlay
209 | Active   |  80 | 2.1.0.201705130731     | AllPlay Binding

@nignac Now I’m out. Sorry!

@nignac I can reproduce the issue on a ubuntu VM. Need some time to analyze this and try to find a fix…

@dominicdesu I tried MaryTTS with an Allplay speaker. Do you know about this issue? German voice speed is too fast!

@nignac I have made a PR today which should fix the issue you had (at least it fixed the same issue on my Ubuntu VM). If you’ll install the binding snapshot tomorrow you should get the latest version as far as I know. Would be great if you could try it again.

1 Like

Now it works!
Thank you!

1 Like

@dominicdesu

Did you have time to implement “multiroom functionality”?

I am late, but I hope I can provide a PR with some first functionality in the next few days…

1 Like

Ok, sounds good! Thanx!

Sorry, wasn’t able to put much time into this recently and therefore unable to make a PR yet.
If you want to try it, you can use this snapshot build: [edit: multiroom now available in official snapshot]

These new channels are available (probably you need to delete and rediscover your speaker things first in order to see them):

| clearzone | Switch | Remove the current speaker from the zone |
| zoneid | String | Id of the Zone the speaker belongs to |
| zonemembers | String | Set the zone members by providing a comma-separated list of device names. (This channel is currently only for setting the zone members. It does not update automatically if the zone members are changed from another source) |

Device name is the name/label your speaker has in OH.

If you have any suggestions for improvements please let me know!

@dominicdesu Sorry, I didn’t recognize this post, I was on vacation for 3 weeks… :slight_smile: I’m going to test it this week!

First of all, thanks for your work @dominicdesu :slight_smile:

I was testing AllPlay’s binding for a while and everything works fine (With two Panasonic Speakers).

But I’ve a little problem. My network is segmented into vlans and OH and my speakers are in different networks, so multicast discovery is not working fine.

It’s possible to specify a fixed IP address for the AllPlay Thing ? (Like in the Chromecast binding)

Thanks, and again nice work :wink:

Hi,
unfortunately I am not aware of any connection mechanism other than multicast discovery.
Are there any AllPlay apps which are able to find all your AllPlay speakers? If yes, there is probably a way to implement it in the AllPlay binding as well, although I don’t know how. If no, it is probably not possible or very difficult…

@all: By the way, multiroom support is now available in the latest addons snapshot (=PR has been merged some days ago). No need to use the custom build anymore.