Virtual Panel Plugin

@Integlikewhoa,
It allows for new virtual ones. It may not be apparent at first glance but you can reference the state to the virtual panel that you create (itself). The actions can be a calls to an http API or a scene that has no logical device on the Vera. Think of the panel as a container that has storage. This storage then becomes a device that can be referenced from say… PLEG or the scene editor. The roadmap future also includes the ability to add triggers and user defined commands to this container. The current priority however, is a zag so the commands and triggers will have to wait.

Picture this, I monkeyed around with controlling my Marantz receiver without installing the Denon plugin through a Virtual Panel. I had some success but I only figured out the command for on and volume up before the boss of the house put a kaibosh on the effort. Good news was I could test the command repeatedly for on without having to run downstairs and turn it off. I suppose if she had been listening to music, I would have figured out the off and volume down commands. Sometimes it’s good to have a partner – willing or not.

When I get time I will roll some of this command structure code into the plugin but it is very rough right now. Today you can send the HTTP command but you cannot reference the current state of the external physical device. That however, is simply a matter of job scheduling and building an interface to let you create the jobs to acquire said state, then update the container so it can be used by features common on your Vera. A long task for sure, but one that is clearly marked. I may put limits on this to XML-RPC, SOAP, and Rest. Serial probably belongs in a dedicated plugin if it can be done at all without a very complicated marshaller. Then there’s the arduous task of mapping the results and processing failures.

@BOFH,
Thanks for your support, suggestions, testing, and general cheerleading. Fear not and no need for detox!

@mikelux57,
I am unfamiliar with the eco-device, perhaps my comments to Integlikewhoa will help with what the plugin is currently capable of regarding your polling. Anyhow, if I’ve interpreted your question correctly and you want a place to display the state, just use the service for the panel [urn:rstrouse-com:serviceId:VirtualPanel1] that comes up when you set the device to the panel. Although, even [urn:upnp-org:serviceId:VContainer1] will work just as well and it won’t require you to change your scene. Just give the variable a name (no spaces) that is unique within the service id and voila. In fact if you want to reference this state directly off the device that it is on then you can simply select that device from the dropdown and it will guide you to the service and variable where the information is located. Select the service id and the list of available variables for the service will appear in the dropdown below.

[quote=“rstrouse, post:61, topic:186313”]@Integlikewhoa,
It allows for new virtual ones. It may not be apparent at first glance but you can reference the state to the virtual panel that you create (itself). The actions can be a calls to an http API or a scene that has no logical device on the Vera. Think of the panel as a container that has storage. This storage then becomes a device that can be referenced from say… PLEG or the scene editor. The roadmap future also includes the ability to add triggers and user defined commands to this container. The current priority however, is a zag so the commands and triggers will have to wait.

Picture this, I monkeyed around with controlling my Marantz receiver without installing the Denon plugin through a Virtual Panel. I had some success but I only figured out the command for on and volume up before the boss of the house put a kaibosh on the effort. Good news was I could test the command repeatedly for on without having to run downstairs and turn it off. I suppose if she had been listening to music, I would have figured out the off and volume down commands. Sometimes it’s good to have a partner – willing or not.

When I get time I will roll some of this command structure code into the plugin but it is very rough right now. Today you can send the HTTP command but you cannot reference the current state of the external physical device. That however, is simply a matter of job scheduling and building an interface to let you create the jobs to acquire said state, then update the container so it can be used by features common on your Vera. A long task for sure, but one that is clearly marked. I may put limits on this to XML-RPC, SOAP, and Rest. Serial probably belongs in a dedicated plugin if it can be done at all without a very complicated marshaller. Then there’s the arduous task of mapping the results and processing failures.[/quote]

Thanks I haven’t tried playing with it, but I use multiswitches now along with pleg. Sounds like this can take that place in a few cases. Also have HTTP command being sent right now due to lack of some functions say in “open sprinkler”. The plugin is lacking and what I currently have to do is use a multiswitch then PLEG when the switch is on to send HTTP.

Thanks,

I’ll have to follow along to learn of its uses better.

Funny you should mention OpenSprinkler. My controller and expansion board arrived yesterday but I haven’t installed it yet. This weekend was going to be dedicated to that task but I will focus on getting 7.05 compatibility taken care of first. On the OpenSprinkler front, I might be asking you for help since you helped me decide to pull the trigger there.

@rstrouse: Is this what you were looking for to control your Marantz? :wink:

http://m.us.marantz.com/DocumentMaster/US/Marantz%202014%20NR%20Series%20-%20SR%20Series%20RS232%20IP%20Protocol.xls

Well that rolls the parameter list up into a nice little bundle without having to search for nuggets. I may I found this but it tried to authenticate me on their site so I hit cancel and slogged through the requests from the web interface. I wonder if they all work through the web server on the unit?

