TV remote: controlling lights
My current TV setup consists of an LCD TV and a cable decoder. Every time I want to watch TV I had to grab both remotes:
– Philips TV remote
– Humax Decoder remote
(which btw is the best and intuitive remote I have ever seen!)
Challenge: get rid of the TV remote
Requirements
- Homeseer 2.x
- IRtrans with its free Homeseer plugin (available in Homeseer ‘appstore’)
How
I found unused buttons on my Humax remote that could be used for other purposes. The result is 2 buttons that turn on/off both the TV and the cable decoder.
How does this work? When sending these unused IR signals to the Humax, these are also captured by IRtrans and send to Homeseer. Homeseer events are triggered by these IR signals.
button 0 : Switches ON both the Humax and Philips
NOTE: The “0” button on the Humax turns ON the humax. It’s like an IR discrete “ON” code.
button “LIST”: Switches OFF both the Humax and Philips
Details
Here’s the Homeseer events used to turn on/off the TV and Humax.
Event “Watch TV” (ON)
condition: receive IR code Humax “0”.
run script: &hs.writelog “TV”,”Received HUMAX 0: TV and HUMAX ON“
Explain what’s happening in the HomeSeer log
Why? With disabled event logging this tells you what happened in a small compact format
run event: Philips TV ON
run event: Humax ON
Event “Stop watching TV” (OFF)
condition: receive IR code Humax “LIST“.
run script: &hs.writelog “TV”,”Received HUMAX LIST: TV and HUMAX OFF“
Explain what’s happening in the HomeSeer log. Why?
With disabled event logging this tells you what happened in a small compact format
run event: Philips TV OFF
run event: Humax OFF
The Philips TV ON/OFF scripts basically send IR commands to the Philips TV. Same applies to the Humax scripts. Most of the commands send are discrete IR commands.
Example: On/Off button on remote TOGGLES the on/off state. A discrete ON command will only turn on the TV, regardless how many times you send it.)
Optional:If the TV is turned on between 12:00 and 14:00 during the week an additional “LIST” command is send to the Humax decoder which will list all recorded programs. Why? IF I lunch at home during the week I usually watch some recorded TV shows or news.
Other buttons on remote
As the Humax remote has more buttons that are unused or unimportant I started using them to control other devices such as TV video sources and Lights.
Each assignment has its own event. Example:
condition: receive IR code Humax “A-B“.
action: Toggle Device A2 (on/off)
NOTE: some remotes, like the one you get with Ziggo’s Cisco decoder and the Humax 5200 allowsyou to switch between devices using a single remote. This is perfect. Now you can define a 2nd “TV” which actually triggers lights and other Homeseer events.
Example: Humax 5200 remote (RM-F04)
What you can do: Program a non-existing device under (for example) “DVD”: Denon DVD player
Next: Click “DVD” button and in Homeseer learn “DVD” keys 1-5.
Now create Homeseer events that switch the light when this IR signal is received.
Event “IR_Lamp_3”
condition: receive IR code “Humax _DVD_3”
run script: &hs.writelog “TV”,”Received HUMAX Remote: DVD key 3″
Why explain what’s happening in the HomeSeer log?
With disabled event logging this tells you what happened in a small compact format
run script: &hs.ExecX10 “L3“,hs.StringItem(“,OFF,ON”,hs.DeviceStatus(“L3“),”,” )
Explanation of hs.ExecX10 command
Script: &hs.ExecX10 “L3”,hs.StringItem(“,OFF,ON”,hs.DeviceStatus(“L3″),”,” )
Script: &hs.ExecX10 “<device>”, <command>
Command:
hs.StringItem(“,OFF,ON” ,hs.DeviceStatus(“L3”),”,”)
hs.StringItem(<string to search>, <number to return>, <seperator>)
hs.StringItem(“,OFF,ON” , 2 , “,” )
DeviceStatus: returns actual status of L3: 2=ON or 3=OFF
L3 is currently ON (devicestatus 2)
So within the string “,OFF,ON” it will take the 2nd instance, separated by “,” (comma)
Because it starts with a comma, the 2nd instance is “OFF”.
RESULT: &hs.ExecX10 “L3”, OFF
L3 is currently OFF (devicestatus 3)
So within the string “,OFF,ON” it will take the 3rd instance, separated by “,” (comma)
Because it starts with a comma, the 3rd instance is “OFF”.
RESULT: &hs.ExecX10 “L3”, ON