Squeezebox trouble in openHAB2

I have just recently set up a squeezebox server and playing in my house and I am trying to get them connected in my openHAB2 instance. I am able to control the player well using the logitech media server web interface, as well as the Squeezer android app, so the squeezebox side of things seems to be working properly as far as I can tell. One small thing to note is that I’m running it in docker and the server it’s on already had something on port 9090 so I changed port 9090 in docker to bind to host port 9091. I can successfully telnet to port 9091 on the server ip and execute squeezebox cli commands…

The trouble I’m having is that when I try to set up the squeezebox binding using a .things file, it doesn’t properly connect to those items. It autodetects the server and player and puts them in the inbox in HABmin/PaperUI, but it doesn’t like my configurations for some reason. Here is my things file:

Bridge squeezebox:squeezeboxserver:lms [ ipAddress="192.168.1.10", webport=9000, cliport=9091 ] {
//    Thing squeezeboxplayer myPlayer [ mac="b8:27:eb:93:17:98" ] 
}    
```

I commented out the player line as a test because the binding seemed to get further like this. After putting this in place, I Installed the binding in HABmin after putting this file in place. Here is the log output:

```

2016-11-21 08:14:07.488 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent INSTALLED - org.openhab.binding.squeezebox
2016-11-21 08:14:07.495 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent RESOLVED - org.openhab.binding.squeezebox
2016-11-21 08:14:07.503 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent STARTING - org.openhab.binding.squeezebox
2016-11-21 08:14:07.503 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent STARTED - org.openhab.binding.squeezebox
2016-11-21 08:14:07.505 [DEBUG] [org.openhab.binding.squeezebox      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=org.openhab.binding.squeezebox.internal.SqueezeBoxHandlerFactory, component.id=283, service.id=446, service.bundleid=212, service.scope=bundle} - org.openhab.binding.squeezebox
2016-11-21 08:14:07.512 [DEBUG] [SqueezeBoxPlayerDiscoveryParticipant] - request player job scheduled to run every 60 seconds
2016-11-21 08:14:07.512 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - registering player listener
2016-11-21 08:14:07.513 [DEBUG] [org.openhab.binding.squeezebox      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=447, service.bundleid=212, service.scope=singleton} - org.openhab.binding.squeezebox
2016-11-21 08:14:07.516 [DEBUG] [org.openhab.binding.squeezebox      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.squeezebox.upnpdiscovery, component.id=284, service.id=448, service.bundleid=212, service.scope=bundle} - org.openhab.binding.squeezebox
2016-11-21 08:14:07.519 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Discovered a Logitech Media Server [21d97a083044] thing with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:14:07.530 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Created a DiscoveryResult for device 'Logitech Media Server [21d97a083044]' with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:14:07.530 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Discovered a Logitech Media Server [21d97a083044] thing with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:14:07.534 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Created a DiscoveryResult for device 'Logitech Media Server [21d97a083044]' with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:14:07.633 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'squeezebox:squeezeboxserver:16B1A487-DF09-4FB0-9F22-25574897F11D' to inbox.
2016-11-21 08:14:07.654 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - initializing server handler for thing org.eclipse.smarthome.core.thing.internal.BridgeImpl@a97d426c
2016-11-21 08:14:07.657 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - listener connection started to server 192.168.1.10:9091
2016-11-21 08:14:07.660 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:14:07.662 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: listen 1
2016-11-21 08:14:07.664 [DEBUG] [SqueezeBoxPlayerDiscoveryParticipant] - player added b8:27:eb:93:17:98 : piCorePlayer
2016-11-21 08:14:07.774 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'squeezebox:squeezeboxplayer:lms:b827eb931798' to inbox.
2016-11-21 08:14:07.774 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: b8:27:eb:93:17:98 status - 1 subscribe:10 tags:yagJlN
2016-11-21 08:14:08.211 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - disposing server handler for thing org.eclipse.smarthome.core.thing.internal.BridgeImpl@a97d426c
2016-11-21 08:14:08.212 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - setting squeeze server listener terminate flag
2016-11-21 08:14:08.212 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - initializing server handler for thing org.eclipse.smarthome.core.thing.internal.BridgeImpl@a97d426c
2016-11-21 08:14:08.212 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Squeeze Server listener exiting.
2016-11-21 08:14:08.214 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - listener connection started to server 192.168.1.10:9091
2016-11-21 08:14:08.229 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:14:08.230 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: listen 1
2016-11-21 08:14:08.231 [DEBUG] [SqueezeBoxPlayerDiscoveryParticipant] - player added b8:27:eb:93:17:98 : piCorePlayer
2016-11-21 08:14:08.360 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: b8:27:eb:93:17:98 status - 1 subscribe:10 tags:yagJlN
2016-11-21 08:14:17.512 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0

