Any Pool Automation Grafana / InfluxDB users out there?

MyAZPool

Gold Supporter
Jul 3, 2018
2,294
Arizona
Pool Size
20500
Surface
Plaster
Chlorine
Salt Water Generator
SWG Type
Pentair Intellichlor IC-60
Hi All,

Recently I have been doing a lot of playing around with Grafana and InfluxDB v1.8.3. Mostly, in order to better manage and access my swimming pool automation, sensor and chemical control historical data.

Grafana makes it great to do so, since I can view the historical and current data in ANY context or time period that I wish. It appears that Grafana makes the management of pool automation data much better than anything that can be found bundled with the big 3 pool automation platforms.

But I also know that my current Grafana dashboard can be improved even more.

So, I am looking for other experienced Grafana/InfluxDB users out there that may wish to share their ideas and the fruits of their labor, etc.

Things like the following:
  • Dashboard templates
  • Panels
  • Plug-ins
In other words, I wanted to start a collaboration thread of sorts here for the sharing of pool automation related Grafana ideas etc.
I’ll go ahead and post what I currently have and would hope that there might be a few other pool automation DIYers out there that happen on to this thread who may wish to do the same.

In full disclosure, I did not develop the dashboard that I am currently using from scratch.
I had started with my own dashboard originally, then I lost all of my work on “Docker” (which I had no concept of.) I then decided to download Grafana directly to my Mac and started over.

Initially, @tagyoureit had assisted me with the setup of InfluxDB and Grafana. When I informed him on what had happened, he was kind enough to share the dashboard that he was working on and I imported his dashboard template into my own. I can't thank him enough for all of his assistance in the course of this project!

I used much of his base work and set out to modify it to my own preferences, setup etc. Modifying some panels and using his templates to create some of my own panels. I even found a cool new Grafana “dial” plugin in which to incorporate.

Although my Grafana log files etc., reside on my Mac. InfluxDB resides on a Raspberry Pi solely dedicated for that task and pulls its data from the nodejs-poolController that resides on a different RPi.

Note 1: I should really note here that there is a companion piece of software that is in final stages of development/beta testing that really goes hand-in-hand with the Grafana output but I’ll share more on that later.
Note 2: The bindings directions for integrating InfluxDB with the nodejs-poolController can be found in the following link.

I did find three other threads and/or posts here on TFP that do mention the use of Grafana. I'll go ahead and include the links to them below.

Anyway, I have included below a screen capture of where I’m at presently. If anyone has any ideas on how my Grafana output can be improved/modified, or you wish to share your own InfluxDB/Grafana work, your input and contributions are certainly welcome.

Thanks in advance…
r..

2021-01-13_06-34-53.jpg
 
  • Like
  • Love
Reactions: cmc0619 and rellumd
This is something I want to get into at some point if I can get caught up with work and have time to play with it. I run an unraid server for my media server and a few other things, alot of people on the unraid forums use grafana/inflexDB for sever stats.

What was your issue with using docker? Everything on my server is in docker containers and its been a great experience so far. Very easy to backup containers, restore them, and if 1 goes bad it doesn't affect the entire system.

Also, just thinking out loud here, I wonder if there is a way to pull in PoolMath logs so you can track that data. Would be awesome to combine it with weather info to see how chemical demand changes with the weather.

Good Luck!
 
  • Like
Reactions: rellumd
This is something I want to get into at some point if I can get caught up with work and have time to play with it. I run an unraid server for my media server and a few other things, alot of people on the unraid forums use grafana/inflexDB for sever stats.

What was your issue with using docker? Everything on my server is in docker containers and its been a great experience so far. Very easy to backup containers, restore them, and if 1 goes bad it doesn't affect the entire system.

Also, just thinking out loud here, I wonder if there is a way to pull in PoolMath logs so you can track that data. Would be awesome to combine it with weather info to see how chemical demand changes with the weather.

Good Luck!
@NCMike
I couldn't get back to the right container and/or image, no matter what I tried. The more I researched and tried to get the data back, the more frustrated I got and so I just quit and started over. This occurred after I was installing a plugin. No matter what I tried, I just kept getting "dashboard not found"... I thought about installing on my Synology raid server but it's busy enough with media and security devices.
Anyway, I'm done with Docker now. ;)... The whole VMware/cloud container thing just escaped me I guess.

