Wednesday, 19 April 2017
X10 CM19A Hard Resetter Kludge
I have an X10 CM19A USB Transceiver. This lets me send and receive X10 RF signals.. Though I am slowly phasing out my X10 stuff, I have a bunch of stuff I still use that's RF (only 1 powerline device which is next on the list to be replaced). My switches and motion detectors will probably stick around for another few years...
I stripped the antenna and added on a wire running to my duct work, this improved the range significantly!
This device works pretty well, but every so often it stops sending/receiving data from the PC and there's pretty much no way to tell when this happens... This problem persists through a system reboot and is only resolved with an unplug and replug. The issue seems to crop up after a few days to weeks of perfectly fine usage.
I tried to get Windows to turn off the device in software to no avail..
My solution was to automate powering the device down and resetting it...
I got a 2 port relay board and wired it to 5v, GND and 2xGPIO ports on my Raspi.
I also got a USB extension cable and carefully cut it open (It helps if you get a high quality cable, the wires aren't so thin). I pulled the Red +5v wire out of the twisted set and cut it, then wrapped the rest of the wires in foil tape. I then added 2 extension wires to either end and put the extension into the NC side of the relay board.
Keeping the inputs high normally keeps the relay off thus leaving the CM19a on, and a scheduled cron job in line with my system reboot time sets the GPIO pin low for 10 seconds to reset the device, then brings it back to high.