Thanks for that ;D

Hi rstrouse,

I understand the frustration and admire your persistence. Even for my simple work I spend more time reverse engineering than writing functional code. It is why I got a second unit that has close to nothing on so I can start and test more quickly, and then with each release things get messed up. The js api looks still too intimidating to me, all I know is how to use that for a settings tab. I will sure be interested in what you will make for this and please let us know when we can give it a shot again on 7.05. I sure will :D.

Cheers Rene

Alright, I worked on this for several hours last night and all morning. In the next hour or so I should have a deployment put together. I am testing the transition of panels built on v1.2 to v1.3. Anyhow, the new layout scheme has left us with only the space below the panel state icon. However, this space will continue to grow as needed. Anyhow, I modeled BOFH’s sensor panel and my garage panel from scratch. Here is the output.

I’ll post again after I get it put together.

You rock! Even if I have to redo my sensor panel it will be well worth having it graphically working correctly again. Is the ability to change text color (For the temps) a new feature as it looks great?

On the bad side, that means now I have no excuse not to start on my Yamaha receiver panel controlling the YamahaHTTP plugin. :slight_smile:

Yup, color, style, font, and text format are all new features as well as a horizontal rule.

OK enough answering my post. Back to work getting that deployment package ready. 8)

Seriously, thanks a tonne for spending your free time on this. Don’t get in trouble with your wife though…

Vera Firmware 7.05 gave a bit of heartburn and required a strategy change. The new firmware came with a new scheme for the static JSON. That being said I have posted v1.3 up.

NOTE: You must be running fw7.05 in order to use this plugin. Although prior versions will still create a panel and display them, use of the new control types will throw exceptions as they are rendered.

To install this update follow the instructions below. Do not uninstall the plugin

