Author Topic: Virtual Panel Plugin  (Read 54353 times)

Offline BOFH

  • Sr. Hero Member
  • ******
  • Posts: 2371
  • Karma: +110/-137
Re: Virtual Panel Plugin
« Reply #30 on: March 07, 2015, 08:58:12 pm »
*laughing* That is actually the procedure I am following but I can't seem to get rid of some duplicate buttons.
1st attachment after deleting the duplicates - before reloading luup.
2nd attachment after luup reload finished and clicking back and panel layout (or browser reload). Duplicates are back.
The panel is a mess with overlapping buttons now. :)

I was tinkering with the layout options and created some junk but now I can't get rid of it. I edited an existing toggle button and changed the value for the Text field. Rather than updating the existing button, it created a new identical one with the changed value.

Panel configuration from the top +. Looks like a right mess.

{ "stateIcons": [ ], "elements": [
{ "controlType": "button", "offState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "0", "deviceId": "61" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"buttonStyle": "toggle", "position":
{ "top": "0", "height": "20", "left": "10", "width": "60" },
"display":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"text": "Front", "onState":
{ "command":
{ "action":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "action": "", "deviceId": "61" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "1", "deviceId": "61" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
{ "display":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
},
"text": "Entry", "position":
{ "height": "20", "top": "0", "left": "80", "width": "60" },
"offState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "0", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"buttonStyle": "toggle", "onState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "1", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"controlType": "button" },
{ "controlType": "button", "offState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "0", "deviceId": "63" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"buttonStyle": "toggle", "position":
{ "top": "0", "height": "20", "left": "150", "width": "60" },
"command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
},
"text": "Rear", "onState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "1", "deviceId": "63" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"display":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" }
},
{ "display":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
},
"text": "Side", "position":
{ "height": "20", "top": "0", "left": "210", "width": "70" },
"offState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "0", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"buttonStyle": "toggle", "onState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "1", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"controlType": "button" },
{ "display":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
},
"text": "Entry", "position":
{ "height": "20", "top": "0", "left": "180", "width": "70" },
"offState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "0", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"buttonStyle": "toggle", "onState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "1", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"controlType": "button" },
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
},
"display":
{ "serviceId": "", "variable": "", "value": "", "deviceId": "65" },
"text": "Side", "position":
{ "height": "20", "top": "0", "left": "210", "width": "60" },
"offState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "0", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"buttonStyle": "toggle", "onState":
{ "command":
{ "action":
{ "serviceId": "", "action": "", "deviceId": "65" },
"scene":
{ "sceneId": "1" },
"variable":
{ "serviceId": "urn:micasaverde-com:serviceId:SecuritySensor1", "variable": "Tripped", "value": "1", "deviceId": "62" },
"cmdType": "SetVariable", "http":
{ "username": "", "url": "", "password": "" }
}
},
"controlType": "button" }
], "deviceId": 65, "parentDeviceId": 64, "icon": "motion_sensor_tripped.png", "watchVariables": [ ], "ordinal": "1" }

« Last Edit: March 07, 2015, 09:05:57 pm by BOFH »
Vera3 UI5 UI7 Edge Plus
Trane TZEMT400AB32 | Schlage BE369 FE599 | GE 45601 45602 45603 45604 45606 45609 45631 | Intermatic HA01C HA03C HA05C HA07C CA600 CA3000 | Aeon DSC06106 | Telguard GDC1 | Foscam FI8910W FI8905W FI9821W | D-Link 930L | Wanscam JW0011 | ZModo ZPIBH13W

Offline BOFH

  • Sr. Hero Member
  • ******
  • Posts: 2371
  • Karma: +110/-137
Re: Virtual Panel Plugin
« Reply #31 on: March 07, 2015, 09:04:34 pm »
On a related question. Can I have a variable inside a toggle button so that the variable state sets the button state? I'm trying to use buttons for the sensors (see above) but they only allow set and not get. I am trying to use the button state to represent the sensor state rather than showing a 0 or 1 for that. I must be missing something.

