Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

API docs or it didn't happen.

Looks like a cool project, I just find it hard to believe he used wireshark to figure out the API on his own, given that he acknowledges:

    I took a few bits from @n1mda's project: https://github.com/n1mda/sonos-objc
Sorry to be cynical, my BS meter just went through the roof.


Hey, I'm n1mda. Cool to see this project on HN! I made sonos-objc on my spare time, and it's not too hard to reverse the API with Wireshark.

Perhaps I could continue developing a Sonos API for SonosKit (I have a few improvements on a local repo)


It's not really that novel. When I wrote a Sonos client (2007) there were a few out there already. Getting things working did involve a lot of time in Netmon (nee: Wireshark), and reading UPnP specs.

https://github.com/NathanHowell/Sonority https://github.com/NathanHowell/upd2 <-- update image extractor

A few of us went a bit further, found some telnet backdoors and cracked the root password.


Once you figure out all the different service types you can visit http://<SPEAKER_IP>:1400/xml/<SERVICE_NAME>1.xml to get a better idea of the types of things you can do. This was a helpful post after I started poking around: http://blog.travelmarx.com/2010/06/exploring-sonos-via-upnp....



This has migrated into its own project (I don't think Rahim is officially affiliated any more): https://github.com/SoCo/SoCo

Also, the author used his own Sonos library written in ObjectiveC rather than Python: https://github.com/nathanborror/SonosKit


Yup, that's correct, though the old library in my repo still works and is used by some folks, maintenance of SoCo is handled by a group of very talented and friendly developers under https://github.com/SoCo/SoCo

It looks like the author used SoCo for the Raspberry Pi project mentioned at the bottom of the article.


Hey Rahim - you did great work on that project. I've used it a few times with an RPi to control my household. Works like a charm!


SoCo was a big inspiration :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: