Perry The Cynic wrote:(I can email you the file if you would like)
Please do; it's a lot less error-prone.
Sounds good -- I'll email it to you in a few minutes.
Here is a trick: Open the plugin preferences, and in the Debug modules: field enter "ir".
When I do that for "ir" it finds the module but no debug hook:
- Code: Select all
Cynical Caché Error module ir has no internal debug hook
Perry The Cynic wrote:I may have found the place that eats your "c". In your hacked-up version of my plugin...
Bingo. That was it. It now works correctly:
- Code: Select all
Action Group cyn-gc100 IR blast
Cynical Caché send <NEC:74b2/2e> to <irdev.IREmitter object at 0x2f96e90> repeating 0
Cynical Caché SENDING: sendir,5:2,2,38000,1,1,342,170,22,21,22,63,22,21,22,21,22,63...,63,23,2200
Cynical Caché RCVD state: reply
Cynical Caché RCVD data: completeir,5:2,2
Action Group cyn-gc100 IR blast
Cynical Caché send <NEC:74b2/2e> to <irdev.IREmitter object at 0x2f96e90> repeating 0
Cynical Caché SENDING: sendir,5:2,2,38000,1,1,342,170,22,21,22,63,22,21,22,21,22,63...,63,23,2200
Cynical Caché RCVD state: reply
Cynical Caché RCVD data: completeir,5:2,3
However, I'm still seeing the other issue where it gets into a bad state and fails:
- Code: Select all
Action Group cyn-gc100 IR blast
Cynical Caché Error ignoring sendIR for unready device cyn-gc100-emitter 5:1
Action Group cyn-gc100 IR blast
Cynical Caché Error ignoring sendIR for unready device cyn-gc100-emitter 5:1
Action Group cyn-gc100 IR blast
Cynical Caché Error ignoring sendIR for unready device cyn-gc100-emitter 5:1
Steps that work on this end for reproducing the problem:
(update: I can also reproduce the problem just by stopping and restarting the server)1) Disable Indigo Communication (right-click on) the main GC Network Device. The device and its children devices correctly all transition to the
unavailable state.
2) Re-Enable Communication on the main GC Network Device. The device and its children device correctly all transition back to the
ready state:
- Code: Select all
Cynical Caché cyn-gc100 starting
Cynical Caché cyn-gc100-emitter 5:1 reset
Cynical Caché cyn-gc100 connecting to network device 192.168.1.183
Cynical Caché SENDING: mumblefrotz
Cynical Caché RCVD state: error
Cynical Caché RCVD data: 14
Cynical Caché SENDING: getversion,0
Cynical Caché SENDING: getdevices
Cynical Caché RCVD state: version
Cynical Caché RCVD data: 2.4-12
Cynical Caché RCVD state: device
Cynical Caché RCVD data: 1,1 SERIAL
Cynical Caché RCVD state: device
Cynical Caché RCVD data: 2,1 SERIAL
Cynical Caché RCVD state: device
Cynical Caché RCVD data: 3,3 RELAY
Cynical Caché RCVD state: device
Cynical Caché RCVD data: 4,3 IR
Cynical Caché RCVD state: device
Cynical Caché RCVD data: 5,3 IR
Cynical Caché RCVD state: devices done
Cynical Caché RCVD data:
Cynical Caché cyn-gc100 ready with 11 device(s)
Cynical Caché cyn-gc100-emitter 5:1 host device cyn-gc100 now available
Cynical Caché cyn-gc100-emitter 5:1 is now ready
At this point everything looks good, but when I then try to send the IR signal I get the "ignoring sendIR for unready device cyn-gc100-emitter 5:1" error. The strange part is that if I open the Action (not the device), press Edit Action Settings..., then Save back out of both dialogs everything is healed and it works correctly.
Perry The Cynic wrote:I'm trying to get some answers out of Global Caché about their firmware versions, and am a bit leery trying to support a wide range of versions. You do know that you can just send your old box in and they'll upgrade the firmware for free, right?
Yeah, I've been meaning to ship it off to them. I wouldn't worry about it too much, but I would appreciate it if you could include the changes I'm emailing since that seems to get it working pretty well at least for basic IR blasting. I have an old GC-100 spec I'll email you that shows the capabilities of the version I have. I didn't look at the IR receiving / learning side, but for basic operation and IR emitting the only thing missing were the get_IR and get_SERIAL calls that I modified to be skipped for older firmware versions.