And yeah, trust me to torture your baby and confusing the heck out of it in the process. :)

I'm just dicking around with this panel now to get to grips with how to llayour it. I'll probably delete it seeying how much junk I'm creating in it by doing so.   
« Last Edit: March 07, 2015, 09:09:20 pm by BOFH »
Vera3 UI5 UI7 Edge Plus
Trane TZEMT400AB32 | Schlage BE369 FE599 | GE 45601 45602 45603 45604 45606 45609 45631 | Intermatic HA01C HA03C HA05C HA07C CA600 CA3000 | Aeon DSC06106 | Telguard GDC1 | Foscam FI8910W FI8905W FI9821W | D-Link 930L | Wanscam JW0011 | ZModo ZPIBH13W

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 767
  • Karma: +25/-6
Re: Virtual Panel Plugin
« Reply #32 on: March 07, 2015, 09:50:10 pm »
On a related question. Can I have a variable inside a toggle button so that the variable state sets the button state? I'm trying to use buttons for the sensors (see above) but they only allow set and not get. I am trying to use the button state to represent the sensor state rather than showing a 0 or 1 for that. I must be missing something.

And yeah, trust me to torture your baby and confusing the heck out of it in the process. :)

I'm just dicking around with this panel now to get to grips with how to llayour it. I'll probably delete it seeying how much junk I'm creating in it by doing so.   

Thanks I'll take a look at your config.  You probably figured out a path that I didn't take.  By all means beat it up.  I'll plug the holes.  Having built software long enough to know that the specs on Vera exceed the first network server I built Fortran programs for, I am fully aware of the quickening process. 

As for the button, I'm pretty sure it will do what you want if you use button but choose the persistent or toggle style from the drop down.  The top variable sets the state on the button. 

That messy configuration it's supposed to look like a mess.  In fact that is what it looks like after it is run through a function to beautify it.  Sometimes there just is not enough lipstick.  The primary goal with this is to be able to export them and save them off so I can troubleshoot potential issues.  I thought about hiding it but right now your config will prove extremely helpful. 

1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline BOFH

  • Sr. Hero Member
  • ******
  • Posts: 2371
  • Karma: +110/-137
Re: Virtual Panel Plugin
« Reply #33 on: March 07, 2015, 10:09:33 pm »
I've been in IT for probably close to 30 years. Ranging from system analyst/software engineer to administrator, support etc. So yeah. I have experience looking for trouble.

The mess I was talking about was more mine than yours with all the duplicate buttons. For some reason when I change teh text on an existing button, be it toggle or multi-state, it will at times create a dupe button with the exact same specs instead of editing the original. Those dupes are quite persistent. I figured the config might help which is why I posted it.

On variables setting the state of buttons, the multi_state_button has the section to be driven by a variable. As does the persistent one. Both the toggle and momentary ones do not have the 'device variable to monitor' section. Only the Command section. (Pretty please with sugar on top ;) )  Can I have the device variable section for the toggle one at least? As those make great 'tripped' indicators that take up the least space. The variable monitor option works great on the multi_state I setup to monitor the House Modes plugin. As soon as the house mode changes to away, so does the multi_state to armed. I'll have it run a arm all sensors script for away and bypass all sensors script for Home..
My poor dogs are a bit miffed at me as I spent the last 2 hours tinkering with the plugin instead of paying them attention.
So time for them now... ;)

