Charmed Quark Systems, Ltd. - Support Forums and Community

Full Version: Command to change overlay on a remote IV?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So I continue to make progress in my goal of having the touchscreen adjacent to the front door display the door camera when the doorbell rings.

The last step I need help with is how to get the remote IV to change the main screen overlay without manual intervention? I really cannot figure out how to go about this remotely.

I already have a trigger sent from my CQC server which starts a batch file at the remote machine. What could you suggest to get this to work? A push in the right direction is what I need.
robolo Wrote:So I continue to make progress in my goal of having the touchscreen adjacent to the front door display the door camera when the doorbell rings.

The last step I need help with is how to get the remote IV to change the main screen overlay without manual intervention? I really cannot figure out how to go about this remotely.

I already have a trigger sent from my CQC server which starts a batch file at the remote machine. What could you suggest to get this to work? A push in the right direction is what I need.

You will need to use the IV driver to get the overlay to change.

You will need cause some sort of driver field to change so you can trigger an event off of it and then write to the IV driver to get the overlay to change or maybe you can send something to the IV driver itself. It listens on a socket I think, but I don't know if the protocol is documented.
This is all correct, I'll add some more information.

You need to make sure you set up the IV with a remote port when you installed the CQC programs on the machine you wish to be able to control. If you didn't, or just are not sure, run the installation program again on that machine.

Once the ports are set up, then you load the Interface Viewer Driver from the Admin Interface. Once the driver is loaded and connected, then you use the action commands to send the driver commands.

For example, use the command "LoadOverlay" to do what you are asking. As noted in the documents, you need to "\User\MyTemplateName" when refering to which template you want to load. If you simply put the templates name in the driver field, it will not work. You must start with "\User\" and then the template name for it to work.

Check out the driver document for more information.
Thank you gentlemen. That is just what I needed. I didn't realize there was such a thing as an IV interface driver.
Keep in mind that that stuff was intended for the "10 foot display" type of thing. It's not guaranteed to work correctly if someone happens to be interacting with the IV when you send the command. It might die on you if that happens.
To use the IV interface driver I will need to add CQC Server to the remote machine. I was trying to avoid this as my remote machine is an HP5700 with limited resources. In fact I was trying to get to the point where I can use the RIVA client on this machine.

Will the CQC Server require much more resources on this machine? It is already running slower than I would like.
You could do it, but you'll want to wait for the 3.0.13 beta drop (probably in a couple days.) You could actually do it in .11 or .12 but there was an upgrade issue introduced in .11 so best to avoid those two beta versions and just wait for .13. You'd do it like this:

1. Set up a field trigger that will go out when the door bell rings.
2. Set up an event based action in the base template and have it filter for that field change trigger and set a global variable. Make it a time based field and store the current time in it when you saw the door bell.
3. Set up the base template with a timeout for the minimum time, which is like 5 seconds. In the OnTimeout of the base template, look at that global variable. See how many seconds since it was set, then zero it back out.
4. If it's only been, say, less than 10 seconds or so since it was set, then flip to the overlay you want. Otherwise probably you were in a popup and have now come out and the door bell ring was a good while back.

The OnTimeout only happens in the top-most template/popup, so it'll only do something if no popups are up. But if you are in that base template and the bell rings, you'll get the event and set the variable. The next time the OnTimeout goes off you'll calculate the number of seconds and see it's just happened very recently, and send a command to the overlay to load.

Something along those lines. It keeps all the logic really in the viewer and doesn't depend on triggered events and such and will work in a standalone viewer mode.
Dean,

Exceptionally creative solution! I like it.

I will definately try that implementation. For now I have a program "AutoHotKey" which has recorded a mouse click at the spot where the door camera command button sits. I launch that mouse click script remotely from the CQC Server.

Will keep an eye out for the next drop.