ScottM
2011-11-17, 07:26
This is somewhere between a rant and a question. I'm looking for complete and in-depth protocol descriptions of what happens between the client and the server, for the newer forms of Squeezeboxen. Does it exist?
Here's the backstory. I have 3 Squeezebox classics. I like them, but they aren't going to last forever and sooner or later I will have to buy newer forms of squeezeboxen. I've written my own server for them - the reasons are complicated, but the upshot is that I needed a bunch of behaviours and features that weren't available in Logitech's offering. The server is nothing like Logitech's (no web interface, a different CLI *that's never going to change out from under me*, vastly different abilities). I use it in my home automation - my squeezeboxes talk and flash at me if the doorbell rings, if someone I like calls me, if severe weather is coming, if it's time to get up, if an event on my calendar is coming up, and if the house is flooding. Oh, and they also play music on demand. :-)
Here's the deal, though. It took months to write working code to talk to a Squeezebox Classic at firmware rev 81. Online documentation was incomplete to put it very politely. I spent hours in wireshark, asking questions around this forum, and working around bugs. Nothing I'm going to go through again.
So I suppose I'm asking if Logitech is ever going to get serious about publishing ***complete*** protocol specs for the various squeezeboxen hardware. (Or if they did, and I missed it, where is it?) If the answer is "no", fine - maybe my next project will be to build my own version of a squeezebox, and abandon Squeezebox entirely. But if the answer is "yes", Logitech can probably count on on a few more sales out of me - and possibly, if I commercialize my server, some extra sales out of home automation enthusiasts.
Anyone got any insight into this question? Yes, I know I can download the Logitech server and spent months reading Perl. I've been down that road and it leaves a lot unanswered, not to mention being much more difficult than I'd like this to be. Specifications are better than code.
Thanks.
Here's the backstory. I have 3 Squeezebox classics. I like them, but they aren't going to last forever and sooner or later I will have to buy newer forms of squeezeboxen. I've written my own server for them - the reasons are complicated, but the upshot is that I needed a bunch of behaviours and features that weren't available in Logitech's offering. The server is nothing like Logitech's (no web interface, a different CLI *that's never going to change out from under me*, vastly different abilities). I use it in my home automation - my squeezeboxes talk and flash at me if the doorbell rings, if someone I like calls me, if severe weather is coming, if it's time to get up, if an event on my calendar is coming up, and if the house is flooding. Oh, and they also play music on demand. :-)
Here's the deal, though. It took months to write working code to talk to a Squeezebox Classic at firmware rev 81. Online documentation was incomplete to put it very politely. I spent hours in wireshark, asking questions around this forum, and working around bugs. Nothing I'm going to go through again.
So I suppose I'm asking if Logitech is ever going to get serious about publishing ***complete*** protocol specs for the various squeezeboxen hardware. (Or if they did, and I missed it, where is it?) If the answer is "no", fine - maybe my next project will be to build my own version of a squeezebox, and abandon Squeezebox entirely. But if the answer is "yes", Logitech can probably count on on a few more sales out of me - and possibly, if I commercialize my server, some extra sales out of home automation enthusiasts.
Anyone got any insight into this question? Yes, I know I can download the Logitech server and spent months reading Perl. I've been down that road and it leaves a lot unanswered, not to mention being much more difficult than I'd like this to be. Specifications are better than code.
Thanks.