Another weird thing. Which also affects the InfoViewer plugin. When logged in via home.getvera.com the plugin will not load the panels in the manager or the panel config in the panels them self. It states it cannot find them. (No, I do not have secure my vera' set.) I have the same problem with the InfoViewer plugin. It cannot find it's page if I am logged in via home.getvera.com..
« Last Edit: March 07, 2015, 10:14:23 pm by BOFH »
Vera3 UI5 UI7 Edge Plus
Trane TZEMT400AB32 | Schlage BE369 FE599 | GE 45601 45602 45603 45604 45606 45609 45631 | Intermatic HA01C HA03C HA05C HA07C CA600 CA3000 | Aeon DSC06106 | Telguard GDC1 | Foscam FI8910W FI8905W FI9821W | D-Link 930L | Wanscam JW0011 | ZModo ZPIBH13W

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 767
  • Karma: +25/-6
Re: Virtual Panel Plugin
« Reply #34 on: March 07, 2015, 11:04:44 pm »
I gotta hand it to you a state driven toggle sounds like a pretty darn good idea and it puts the fun in funeral.  I'll get that pulled together.

The GetVera thing is probably an impersonation issue.  I will figure out how to cross authenticate to read the files.  Vera is doing it on their current ring so I know it can be done.

Those dupes are probably the result of something messing up the edit index.  Due to the way html is generated in the js files for config tabs a stray html tag can be pretty easy to create.  I'll figure it out.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline robw

  • Sr. Newbie
  • *
  • Posts: 31
  • Karma: +0/-0
Re: Virtual Panel Plugin
« Reply #35 on: March 08, 2015, 06:06:44 am »
Thanks folks - the Implementation File fix ( I_VirtualPanel.xml ) has sorted me - off to play  :)

Cheers

Rob

Offline BOFH

  • Sr. Hero Member
  • ******
  • Posts: 2371
  • Karma: +110/-137
Re: Virtual Panel Plugin
« Reply #36 on: March 08, 2015, 11:43:56 am »
Again, KUDO's for this plugin and your work. After playing with it, I'm pretty sure most of my dashboard will end up to be panels with controls grouped together to my liking. Eg by room or, like the Sensors one I'm tinkering with now, similar devices. Once you get the state driven toggles sorted, I can put all 10 sensors on the one panel, hook that up with the House Modes plugin and have the panel drive House Modes and vice versa. One quick view showing sensor status and a arm/disarm all button in a neat compact package taking up what 1 sensor would normally take up.
Vera3 UI5 UI7 Edge Plus
Trane TZEMT400AB32 | Schlage BE369 FE599 | GE 45601 45602 45603 45604 45606 45609 45631 | Intermatic HA01C HA03C HA05C HA07C CA600 CA3000 | Aeon DSC06106 | Telguard GDC1 | Foscam FI8910W FI8905W FI9821W | D-Link 930L | Wanscam JW0011 | ZModo ZPIBH13W

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 767
  • Karma: +25/-6
Re: Virtual Panel Plugin
« Reply #37 on: March 08, 2015, 01:15:33 pm »
@BOFH

Just to be sure, are you trying to set the tripped state on the sensor as well as display the state?  I think I might have two mods here.  One is to have a display only (indicator) button and one is to have a persistent toggle.  I modeled your panel with the Persistent style and had the wife run around the house opening windows doors and tripping motions.  It was like having a remote controlled human as the panel lit up on each trip.  I could then click the button and set the untripped state.  Only to have it trip again.  I assume your panel operates like the caddx.

Arming is a whole other story.  With a simple scene you can make virtual zones that disarm and arm different parts of the house using the Multi-State Button.  I really wish I could set the text on the button dynamically but I understand why Vera left this out.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline BOFH

  • Sr. Hero Member
  • ******
  • Posts: 2371
  • Karma: +110/-137
Re: Virtual Panel Plugin
« Reply #38 on: March 08, 2015, 03:09:35 pm »
@rstrouse: I would prefer a display only button (as in my tinkering I did inadvertently trip a few of my sensors) but one that  can both set and display tripped status does have merits. Please convey my apologies to your wife for being the cause of her exercise regime today. :)  But I do agree a display only button would be great. Especially if you could have it optionally display/monitor a variable. I'm thinking the temp sensors on my PIR's. 

