I tweaked/hacked the sample/demo in the tests demo to help with cross platform testing:
# https://github.com/glibersat/python-x10
from x10.controllers.cm17a import CM17a
serial_port_name = '/dev/ttyUSB'
serial_port_name = 'com11'
unit = 'A1'
unit = 'C6'
dev = CM17a(serial_port_name)
dev.open()
livinglamp = dev.actuator(unit)
livinglamp.on()
dev.close()
It fails with the following traceback:
abstract - 2016-07-09 12:37:29,289 DEBUG Writing 0xd5aa
Traceback (most recent call last):
File "test_serial.py", line 19, in <module>
livinglamp.on()
File "C:\Users\clach04\py\x10\python-x10\x10\devices\actuators.py", line 22, in on
self.x10ctrl.do(functions.ON, self.x10addr)
File "C:\Users\clach04\py\x10\python-x10\x10\controllers\cm17a.py", line 114, in do
self.write(self.DATA_HDR) # Send data header
File "C:\Users\clach04\py\x10\python-x10\x10\controllers\abstract.py", line 111, in write
self._handle.write(chr(aSequence))
ValueError: chr() arg not in range(256)
which is correct, chr() expects a single character, maybe this should be an aSequence.encode('latin1')?
This was with Windows and Python 2.7 but I don't think the platform/version have an impact.
As an FYI I've had success with the following firecracker (specific) modules under Linux and Windows:
I tweaked/hacked the sample/demo in the
testsdemo to help with cross platform testing:It fails with the following traceback:
which is correct,
chr()expects a single character, maybe this should be anaSequence.encode('latin1')?This was with Windows and Python 2.7 but I don't think the platform/version have an impact.
As an FYI I've had success with the following firecracker (specific) modules under Linux and Windows: