05-18-2012 03:51 PM - edited 05-22-2012 04:00 AM
Dear Logitech, I'm appealing to you to unveil some of the mysteries regarding communicating with the Harmony Link. I'm sure I don't need to convince you of the benefits of a userbase creating more content for the Harmony Link, since opening the Squeezebox has proven that already.
I'm liking the Harmony Link a lot so far. I'm currently working on a Squeezebox plugin which would turn my amp on and set it to the right source when I play a song.
So far I've figured out that the protocol is XMPP, and I need to login via SASL with the auth type PLAIN. I feel like I'm very close. I'm experimenting using the PHP library jaxl as it has excellent debug capabilities. I'm setting the following values to log in:
The XMPP log looks like this:
[1:26058:0] 2012-05-19 00:34:03 - [[XMPP]] Socket opened to the jabber host 192.168.1.181:5222 ... [1:26058:0] 2012-05-19 00:34:03 - [[XMPPSend]] 180 <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="logitech.com" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace"> [1:26058:1] 2012-05-19 00:34:03 - [[XMPPGet]] 4096 <?xml version='1.0'?><stream:stream from='logitech.com' id='4d03eb6f' version='1.0' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'><stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanis
m>PLAIN</mechanism></mechanisms></stream:features> [1:26058:1] 2012-05-19 00:34:03 - [[XMPPSend]] Performing Auth type: PLAIN [1:26058:1] 2012-05-19 00:34:03 - [[XMPPSend]] 112 <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">AGphYXBAcGl2cm9lbi5ubBBjcExDQnVm MjQoKQ==</auth> [1:26058:1] 2012-05-19 00:34:03 - [[XMPPGet]] 4096 <failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-auth orized/></failure> [1:26058:1] 2012-05-19 00:34:03 - [[XMPPGet]] Unable to complete SASL Auth, see logs for detail...
Basically the authorization is rejected. Are there additional steps involved in creating the AUTH digest? Am I doing something wrong?
Thanks in advance!
Edit: In the meanwhile I have discovered that you'll have to get an auth token from a logitech WCF service using your regulare e-mail and password. With this auth token you can start a pairing process over XMPP, which results in an identity you can use to log in and start sending remote commands.
So, as always, it wasn't as straight forward as I first thought.
05-18-2012 05:13 PM - edited 05-18-2012 05:16 PM
Since there is no better alternative, and this forum is visited by Logitech employees it seemed worth the shot. And who knows, maybe another user has the answer I seek.
07-06-2012 02:03 AM
Is there a way that you can share your code so that other pepole can use this?
Because I want to create my own costum application that can talk to the harmony link.
10-11-2012 10:27 AM
I am very interested in your methods. I've decompiled the app which you can find here: http://www.datafilehost.com/download-9bb129ce.html
Maybe this will help you setting up the protocol as I am also very interested in creating some kind of webservice to it for a computer app or something. Not satisfied with the app that's for sure.
10-17-2012 10:24 AM
could you please explain the login process a bit more? I really would like to dig in there, but I need a bit more info to get started.
Thanks and best regards,
10-18-2012 12:16 PM
If you guys can figure out a way to bypass the Harmony's need to 'phone home' every time you use it and createsome type of executable code that can import that change to the unit, that would be a huge help for everyone that uses the Link.