I think you can pull "links" info Grafana from what I have read. I think someone could do that with the pool math logs. But in my case that would be redundant work for me since I already have all of the same data available which is pulled from nodejs-poolController/nodejs-poolController-dashPanel. That is where I input things like cH, TA, CYA and Borates (all used for LSI calcs), since there are no sensors for those chem measurements obviously. I do still use pool math presently as a manual backup however.

Weather info is certainly a possibility. I already have sensor data available for free air temp, humidity and dewpoint. Just need to get that data input to Grafana at some point and work on "correlations".
I think I'm going to need two Grafana dashboards lol.. I'm quickly running out of real estate on just the one. :p

Hey thanks and take care...
r..
 
  • Like
Reactions: rellumd and NCMike
To me your dashboard looks like you are running a nuclear power plant.

I look at the data and wonder if I really need to know that and what requires any action.
 
  • Haha
Reactions: MyAZPool
I run smarthome software call Home Assistant, and grafana/influxdb is a pretty popular addon, but haven't get around to trying it yet.
Maybe I'll give it a go now.

I recently found this utility IOTstack
It will install docker for you, and then install a bunch of other IOT programs, including Grafana and InfluxDB.
It is what I'll use to get these programs running.

For anyone running docker, I'd recommend installing Portainer (IOTstack will do that too). Portainer creates a webpage that provides status and information on all your docker containers, and lets you easily send commands to the containers. Makes it much easier to use docker.

Randy
 
I run smarthome software call Home Assistant, and grafana/influxdb is a pretty popular addon, but haven't get around to trying it yet.
Maybe I'll give it a go now.

I recently found this utility IOTstack
It will install docker for you, and then install a bunch of other IOT programs, including Grafana and InfluxDB.
It is what I'll use to get these programs running.

For anyone running docker, I'd recommend installing Portainer (IOTstack will do that too). Portainer creates a webpage that provides status and information on all your docker containers, and lets you easily send commands to the containers. Makes it much easier to use docker.

Randy
@randytsuch
Some great info for those wishing to use Docker. Sounds like using your techniques will make it a little more "user-friendly"...
I might give it another try in the future using your suggestions. Might help me to get my arms around the concept a bit more.
I certainly see the potential in using Docker.. In the mean time, things are working out well having the necessary files reside on the Mac for the time being.

Thanks again for the info!! If I ever write up a "how to" on using Grafana/InfluxDB for pool automation use, I'll be sure to include your info.
r.
 
  • Like
Reactions: rellumd
Ron (also @tagyoureit) , nice work!!!...it does look a bit overwhelming, haha. Here is an additional link to a pool controller (Richard Sears) built in which he uses Grafana, you might find something of interest in there...


Still looking for time to proceed on my own pool controller project. I really like the charting mechanisms/data history that Grafana enables, so I may join you at some point in the future. Currently I am using Google Sheets which isn't as specific/capable. I like having the history because I plan on putting "STICKY" flags in place for problems that might crop up with any of the system parameters (acid/chlorine injection, power aberrations, valves sticking, psi aberrations, etc).

A particular parameter could be OK at a given instant, but might have had a problem previously which isn't necessarily reflected in the immediate values of the gauges or a casual glance at the historical graphs. The sticky flags allow "capture and notification" of a problem, and then the historical data lets you track down specifically what might have occurred. I don't know if you need that capability, or if there is a mechanism in Grafana/InfluxDB that would allow you to capture/visualize such an error condition.
 
Ron (also @tagyoureit) , nice work!!!...it does look a bit overwhelming, haha. Here is an additional link to a pool controller (Richard Sears) built in which he uses Grafana, you might find something of interest in there...


Still looking for time to proceed on my own pool controller project. I really like the charting mechanisms/data history that Grafana enables, so I may join you at some point in the future. Currently I am using Google Sheets which isn't as specific/capable. I like having the history because I plan on putting "STICKY" flags in place for problems that might crop up with any of the system parameters (acid/chlorine injection, power aberrations, valves sticking, psi aberrations, etc).

A particular parameter could be OK at a given instant, but might have had a problem previously which isn't necessarily reflected in the immediate values of the gauges or a casual glance at the historical graphs. The sticky flags allow "capture and notification" of a problem, and then the historical data lets you track down specifically what might have occurred. I don't know if you need that capability, or if there is a mechanism in Grafana/InfluxDB that would allow you to capture/visualize such an error condition.
Hello there Mr. @jonpcar

Hope you're doing well. So yea, I'm having a heck of a lot of fun with Grafana. I have not begun to really crack that shell open yet. Still doing a lot of experimenting.

I too really like the historical features. With the graphics, I feel I can get that 50,000 ft view snapshot on what's going on with Mr. Pool. For me, I think that will help me maintain even better than I do now.

I like the "STICKY" flag idea. Grafana has similar markers or "alerts" that can be configured. I haven't even delved into that arena yet. The alerts can be added to any dashboard graph panel, letting the user build and visualize the alert using existing queries.

The other feature that I'm looking forward to setting up, is that Grafana has a fully customizable feature call "Notification Channels". Yep, you guessed it. Email Notification Alerts. I played around with it last night but I need to work more on the SMTP side of things. That way if something gets really "out-of-wack" for some reason, I can get notified but it's all customizable.

You hear that Pentair? "CUSTOMIZABLE"... :p Their SMTP alerting features are a big joke and although I'm not sure about the ScreenLogic platforms, I can tell you that the IntelliCenter SMTP alerting features work about as good as barefoot running shoes.

By the way, I definitely saw Richard Sears work but need to look more closely at his Grafana Dashboard. In fact, I found his work was so impressive that I linked to his site when I created my own hardware thread listed below.

Thanks for the info and take care!!
r.
🏃‍♂️
 
Last edited:
  • Like
Reactions: rellumd
@jonpcar
Took a much closer look at Richard Sears page.
Couple of things that I would certainly like to emulate from his setup.
1. Python microframework Flask-Ask to integrate my Amazon Echo Dots scattered around the house.
2. And the way that he setup his notifications and his "notifications panel". Very cool...

Is he on TFP do you know? I would sure like to get some more info. If not, I may need to signup at hackster.io so I can ask a few questions.

No doubt there are some here on TFP that can make some more sense on how he accomplished those tasks than I can. I'm certainly going to share his link with some others.
Thanks again!!!
r.
 
  • Like
Reactions: rellumd

Enjoying this content?

Support TFP with a donation.

Give Support
Last night and this morning, I used IOTStack to make docker containers for InfluxDB and Grafana.
Home Assistant has built in support for InfluxDB, and I set that up to record a few parameters from HA to InfluxDB.
Than I logged into Grafana to see if I could find them.

I was able to see spa temperature data, so things are basically working. But I was also trying to see the temperatures from the downstairs and upstairs thermostats, and could not do that. Ran out of time to do anything else, but I'm happy with the progress made in not much time.
With HA, it was easy to create a InfluxDB database that HA will record to.
Not sure how hard it would be to do with Node Red. But one really nice thing about NR is there are tons of palettes that make it easy to do this kind of thing. You just have to install, and then find some examples on how to setup the nodes and flows to do what you want.

For installing these apps, IOTStack makes it much easier to install anything it supports. It has a simple menu structure, you make your selections to "Build Stack" and then exit to terminal and run " docker-compose up -d " and it creates the new containers.

I wrote some basic instructions here

After installing, you can run portainer to see if the stacks are there, and running.
To run portainer, had to setup a login name and password, then I think you just select the local data (something like that).
Then you can select containers from the left menu, and see what docker container you have. Select a container to get information on that app, and to send start/stop/restart/kill/delete/copy and other commands.
Using portainer really adds to the value of using docker containers.

Randy
 
@randytsuch
Great Information! Thanks...
Since you are running HA, have you ever taken a look at nodejs-poolController? It supports two virtual controllers (pumps and chlorinators) for those not utilizing the Pentair automation systems (DIY or Homebrew automation systems). HA is not listed on the njspc GitHub repository as a binding but there are bindings available from all I can tell.

Here are a few links if interested. The third one you can find a lot of HA material.
 
No, haven't really looked at the nodejs pool controller stuff. I've come across it, and I think there is a long thread at the HA forum for a Hayward version of it.
But my pool system is really simple. I control my VSP pump with four relays, and monitor the pool temp.
For my spa, I have one big relay to control the pump, and a couple relays for the heater, and monitor the spa temp.

So I don't really see a reason to spend much effort on my pool/spa at this time.

I did just add a stenner pump to my pool for chlorine. That was easy enough, using a wifi smart plug to turn it on for a short while when the pool pump is running.

If I ever add orb or ph sensors maybe I'll look at what more I could do.
 
No, haven't really looked at the nodejs pool controller stuff. I've come across it, and I think there is a long thread at the HA forum for a Hayward version of it.
But my pool system is really simple. I control my VSP pump with four relays, and monitor the pool temp.
For my spa, I have one big relay to control the pump, and a couple relays for the heater, and monitor the spa temp.

So I don't really see a reason to spend much effort on my pool/spa at this time.

I did just add a stenner pump to my pool for chlorine. That was easy enough, using a wifi smart plug to turn it on for a short while when the pool pump is running.

If I ever add orb or ph sensors maybe I'll look at what more I could do.
Nice.. :thumleft: Sounds like a good solid setup!
Thanks!
r.
 
The other feature that I'm looking forward to setting up, is that Grafana has a fully customizable feature call "Notification Channels". Yep, you guessed it. Email Notification Alerts. I played around with it last night but I need to work more on the SMTP side of things. That way if something gets really "out-of-wack" for some reason, I can get notified but it's all customizable.

Ron, yeah...I’m excited about adding notifications as well (text messaging, too). Doing it in Grafana is possibly easier than my current plans. I haven’t looked into it at all, but have been impressed by those examples of Grafana’s use (like yours). What is the cost model for using InfluxDB and Grafana, are they free? How often are you updating your pool status in InfluxDB? Are there limits for data size, usage, etc?

No, haven't really looked at the nodejs pool controller stuff. I've come across it, and I think there is a long thread at the HA forum for a Hayward version of it.
But my pool system is really simple. I control my VSP pump with four relays, and monitor the pool temp.

Randy, my pool system should be simple, but I am making it much more complicated than it has to be, haha...but having fun doing it like Ron (MyAZPool). Sounds like you have a nice system put together.
 
So it turns out that I just needed to figure out how grafana works.
I made a few charts in a grafana dashboard to plot the temps from upstairs and downstairs, and my spa.
I'll add my pool after I fix its temp sensor probe.

Here's my graph for downstairs temps. We are having a heatwave, so not running anything.

I may add some more temp sensors around the house, since I can now easily graph them.

Want to say thanks to r for starting this thread, it gave me the little push I needed to try grafana and influxDB.
 

Attachments

  • Screen Shot 2021-01-17 at 4.31.23 PM.png
    Screen Shot 2021-01-17 at 4.31.23 PM.png
    8.4 KB · Views: 9
Last edited:
So it turns out that I just needed to figure out how grafana works.
I made a few charts in a grafana dashboard to plot the temps from upstairs and downstairs, and my spa.
I'll add my pool after I fix its temp sensor probe.

Here's my graph for downstairs temps. We are having a heatwave, so not running anything.

I may add some more temp sensors around the house, since I can now easily graph them.

Want to say thanks to r for starting this thread, it gave me the little push I needed to try grafana and influxDB.
@randytsuch
I like it! Nice job there. I agree, the hardest part about Grafana is just negotiating the temporary learning curve in order to get the feel on how things work. Once over that hump, it's clear sailing from there.
Thanks for sharing...
r.
 
Hey all,

Thanks for the write-up, @MyAZPool!

@NCMike, I run Influx/Grafana on my synology nas with no issues. (Just make sure you backup your data if you do a major upgrade.).

@jonpcar, Richard Sears was collaborating with on the Gitter forums a couple years ago. He integrated nodejs-poolController into his ecosystem. Haven't heard from him in about 18 months so don't know what his current status is. Now with the RelayEquipmentManager that @rstrouse built to work hand-in-hand with nodejs-poolController it's pretty simple to do further pool automation.

I'll also take a look alerts... been meaning to look at that for a while but haven't had time.

I'm also planning on making this compatible with Influx 2.0 (FluxQL) in the near/mid term but since everything's working on 1.8.x right now (and no one is bugging me for it) it isn't #1 on the priority list.
 
  • Like
Reactions: MyAZPool
I'm also planning on making this compatible with Influx 2.0 (FluxQL) in the near/mid term but since everything's working on 1.8.x right now (and no one is bugging me for it) it isn't #1 on the priority list.

I checked a little earlier, I'm running 1.8.x.
On their website, they said there is no recommended upgrade solution for docker users yet. So I'll wait a while until they roll out something out, and then give it a little time to make sure its stable.
 

Enjoying this content?

Support TFP with a donation.

Give Support
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.