I'm not running an alarm panel at this time. Merely a set of zwave PIR and door/window sensors that report to Vera. But I was never able to have the buttons display the tripped state although they worked to trip the sensors. Being divorced I just used my dogs to trip the various PIR sensors. (Pet immune mode does not work with a couple of 70 to 85lbs GSD) A couple of dog biscuits was all it took for them to be happy. But if your panel gets supported by any of teh app developers, you'll have some very excited alarm panel users being able to monitor their panel via yours.

I am thinking for me 2 multi-state buttons. One to Arm/Disarm all sensors and one to Arm/Disarm most of them. The latter is my normal use and just doesn't arm the PIR's in the main living area when I am at work and the dogs are home. The other I can use when I take them for a walk or a visit to the dog park.  I'm hoping the Monoprice shock sensor I have on order is supported by Vera as that will monitor the living area window even with the dogs home. I'm crossing my fingers is does not interpret barks as window breaks. ;)

I still have to find a way for Vera to know if my dogs left or still are home. I really don't want to buy them smart phones. I do have a pre-order on Whistle GPS collar trackers for them but Whistle sinceacquired Tagg and all references to Whistle GPS have gone from their website. For now I'm considering hacking a door/window sensor by adding a switch. Placing it above their leash rack. If if grab the leashes I can flip it to 'dogs gone'  and when we come back and I hang tehm up I can flip it back to 'dogs home'.
« Last Edit: March 08, 2015, 03:30:27 pm by BOFH »
Vera3 UI5 UI7 Edge Plus
Trane TZEMT400AB32 | Schlage BE369 FE599 | GE 45601 45602 45603 45604 45606 45609 45631 | Intermatic HA01C HA03C HA05C HA07C CA600 CA3000 | Aeon DSC06106 | Telguard GDC1 | Foscam FI8910W FI8905W FI9821W | D-Link 930L | Wanscam JW0011 | ZModo ZPIBH13W

Offline AgileHumor

  • Hero Member
  • *****
  • Posts: 984
  • Karma: +51/-27
  • KISS
Re: Virtual Panel Plugin
« Reply #39 on: March 08, 2015, 04:39:40 pm »
@rstrouse  just installed this.  Amazing work sir!
WMC Leviton:18xVPE06,8xVRS15,3xVRP03-W,2xVRR15,4xVRCS4,2xVRCS2,VP00R,8xVRS15 Aeon:5xDSC06106,4xDSC24,4xDSC25,12xDSB29,2xDSC11,4xDSB54,DSB05,3xDSA22,DSA38,2xDSA03202B,DSB09104,HEM Other:3xYale,12xHSM100v3,7xSP103,45604,WDHA-12,SSA2USR,EVLCD1T,6xWWA02A,7xIPC-HFW2100,URTSI,Hue,Russound,OpenSprinker

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 767
  • Karma: +25/-6
Re: Virtual Panel Plugin
« Reply #40 on: March 08, 2015, 04:50:13 pm »
@BOFH,

Doing some final testing now.  We now have a Persistent Toggle and can set any of the control actions to be display only.  In fact the toggles can even be one sided in other words they can be set to command one side of the toggle while blowing off the other.  This all the while reflecting the state. 

The delete issue was due to me being a language snob and not realizing lua was developed by academics for non-programmers.  Indexing is to say the least is non-deterministic.  It's funny how one can start with raw power like C and throw away the underlying pointers.  But, I suppose non-programmers don't do pointer arithmetic and from now on I won't rely on index positions in an array.  I should have realized my folly when I had to build my own hashing.

Anyhoo, when I finish my testing I will post up a v1.2 with the new features and the bug fixes.  The issue with reading the config remotely will have to wait for now as I am going to have to do some research on what is actually occurring.  I haven't found anything regarding impersonation in the Lua language.  Who knows maybe the problem is actually the path to the files and not permissions.

I have been busting up your panel config.  Take a look at the screenshot below (I had to hook it up to a switch since the wife no longer wanted to participate and my 7lb dog doesn't need anymore treats).  The Device Variable to Monitor reflect the state.  When the condition (Status == 1) evaluates to true the button will appear green.  If it evaluates false then the button will appear silver (it is actually gainsboro I believe). 

On the command side I have it executing a scene.  When the button is silver it will execute the scene Dock Lights On.  Consequently this turns on the dock lights which eventually changes the status variable on the Dock Light device.  Voila the button will change to green.  If the state evaluates to true then it will perform the action to be performed to change the state to off.  The state will change and the button will return to silver.

1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline a-lurker

  • Hero Member
  • *****
  • Posts: 747
  • Karma: +40/-7
Re: Virtual Panel Plugin
« Reply #41 on: March 08, 2015, 05:57:11 pm »
Great plugin - lots of flexibility! This will pull in a few UI5 users to U17 and may work well with this:

http://forum.micasaverde.com/index.php/topic,30931.0.html

On the I_VirtualPanel.xml install:  adding this to D_VirtualPanel.xml under the device tag should make the install easier:

Code: [Select]
        <implementationList>
            <implementationFile>I_VirtualPanel.xml</implementationFile>
        </implementationList>

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 767
  • Karma: +25/-6
Virtual Panel Plugin v1.2 Released
« Reply #42 on: March 08, 2015, 05:57:30 pm »
I know that I just put 1.0 up the day before and 1.1 yesterday but 1.2 adds some really great features.  And while I have a few of you on the hook to give me suggestions I will continue to keep the releases rolling.

To install this update follow the instructions below.  Do not uninstall the plugin
  • Download the VirtualPanel v1.2.zip file from the first post on this thread.  http://forum.micasaverde.com/index.php/topic,31128.msg223995.html#msg223995
  • Unzip all the files into a directory on your computer
  • Go to Apps --> Develop Apps --> Luup files on your Vera
  • Drag all the files from the zip file onto the Drag & drop files panel on your Vera.
  • After the files have been uploaded to your Vera click on the Serial Port configuration menu and press Reload Luup
  • Refresh your browser

After you have updated the files, you may need to save one of the controls on your panel and reload luup again.  This will refresh the command structure (for toggle buttons) as there have been changes to support the budding state engine contained within.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 767
  • Karma: +25/-6
Re: Virtual Panel Plugin
« Reply #43 on: March 08, 2015, 06:05:41 pm »
Great plugin - lots of flexibility! This will pull in a few UI5 users to U17 and may work well with this:

http://forum.micasaverde.com/index.php/topic,30931.0.html

On the I_VirtualPanel.xml install:  adding this to D_VirtualPanel.xml under the device tag should make the install easier:

Code: [Select]
        <implementationList>
            <implementationFile>I_VirtualPanel.xml</implementationFile>
        </implementationList>

Thanks for that tip.  I'll add it so that it goes out with the next build.  I sure hope mcv fixes some of the positioning quirks.  I'm sure I'll need to adjust if they do.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline BOFH

  • Sr. Hero Member
  • ******
  • Posts: 2371
  • Karma: +110/-137
Re: Virtual Panel Plugin
« Reply #44 on: March 08, 2015, 08:04:35 pm »
so after 45 minutes of tinkering I've attached the outcome. One panel taking the place of what would have otherwise been 13 device panels.

The Home button switched the HouseModes plugin between Home and Away.
The All Gone one runs a scene that does the housemodes buth also arms/disarms teh sensors in the living area.

A bit crowded but not bad for a 1st panel.
Vera3 UI5 UI7 Edge Plus
Trane TZEMT400AB32 | Schlage BE369 FE599 | GE 45601 45602 45603 45604 45606 45609 45631 | Intermatic HA01C HA03C HA05C HA07C CA600 CA3000 | Aeon DSC06106 | Telguard GDC1 | Foscam FI8910W FI8905W FI9821W | D-Link 930L | Wanscam JW0011 | ZModo ZPIBH13W