-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Requesting feedback #3
Comments
Hello Bas, Interesting question. Can you try the following for the RED zone: Can you give the following command a try: I believe that will return a static string: 'ff 55 02 81 00 7d'. I don't believe it can change much, but I'd give it a try, maybe it returns a second answer (or perhaps it isn't that static after all). This one might be also interesting: Not sure what it will return, but give it a try. If you want I can send you the stripped (but raw) data for the red zone. At this moment I don't have a Dynaudio Connect setup, so I rely on you to test the results (which I'm fine with, but it's not really efficient). Regards, Maarten |
Hey Maarten, Sorry for the late reply and thanks a lot for the additional information! I have tested the three commands you mentioned:
If you'd have the raw data, I could perhaps put it to some good use. Also, I am quite interested to know how you figured all of this out to begin with. My hypothesis is that you monitored the TCP traffic of the Android app? Or is there an easier way? Kind regards, Bas |
Adding raw tcp streams so it can be dissected further (issue #3).
Hello Bas, I've added the files to repository, so enjoy digging! Please share any results so I can update the manual accordingly (or create a pull request of course). As for the second command, I assume you mean it switched over to the USB input? If so, it would be interesting to know what the difference is with the command I previously found. And for the method I used to get this data, well that's indeed through the method you described. I routed the iOS app via my computer, used Wireshark to monitor and record the data. All in all, it didn't take much time to figure this one out. By triggering the same command a number of times you're bound to see the pattern soon enough. Regards, Maarten |
Thanks for all of your info! It will take some time to digest all of the material, but I will definitely keep you updated. :) |
Hi Maarten, hope all is well! Just wanted to let you know that it took me two years and the best part of a pandemic to get to it, but I am finally able to answer the long-burning question "how can the Dynaudio iPhone app possibly know the state without sending a functional command" in an effort to optimize my home automations even further after some efforts this evening. I have tried all the commands from the Wireshark output to no avail. But then I wondered, what would happen if I keep the socket open instead of immediately closing it after sending the command? As it turns out, a whole lot. Every few seconds, the Connect unit sends a hex-string of 14N bytes, where N denotes the number of speakers connected to the unit. Every 14 byte sequence corresponds to a speaker, and the speakers appear in random order, swapping places often. An example of such a string would be FF 55 0A 31 52 7F 01 02 05 01 00 00 01 EA. The pattern is very similar to command and feedback notations. This is what the every byte does (where not noted, coding is equal to your current documentation): Note that when you turn a speaker off, its byte output disappears from the string. Only the last string reports power off state according to the above once, before all periodic output disappears. With this, it should be possible to reconstruct the state of the Connect without sending junk commands. Downside is you have to keep the socket open, but that's manageable for my application. Expect a PR extending your documentation sometime in the future, after I have put this knowledge into good use in the Home Assistant Integration. Thanks again for all your work and help! Regards, |
Hello Bas, Thanks for deciphering this message and looking forward to your PR! Kind regards, Maarten |
Some more remarks/notes to myself before PR/rewrite (not overly interesting for my use case and I would expect you are already aware of these): Command ff 55 01 1e e1 returns an overview of available zones Command ff 55 01 11 ee returns an overview of the device name, currently used hub configuration and available sources |
Hi! Thanks to your API, We were able to build a basic Connect <-> Home Assistant integration (https://github.com/jvSomeren/ha-dynaudio-connect). A question I still had was if it was possible to send a command specifically aimed at receiving feedback, without changing any setting on the Connect. Currently, I am requesting feedback by means of a command to an unused zone, but I was wondering if there was anything better?
Thanks again for your documentation, it has been a great help :)
The text was updated successfully, but these errors were encountered: