Russound RIO

The next binding I need to implement is a Russound RIO (not RNET) binding that can control any C or M series russound with IP connections. My testing environment will be a dual MCA-C5 (master-slave) with a DMS 3.1. Let me know if there is interest in testing the binding when I get it down. Should support pretty much everything RIO allows

Anyone have a CAV, CAM, MCA or XStream system they want to test a new binding with? I’ve written the binding and it’s pretty complete at this point (and seems to work on my system fine). I’d like to test it with someone else before putting a pull request in for it.

Let me know,
Tim

Hello Tim,
I own a CAV 6.6 and would love to test your bindings with it.
Thank you,
Tom

After looking at the doc more - I don’t think the CAV/CAM will actually work. They only do RNET over Serial (not RIO over ethernet).

Actually - looks like you can use SCS-C5 to setup RIO over a serial port. I don’t have the ability to test that but maybe I can extract away to support a serial based implementation. Let me look into it.

So I’ve done quite a bit of research on this - CAV/CAM can only be controled via RNET over Serial. Once I’m done with getting bindings for all my equipment, I’ll swing back around to this plugin to provide rnet functionality over serial (I should be able to test it with my mca-c5s). Won’t be soon however (unless someone else wants to take the ball on this)…

Hi Tim,
Thanks a lot for taking the time to do this research.
Once you get around to doing this, fire off an email to me :slight_smile: I can help you test it if you need.
Tom

Hi Tim!
Nice to see someone working on this binding! I don’t own a Russound controller myself, but I know someone who do have one. Unfortunately he run an 1,x,x instance of Openhab for now, but I’m willing to build a 2.0 instance of Openhab just to test this out. So I will be able to test this on a MCA-88 in a week or 2. Is there some documentation on how this binding work? Where can I get the binding jar file?

Tom

Unfortunately I’m heading out of town right now - I’ll try to post the zip containing everything sunday night or monday…

I’ve attached a zip file to the PR-1250 that contains the binding jar and the README on how to set it up. Please give it a try and I’d love to hear any comments back (either technically or about the documentation itself)

There is no auto discovery so you’ll need to set it up manually (a bit of a pain but read the README - hopefully it’s clear). While russound doesn’t have a discovery process, I might have a way to still detect it - could you see if the hostname of “http://mca88 or http://mca88x or even http://mca-88” get’s you to the MCA information page? If it does, I may be able to create an discovery process based on common host names (“mcac5” get’s me to mine - but I can’t remember if I set that up manually or not).

Got It! This is awesome!!! Okey Don’T know where to start. This weekend, I will first try basic fonction like volume, source selection, partymode, etc… Unfortunately I can’t try sources functionality because no rio compatible sources are connected to the testing controller. As for favorite and preset fonction, I will work hard to understand the concept of using this, to try it out with this binding! Btw, I think hostname shoud be something like http://MCA88-xxxxxx, the testing controller is http://MCA88-00797F

Thanks for your work!!! :smiley:

Wow - they eliminated the internal AM/FM tuner on MCA88! Yes - you won’t be able to test sources well (nor banks/presets because those are tuner specific) and favorites will be of very, very limited use if at all (they really only shine with sources).

As for the hostname - darn. Was hoping that I could simply try to connect to “mca88” to find it. Looks like they attached some type of serial or something which makes that approach useless.

Let me know how the testing goes

In fact the AM/FM tuner is replace by a bluetooth connection for the BTC-1X bluetooth receiver. Also there is a recent new update, that allow the build in, internet streaming capability, for Pandora, Spotify, tuneIn, Vtunner. So I should be able to test more functionality than I thought. I’m new to openhab2 and russound stuff, so it will take some time to test it all. For now I’v build an openhab2 instance and I’v try the binding on it using this config:
Russound.things

russound:rio:home [ ipAddress="192.168.11.74", ping=30, retryPolling=10 ]
russound:controller:1 (russound:rio:home) [ controller=1 ]
russound:source:1 (russound:rio:home) [ source=1 ]
russound:source:2 (russound:rio:home) [ source=2 ]
russound:source:3 (russound:rio:home) [ source=3 ]
russound:source:4 (russound:rio:home) [ source=4 ]
russound:bank:1 (russound:source:1) [ bank=1 ]
russound:bankpreset:1 (russound:bank:1) [ preset=1 ]
russound:bankpreset:2 (russound:bank:1) [ preset=2 ]
russound:zone:1  (russound:controller:1) [ zone=1 ]
russound:zone:2  (russound:controller:1) [ zone=2 ]
russound:zone:3  (russound:controller:1) [ zone=3 ]
russound:zone:4  (russound:controller:1) [ zone=4 ]