```

From what I see there, it looks like it successfully finds the squeezebox server and then even autodetects the player. 

However, if I then modify the things file to uncomment the player line, here's what happens in the logs:

.things file
```
Bridge squeezebox:squeezeboxserver:lms [ ipAddress="192.168.1.10", webport=9000, cliport=9091 ] {
    Thing squeezeboxplayer myPlayer [ mac="b8:27:eb:93:17:98" ] 
}
```

Log:
```
2016-11-21 08:28:23.328 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'squeezebox.things' is either empty or cannot be parsed correctly!
2016-11-21 08:28:23.413 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - disposing server handler for thing org.eclipse.smarthome.core.thing.internal.BridgeImpl@a97d426c
2016-11-21 08:28:23.413 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - setting squeeze server listener terminate flag
2016-11-21 08:28:23.413 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Squeeze Server listener exiting.
2016-11-21 08:28:23.416 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'squeezebox.things'
2016-11-21 08:28:23.420 [DEBUG] [SqueezeBoxPlayerDiscoveryParticipant] - request player job scheduled to run every 60 seconds
2016-11-21 08:28:23.420 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - registering player listener
2016-11-21 08:28:23.422 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling thing handler factory 'org.openhab.binding.squeezebox.internal.SqueezeBoxHandlerFactory@817c10f': java.lang.IllegalStateException: BundleContext is no longer valid
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: BundleContext is no longer valid
        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:186)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:79)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:63)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.doRegisterHandler(ThingManager.java:582)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.registerHandler(ThingManager.java:561)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.registerHandler(ThingManager.java:541)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.thingAdded(ThingManager.java:439)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:217)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:136)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:123)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:51)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:70)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:74)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.access$8(GenericThingProvider.java:1)[131:org.eclipse.smarthome.model.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.model.thing.internal.GenericThingProvider$11.apply(GenericThingProvider.java:696)[131:org.eclipse.smarthome.model.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.model.thing.internal.GenericThingProvider$11.apply(GenericThingProvider.java:1)[131:org.eclipse.smarthome.model.thing:0.9.0.201611181452]
        at org.eclipse.xtext.xbase.lib.IteratorExtensions.forEach(IteratorExtensions.java:363)[144:org.eclipse.xtext.xbase.lib:2.9.2]
        at org.eclipse.xtext.xbase.lib.IterableExtensions.forEach(IterableExtensions.java:333)[144:org.eclipse.xtext.xbase.lib:2.9.2]
        at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:699)[131:org.eclipse.smarthome.model.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:207)[120:org.eclipse.smarthome.model.core:0.9.0.201611181452]
        at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:99)[120:org.eclipse.smarthome.model.core:0.9.0.201611181452]
        at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:267)[120:org.eclipse.smarthome.model.core:0.9.0.201611181452]
        at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.access$1(FolderObserver.java:261)[120:org.eclipse.smarthome.model.core:0.9.0.201611181452]
        at org.eclipse.smarthome.model.core.internal.folder.FolderObserver$WatchQueueReader.processWatchEvent(FolderObserver.java:142)[120:org.eclipse.smarthome.model.core:0.9.0.201611181452]
        at org.eclipse.smarthome.core.service.AbstractWatchQueueReader.run(AbstractWatchQueueReader.java:95)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
