Cable boxes, TV's, and Blu-ray's are not very good two-way communicators. Further, cable boxes are very difficult to control because they don't offer an ON or OFF command, there is only an ON/OFF toggle. Whenever possible, use equipment with discrete ON and OFF commands. Quality units offer these services. Sometimes for Blu-ray's one must use PLAY to turn the unit ON. Once you know that the unit is ON, you can use POWER to turn it OFF, but they will usually turn OFF on their own if you ignore them long enough.
In your AirBNB environment, I suggest that you add a sensor of some sort to the cable box and sense it's power state. This could be a video, light level, or power sensor -- depending on the box. This will always be a fragile situation because the cable company could swap out the box and break your sensor scheme. Failure to do this will eventually result in a user manually turning OFF the cable box and frustrate your control scheme.
Make sure that your macros can bring the system up in a known state -- even after a demented teen has been tinkering. This may mean adding extra commands that slow things down, but offer more reliability. Don't use direct IR from the remote, use a controller to issue IR commands. (Because you cannot assume that the user will point the remote in a good direction or hold it steady until all of the commands are issued.)
In one similar application I had to add a 30 second delay to lock up the user interface while the Blu-ray player was booting. Otherwise, an impatient user might try multiple commands to get the thing going -- possibly leaving the system in an undefined state.
Also, you'll need a rapid response plan in place for use when the dog eats the remote. This might mean keeping a pre-programmed spare remote nearby. If there are multiple rooms, you need a scheme to deal with this. You could use a simple glued on label or text on the screens to indicate which room is being controlled. I like to allow all remotes to control all rooms, but this complicates the program and, if you are not careful, might wreck the ease of use factor of the remote. The "all room" approach allows the tenant to immediately deal with a failed remote situation without having a dead or stuck ON room.
Personally, I prefer RTI for this sort of application because the RTI programming tools are a little more flexible.
Last edited by buzz on April 29, 2017 20:18.