Russound.items

String Rio_Version "Version [%s]" { channel="russound:rio:home:version" }
String Rio_Lang "Language [%s]" { channel="russound:rio:home:lang" }
Switch Rio_Status "Status [%s]" { channel="russound:rio:home:status" }
Switch Rio_AllOn "All Zones" { channel="russound:rio:home:allon" }
String Rio_Ctl_Type "Model [%s]" { channel="russound:controller:1:type" }
String Rio_Ctl_IPAddress "IP Address [%s]" { channel="russound:controller:1:ipaddress" }
String Rio_Ctl_MacAddress "MAC [%s]" { channel="russound:controller:1:macaddress" }
String Rio_Source1_name //Channel linked using PaperUI 
String Rio_Source1_type //Channel linked using PaperUI
String Rio_Source2_name //Channel linked using PaperUI
String Rio_Source2_type //Channel linked using PaperUI
String Rio_Source3_name //Channel linked using PaperUI
String Rio_Source3_type //Channel linked using PaperUI
String Rio_Source4_name //Channel linked using PaperUI
String Rio_Source4_type //Channel linked using PaperUI

default.sitemap

			Frame label=Test {
				Switch item=Rio_AllOn
				Switch item=Rio_Status
				Text item=Rio_Version
				Text item=Rio_Lang
				Text item=Rio_Ctl_Type
				Text item=Rio_Ctl_IPAddress
				Text item=Rio_Ctl_MacAddress
				Text item=Rio_Source1_name
				Text item=Rio_Source1_type
				Text item=Rio_Source2_name
				Text item=Rio_Source2_type
				Text item=Rio_Source3_name
				Text item=Rio_Source3_type
				Text item=Rio_Source4_name
				Text item=Rio_Source4_type
			}

When starting openhab2, there is some error message, but seem to connect fine. But Russound item does not receive update, so there is no data show on ClasicUI…

Here is the log at startup:


15:34:56.144 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:1' changed from UNINITIALIZED to INITIALIZING
15:34:56.150 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:1' changed from INITIALIZING to UNINITIALIZED (HANDLER_INITIALIZING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
15:34:56.137 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing 'russound:bankpreset:1': java.lang.ClassCastException: org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_65]
	at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_65]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:186)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:79)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:63)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:752)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_65]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_65]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
Caused by: java.lang.ClassCastException: org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.getBridge(BaseThingHandler.java:498)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at org.openhab.binding.russound.rio.preset.RioPresetHandler.initialize(RioPresetHandler.java:128)[207:org.openhab.binding.russound:2.0.0.201609261205]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:755)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:177)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
	... 3 more
15:34:56.169 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing 'russound:bankpreset:2': java.lang.ClassCastException: org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_65]
	at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_65]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:186)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:79)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:63)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:752)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_65]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_65]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
Caused by: java.lang.ClassCastException: org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.getBridge(BaseThingHandler.java:498)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at org.openhab.binding.russound.rio.preset.RioPresetHandler.initialize(RioPresetHandler.java:128)[207:org.openhab.binding.russound:2.0.0.201609261205]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:755)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)[102:org.eclipse.smarthome.core.thing:0.9.0.b1]
	at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:177)[96:org.eclipse.smarthome.core:0.9.0.b1]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
	... 3 more