[ol][li]Download the VirtualPanel v1.3.zip file from the first post on this thread. [url=http://forum.micasaverde.com/index.php/topic,31128.msg223995.html#msg223995]http://forum.micasaverde.com/index.php/topic,31128.msg223995.html#msg223995[/url][/li]
[li]Unzip all the files into a directory on your computer[/li]
[li]Go to Apps → Develop Apps → Luup files on your Vera[/li]
[li]Drag all the files from the zip file onto the Drag & drop files panel on your Vera.[/li]
[li]After the files have been uploaded to your Vera click on the Serial Port configuration menu and press Reload Luup[/li]
[li]Refresh your browser[/li]
[li]After you have refreshed your browser go to each of the panels you have defined and modify at least one of the elements. You don’t need to make any changes simply press the save button to force Virtual Panel to update the static JSON file for the panel.[/li][/ol]

Prior to this release you positioned items within the panel using the top/left pixel positions. On the dashboard this is no longer the case. In order to position elements within the panel you must drag them into the order in which you would like them displayed. Starting from the top/left of the panel. There are two new control elements to assist you in formatting your panel. These include Line Break which will force the next control to start rendering below the previous one, and Horizontal Spacer which will force the next element to move to the right. As of right now the spacing value is some increment of 16 pixels. So if you give it a value of 3.2 it will move the next element to the right about 52 pixels.

Let me know if you have any issues.

Wow! You did a boat load of work here. Thanks for the conversion from the old layout as it only took me about 20 minutes to redo my panel. Half of which was tinkering with the horizontal spacers.

A few observations:
Somehow I am not able to get that size/color etc dialog to come up. Is there something I am missing? I click on the shadowed field that shows the variable and all it does is select what is displayed. No menu. Tried adding a new variable. Same issue. Could this be due to converting the old panel or is it because I’m using Mozilla Firefox? I do like the default selectable suffixed. Great idea!

GetVera’s redo of the layout is wasting some valuable space next to the device icon that could be used. A pity.

I’m no longer able to position text to the pixel vertically like I used to. To get eg my Doors and Motion text to align exactly to the baseline of the text in the buttons next to them. Same goes for horizontal placement. Eg I’m not able to get my actual temperature values to neatly line up like they used to do . I guess that’s due to the GetVera redesign of the layout and the ‘flowing’ design? I tinkered with horizontal spacers to get everything as ‘columned’ as I could.

Update: Color panel comes up in IE11 so it’s something in Mozilla Firefox. Neat trick to be able to type in one of the standard color names and it brings up the #RGB value.

@BOFH,

Yeah FF is probably not killing off the click after I process it. Since when you click anywhere within the dialog and the popup is open it closes the popup. So what I assume is happening is you are simultaneously opening and closing the popup with a single click. We’ll call that a feature for now but I’ll kill off that propagated event in the near future.

I’m hoping that the devs at MCV take a good hard look at the interface. All that real estate wasted at the top of the page, within the device panels, and to the left requires way too much scrolling. Maybe this plugin will help kick it up a notch. In my opinion the HS interface is butt ugly but it is probably more usable since you don’t have to do as much screen driving.

The beauty of the Vera interface doesn’t come from all its airiness it comes from the panel moniker. This is a proven interface that we see repeated all over the place. Almost everything with a knob, switch, button, or lever comes with a control panel. It does however, begin to need a bit of rethinking when… if you were to take all the switches out of the wall and line them up side by side/top to bottom then compare their physical space to their logical space. Which one is bigger? Believe it or not, less space would be consumed if you took a current switch panel, rotated it 90 degrees, and filled it with an actual size of a decora switch. Just a funny observation.

That vertical alignment is a nightmare. However, if you put a top margin on the label it may move it down for you.

@rstrouse: I figured it may be FF. I just tested it on Opera and the panel works fine there as well. Giving me 2 backups options for color design.

Thanks for the top margin tip as that did the trick and I agree that vertical alignment is a PITA now.

I’ll second GetVera looking at their IF. THat is way to much wasted real estate next to the icon. It would make the panels so much more compact. Which is very important when accessing the Web UI via eg their phone/tablet Vera app.

Thanks again for the hard work on this.

I am releasing a new version that contains new functionality required to support an upcoming online tutorial to walk you through creating a Virtual Panel. Consequently, it fixes some issues with Firefox as well as some other annoyances. I will try to post the tutorial tonight.

NOTE: You must be running fw7.05 in order to use this plugin. Although prior versions will still create a panel and display them, use of the new control types will throw exceptions as they are rendered.

To install this update follow the instructions below. Do not uninstall the plugin

[ol][li]Download the VirtualPanel v1.3.zip file from the first post on this thread. [url=http://forum.micasaverde.com/index.php/topic,31128.msg223995.html#msg223995]http://forum.micasaverde.com/index.php/topic,31128.msg223995.html#msg223995[/url][/li]
[li]Unzip all the files into a directory on your computer[/li]
[li]Go to Apps → Develop Apps → Luup files on your Vera[/li]
[li]Drag all the files from the zip file onto the Drag & drop files panel on your Vera.[/li]
[li]After the files have been uploaded to your Vera click on the Serial Port configuration menu and press Reload Luup[/li]
[li]Refresh your browser[/li]
[li]After you have refreshed your browser go to each of the panels you have defined and modify at least one of the elements. You don’t need to make any changes simply press the save button to force Virtual Panel to update the static JSON file for the panel.[/li][/ol]

I can confirm Firefox now correctly shows the popup. Thank You!

@BOFH,

Thanks, any issues?

No issues as far as I can tell. It’s cool being in the office and seeing the PIR buttons light up while my dogs roam the house and trigger them.

Next panel will most likely be one for my living area with all devices together for easy access.

How difficult would it be to allow a camera thumbnail to be included on the panel? ducking and hiding

@BOFH,

Hmmm… you knew that would intrigue me. Have you ever felt like all your joints were connected to a string? So Geppetto, what plugin are you currently using to display your cameras? I don’t have any and I really don’t have a need for them other than to play around. I don’t really need the alarm either as it is almost never armed but the sensors tell me when I left a door or window open somewhere in the house.

From what I can tell the addition of a camera image is pretty straight forward. Are you willing to test it out? We’ll start with what you are currently using and go from there if you are game.

One more thing, did you know you can replace any Variable Container or Virtual/Multi Switches with this plugin?

@rstrouse: On the intrigue part, can I take the 5th on that? :wink:

I don’t have a dedicated alarm either. Not with a couple of German Shepherds roaming around the living area. I started with a few camera’s so I could see what they were up to during the day and also if one got sick, to see which one that was so I could medicate the right one. One thing led to another and I added a few more cameras so I could see the drive and the back yard/side fence (as my neighbours dogs kept digging under the fence and getting in my yard). Then sensors went on sale and I got a few of those to alert me if I left a door open or someone came in. To cut a long story short. All doors have sensors now and all rooms that are locked during my absence have motion sensors. Just in case someone is stupid enough to try and break in. Then you came along with the virtual panel and first thing that came into my head was to combine all my sensors… :wink:

Myself, and a number of others use the BlueIris plugin that connects to the BlueIris software on my WHS2011 box and shows the camera feeds. (The reason is that Vera’s camera support is somewhat limited) Most other camera’s use the Vera foscam and vistacam plugins.

I’m more than happy to test it out for you. Or for all your excellent work, I’ll send you an IP camera to test with. Do you have a Windows box as you can run Blue Iris on that for free with one camera.

I’ve been considering migrating my multiswitch to one of your panels but I would need the button state to be able to be set via a URL like the Multiswitch plugin ones to be able to make it work for my setup.?