A couple of things to pay attention to if you want to extend the library.
1. Most of the commands end with a <CR>, but a few, like the search commands, don't.
2. You never send binary data - everything is ASCII. If you want to send the byte representing 10, you send the two ASCII characters "A" and "0" (zero). Commands that require a length byte use this character coding.
3. The Write command is actually a write/read command. It uses the same method as the underlying 1-wire protocol. If your command will return 4 bytes, you append "FFFFFFFF" to the command. After you issue the write command to the HA7S, the device will echo back the command. The data being read will be AND-ed with FFFFFFFFFF, so that's where to look for your response.
Although I've written tons of code over the years, this is my first C# code, so any comments on style and techniques are welcome.