15:34:56.176 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:2' changed from INITIALIZING to UNINITIALIZED (HANDLER_INITIALIZING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge
15:34:56.177 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:2' changed from UNINITIALIZED to INITIALIZING
15:34:56.582 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:rio:home' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.610 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:rio:home' has been updated.
15:34:56.640 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:controller:1' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.654 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:controller:1' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.655 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:controller:1' has been updated.
15:34:56.687 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:1' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.689 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:1' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.703 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:source:1' has been updated.
15:34:56.726 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:2' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.741 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:2' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.742 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:source:2' has been updated.
15:34:56.769 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:3' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.769 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:3' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.789 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:source:3' has been updated.
15:34:56.810 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:4' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.813 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:4' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.871 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bank:1' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.873 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:source:4' has been updated.
15:34:56.885 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bank:1' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.891 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:bank:1' has been updated.
15:34:56.894 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:bankpreset:1' has been updated.
15:34:56.896 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:1' changed from UNINITIALIZED (HANDLER_INITIALIZING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to OFFLINE (BRIDGE_OFFLINE)
15:34:56.897 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:bankpreset:2' has been updated.
15:34:56.902 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:2' changed from UNINITIALIZED (HANDLER_INITIALIZING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to OFFLINE (BRIDGE_OFFLINE)
15:34:56.919 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:1' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.924 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:1' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.948 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:zone:1' has been updated.
15:34:56.975 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:2' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:56.980 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:2' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:56.990 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:zone:2' has been updated.
15:34:57.021 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:3' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:57.022 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:3' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:57.034 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:zone:3' has been updated.
15:34:57.062 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:4' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)
15:34:57.064 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:4' changed from UNINITIALIZED (HANDLER_REGISTERING_ERROR): org.eclipse.smarthome.core.thing.internal.ThingImpl cannot be cast to org.eclipse.smarthome.core.thing.Bridge to INITIALIZING
15:34:57.078 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'russound:zone:4' has been updated.
15:34:57.660 [INFO ] [ussound.rio.system.RioSystemProtocol] - Russound System now connected
15:34:57.674 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:rio:home' changed from INITIALIZING to ONLINE
15:34:57.697 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:1' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.708 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:3' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.720 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:controller:1' changed from OFFLINE to ONLINE
15:34:57.727 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:1' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.733 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:2' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.738 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:2' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.739 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:4' changed from OFFLINE to ONLINE
15:34:57.742 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:4' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.753 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:3' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.754 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:controller:1' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.765 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:2' changed from OFFLINE to ONLINE
15:34:57.768 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:4' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.776 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:4' changed from OFFLINE to ONLINE
15:34:57.787 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:3' changed from OFFLINE to ONLINE
15:34:57.789 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:source:1' changed from OFFLINE to ONLINE
15:34:57.796 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bank:1' changed from OFFLINE (BRIDGE_OFFLINE) to OFFLINE
15:34:57.796 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:2' changed from OFFLINE to ONLINE
15:34:57.801 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bank:1' changed from OFFLINE to ONLINE
15:34:57.803 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:1' changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE
15:34:57.811 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:1' changed from OFFLINE to ONLINE
15:34:57.812 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:zone:3' changed from OFFLINE to ONLINE
15:34:57.818 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'russound:bankpreset:2' changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE

One thing to note is that the controller is not on site, but is linked through a VPN, so maybe it can cause some error, I will test it on site later. Quick question… Should I create a russound.cfg config file?
Hope it’s helping. :confused:

Tom

I just posted a new zip file - could you give it a try (has a bunch of changes - but doubt any will address what you are seeing). Are you using openhab2 b4? I set up the items you posted and did not receive that (really weird) exception you see in the log file. If you’re not on b4 - please give it a try. Either way - let me know any results with the new file

Interesting - after doing a restart (for something else), I received those messages. Don’t bother with that jar file until I’ve tracked down what’s going on…

Tom,

I’ve posted a new ZIP file at PR-1250 that contains some bug fixes and some new channels. If you would, download and use that one.

As to the issue you posted - it appears to be an issue in the OpenHAB2 B4 build. If you get the latest nightly build, the issue should be fixed.

Tim

Hi Tim!
I’m now up and running on latest snapshot of openhab2/Russound binding, and i get the same error in log. It’s seem to me like if the things, try to connect the bridge, before the bridges are online. But like I said, I’m linked through a VPN… I will try onsite later, maybe next weekend. In the meantime, make sure that you use the latest rio api documentation, cause the Rio protocol has been updated to version 1.10 two mouths ago. I will post you the latest documentation on your PR on git. Some news fonctions as been added, and news media streamer definitions.
Keep in touch!
Tom

I’m assuming you are running with the latest jar? The error you are seeing is that OpenHAB is trying to pass a Thing (class) to a Bridge when it expects a Bridge (class). That’s the issue.

Give this a try however - get rid of your things file and try to define it directly from the PaperUI (bit of a pain - make sure you always set the parent bridge on each thing). Be interested if the paperui thing setup get’s around the issue.

Thanks for the notification of 1.10 - when I started this they were only on 1.8. There are a few new things I can add (zone mute!, setting system favorite names and a few odds/ends) - I don’t see anything about news functions? (point me to the page you saw). If it’s part of the media management api - I don’t support that at all - too dynamic for openhab I’m afraid.

Yes I was using the latest jar. And yes, using PaperUI to setup things get’s around issue! Sorry for my bad English, I should have said news features, not functions, It’ confusing, specially for a developer. I was taking about zone mute!, media streamer (p.23,24) and probably other changes. Nice work! :smiley: