Open micromashor opened 2 years ago
On second thought, beyond the overall structure, it's quite likely that they use different opcodes, meaning different message structures. I'm going to start a google doc to take notes on this in the short term, available here.
This is super cool! Yeah I don't know much aside from the specific packets I had reverse-engineered for this app, so it's likely very different on your end.
Would you be willing to share the packet formats that you know? I'm not fluent with Go, so I'm not having an easy time interpreting the code. I wouldn't be surprised if the status info packets used the same format.
In the readme, you stated that you had pretty well figured out how the binary network protocol works. Would it be possible for you to provide any notes you have about how the network protocol works?
I'm currently trying to figure out how the bulbs communicate with the server, and it appears to use a very similar protocol to the one between the app and server, so any notes you have might be helpful. So far, all that I've been able to figure out is that the 5-byte message header is the same as the example you provided in the readme. The first byte seems to represent an opcode field, followed by a 32-bit message payload length field, which does not include the header in its length count.
Any information you have about the protocol would be greatly appreciated.
Thanks for all the work you've put into this!