[Release] HubiGraphs 3.0- "Weather Tile"

Hubigraphs V3.0 Release


Release Notes
8/8 - Version 3.0 - Weather Tile. So, I have spent the past few creating something new for my wife. The WEATHER TILE. Yes, before anyone says anything, there is not a graph involved yet. My wife has already submitted multiple request for features. But this initial version has the following features and caveats.

  1. The weather tile will AUTOMATICALLY resize according to the size of the tile.
  2. Background and font color selection.
  3. Support for Imperial or Metric (and other units) on a per attribute basis.
  4. OpenWeather support - This is the main producer of data for the panel. You DO NOT NEED a separate Open Weather driver. You do however NEED an OpenWeather API key. The panel is updated on a schedule and receives new weather data and forecast data.
  5. PWS support - The panel supports overriding certain values with those on your PWS.
  6. Lat/Long loaded from local hub location.
  7. Support for the following values:
  • Current Temperature (Open Weather and PWS)
  • Current Conditions (Open Weather)
  • Daily High and Low Forecast (Open Weather)
  • Feels Like Temperature (Open Weather and PWS)
  • Daily Chance of Precipitation (Open Weather)
  • Remaining Precipitation (Open Weather)
  • Daily Precipitation (Open Weather and PWS)
  • Wind Speed (Open Weather and PWS)
  • Wind Gust (Open Weather and PWS)
  • Wind Direction (Open Weather and PWS)
  • Barometric Pressure (Open Weather and PWS)
  • Barometric Pressure Trend (Open Weather and PWS)
  • Humidity (Open Weather and PWS)
  • Dew Point (Open Weather and PWS)
  • Dew Point Effect (Open Weather and PWS)
  • Local Sunrise and Sunset

7/23- Version 2.25 - Current Value Overlays - I have added (to Time Graphs Only) the ability to overlay the "current" value of the graph lines. I did this as an experiment and it turned out well enough to release. Let me know in the comments what you would like to see in the new "overlay" box.

7/18/202 - Version 2.2 - Long Term Storage. One of the most requested features has been the ability to keep data around (like InfluxDB). While I am not wanting to solve that problem (store ALL your data), I have still been annoyed that the database maintains only about 1,000 attribute states. This means for items that refresh every minute, you can only build/refresh a graph that covers about a day. So, a new option has been added to Time Graphs.

When you set up Long Term storage (completely optional), it will BEGIN to store new data each time a graph is refreshed, initially built or on a schedule (selectable). Please don't email me asking why only one day populates (at first), I can only pull data that is in the database. Below is a two week graph that is now populating with actual and heat-index temperature:

Last thing: HubiGraph will ONLY store the things it is graphing...

