Jim14 wrote:I am wanting to make the remote easier to use for improved WAF. My idea is to make each device button sent codes to set up other devices properly. For example, to play a DVD the DVD needs to be on, the TV needs to be on and the TV needs to be using the svideo input. All these are toggle functions so I can see these easily getting out of sync and not working properly. For example the TV may already be on and want to stay on. For power functions I could detect LED power indicator or line current but that will get fairly complicated although doable - I will be running some IR through a PC that could do translation. I have even seen code to determine if video is valid or just noise. But I am looking for a simpler solution - best case would be something done in the remote. I think the hardest one will be input selection on tv. Any ideas?
BTW, audio amp is much easier as it has different on and off commands and all input selections are different codes.
I don't really see how to do it without some method whereby the remote can sense the state of your equipment. I have built 2 systems that are state sensing and I never even considered to put that into the remote. Using a PC to do the state sensing, is the equivalent of swatting a fly with a cannon and would be remarkably unreliable.
I used an ADI Ocelot home automation controller. Although that might sound really initimidating, it's actually a pretty simple device that can do IR input/output, though I skipped using IR input and opted instead for X10 as the input. I have an IR543 IR to X10 translator that is used to translate X10 IR to X10 pwrline cmds. Those pwrline cmds are received by the Ocelot which runs a PLC script that determines what "activity" is desired, based on which X10 cmd was recieved. The remote is programmed to send out a different X10 IR key for each different "activity". The Ocelot monitors the on/off state of each device that doesn't support discrete on/off cmds. It does that by various means, depending on the particular device.
For the TV, I have a current sensing transformer that monitors the current drawn by the TV and the secondary of that transformer is fed to an X10 powerflash interface that sends out a unique X10 pwrline cmd when it sees a voltage from the current sensing transformer. For my audio receiver, a simple wall-wart power plugged into the switched outlet on the back of the receiver and then fed to a powerflash interface module, does the job. In the end, the Ocelot always knows which devices are on at any time and so can skip sending pwr toggle cmds to devices that are already on. You can use the pwr sensing scheme to do some really cool stuff like whenever the power state of a given device changes from off to on, assume that the user wants to use that device and so, send out all the cmds to turn everything else on and configure everything for that activity automatically.
I have a master "all off" cmd setup on the remote that just sends a unique X10 IR cmd and when the Ocelot receives it, using the sensed pwr states for the non-discrete supporting devices, it can send or skip sending pwr toggle cmds to those devices. Those supporting discrete on/off, of course are just sent discrete off cmds. The more complicated of the two setups I have, executes up to a 30 step sequence to power on and get everything configured for a given activity. Each step is precisely controlled timing wise to conform to the requirements of each device. For example, my TV refuses to respond to cmds to change inputs for 5 seconds after it's powered up. So, if the Ocelot had to send a TV pwr on, no further cmds are sent to the TV for 5 seconds after that. Other equipment can be sent pwr on cmds and configured during that time. This particular TV lacks discrete input selection, but through some clever cmd sequences, I was able to get the equivalent of discrete input selection, though it's not particularly quick.
Originally, before I went with the Ocelot, I tried to do all of the pwr up macros through the remote itself, but it was very cumbersome to have to hold the remote pointing at the equipment for 15 seconds while the pwr on macro ran it's course. Now, with the Ocelot setup, the remote sends just one X10 IR cmd and the Ocelot does the rest.
Without true state sensing, you will encounter problems with the remote doing state tracking. Things get out of sync and non-tech savvy family members get very frustrated. The Harmony remotes try to smooth over what happens when their state tracking gets out of sync, by walking the user through a really lame help sequence, asking; is the TV on, or off? is the receiver on, or off? Depending on your answer to each question, they send or not, the appropriate cmd. Yeah nice try, but after you've already frustrated and alienated non-tech savvy family members with lesser out of sync remotes, they don't want to play 20 questions to get things working again.
I'm not saying that my Ocelot based state sensing scheme is 100% reliable, but it has the unique property of "self healing". That is, if the Ocelot somehow missed something and got out of sync (happens once or twice a year), a second press of the same button on the remote manages to resync everything.
A.A.