Okay, I checked the docs and here are all of the codes you will have to worry about:
The odd thing is that the checksums that they mention don't seem to be correct (assuming that they are using XOR).
Original:
5501010200000059 Make #1
5501010002000059 Make #2
5501010000020059 Make #3
5501010000000259 Make #4
Instead try this if it doesn't work:
5501010200000057 Make #1
5501010002000057 Make #2
5501010000020057 Make #3
5501010000000257 Make #4
Original:
5501010100000058 Break #1
5501010001000058 Break #2
5501010000010058 Break #3
5501010000000158 Break #4
Instead try this if it doesn't work:
5501010100000054 Break #1
5501010001000054 Break #2
5501010000010054 Break #3
5501010000000154 Break #4
Original:
550101020202025F Make All
550101010101015B Break All
5501010000000057 Check Status
Instead try this if it doesn't work:
5501010202020255 Make All
5501010101010155 Break All
5501010000000055 Check Status
And then, just for you, I installed Python and DreamPie and used this snippet of code that I found over at Stack Overflow:
import binascii
binascii.unhexlify(b"55010102000000")
Running this returned:
1: b'U\x01\x01\x02\x00\x00\x00'
>>>
Which is what you are looking for. You would add either the original checksum byte which converts to a 'Y' in ASCII (so the string would end up being: b'U\x01\x01\x02\x00\x00\x00\Y'), or if that didn't work, try: b'U\x01\x01\x02\x00\x00\x00\W'.
import serial
ser = serial.Serial(
port=COMx',
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
make1 = "x55\x01\x01\x02\x00\x00\x00\x59" #use 57 if 59 doesn't work. Heck try them all
ser.write(make1)
You can create strings for all of the different makes/breaks and then try them out. (Notice that the 'U' has to be converted to its hex equivalent, aka, the '55')
Keep in mind that my experience in Python started at, oh, about 45 minutes ago. So if (when) it doesn't work...