Caused by: java.lang.IllegalStateException: BundleContext is no longer valid
        at org.eclipse.osgi.internal.framework.BundleContextImpl.checkValid(BundleContextImpl.java:983)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:463)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:482)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
        at org.openhab.binding.squeezebox.internal.SqueezeBoxHandlerFactory.registerSqueezeBoxPlayerDiscoveryService(SqueezeBoxHandlerFactory.java:93)[198:org.openhab.binding.squeezebox:2.0.0.201611181914]
        at org.openhab.binding.squeezebox.internal.SqueezeBoxHandlerFactory.createHandler(SqueezeBoxHandlerFactory.java:63)[198:org.openhab.binding.squeezebox:2.0.0.201611181914]
        at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.registerHandler(BaseThingHandlerFactory.java:98)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$7.call(ThingManager.java:586)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$7.call(ThingManager.java:1)[103:org.eclipse.smarthome.core.thing:0.9.0.201611181452]
        at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:177)[96:org.eclipse.smarthome.core:0.9.0.201611181452]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[: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]
        ... 1 more

```

In this log I first see a message that the .things file can't be parsed correctly. If there's an error in the syntax, I don't know how to fix it because I can't find any good examples that are different than this one.

After that error, there is an exception from the binding. Not sure if that's caused by the syntax error or if it's unrelated.

Any ideas on what I do next to figure out what's going on?

Some additional information. If I restart openhab with the above .things file containing both the bridge/server entry AND the player entry, there is a different result where it at least partially is able to recognize them. Here is the log of that:

2016-11-21 08:35:45.479 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent INSTALLED - org.openhab.binding.squeezebox
2016-11-21 08:35:45.515 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent RESOLVED - org.openhab.binding.squeezebox
2016-11-21 08:35:45.525 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent STARTING - org.openhab.binding.squeezebox
2016-11-21 08:35:45.526 [DEBUG] [org.openhab.binding.squeezebox      ] - BundleEvent STARTED - org.openhab.binding.squeezebox
2016-11-21 08:35:45.604 [DEBUG] [SqueezeBoxPlayerDiscoveryParticipant] - request player job scheduled to run every 60 seconds
2016-11-21 08:35:45.609 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - registering player listener
2016-11-21 08:35:45.612 [DEBUG] [org.openhab.binding.squeezebox      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=329, service.bundleid=214, service.scope=singleton} - org.openhab.binding.squeezebox
2016-11-21 08:35:45.631 [DEBUG] [org.openhab.binding.squeezebox      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=org.openhab.binding.squeezebox.internal.SqueezeBoxHandlerFactory, component.id=199, service.id=328, service.bundleid=214, service.scope=bundle} - org.openhab.binding.squeezebox
2016-11-21 08:35:45.639 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Discovered a Logitech Media Server [21d97a083044] thing with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.641 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - initializing server handler for thing org.eclipse.smarthome.core.thing.internal.BridgeImpl@a97d426c
2016-11-21 08:35:45.669 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - listener connection started to server 192.168.1.10:9091
2016-11-21 08:35:45.693 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:35:45.695 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: listen 1
2016-11-21 08:35:45.696 [DEBUG] [ebox.handler.SqueezeBoxPlayerHandler] - updating player status to match server status of ONLINE
2016-11-21 08:35:45.702 [DEBUG] [SqueezeBoxPlayerDiscoveryParticipant] - player added b8:27:eb:93:17:98 : piCorePlayer
2016-11-21 08:35:45.733 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Created a DiscoveryResult for device 'Logitech Media Server [21d97a083044]' with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.734 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Discovered a Logitech Media Server [21d97a083044] thing with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.740 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Created a DiscoveryResult for device 'Logitech Media Server [21d97a083044]' with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.743 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Discovered a Logitech Media Server [21d97a083044] thing with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.748 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Created a DiscoveryResult for device 'Logitech Media Server [21d97a083044]' with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.748 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Discovered a Logitech Media Server [21d97a083044] thing with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.752 [DEBUG] [SqueezeBoxServerDiscoveryParticipant] - Created a DiscoveryResult for device 'Logitech Media Server [21d97a083044]' with UDN '16B1A487-DF09-4FB0-9F22-25574897F11D'
2016-11-21 08:35:45.828 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'squeezebox:squeezeboxplayer:lms:b827eb931798' to inbox.
2016-11-21 08:35:45.829 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: b8:27:eb:93:17:98 status - 1 subscribe:10 tags:yagJlN
2016-11-21 08:35:46.150 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'squeezebox:squeezeboxserver:16B1A487-DF09-4FB0-9F22-25574897F11D' to inbox.
2016-11-21 08:35:46.151 [DEBUG] [org.openhab.binding.squeezebox      ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={component.name=org.openhab.binding.squeezebox.upnpdiscovery, component.id=200, service.id=330, service.bundleid=214, service.scope=bundle} - org.openhab.binding.squeezebox
2016-11-21 08:35:46.598 [DEBUG] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer disposed.
2016-11-21 08:35:46.599 [DEBUG] [ebox.handler.SqueezeBoxPlayerHandler] - updating player status to match server status of ONLINE
2016-11-21 08:35:47.517 [INFO ] [core.karaf.internal.FeatureInstaller] - Installed 'openhab-binding-squeezebox'
2016-11-21 08:35:55.605 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:36:55.606 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:37:55.606 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:38:55.607 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:39:10.843 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'squeezebox.items'
2016-11-21 08:39:10.851 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:39:10.852 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:39:10.855 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:39:10.856 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:39:10.873 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:39:10.880 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:39:10.880 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'squeezebox.items'
2016-11-21 08:39:55.608 [DEBUG] [ebox.handler.SqueezeBoxServerHandler] - Sending command: players 0
2016-11-21 08:40:26.197 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'squeezebox.items'
2016-11-21 08:40:26.201 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.203 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.205 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.206 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.214 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.215 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.217 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH
2016-11-21 08:40:26.217 [INFO ] [ebox.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:lms:myPlayer has no server configured, ignoring command: REFRESH

It seems to be “correctly” parsing the .things file and making the items, but the player item isn’t working. The log shows that it is disposing of the myPlayer thing for some reason.

The above log is with the following items attached to the things in a squeezebox.items file.

Group gSqueezebox

Number myPlayerVolume     "My Player Volume [%d]"         (gSqueezebox) {channel="squeezebox:squeezeboxplayer:lms:myPlayer:volume"}
Player myPlayerController "My Player Control"              (gSqueezebox) {channel="squeezebox:squeezeboxplayer:lms:myPlayer:control"}

Hi, I don’t think it’s just you. I’m having the same issue now (no server configured). It was working fine in snapshot #580 but not after an update to the latest yesterday. Will post my config and logs late when I’m home.

In any case, this log files shows a bug in the code of the binding, so you should definitely open an issue at Pull requests · openhab/openhab2-addons · GitHub.

Thanks for the feedback. I’ve created an issue here.

1 Like

For anybody who may run across this in the future, I have the squeezebox binding working better now.

I think at least part of the issue was that I had the docker container configured improperly. I had previously used the following in my docker command (this is just part of it) to map port 8080 in the openhab container to 8282 visible to the world because I had something already on 8080.

-p 8081:8080

The official image doesn’t suggest this, so I either copied this from some other docker configuration, or maybe an old version…

Previously the best the binding could do was show the state in openhab, but not send commands. I’m not sure where it was breaking down in the connection, but it was. I updated the docker command to remove the above port mapping, and instead use --net=host. I still needed to use port 8282 since 8080 was in use, but it lets you choose which port to use by setting an environment variable.

-e OPENHAB_HTTP_PORT='8282'

By combining the net=host command and setting the OPENHAB_HTTP_PORT variable, the squeezebox server and openhab connection seems to be communicating in both directions.

Hi In Openhab 1.83 I used this line in a rule to alow streaming diffrent webradiostations and the rule whre trigger by a remotecontrol, this doesn’t seem to work at all in OH 2. I Installed squeexebox baddon linked channels and so on. I Can control volume of player but when i trie to excecute this rule logg says “reset_kitchen_3’: An error occured during the script execution: The name ‘squeezeboxPlayUrl(,,)’ cannot be resolved to an item or type.”

Rule
squeezeboxPlayUrl(“kok”, “http://opml.radiotime.com/Tune.ashx?id=s8291&formats=aac,ogg,mp3,wmpro,wma,wmvoice&partnerId=16&serial=01f7b9ee011ae344013ad42dc335e779”,100)

The binding changed, did you see the description of the new 2.0 binding here:
http://docs.openhab.org/addons/bindings/squeezebox/readme.html

It looks like the PlayUrl has been replaced by a channel called stream, you may want to review the table with all the new channels described in the link above

Ok thanks I’ve reead that but didn’t get any smarter, I tride to replace Play url wit streeam but it seems like I’ve donn’t know the correct syntax for channel streeam

stream(http://123.com/4.mp3) bad exampel but short how could I determine witch player it plays on and witch volume in one command?

With my apologies if I am reading it wrong, but it appears that you are still trying to configure your system with the OH1.8 philosophies in mind.
OH2.0 has drastically changed in the way it interacts with the things you want to control. If you are not familar with it yet, you will have to read up at http://docs.openhab.org/ about “things”, “channels”, “items”, etc
The definition are different (items) and new (things) so you cannot interact with your items the same way you used to do. You will have to define the things first (or use PaperUI), including the channels you need, before you can access them through items and rules.
PaperUI helps, but some things may need to be textually defined in .things files. If you start at the beginning above, it will make more sense. There is also a specific section on how to transition from 1.8 systems:
http://docs.openhab.org/tutorials/migration.html

I Think I got the things thats new with this, but still i beleive the binding wiki is missing some part or else i just missunderstood all the things and items description.

All I need too figure out is how to make switch1 for example play a specific url on a specific player I got 4 of them. Is there som way to find out things file with things and link created with paper ui? or are they going stright to db.

If you work with the PaperUI, things and items go straight to the DB. But you can see, interact and configure everything there too.
Go to the PaperUI and click on the things tab (under Configuration on the left side).
You will see a list of all things that you have defined in the PaperUI
Click on your squeezebox thing of interest and you should see something like this:


And of course more channels underneath the volume one
Note the “show more” button on the right, click that and scroll until you see the info for

That text under the heading Stream URL gives you the correct reference to this channel that you will need for your item definition.
Sorry but that is as far as I can take it, I am not using this function, so cannot help on how the exact syntax will need to read. But you can find more help on this forum, for example here:

Just make sure that the discussion is for the 2.0 binding and not the 1.8;

Now I did get it working I was obviously a bit confused with all new terms things bridges and channels, On generic question I’ve got right now is that the bridge for squeezebox got this long line squeezebox:squeezeboxserver:myServer but could I give thi another string or is this critical for its function.

Thanks for all help

You can define your own things in a textual way in the .things file. However, it either PaperUI or the textual configurations, you cannot have both, in other words, the if you start using textual definition in a .thing file, the PaperUI will not update this file.
Otherwise, the PaperUI offers easy copy and paste, so it may not matter that much.
Hope that helps

Hello

Now I’m starting to get a hold of it I believe but when I try to arrange items via textfile both of my player plays the same music.

.thing file I hope thi is right

Bridge squeezebox:squeezeboxserver:myServer [ ipAddress=“xxxxxxxxxx”, webport=9000, cliport=9090 ]
{
Thing squeezeboxplayer kok[ mac=“c4:e9:84:db:d4:89” ]
Thing squeezeboxplayer hallen[ mac=“60:e3:27:07:6f:0d” ]

.item file

Switch squeezeKokPower “Köket” (gPlayerPower) {channel=“squeezebox:squeezeboxplayer:myserver:kok:power”}

}

I Hope with this configuration not to need the mac adress in every channel link.

please correct me if I’m wrong

Hello

I have a new problem when i send a command to my string item to stream an url it starts playing on both my players

I’ve check an cannot find any missmatch between channel linking and players.

Sent command is below.

sendCommand(squeezeKokStream,“http://opml.radiotime.com/Tune.ashx?id=s17553&formats=aac,ogg,mp3,wmpro,wma,wmvoice&partnerId=16&serial=01f7b9ee011ae344013ad42dc335e779”)

I must reply to my own stupidity I’ve managed to group my players without knowing about it.

Problem solved.

Hello again I’ve got one further problem when I try to run openhab as doorbell I send this command

sendCommand(squeezeKokStream,“file:///etc/openhab2/sounds/doorbell.mp3”)

Player updates and chnages from paus to play and direct from play to pause I dont know if my string is correct should it be /// or //etc for instance or could it be that openhab dosen’t have permission to file witch would be strange since it’s a standard OH file.

Try this in your rule instead (replacing the string with your player thing UID).

var string player = "squeezebox:squeezeboxplayer:28C97261-5842-48AE-85C7-DE2E25AFC5D7:d8eb911a4bf9"
playSound(player, "doorbell.mp3")

I will try to understand this but I use my syntax for use with my HTTP server and there it works so I thought that file:// also should work. I have troubel to understand what you mean.