PLEG Next Gen UI

@RTS

Thanks for letting me know what the expected response should be. I don’t see “XXX Saved!” displayed. Otherwise, everything appears to be working okay. I am evaluating your new functionality on a VeraEdge so perhaps I will try again later with a VeraPlus.

I added all of these messages to better understand how the VERA API’s are working.
If there is an error … you should also have a popup that says:
"Error Saving: XXX

So at least your are not getting the error response.

This is all part of the Quality of the API I have been complaining to MCV about.

[font=trebuchet ms][size=small]@RTS,

Installed on my VeraPlus, tested it, and I see the same behavior as I described above for the VeraEdge. (i.e. Saving ConditionMap! display for several seconds. Don’t see Saved ConditionMap!).

It is probably better to be suffering from a UI7 performance bug than a UI7 saving bug.

Reminds me of the joke: “Every tester has the heart of a developer … in a jar on their desk.” [/size][/font] :wink:

[font=trebuchet ms][size=small]@RTS[/size][/font]

[font=trebuchet ms][size=small]Please refer to the attached screenshot. I just noticed that this new functionality no longer automatically removes previously defined Device Actions for devices that are no longer in Vera. The new edit functionality displays the device as undefined where it can be manually removed. Is this behavior intentional?[/size][/font]

Yes I removed that logic because the plans are to validate and offer to Rebind or Remove via a GUI interface and not just remove them.

This is to support the following use cases:

  1. Repair/replace device in current system.
  2. Restore to a new platform where I rebuilt my Z-Wave mesh from scratch.
  3. Import a template PLEG into an existing PLEG (i.e. a Smart Dimmer Light/Motion with Manual Override template)
    potentially multiple times.

All of these have unbound devices in the current definition that need to be bound to actual devices in the current Vera system.

[font=trebuchet ms][size=small]1. Will PLEG Next Gen UI include functionality to notify users that there are undefined devices when or shortly after the condition first occurs? Or notification when one happens to open the specific instance of a PLEG with that condition?[/size][/font]

  1. Will next PLEG Gen UI include functionality to view a list of PLEG devices that a particular device is used in?

[font=trebuchet ms][size=small]3. Will next PLEG Gen UI include functionality to view a list of PLEG devices containing one or more undefined devices?[/size][/font]

Richard,

When I press the Remove button in the Editor Actions for Condition c1 as shown in the attached screen shot, I see the message Saving actions appear and later disappear. However, the row for Condition c1 does not disappear until I navigate away from and then return to the Logic Actions tab.

@BrianLBeaton I fixed the problem you reported and uploaded the new J_PLEG2.js to the forum.

I have moved the files to the first entry in this thread to be easier to find updates.

[quote=“RichardTSchaefer, post:48, topic:191538”]@BrianLBeaton I fixed the problem you reported and uploaded the new J_PLEG2.js to the forum.

I have moved the files to the first entry in this thread to be easier to find updates.[/quote]

I installed the new J_PLEG2.js file on my unit and retested it. The problem I reported is resolved. Thanks.

Here is a Snap Shot of the “Structure Editor” in the New UI.

This is a “Subset” of one of my PLEG instances. I set the focus to one of it’s Inputs, It showed all the logic that was effected by that Input (tGRWindowL) as well all related Inputs, Conditions and Actions and Notifications.

There is an Auto Layout … But it’s not pretty … I moved the Nodes around manually for this snapshot.

The Next Gen will allow “Exporting” this subset as a template that can be saved and used by others, or moving to another PLEG instance.

I have been playing with a tool called node-red (http://nodered.org/) you might get some UI insperation or techniques there.

So far I find the interface easy to work with and have it running on a PI and interacting with my Vera.

What interactions have you done between node-red and Vera ?
If you read earlier you will see that having an Action(Output) and Input for a node-red server is on my objectives.

I will have to admit my test interaction with Vera is very simple. My main goal was to learn and think of ways to offload work that I normally have my veralite doing. Unfortunately my Vera does not always seem as stable as I would like.

Currently I have a PI running BLE discovery looking for tokens. As tokens enter and exit the area, the status of a virtual switch is updated. I then use the virtual switches as indicators whether something is in or out of a specific area. The status is then represented on my phone or through alerts.

Now I plan to look what other’s are doing (http://flows.nodered.org/ or https://www.npmjs.com/) with zwave and Vera. I am starting to think of writing a binding for the Vera although I am not sure if this is a good platform for this or not. The alternative would be to just use something like OpenZWave (GitHub - OpenZWave/node-openzwave-shared: OpenZWave addon for Node.js (all versions) including management and security functions).

I still am not sure how far to take node-red but so far my test has been running for a number of weeks with no noticeable issues.

What thought do you have and how do you see your personal setup evolving?

Richard,
Have you seen what AMG0 is doing with AultUI Workflows? http://forum.micasaverde.com/index.php/topic,36868.msg274866.html#msg274866

Maybe you guys could collaborate… he has done amazing work with AltUI

Folks,
I have dropped the next Beta Version of the UI. (See the First Entry for access to the files)
This version has editing capabilities for features that are NOT yet supported by the run time …
Anything that the commercial version can do can be edited in this Version.

 New Changes:
 1) Should be able to be opened in AltUI on Vera.
     Does not have support for Graphical Actions yet.
     This is an important step for supporting OpenLuup.
 2) You will notice the RelationShip Graph.
      If you have a LARGE PLEG this will be very busy.
      Use the "Focus" "Select"  to focus on one or more conditions,  and/or inputs  and/or a Vera Device.
      Note: the "Auto Layout" button .. it will be disabled when you mouse into the Graphical Window.
      Note: The "Device Relationships" this can add additional, non-runtime relationships for device in your logic (Inputs and Actions).
      Note:  You can Double Click on a Node Name and get some options.
      Note: You can Double Click on a "T" or "F" in a node to get some options. In particular the ability to create an Action for the corresponding True or False state of the node. (The commercial Version only supports TRUE for conditions)
      Note: You can drag Nodes around on the graph to pretty it up.
      Note: You can Hover over an Edge ... and it will give some additional information about the relationship between two nodes.
      Note: The Legend at the top ... showing Node Types ... Note a NEW type called Lua ... 
3) The actions Panel has some changes:
     a) In the LUA section ... you have the ability to export the value of the LUA as a PLEG variable and cause evaluation to restart. This is a "Computed" input. If you export the value, this is shown on the Graph as an Lua node. This new computed input can be used in PLEG conditions.
         You can still have device actions as well ... and the return value will determine if the actions will run. 
     b) There are some buttons to support a "Common" action that can be defined once and used for multiple actions.
         There is an option to:
          Split an action into a "Forwarded" action. In this case you can name the "shared" action.
          This will convert the "Current" action to a Forwarded action.  Where you can specify the action it will forward to.

[hr]

Next I will be focusing on “Template Mode” where you can take a subset of your PLEG (selected from the Graph) and create a re-usable template that cab be shared and re-imported into an existing PLEG. It will allow re-binding to new variables and devices on Import.

When that is done … I will move on to the changes in the Runtime.
Then after that step … I will complete the OpenLuup integration.

I installed the files using your posted instructions. I used the json file containing OLD and NEW in the file name. Attached is a screen shot of the relationship graph that PLEG created for two conditions I selected in an existing instance of PLEG. Things look good thus far. I’ll exercise the other functionality as I have time later in the week.

I was also able to open and work with the same instance of PLEG using AltUI v1.47.1624 on VeraPlus after reloading the web browser window containing ALT UI. See the attached screen shot.

Addition of Referenced Devices to the Status Report, as shown in the attached screen shot, is also convenient. It also looks like you added Armed status for the PLEG to the Status Report.

Forgive me in advance if this is in any way off base or already been discussed but has the possibility of using a ‘Ladder Logic’ type of user interface ever been considered? I have used this in my work place for 20 years and find it very easy to use, but some people I work with don’t (a minority). Attached is a screenshot of one such example from an Allan Bradley program for PLC environments. Being familiar with this for so long I don’t have a problem using PLEG but just wondering if this would be something to consider.

The problem with ladder is it’s too restrictive.

Give me siemens statement or fbd any day lol