7/9/2020 - Version 2.1 - Heat Maps are now available. NOTE FOR THIS RELEASE, YOU MUST UPDATE HubiGraph.js For those of you who have too many devices, I have created a new take on the Bar Graph -- a Heat Map. If you are wondering what a Heat Map is, look it up on Google (that's what I did). Below are some examples, but here are the features:

  1. Support for value mapping and time mapping (specific trigger or last update).
  2. Support for gradient display. I came up with a way to input multiple gradients, you'll have to try it to understand.
  3. Filter by supported attribute (motion, switch, battery, etc). Don't worry, you can still choose any sensor, just...carpal tunnel?
  4. Don't like square? Just choose your number of columns!
  5. Reorder you devices. It is supported, but man, it takes forever.
  6. Hub-free processing. All the heavy lifting is done by the web-browser.

Take a look...

The above is a representation of all the temperatures in my house (all 61 of them ) * Please be careful with this build. My wife is mad at me now that she knows how many devices I have...


Here is a battery status. Green is 100%, red is 15% and black is zero


Here is a map of all the my devices and when they last checked in. Green is today, orange is a week ago, and black is over a week.

7/3/2020 - Version 2.0 - Many BIG changes. Well, not to all the released formats of graphs. With this release we introduce TIME GRAPHS (not to be confused with Time Lines. Here is a picture so you will keep reading.

  1. Line Graphs are deprecated and WILL NO LONGER be supported (by me). Timegraph functionality support and EXCEEDS what you could do with LineGraphs. I am keeping LineGraphs in the repository so you don't have to rebuild your graphs if you are happy.
  2. TimeGraphs are named such because they group data by time, NOT by receipt of data. I learned some lessons with my Weather Station. Pressure would only update if it changed by a certain amount. As a result, integrating data was at best sporadic, at worst wrong. TimeGraphs now groups the data by time and allows the user to decide whether to extrapolate or "drop" the data. It also offers multiple functions -- by plot -- for multiple points over a given time period. (Average, Min, Max, Mid)
  3. There are now 3 choices in how to display results:
  • Integration Time: This is the amount of time to integrate (duh). If no data exists in that space, the user can either extrapolate (default) or drop (to a user specified value).
  • Timespan: This is the amount of time for the graph to cover.
  • Update Rate: This is how often the graph will update (without hitting the hub). So if I set it for 5 minutes, then every five minutes, the graph will show any data (integrated) received over the last 5 minutes.
  1. Time Graphs take ALL the processing off the Hub, except to extract historical data upon webpage/tile REFRESH. Theoretically, this means that if you use the auto-refresh function, you will never impact the Hub again.
  2. Each plot now has INDEPENDENT controls. This means you can have a line, bars, scatter and area plots all on the same graph. I have no idea what you will do with this, but it works.
  3. Options are now streamlined. Each plot has its own controls and MANY, MANY options, including but not limited to color, size, opacity. Area graphs can now set the fill color as can bar-graphs. Scatter plots now support choosing you point type (star, circle, square, polygon, etc).
  4. Device selection is completely open (Everything is available -- with one exception). If the database does not have a "most recent value" for a desired attribute (i.e. it has no data) then that attribute will be unavailable. I have annotated the drop-down with the latest value for convenience.
  5. Limitations: As with other graphs the only limit is the amount of data I can get to from the database. The max time is a week, but that depends HEAVILY on the number of data points returned. In my testing, I usually get around 1200. I have no idea why.

6/24/2020 - Version 1.80 - Bug fixes and slider improvements. The UI experience should be smoother now. Man! I hate HTML and jQuery!

6/20/2020 - Try to figure out that title? Well, this release is focused on Line Graphs. I am introducing two new line modes

  1. Line Drop Graphs - This one was requested by the community. For numerical graphs, you can now select to have the line "drop" after a selectable amount of time. The result? Below is my weather station and I heave it set to drop if it has not received an update in 10 minutes. The user can set the "drop value as well".

  1. Switches, Contact Sensors, Doors, windows, etc. By community request, I have implemented the ability to draw line graphs for "triggers" - switches, motion, contact triggers, etc. HubiGraphs will automatically detect the triggers and let you set the values accordingly. The result? See below. I don't know about the utility, but gotta keep the public happy.

6/18/2020- You see what I did there? Yes, this release addresses some of the most "requested" fixes. I got two out of three done:

  1. Timelines now supports grouping events. This means that you can set a threshold, say 1 minute and if another event triggers within 1 minute of the last one stopping, it will group it as one event. How is this useful? Well, as an example, if you want to see how often a room was occupied and don't want to look at 30+ active/inactive motion triggers; right on top of each other. As another example, my daugher doesn't sleep well. I have a motion sensor pointed at her bed. I set the threshold to 15 minutes and I can easily see when she went more than 15 minutes without moving during the night. To use it, look at "Combine events with events less than ? apart" in the options.
  2. Major Bug Fix. Now when you select Timelines that span more than a day, the popup will display properly. Due to Google never fixing this bug, I had to re-build the pop-up from the ground up. But... we can now add enhanced pop-ups to all the graphs. Ideas?
  3. What is not fixed. I am still looking in to the Timeline Horizonal Axis color. Turns out this is hard...

6/17/2020 - *******************************READ THIS ***************************************

BLUF- A whole slew of new features. YOU WILL NEED TO LOAD HubiGraph.js in to the File Manager in order to make this build work!

How do you do this?

  1. Right-click on the link above or HERE click "Save Link as...." *Please DO NOT rename it. Its name is important!
  2. Save it to your computer...
  3. Go to your Hubitat webpage
    a. Go to "Settings"
    b. Select "File Manager"
    c. Click "Upload"
    d. Choose the file.

I am proud? confused? whatever. to release version 1.6 of Hubigraphs. The good news: iit introduces a whole slew of features:

a. Unified code-set. I have worked to unify the user interface. All the graph setup API calls run from the same source code in Hubigraphs.groovy. This means that all I can fix things once and not in 5 seperate files. I can now start looking at enhancing timelines and

b. New Order Picker. One of the most frequent requests is for the power to change the order of the devices. I have had a grand time learning how to make it work. I have built a drag-and-drop ordering system. That is the good news. Here's the bad. Taking advantage of the new file upload capability in Hubitat I am introducing Hubigraph.js. It is a combination of some custom JavaScript and a library DragDropTouch

Below is what you should see. Just DRAG and DROP the tiles to set the order! This works for Bar, Range and Timeline Graphs

Hubigraph.js WILL NEED TO BE LOADED INTO FILE MANAGER.
NOTE: Currently this not supported by Package Manager. It will need to be done manually.

c. Two new graph types

Let me know what you think.

6/9/2020 - This release adds a change to the Hubigraph Tile Device. There is now a new attribute -- "Graph_No_Title". Using an "Attribute" Tile on the Dashboard with "Graph_No_Title" automatically removes the Tile Title (not the graph title). Screenshots before and after in posts below.

6/7/2020 - Story time: After release 1.07 I decided it was time to show my wife the fruits of my labors. I carefully explained the Hubitat Application system and how to go about setting up graphs. She loved the graphs, but after a thoughtful moment asked, "Why does the setup have to be so ... ugly?". What?!!!! Welcome to version 1.5. Why 1.5? Well, I have now learned and jumped through the hoops of Material Design Lite, HTML, CSS and every other acrynomn you can think of. I got some help from my son and together, we produced the arguably most beautiful app (setup) in the Hubitat ecosystem. Disagree with me? Too bad, my wife likes it. Let me know what you think...

6/4/2020 - It is important in today's environment that we have full transparency. Therefore, with this update we introduce two major updates.

  1. We now offer a color picker with a transparency option. You may now pick any of the 16,777,217 (one for transparent; which isn't really a color) colors for your lines, timelines and gauges. Why anyone would EVER want a to graph a transparent line.....???? But, someone may want it, so it is there.
  2. We have changed the font size drop-down for a slider, which will show a live preview of the font size.
  3. A few other bug fixes that the community suggested.

6/2/2020 - In celebration of saving 15% or more on my car insurance ... I am releasing HubiGraphs and not calling it Beta of Alpha anymore! Actually, I have not received too many bugs/feature requests so I cleaned some things up (especially the configuration screens) and embedded a preview in the setup screen. I think it looks pretty cool; comment below.

5/27/2020 - Small update to address issues on initial installation.

5/25/2020 - I took a look at the "insane" amount of time it takes to load a graph. I did some tinkering and have about a 10X (on my hub) speed up! What did I do? Instead of loading all the events on a device when building the initial graph, I am now only loading those requested attributes. Also, becuase of the amount of time it "was" taking, my son implemented a "wait screen" that you will see while the graphs are loading. As always, enjoy and let me know what you see. Also, there are various reports of "time-jitter" in the initial graph. Could be a bug in groovy, but please comment below if you see the issue.

5/23/2020 - As some people have noticed, we have added HubiGraphs to the package manager . In addition, this release allows the LineGraphs Hyper-smoothing. What does this mean? You can now specify the max number of points on the graph -- per line. Screenshots below.

5/21/2020 - Added custom labels to the Line & Time Graph. This means that if you want to call your Weather Station : BaromRel something else on the graph, feel free.

5/19/2020 - I got bored writing documentation, so... by popular request (all 2 of you), I added Gauges. See screenshots below. You will need to update the parent app and create a new Child App (hubigraph_gauge.groovy). Code is in the same place. Screenshots below. One note, I have not yet added protections against stupid values for min/max and the highlight border colors. You can do some weird things if you are not careful. Take a look and enjoy. Screenshots below.

5/15/2020 - Beta build is available. This one unifies all the work under a new device type Hubigraph Tile. This add auto-creating a child device (Hubigraph Tile) from the LineGraph and TimeLine apps. This means no more need to copy/paste the address into the tile. I also did some renaming and cleanup. Also, we have added a double tap to the graph tile which will make go full screen, until you double tap again. See screens below.


-> GITHUB REPOSITORY <-


DESCRIPTION
Hubigraphs enables a user to build a graph only using User Apps. These graphs can be displayed on the Hubitat dashboard using an Attribute tile.


DESIGN
It is important to understand the design of Hubigraphs in order to grasp both the advantages and the limitations of Hubigraphs.

  1. Hubigraphs is designed to work on a dashboard. As such, when you load (or refresh) a dashboard, the "tile" queries the database for all events covering the graph's time period. This can be thousands of events (depending on your device). To be clear, it can take 20-30 seconds for the initial loading. That is the bad news.
  2. Hubigraphs does not add any loading to the Hubitat Hub. Once a dashboard is loaded, the graphs update using the same endpoint as the dashboard. Therefore, all updates from that point forward DO NOT add any load to Hubitat, it is all on the device that is displaying the dashboard.
  3. Hubigraphs uses Google Charts Therefore, all the limitations, advantages and ease/difficulty of use is inherited from Google Charts. In the alpha build, I tried to incorporate as many options as possible (axes, labels, titles, etc). Some people have asked for features that to be blunt would require designing and implementing my own graphing API.
  4. Hubigraphs was designed to work without external devices. I enjoy playing around with Grafana, Influxdb, and other technologies, but it has required too much maintenance and configuration. I designed Hubigraphs only within the confines of Hubitat (user apps, dashboard, etc). I have no plans to support other platforms (SharpTools, and other third party dashboards at this time). Do I care if you "steal" my code, modify it, and add native support for those platforms? Not at all (see my FAQ).

SCREENSHOTS
100 Points

400 Points

Full Graph

New Gauges Loaded onto the Dashboard

My Dashboard with two LineGraph Tiles

AFTER DOUBLE 'CLICK' -- Full Screen Mode

TimeLine Showing Motion


Features

  1. Google Charts API
    a. Line Graph
    b. Timelines
  2. Displaying graphs on a dashboard
    a. Automatic child device ( Hubigraph Tile Device ) creation
    b. Add to dashboard via Graph attribute on an Attribute Tile
  3. Support for all devices on Hub
    a. Timelines - Choose your attributes/triggers for on/off status
    b. Line Graphs - Choose "numerical" attributes.
  4. Graph Configuration Support
    a. Colors - (Titles, Labels, Lines, Axes, Backgrounds, etc)
    b. Font Size - (Titles, Labels, Axes, etc)
    c. Axes - (Location, Single/Dual, Number Tics, etc)
  5. Hubigraph Tile Device
    a. Auto install/uninstall from LineGraph/Timeline App
    b. Double-tap -> Full Screen Graph Mode
  6. Real-time, Periodic Graph Updates
    a. Real-time updates support sub-second updates
    b. Periodic updates to reduce browser loading

INSTALL GUIDE

I. If this is your first time doing something like this, read through the following:

  1. How to install custom Drivers
  2. How to install custom Apps
  3. How to enable OAuth on an Custom App

II. Install the following device drivers:

  1. Hubigraph Tile Device

III. Install the following Apps

  1. Hubigraph Parent App
  2. TimeLine Child App
  3. LineGraph Child App

IV. Enable OAuth on the following Apps

  1. TimeLine Child App
  2. LineGraph Child App

V. To Install a New Graph

  1. Load Hubigraph Parent App
  2. Choose Create New Line Graph or Create New TimeLine
  3. Choose Enable API
    a. You should see the message "Token created. Click done to continue".
    b.Tap Done
  4. Tap Select your Device/Data

Line Graphs

  1. Select as many sensors as you want to graph
    a. Sensors need to have numerical data (i.e 1, 2.342, 2003.298, etc)
    b. You can select non-numerical data sensors (i.e. motion) but it won't work
  2. For each Sensor select the attributes you want to graph
    a. Attributes are populated based on the last 250 events for that sensor. Example, if a battery report has not been sent in the last 250 events, battery will not show up.
    b. You may select as many attributes as you want.
  3. Select Done

Time Lines

  1. Select as many sensors as you want to graph
    a. Sensors can have numerical data (i.e 1, 2.342, 2003.298, etc)
  2. For each Sensor select the attributes you want to graph
  3. Select Next
  4. Configure the Start and End events
    a. Known capabilities will auto-poluate
    b. For numerical values, set a threshold. Directions are at the top of the page
  5. Choose the Order of Display
    a. When you choose a number, it swaps with the attribute that had that number before. Make sense?
  6. Select Next

VI. Configure Graph

  1. I am NOT going into detail here. There are various options depending on the Graph type. Some Hints:

Line Graph

  1. Update Rate
    a. Real Time only updates when data is received
    b. Other options update on a schedule
  2. Set Size of Graph
    a. Only change this if you do not use the Tile Option
  3. GridLines
    a. Useful if doing Date String Formatting
  4. Horizonal Axis Format
    a. This section is a bit technical. Select "Show String Formatting Help" for a good explanation
    b. For a preview, look below at "Horizonal Axis Sample"
  5. Line for Sensor:Attribute
    a. Choose the axis, currently BOTH is unsupported

TimeLine

  1. Realtime is kinda useless, but it works
  2. There really isn't much else

VII. Other Things

  1. The LOCAL GRAPH URL can be used to preview and adjust the Graph without a Tile on a dashboard.
  2. If you want a child device created/updated, turn on Install Hubigraph Tile Device for Dashboard Display.
    a. Name is under Name for Hubigraph Tile Device
    b. A device will be created once you choose Done
    c. If you delete the HubiGraph, the child device will be deleted as well.

Upcoming Features

  1. Graph Data management
    a. Optionally allow app to register for relevant events (Faster refresh/load times)
  2. Graph Overlay (pop-up) configuration
  3. Single line, dual Y-Axis support (this is proving challenging)
  4. Other stuff.

FAQ

  1. "Your idea is stupid and slow and I don't like it" - Don't use the app

  2. "Your app is crashing my Hub. I submitted a support ticket" - Don't do that, the fine folks at hubitat do not maintain the app. This software is given free of charge with no support.

  3. "The latest update broke the app, FIX IT". I do this for fun, please don't make it un-fun.

  4. "I have a great idea for a feature". Go ahead and post it, I might get around to it...

  5. "You ignored my great idea". See #2

  6. "I hate you for getting my hopes up, your app is awful/buggy/stupid". Ok

  7. "Please fix your app, it's broken". All cards on the table, I built this app for my wife. I will continue to support and provide updates as long as she uses it.

  8. "I stole your code and made it soooo much better" Thanks. Please post it so I can start using it.

  9. "You are awfully sarcastic, I don't like you". I have teenagers.

  10. "You stole the "Hubi" name, your app doesn't deserve it." My daughter came up with it. If the hubitat owners object, I will change it.

  11. "Your latest fix made things worse." I already covered this and See #9


Enjoy. Please take a look and tell me what you think.

51 Likes

I've not tried your app but I love the FAQ's :slight_smile:

11 Likes

Is the FAQ licensed or can I steal it :stuck_out_tongue:

2 Likes

Sooo true!

5 Likes

Best FAQ ever! :joy:

5 Likes

Thanks man, this looks terrific.
I’ll backup my HE and then have a go at setting it up.

Great initiative! HE needs more graphical improvements. Like your FAQ! May I copy it for my releases?

2 Likes

Copy away! I have always like the “sharing aspect” of Hubitat.

10 Likes

+1

Btw: this app found fantastic! I'll start with it asap

I'm not sure about the app, but really you gained the hall of fame for your FAQ...:grin:

1 Like

Quick question, how often is data being sent/saved?
Wondering how to account for chatty devices here or limit how often I get graph updates v.s. my device(s) updating.

Thank you, excited to try this out!

This has a two part answer. One parameter is the refresh rate. This updates the webpage automatically (but only uses the data stored in the app). This makes the dashboard update correctly periodically.

Second, data is INITIALLY loaded when the app is installed or updated. This can take 10-15 seconds. Then the app subscribes to proper events and the data is updated real-time. If you were to refresh the webpage one second later, the new data would be there. I used this design to drastically reduce loading on the hub...I.e 10-15 seconds every 5 minutes....

This does exploit a weakness with the app; non-periodic updates will cause the graph to look old (if no new events have been received in a while). I only use it right now with my weather station that updates every five minutes. So, the short answer is that the data updates when an event occurs.

1 Like

Got it, thank you.
I'd like to use this for a power meter, but they can be super noisy as I found out with my related Initial State Graphing Port, and I'd rather rate the reporting v.s preventing the device from reporting in close to real-time.

I'm not sure happy with Initialstate and their costing, so this is sounding awesome.

Right now I just use my port for monitoring Humidity changes and history.

Thanks for another very useful app/driver. Not sure what to say about it other than I love the ground work. Played with it for far too long last night/this morning and I'm exhausted as a result. :wink:

Couple of questions. Answer at your leisure, or don't!? :rofl:
Your FAQ is awesome, but I have to admit to being confused if you want to hear anything from anyone about it other than its great. :stuck_out_tongue_winking_eye:

  • How many graphs can realistically be used at once before the expected hub performance hit is over the top?

  • Are you able to keep the child apps in a list you can edit later? Sorry if I missed something (other than it's Alpha). It was a one shot deal for me. Build all in a single session, only clicking the back arrow on the browsers, or gather up all the links and then deploy later, but no future edits. Once I click done on the parent app, all I have are the links. The parent app doesn't show up int the list of apps, and the children obviously aren't there to go back into for edits.

  • Since the parent and child app doesn't show up after closing the parent app, the only way to delete one, is to delete all by removing the code for parent app, so I can then remove the code for the child app to kill OAuth (at least that's the only way I could figure out on my own). Did you have a different experience than me?

Had some fun and I love how easy it was. Unfortunately I had to remove it because all my "learning" attempts piled up and having about 8 of them getting updates at once brought my secondary hub where it was installed, to its knees. In fairness that hub is already burdened by two HEMs updating at 1 and 5 second intervals respectively. But that's where I would need the app/driver to live, so not sure if there's a good compromise in my case. At some point, I will have to play with it on my third hub that doesn't have anything going on.

Anyway, here's what I was able to easily come up with, before I brought everything to a halt with my learning mistakes. Couldn't get edits to stick, so this isn't exactly how I wanted it, but it looks so nice. Really appreciate your efforts.

1 Like

@SmartHomePrimer thanks for the feedback. My FAQ was very much tongue-in-cheek and I would love any good/bad feedback. I was just feeling snarky when I wrote up the Instructions. I intended to delete it, but everyone has been having so much fun with it....

In any case, I’m a little confused by the loading issues. Once the initial install is done, there should not be a huge load unless you update it. The rest of the time, it triggers on an event, adds the event to the list and then cleans up events that are too old, in testing it took less than a second.

The parent/child app issue: could you describe it more? See below; this is what I see:

Again, thanks for the try. If I can get more info, I’ll look into the issues. Also, any ideas to optimize it would be appreciated.

1 Like

I absolutely get that parent/child view. And as long as I open each child, and only navigate back to the parent using the browser back button, I get that view and can setup multiple. But if I click that Done button on the parent, the link remains viable (as long as OAuth isn't changed of course), but the Parent app isn't shown in the list of installed apps. So to create another child, I have to start from the beginning, as if I was installing the parent/children from the beginning.

Got it. I do not see this issue. I can install/done without issue. Try this:

  1. Install Parent App
  2. Click done.
  3. Verify that Parent App shows up.
  4. Go into Parent App
  5. Install Child App (Go through the process from 1st post)
  6. See if that fixes it.
1 Like

Great work! I have been wanting to do something with graphs in Hubitat without having to install graphana, influx, etc. and this is perfect. Works great so far and can't wait to see what you do with it in the future. Thanks for sharing!

Edit: I noticed that the html virtual device doesn't show up on the "Choose Devices" list on the dashboard app settings screen. I try to avoid using the "Use all your devices" toggle as it slows down my dashboards with my 200+ devices. In order to get it to show up in the list I added "capability "Actuator"" to your html driver and now it shows up and works just fine. Just an FYI for anyone else who may have this issue.

1 Like

This is an awesome idea! I was working on a project I was calling "HubiChart" that I wasn't targeting for Dashboard integration immediately (just a way to view device history; was going to try to figure that out later if people asked) and was using chart.js instead of Google Charts--bascially a way for me to finally get rid of Home Assistant, which I was keeping around more or less only to (ab)use its simple built-in history graphs/charts. My problem is understanding the chart.js API. :laughing: I might just give up and start using yours instead. :slight_smile:

2 Likes

OK. This issue first is resolved for me. I was testing this at 4am, plus I forgot to click Done on the parent, before beginning to build the children. That's pretty basic stuff, but I'm sure it's going to trip up other users too. Maybe there's no way around the need to do that. I think @Cobra puts a note in his apps to click Done on the parent before creating the children, if I recall correctly.

In regard to performance, this just isn't going to work on my secondary hub that has my HEMs on it. They're very chatty devices as it is, but I'm making that worse with updating one of them every second, and the other every 5 seconds. A few other apps and devices seem to be fine, but the addition of this app seems to be too much for it. I set up a new child with updates every minute and it causes the HE Web Interface to become unresponsive. I had to reboot via the diagnostic tool, but that only gets me back to an unresponsive Web Interface if I open the child app to view or edit. Seems to be significantly worse than last night. Maybe it's something to do with how busy my electrical is right now versus 4AM in the morning. :thinking: :joy:

I'll try this on my third hub and see if it's better for me.