This binding was initially developed for an NAD T-787 A/V Receiver. I have added support for a few other receivers and am interested to find out if there are others in the community that would benefit from having this binding published in a future OpenHab release.
Supported models include:
Serial models T-765, T-775, T-785 using an Ethernet to RS232 converter (for example Global Cache’s WF2SL, IT2SL, USR IOT’s USR-TCP232-302, etc)
Direct Ethernet connected models T-187, T-777, T-787
A generic model is included with the assumption it works with NAD’s command protocol
This binding has been tested on the latest stable release of OH (3.2.0), Milestone 3.3.0M1 and OH3.3.0-SNAPSHOT - running on both RPI and Windows systems using the NAD T-787 Surround Sound Receiver over a direct Ethernet connection, including an XM Direct Home Tuner connected to the T-787.
If interested in testing this binding, you can find the jar file in the release note here: NAD A/V Receiver Binding. Simply download from the assets section of the release note and copy into the addons folder on your OH3 system.
All feedback is greatly appreciated…
Refer to the README for additional details regarding the configuration of this binding.
Latest release JAR:
Authoring and Support
This binding is developed by @dschoepel. If you encounter any issues, please use this thread.
If you move this topic to the Marketplace Bundles category and add a link to the jar file. People will be able to install the binding directly from within openHAB main ui marketplace bindings. (If you add the logo to the top of this topic that will also show up nicely as the logo image in the openHAB ui)
Thanks for the advice @hilbrand, let me know if I missed anything…
@dschoepel , thank you for putting this together!
Any hints on enabling debug output for the binding?
Tried to connect to my T763 with Ethernet/Serial bridge and no luck.
I configured the thing manually because the bridge is using a non-standard port.
The thing is shown as being online, but no communication is coming back or forth.
Good to hear that your connection goes on-line. Couple suggestions…
Validate That NAD Command Protocol Is Used By Your Receiver
You should try to connect using telnet from a PC. Putty is a good client to connect with. Basic setting should look like:
Once connected, you should be able to send a command and receive a response. A very common command would be
Main.Power? , hit “return” to send.
If you get a response back (it will look like Main.Power=On or Main.Power=Off); then we know that your receiver can accept commands and respond to them over your bridge.
A list of the NAD commands can be found at the bottom of the READ.ME for the binding. If a command is not recognized by the receiver, it will not send anything back…
If this does not work, it’s likely that one of two things is happening:
- The command protocol is different than what is being used by the binding - or-
- The bridge is not set up correctly so that responses are coming back from the receiver
I suspect the binding is sending commands, but nothing is being received by the binding that matches a supported command.
Setting the Logging for the Binding to Debug Mode
As for debug, OpenHab does a pretty good job of explaining how to do this here: Using the Logger to Debug a Binding
You need to log into the OH console using the following command:
Then find the name of the binding with the command:
list -s | grep nad
and use that name to set the logging level for the binding. It will likely look like this:
To set debug mode, you would enter the command:
log:set DEBUG org.openhab.binding.nadavr
To turn off debug for this binding use the command:
log:set DEFAULT org.openhab.binding.nadavr
If your able to get a response from the receiver using Telnet, then set debug on and capture some log entries to help me see what’s going on.
Hope this helps…
Thank you @dschoepel , you just answered my question, unfortunately this is not going to work for T763, it uses a completely different set of serial commands… Back to using my hacked MQTT bridge code I guess.
Sorry @guterm. If you have the commands documented, I may be able to make that work in the binding - just need someone to test them…
Hi @dschoepel Thank so much for building this binding.
I have been successful in talking to my NAD T758 over a TCP serial connection via ser2net on my Raspberry-PI.
- OH3 in a VM on my server
- Raspbian on a PI near my media equipment
Unitek USB to RS232 cable connected between the Raspberry-PI and the NAD AVR.
- On my PI, I ran
sudo apt install ser2net to install the TCP to Serial application.
sudo vi /etc/ser2net.yaml
Comment out the sample connections and add one that looks like this…
- Save the file and then restart with
sudo service ser2net restart
At this point it’s possible to test the ser2net connection is working by running putty or telnet and connecting like the following…
telnet openhab-berry-01 4445
Connected to openhab-berry-01.local.lan.
Escape character is '^]'.
Main.Power? <- type this command and then press Enter
Main.Power=Off <- this is the reply from the AVR
- Go into OpenHAB 3 and search for and install the NAD binding.
- Add a thing and choose one of the Serial connected AVRs.
- Configure the IP as the IP of the Raspberry-PI and using the port defined above (4445 in my case).
Going back into the Thing in OH3, when I click on the Code tab, my thing config looks like this…
label: NAD T-765 Surround Sound Receiver
I’ve not really put it through its paces yet, but I can turn the amp on and off from my phone.
Thanks @netwolfuk for giving the NAD binding a try. Glad you had some success and thanks for sharing the details around how you got the serial to IP connection working. Let me know if you have any issues I can help with.
Dave, I send you link to the old-style command set via direct message.
You’ll see how different the interface is.
I have Python code that deals with it if helpful.
Thaks for sharing Vadim. Seems like I need to learn a bit more about that command set. Will see if I can adopt it…
Works with NAD M17 Processor.
Good to hear the binding worked with the M17. Been planning replaced my T787 with this - the M28 amp has been back ordered for nearly a year now… so on hold till they are back in stock.
Hi NAD fans!
I installed this binding, created a thing with my IP and the standard Telnet Port 23 setting and my NAD T778 is up-and-running in openHAB3.
It even shows customised source-names correctly.
Thanks for trying out the binding @4SE , let me know if you find any issues. Enjoy!!!
Dave did you see this API integration document on the NAD website? https://nadelectronics.com/wp-content/uploads/2022/07/BluOS-Custom-Integration-API-v1.5.pdf
BluOS devices are fully open for integration using any method. Even just plain HTTP GET requests can be done. It is beautifull!
Yes, I was aware of the API. Prior to BluOs (nearly 20 years ago) I had invested in SONOS for my whole house audio. Hard to justify replacing it as my current setup does pretty much the same thing with respect to sound quality…
I see very hi cpu usage after installing the binding on both OH3 and OH4. Usage jumps just after the install, no things and channels added. Are you aware of that?
Thanks for the heads up. Can you provide a few more details to help me understand the cause.
- What OS and hardware are you running OH on?
- Does the usage remain high as long as the binding is running?
- What happens to CPU usage when you disable the binding?
Unfortunately, my NAD AV Receiver had to go in the shop for repairs, may take a few weeks before I can test things out…
Tested on OH 4.0.0 M5, RC1 and -1. Just after the binding is installed it ramps up the CPU up to 50…60%, even before adding any AVR as a thing. When a thing is added CPU jumps to 90…99. The hardware is an ASUS Mini PC PN41with Intel N4500. Actually I thing doesn’t work as expected and the binding throws errors in the log. I can post on request if you need. Another thing is that the added avr thing is stuck in UNINITIALIZED state, when disabled the CPU went back to ~50. After trying to delete the thing it stays in REMOVING indefinitely until I force the delete.