Osborne-Hoffman (aritech/interlogix) support #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For testing purposes I've hacked Osborne-Hoffman (aritech/interlogix/honeywell) support into pysiaalarm/HA. OH+CID, OH+SIA or OH+XSIA it's called in documentation. As Honeywell is a major player, it would be great to get support in pysiaalarm.
The Osborne-Hoffman protocol is a simple TCP overlay protocol that adds Triple DES support, this starts with the server sending a scrambled 192-bit DES key to the client. After the key is sent client communication can start whereby each packet is padded with zero's (not your standard padding scheme) and encrypted with 3DES ECB.
Here is an example of a decrypted SIA packet:
01010053"SIA-DCS"0007R0075L0001[#001465|NRP000*'DECKERS'NM]7C9677F21948CC12|#001465
There are a couple of SIA hacks made by Honeywell, this is not in the SIA specifications:
f'{response_type.value}\r'.encode("ascii")
I somehow would like to store a setting that Osborne-Hoffman is enabled, and act accordingly. I should probably create a specific Osborne-Hoffman class. Right now I have no idea how to do add this nicely, so your suggestions are very welcome.