Pentair IntelliCenter Pool Control Dashboard Instructional Guide

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
Pentair IntelliCenter Pool Control Dashboard Instructional Guide
(nodejs-poolController and nodejs-poolController-dashPanel)


2020-09-26_16-17-10.jpg

Table of Contents –

2. Credits
3. Theory

1. Purpose and Background
There are a growing number of IntelliCenter users that are becoming increasingly dissatisfied with the lack of reliability and functionality regarding the Pentair IntelliCenter webClient, mobile apps and the Amazon Alexa Skill. Not to mention the complete unavailability of once advertised features such as the Apple WatchOS app, Google Assistant, Siri/HomePod, Google Home and Apple HomeKit.

I have certainly experienced the same dissatisfaction with Pentair’s "Human to Machine Interfaces (HMI's)" ever since my initial IntelliCenter installation in the fall of 2018. Given this fact, I began to explore the possibility of other “alternative” controllers / interfaces in late 2019.

Presently, there are several "alternative options", that can be employed for use with the Pentair IntelliCenter as well as IntelliTouch and EasyTouch (*Touch). These options allow users the ability to no longer rely on the Pentair IntelliCenter production (prod) servers and consequently the Pentair webClient/mobile apps for their controller and interface needs.

Besides the Pentair controllers and interfaces (and all of the restrictions and reliability issues that those present to the user), there are two other IntelliCenter controller/HMI's, that I am presently familiar with and which are listed below:

A. IntelliCenter Gateway and associated Control App
According to the developer, the “IntelliCenter Gateway and associated Control App” is a secured proxy to the IntelliCenter Application Programming Interface (API). It uses a basic web interface to view and control equipment that is password protected for remote access. The Android Control uses the “gateway” to communicate with the IntelliCenter securely.​
One of the advantages of the IntelliCenter Gateway and associated Control App is that NO physical connection to the IntelliCenter RS485 bus (Serial COM port) is required. However, there may be certain advantages to this RS485 physical connection for some IntelliCenter and *Touch users’ and which will be examined in further detail below.​
Further information on this “gateway” UI can be found in the following thread. Credit: @guinness and @rmontgomery
B. Pool Control Dashboard (nodejs-poolController-dashPanel)
The utilization of this particular controller/interface requires the employment of a physical connection between a computer and the RS485 bus (Serial COM Port) of the IntelliCenter or *Touch. Some users may consider this requirement a disadvantage but when examined more closely and compared to the advantages of the nodejs-poolController, then possibly it's not all that much of a disadvantage for some users.​
2020-09-08_14-06-17.jpg
Although the employment of a small single-board Raspberry Pi computer is not necessarily a requirement to utilize the Pool Control Dashboard, the Raspberry Pi computer actually serves a useful purpose. This is because it will easily allow for other pool-related automation features to be realized (such as additional temp/pressure “add-ons’) and allows for all pool-related automation to be run from a dedicated “java-script ready” machine rather than using a PC or Mac.​
On a PC or Mac, those platforms require the correct configuration in order to run nodeJS, whereas the Raspberry Pi OS is specifically suited for that purpose.​
Other advantages in utilizing a Raspberry Pi vs a PC or Mac are cost and physical portability leverages as well.​
Note: node.js is a run-time environment used for executing JavaScript outside of the browser. npm is a JavaScript package manager commonly used for installing packages for node.js.​
Listed below are but some of the advantages with regards to the Pool Control Dashboard while utilizing the required RS485 physical connection to the Pentair IntelliCenter and IntelliTouch or EasyTouch automation systems.​
(1) No requirement to run .NET core. The nodejs-poolController application does much more than just act as an interface because it does not merely inject itself between the Control Panel (OCP) and the Pentair webClient. This essentially means that the nodejs-poolController can perform many more tasks, since it is not just limited to only those functions that are controllable through the Pentair webClient or in the case of *Touch system - ScreenLogic.​
(2) The nodejs-poolController will not only function with and control the Pentair IntelliCenter but it is fully compatible with the Pentair IntelliTouch and Pentair EasyTouch automation systems as well. In fact, the nodejs-poolController actually adds capabilities that do not currently exist with the IntelliTouch/EasyTouch control boards as well as most other webClients. In fact, the nodejs-poolController can be utilized to control DIY/"Home-Brew" Pool Automation Systems as well.​
In reality, the only difference that will be witnessed within the Pool Control Dashboard between the IntelliCenter and the IntelliTouch/EasyTouch automation systems, is the fact that *Touch systems only have one IntelliBrite controller that works with all the lights presently. This means that the theme and color pallet controls only show up on the Lights topic. You don't get control for each light and/or group. However, in the future, this minor inconsistency between IntelliCenter and *Touch systems, will be addressed and color support for the IntelliBrite compatible systems should be corrected, which will in turn, force *Touch systems into the better paradigm.​
(3) Since the “dashPanel” was written in raw JavaScript and CSS, the primary goal of the nodejs-poolController-dashPanel, was to get as much control over the pool and onto a single page without all the “navigating around” that you typically find with every other Pentair controller/interface. And without all of the scrolling (which seems to be the very nature of all of the “web libraries” that currently exists).​
(4) The nodejs-poolController is completely compatible and integrates with other commercial and DIY home automation clients/bindings/platforms such as SmartThings/Hubitat, Vera Home Automation Hub, Homebridge/Siri/EVE, etc. All of these platforms can operate separately and support the same common functionality and if the interface is done correctly, then it’s not dependent on the original hardware that it is supporting. The (OCP) or the lack thereof, is not relevant here.​
(5) The Pool Control Dashboard (nodejs-poolController-dashPanel) is a highly dynamic platform since it is completely “scalable” and adaptable to various other advanced pool automation functionality projects recently being realized or which are currently being developed to include future projects as well.​
The following are current or future improvements and enhancements that are currently in various stages of planning and/or development. -​
a) relayEquipment manager – Allows for other types of relays (besides the relays within the Pentair Automation panel) to be controlled.​
Note: The relayEquipment manager will allow for “Serial Peripheral Interface” (SPI) and will also support "Inter-Integrated Circuit" (I2C) functionality in the future for external sensors related to pool automation and control. Currently REM will allow for as many valve or other relays as one has available GPIOs. That sensor information is currently fed over SPI. The advantage here is ease of configuration and no additional programming is required. And the real advantage will be that it will communicate with the nodejs-poolController via the socket interface.​
Note: Please also see the poolcontroller-manager v2.0.0, which works in tandem with the nodedjs-poolController 6.0. It communicates with nodejs-poolController 6.0+ to receive chemController updates (pHSetpoint, orpSetpoint, temps, etc) and posts status updates back to the app. It will also adjust the chlorinator higher/lower based on the ORP setpoint.​
However, when I2C is fully implemented, the Atlas Scientific Tentacle T3 “stackable” add-on board for the RPi can host up to five (6) EZO-class devices to measure pH, ORP, DO, control dosing (MA, Chlorine) peristaltic pumps, pressure sensors (PRS), color sensors etc.​
2020-09-09_14-28-04.jpg
b) Control of the IntelliValve “multi-positional” feature irrespective of any Pentair support.​
c) Control of “other than Pentair” SWCGs, MA and Chlorine dosing and other chemistry controllers to include the DIY or “homegrown” variety.​
d) Adding additional valve actuator support above and beyond the ten maximum, that the OCP currently supports.​
e) Extending the scheduling functionality well above current Pentair limitations.​
f) A “room moniker” feature which will allow for various types of pool equipment to be moved into specific pages.​
g) User defined sorting of AUX Circuits, Feature Circuits, Circuit Groups and Schedules.​
h) iPhone CSS support.​
i) Additional Heater support.​
j) Additional Solar support.​
k) Cover and Remote support.​
l) Security Option support.​
m) User notification (email and sms) support.​
n) pH and FC sensor support.​
o) Filter Gauge Pressure Transducer support.​
p) Uploading of “user-defined” backgrounds for the Pool Control Dashboard.​
q) Enhanced “Graphical” support to include virtual gauges, dials and graphs.​
C. Within this instructional guide however, the intent here is to concentrate efforts towards the nodejs-poolController-dashPanel controller/interface, with an emphasis on the Pentair IntelliCenter Automation System.​
However, this guide will also provide some detail or instructions (when applicable) for the Pentair IntelliTouch and EasyTouch end-user as well, since the nodejs-poolController-dashPanel can be utilized for all three of these Pentair Automation Systems.​
D. Much of the methodology explored here are based upon my own experiences. There are always different methods at which to arrive at the same solution. So if other options are not specifically mentioned here, it does not necessarily indicate that they can’t be realized. If you think that you might have an improved option or solution, please explore it and share it for the benefit of all concerned.​
I would like to think of this project as a “one team-one fight” effort in order to benefit all Pentair automation system end-users who wish to improve on the quality and the functionality of their control and interface experiences with their pool automation systems.​
E. The instructions and information contained within this guide are meant to be dynamic rather than static. In other words, a “living instructional guide” that will reflect various changes or improvements in methodology, future pool-related equipment, software/firmware releases, and to address any information that may become outdated.​
F. Lastly, although experienced Raspberry Pi users may find some material within this guide useful, it should be noted that this is a “step-by-step” instructional guide that targets the type of user that has little or no experience with a Raspberry Pi (RPi) computer and/or the use of the Linux command-line. Both of which are utilized and explained in detail within this guide.​

2. Credits
Although I just happened to be the one that began the initial development of this instructional guide outline, and performed the instructional steps validation and the formatting and posting of this thread, I certainly cannot take all that much credit for much of the technical details contained within.

This was a collaborative effort between myself, @cmc0619 and @Katodude, who both contributed a great deal of time, knowledge and expertise. Not only towards this goal, but also for providing me with quite a bit of Raspberry Pi and Linux command-line assistance as well.

I would personally like to give @tagyoureit many thanks and credit for his development of the nodejs-poolController and its associated webClient. The poolController is the primary means to which to communicate with and control the Pentair compatible pool equipment. This latest release of version 6.0.0, takes this pool controller to new heights and now natively supports IntelliCenter up to and including the latest firmware beta releases, as well as the controlling of IntelliTouch and EasyTouch now. Thanks again @tagyoureit for the many hours of dedicated work on this controller!! Awesome!

Lastly, an enormous amount of credit (and thanks) go to @rstrouse. Without his advanced technical prowess in this realm and his incredible time devotion to this interface, the Pool Control Dashboard would not exist.

I would also like to thank him for his many hours of direct poolController and dashPanel assistance to me. This was due in large part to my “non-standard” IntelliCenter configuration and non-standard equipment setup requirements. Also, many thanks go out to him, for his assistance in providing much of the needed technical information scattered throughout this instructional guide as well as the final “proofing”.

And to all of the above, thanks so much for all of the patience with this Raspberry Pi/Linux command-line noob and for showing me how to “color between the lines” correctly. I have and I continue to learn a tremendous amount from you all!

3. Theory
Currently, most IntelliCenter users utilize a Pentair developed webClient (browser), and/or a mobile application to interface with their IntelliCenter panels (OCP). This is normally accomplished via or “through” the Pentair IntelliCenter prod servers. As most have sadly discovered, the reliability of these servers is at times, “marginal-at-best”. In addition, although they are functional to some extent, many would agree that the Pentair IntelliCenter webClient, mobile apps as well as the ScreenLogic app are cumbersome, outdated, lacking in advanced functionality and are not supported by necessary improvements and upgrades.

In order to combat this unfortunate reality, the IntelliCenter and *Touch user has the option to utilize other user controllers and/or interfaces now. One such alternative is the node.js-poolController-dashPanel (Pool Control Dashboard), which utilizes a computer to act as a host instead of using the Pentair servers. In other words, the host computer works as a server in the same way essentially, as do the Pentair Prod Servers.

However, unlike the Pentair servers, which utilize an internet connection to communicate with the users’ IntelliCenter OCP, the host computer is connected directly to the IntelliCenter RS485 bus (Serial COM Port) which will be explained in more detail below. This fact, greatly enhances the “reliability” factor since the user has complete “control” over connectivity with their automation system.

The actual nodejs-poolController-dashPanel UI is also a webClient but again, unlike the Pentair webClient, the internet is not necessary for connectivity. The nodejs-poolController-dashPanel typically only requires the utilization of the users’ local area network (LAN) in. In addition, through the use of VPN technology, remote access (outside of the LAN) to the control panel can also be realized.

There are two (2) components to this free software which is located on the GitHub repository hosting service and which also provides access control and several collaboration features as well as “WiKi” pages and task management tools.

A. The nodejs-poolController is a JavaScript application developed to communicate and control your Pentair compatible pool equipment. Primary and collaborating developer credits are noted on the repository website.​
B. The nodejs-poolController-dashPanel is the webClient controller, designed and developed to operate the actual nodejs-poolController server backend. Primary and collaborating developer credits are noted on the repository website.​

4. Hosting Platform Options
The nodejs-poolController-dashPanel can be hosted from a Windows platform, Apple Mac or a Linux machine.
2020-09-08_19-42-56.jpg
However, in this guide, the platform that will be discussed in detail is the “Raspberry Pi” or otherwise known as a “Pi” and abbreviated as RPi in this instructional guide. The RPi is a low cost, credit-card sized computer that can utilize a standard computer monitor or TV, and can use a standard computer keyboard and mouse (I/O devices).

However, typically a monitor, keyboard and mouse are not particularly necessary once the RPi has been properly configured to run a remote desktop program such as RealVNC or some other suitable remote desktop server/viewer.

More information regarding the Raspberry Pi computer can be found in the following link.

5. Location and Connectivity Considerations and Options
There are several options available to the user when it comes to selecting an applicable permanent location for the Raspberry Pi, as well as how the Raspberry Pi will connect to both the users’ LAN and the users’ Pentair automation system (IntelliCenter, IntelliTouch, EasyTouch) - RS485 bus (Serial COM Port).

This instructional guide will list some possibilities and combinations that are typical, however there are always “outliers” that may have been missed here.

Lastly within this section, I will document my experiences and reasoning behind selecting the location for my own Raspberry Pi, as well as my personally chosen connectivity options between the RPi, my LAN and my IntelliCenter RS485 bus.

Location options and considerations
The typical location options for the Raspberry Pi are either in the users’ residence or located at the pool equipment pad.

Considerations when selecting the appropriate location for your particular requirements should be based on the following:
  • Accessibility
  • Environmental
  • LAN connectivity for the RPi (wired vs wireless (Wi-Fi)
  • RS485 bus (Serial COM port) connectivity (This is the physical (wired) connection between the RPi and the RS485 bus (Serial COM port)
  • Power considerations for the Raspberry Pi
A. Accessibility – As noted above, the RPi can typically be located within your residence or at the pool equipment pad. If you decide to make your RPi live outdoors, then typically the RPi should always be configured near your desktop/laptop computer initially. But once near final completion of the RPi configuration, then the RPi can be moved to its final pool equipment pad location.​
Note: If your RPi location is to be outdoors, then you should move it prior to performing the necessary “npm start&” commands with the command-line editor on the RPi near configuration completion (further explanation will be provided in detail below) so that you can make the physical RS485 connection between your RPi and the RS485 bus. This will mean that you will have already configured the remote desktop client and ensured that you can control your RPi remotely from your desktop/laptop.​
If the RPi lives outdoors, you must decide where exactly. In a NEMA 4 enclosure perhaps? Or in the low-voltage compartment of the IntelliCenter or *Touch Load Center or Power Center? Will you have enough room in that low-voltage compartment?​
Personally, I could not find a suitable location in my low-voltage compartment, so that idea was out for me. If I was determined to locate it in the low-voltage compartment, then the only thing I could do was just let it flop around somewhere in there and hope that it would not eventually “short” something out on the mother or daughter card or the valve expansion module as I closed the IntelliCenter fold-down access panel. No thanks.​
If you are considering some sort of NEMA enclosure, then that should work out pretty well. You will need to provide a conduit between the NEMA enclosure and the low-voltage raceway of the Load or Power Center to run your physical RS485 and LAN connections (if not utilizing Wi-Fi). And don’t forget about power requirements for your “power hungry” (5v 2.5A) RPi.​
Comment: The only way that I would consider placing the RPi in the low-voltage compartment of my IntelliCenter is IF I did not employ the use of the optional Serial COM Port Expansion Board, which is normally mounted on the back wall of the low-voltage compartment. Then I may have tried to use some sort of industrial strength double-sided tape to mount an RPi case to that back wall and which would still allow for the removal of the RPi if need be.​
Caution: Personally, I would NEVER consider mounting the RPi within the High-Voltage Compartment of the Load Center, as has been suggested elsewhere. But to each their own I guess. It’s your equipment and personal safety that you must consider.​
Accessibility should not be a concern if your RPi lives indoors.​
B. Environmental – Heat is the primary consideration here. The Raspberry Pi specifications note that the operating temperature range is between 0*C (32*F) and 85*C (185*F). Specifically, the CPU is rated for -40*C (-40*F) to 85*C (185*F) and the Ethernet Chip is rated for 0*C (185*F) to 70*C (185*F).​
What are the typical summers like in the area in which you live? Are you mounting the RPi in a nearly air-tight enclosure? Is there other equipment mounted in the enclosure that will contribute to the overall ambient temperature within the enclosure?​
Note: I know of a couple of users that have RPi’s mounted outside (within enclosures), in the Phoenix Metro area (very warm summers) and I have not heard of any issues encountered so far. In fact, your IntelliCenter processor is mounted outside in a metal enclosure right? And the IntelliCenter mother and daughter cards are much more valuable than a $50.00 RPi. So, this may be a non-issue in most cases. However, if this remains a concern for you, then you may consider the purchase of any of the following inexpensive accessories which should help with RPi cooling.​
(1) Thermal Pads and/or Heatsink kits for the RPi CPU, SoC, Memory, USB and Ethernet Chip.​
(2) Single or double cooling fans with or without alloy-case type heatsinks.​
(3) “ICE” type tower cooling fans (liquid).​
All of the above can be purchased on Amazon or elsewhere..​
Environmental concerns should not be an issue if your RPi lives indoors.​
C. LAN Connectivity for the RPi (wired vs wireless (Wi-Fi) – If you choose to make your RPi live outdoors, then considerations here are Wi-Fi connectivity. If you are already using Wi-Fi for your IntelliCenter or *Touch, then this should not be an issue.​
If you are utilizing the IntelliCenter Wi-Fi Link Kit (Primary Client Bridge) to connect your IntelliCenter to your Wi-Fi router, Wireless Access Point or Wi-Fi mesh network, then I understand that there is a second LAN connection available there which will allow you to connect the RPi to that ethernet port.​
If your IntelliCenter is “hardwired” to your LAN, then you have a choice of using a Cat5E or Cat6 splitter or you can choose to run a second Cat5E or Cat6.​
LAN connectivity for the RPi should not be an issue I would think, if your RPi lives indoors. The Raspberry Pi (Pi 3, 4 and ZeroW) are Wi-Fi capable and you have the option to hardwire it to your LAN as well.​
D. RS485 bus (Serial COM port) connectivity (This is the physical (wired) connection between the RPi and the RS485 bus (Serial COM port) – If you choose to make your RPi live outdoors, then the only consideration here is properly wiring and connecting the required USB to RS485 adapter to the RS485 bus (Serial COM Port) which will be covered in more detail below.​
However, if you would like your RPi to live inside, then there is more to it. You must provide for a physical connection between the RS485 bus and the RPi. If you are utilizing a low-voltage conduit from the IntelliCenter or *Touch Load or Power Center for a hardwired LAN connection, then this shouldn’t be much of an issue. But if not (you are using Wi-Fi for LAN connectivity), then it becomes much more of an issue if you prefer the RPi inside.​
Note: The last sentence above is a factual statement however there is a “caveat” involved. IF, you are currently employing either an optional IntelliCenter “Indoor Control Panel” (P/Ns 522035, 523058 or 523059) or in the case of *Touch systems and are you are utilizing the ScreenLogic Protocol Adapter (with or without the Wireless Connection Kit) and/or one of the Indoor Wired Control Panels (P/Ns 520138 or 520548), then you should already have an existing RS485 connection within your residence. You would then need to only run a 2-conductor (3 if you prefer a ground) from one of these devices to your Raspberry Pi (or another computer if you prefer). You then would have the necessary physical RS485 connection challenge solved.​
Note: Use UL approved conductor cable minimum 22 AWG (Cat-5e meets this spec). However use UL approved conductor cable minimum 18 AWG for distances longer than 200 ft.​
E. Power Considerations for the Raspberry Pi – Although the Raspberry Pi uses a whopping 5V 2.5 amps, it still needs to be powered. If you are opting to have your RPi live outdoors, then there are a variety of ways that you can power your RPi, depending on where exactly you plan to mount/place your RPI. In the Load/Power Center? A NEMA enclosure? etc. You can get fairly creative here.​
The RPi typically uses an AC-DC power adapter or what I like to refer to as a “Wall Wort”. Typically, a 100-240 Va.c. 0.6A input to 5.1Vd.c. 2.5A adapter. This adapter is “bundled” in many of RPi “kits” available or it can be purchased separately.​
If the RPi is to be mounted in the Load or Power center, one option would be to plug the RPi Power Supply into the female end of some sort of suitable heavy-duty type power cord. Cut the male end off at the appropriate length and then wire the other side to the load-side of the installed GFCI in the High Voltage compartment of the Load Center. Then run the low-voltage power cable from the wall wort up through the provided cut-outs and into the low-voltage compartment and plug the wall wort into the female end of the power cord.​
Note: Use caution when considering the above method of providing power to the RPi. Personally, I’m not really a fan of running low-voltage cables throughout the High-Voltage Compartment of the Load Center. So if you choose the above method of powering the RPi, please consider running the low-voltage power cable that extends from the wall wort, as far away from any high-voltage wiring and especially the circuit breakers. “Murphy” always has a way of attempting to “void your warranty”, so be careful.​
Warning: Always remove power from the Automation System Load/Power Center at the house Main Circuit Breaker Panel, before removing the Load/Power Center High Voltage Cover Panel. It’s also referred to as a “Dead Front” panel for a very good reason. In addition, if you are not qualified and/or proficient in electrical installation practices and procedures or lack the skill sets necessary to work with 100-240 Va.c. wiring, please consult with a licensed professional that IS.​
There are many other options to provide suitable power for the RPi to include small solar panels specifically designed for this purpose, such as the Adafruit Industries models. USB to USB-C adapters, Power-over-Ethernet add-on boards, etc. round out the list of available options.​
Once again, if you are kind enough to allow your RPi to live indoors, the power consideration for your RPi, should not be an issue.​
The following are my personal experiences at selecting the location for my Raspberry PI and my subsequent RS485 connectivity solution between the RPi and the IntelliCenter RS-485 bus.​
So, I had initially thought that I would be placing or mounting the RPi in the low-voltage compartment of my IntelliCenter Load Center because most of the other threads here that utilize an RPi in their “DIY/Home Brew” automation systems, indicate that the RPi’s are typically mounted at the equipment pad. But after some careful thought and research, I became increasingly convinced that this “outdoor” option presented some unique challenges for me, and which I outline below.​
EFUZ3670.JPG - There is very little room in the low-voltage compartment of the IntelliCenter Load Center for the RPi to begin with. In addition, I could not mount the RPi on the back wall of the low-voltage compartment because my Serial COM Port Expansion Board is already mounted on the back wall of that compartment. Hence, I would need to mount a NEMA type box and connect that box via flex conduit to the bottom of the IntelliCenter Load Center Low-Voltage Raceway (side knockout was already in use). In addition, I already have enough NEMA type boxes hanging on that wall, so the outside option just did not look all that viable to me.​
- In addition, it would require that I plug the RPi Power Supply into the female end of some sort of extension cord and then wire the other end to the load-side of the installed GFCI in the High-Voltage compartment of the Load Center as discussed above.​
- I live in Arizona where highs in the summer can reach extreme temperatures. Yes, although I operate other electronic equipment outside (to include the IntelliCenter electronics), I just ultimately decided against it.​
- There would be no “easy” way to remotely power reset the RPi if I needed to.​
Note: Once the RPi is configured, this would normally not be an issue.​
- Lastly, initial setup still requires the RPi be co-located near a computer anyway.​
So, based upon those considerations and limitations that I listed above, I ultimately decided that I would allow my RPi to live indoors with the rest of the family. Specifically, in my home office with my other “toys”. Comment: I now feel that was the right decision especially due to the fact, that in the meantime, I have since added three additional Raspberry Pi’s to the mix, just so the first one would not get too lonely.​
The following challenges however would need to be tackled based upon my decision to keep the Raspberry Pi indoors.​
Since the Pool Controller RPi requires that physical connection to the IntelliCenter RS-485 bus when utilizing the nodejs-poolController, I would require an appropriate serial communication method.​
Note: The RS485 bus is the same “bus” that the IntelliFlo pumps, IntelliChlor SWG, MasterTemp Heaters, UltraTemp Heat Pumps, IntelliChem and eventually the IntelliValves (one way or the other), use for their communication protocols, between them and the IntelliCenter processor.​
The only option here was to “hard” wire the connection from my house to the IntelliCenter Load Center. I decided this would be a better choice for me personally, especially since my IntelliCenter LAN connection is already hard-wired to my Local Area Network (LAN) via an existing ¾” low-voltage conduit which connects between a bottom knockout of the IntelliCenter low-voltage raceway and my attic.​
I considered various conductor / wire options for the connection but finally settled on a shielded Cat-5e while 2020-09-09_20-50-05.jpgincorporating an RJ45 to Terminal Screw Adaptor on both ends of the Cat5e.​
[/URL]
Anytime I run cable/wiring through a conduit, I always attempt to pull an extra pull/zip line just in case, so thank goodness the pull line was already there in my low-voltage conduit, which of course made pulling another Cat-5e extremely easy. In fact, while I was at it, I pulled a third Cat-5e just for good measure (you never know).​
Once I pulled the two additional Cat 5e’s, I then had one for the IntelliCenter LAN connection, a second one for the physical connection from the IntelliCenter RS-485 bus to the RPi and a spare Cat-5E for possible future use.​
I then ran the Cat-5e to be used for the RS485 connection thru the attic and down the wall which adjoins my office and terminated the connection to a Shielded Inline Modular Coupler w/Keystone Latch as illustrated.​
As you can see 2020-09-09_20-58-53.jpgthe Cat-5e, connectors, etc. are all of the “shielded” variety, so that way I could ground the connection from the RPi to the IntelliCenter. I’m not really sure this method is absolutely necessary, but I thought it might be a good idea based on some research that I did.​
The following diagram illustrates the connectivity method that I used to connect the RPi to the IntelliCenter RS-485 bus due to the fact that I utilized a Cat5e for the connection.​
2020-08-22_18-11-50 copy.jpg
Note: The Pentair Serial COM Port Expansion Board is NOT necessary to make the physical connection to the RS485 Bus. It can be made to any of the COM Ports as well.​
 
Last edited:

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
6. Equipment and Accessories Considerations

Depending on the specific setup or configuration, there are some basic pieces of equipment and accessories that will be required to implement the use of the nodejs-poolController if utilizing a Raspberry Pi. There are quite a bit of choices and options available here but I am listing the equipment that I personally selected for my particular needs based on my research and some recommendations that I received.

Note: I have yet to experience any problems or issues with any of the following items and I have listed the links where I purchased these items and the approximate cost of each item.

A. Raspberry Pi Computer: There are several different models of Raspberry Pi computers that are acceptable for the purpose of utilizing t2020-09-08_15-17-13.jpghe nodejs-poolController-dashPanel.​
I happened to choose the Raspberry Pi 4B – 4GB model for my setup. If one were to plan on using the RPi for only the nodejs-poolController-dashPanel requirements, then the RPi 4B 4GB model may be a bit “overkill” I believe. However, I chose it for my needs based on the following requirements.​
(1) It is currently the “latest and greatest” model and can handle much more workload if needed in the future.​
(2) I am planning to use this particular RPi for additional tasks to include things like pH and FC sensors, Filter Pressure Gauge Transducer, MA dosing and water meter monitoring.​
2020-09-08_19-47-38.jpg
(3) Although I purchased my RPi, power supply and optional heat sink/fan kit, à la carte, there are also literally hundreds of various kits and bundles that are available as well. Just be careful when ordering various kits. Many bundled items within the kits do not appear to really be needed, or they are items that are inappropriate for this particular intended purpose.​
Note: I am now personally using a USB to USB-C adapter in order to power my RPi(s) and I have completely ditched the “wall wort” type power supply.​
B. USB Wireless Keyboard/Mouse Combo and Monitor:​
It will be necessary to use a monitor, keyboard and mouse in most cases, at least during the initial setup. Once initial setup is completed, you can use remote desktop software to remotely access the Raspberry Pi and then you can use your normal desktop/laptop computer keyboard/mouse/monitor.​
Regarding a keyboard, mouse and monitor. You can always use an existing keyboard, mouse and monitor that you already have, since it is NOT necessary to have dedicated I/O devices such as these.​
However, I had no spares available to me and so I chose to purchase a USB wireless keyboard/mouse combo with USB dongle and a small 7” touch screen monitor. Especially in light of the fact that I figured that I would do a lot of playing around with other RPi’s (testing, experimenting etc) eventually.​
Here again, there are hundreds of various options one can select, but the following are the I/O accessories that I happened to find and have consequently, performed well for me.​
C. Raspberry Pi Accessory Options: The following are just additional options that I chose to purchase at the time because I had initially thought that I would be placing my Raspberry Pi at the equipment pad as explained above.​
D. USB to RS485 Adapter: This is a necessary item when using the nodejs-poolController-dashPanel. A USB to RS485 adapter is 2020-09-08_15-25-50.jpgnecessary since there is a requirement for a physical connection between your Raspberry Pi and the RS485 bus of the IntelliCenter or *Touch. Here again, there are several different options that are acceptable. I have used all of the following adapters without any issues and will comment on each one below.​
Comments: This was my first adapter. Super easy setup and good documentation. The connection and activity lights are adequate and handy to have. However, it is very large compared to the other two which I own and which could present a problem if using multiple USB adapters with your RPi. It’s also fairly “pricey” in comparison to the other two listed below.​
Comments: I like this one as well. No documentation but that doesn’t matter since it’s illustrated adequately on its Amazon page. I will also provide the connection/pin-out instructions below.​
2020-09-10_17-00-41.jpg
Note: The “white” (clear) model allows for very bright connection and activity lights. This might be preferable for some, especially if mounting or placing the RPi outside. I use this adapter inside and it does not particularly bother me, but when my office lights are turned off at night, the blinking green activity light is VERY bright and flashing constantly as it communicates on the IntelliCenter RS485 bus.​
Comments: I purchased this adapter for two reasons. I wanted to check it out because it is the adapter that is recommended on the GitHub, nodejs-poolController website and I will need additional adapters anyway for future pool-related automation projects.​
This adapter is also the least expensive of the three that I have used so far. But it is also the one with the least number of features (features that are not particularly necessary for this application however).​
What I like about this adapter is its simplicity and “slimness”. It can be used alongside other USB adapters on the RPi, without a USB port “space” conflict. It only has two inputs which is fine for this application. They are A (Data+) and B (Data-) and which are labeled on the bottom of the adapter. There is no consideration for a “GND” connection but that may not be an issue for most. There are no connection or activity light features. This is not a concern typically but activity lights on an adapter will provide the user with a visual indicator of communication traffic (“heartbeat”) between the adapter and the RS485 bus.​
Physical RS485 connection between the RPi and the IntelliCenter.​
The following are the instructions to "make-up" the physical RS485 connection between the Raspberry Pi computer and one of the IntelliCenter COM PORTS on the IntelliCenter Control System Circuit Board (Mother Card) or the Serial COM PORT Expansion Board (520818), while utilizing a USB to RS485 adapter.​
Note: Use UL approved conductor cable minimum 22 AWG (Cat-5e meets this spec). However use UL approved conductor cable minimum 18 AWG for distances longer than 200 ft.​
2020-09-08_14-49-37.jpg
Basically, this is the same as wiring most other pool equipment that uses a 2-wire COM/serial connection to the IntelliCenter or *Touch systems (pumps, high-end pool heaters, etc.)​
There are two mandatory conductors (wires) that must be connected on the COM PORT RS-485A or COM PORT RS485B (on the IntelliCenter Mother Card) or on the optional Serial COM PORT Expansion Board (if applicable), and the USB to RS485 adapter.​
On both IntelliCenter RS485 COM PORT terminals and the Serial COM PORT Expansion board, they are labled as “YEL” and “GRN”.​
On the various USB to RS485 adapters, the terminal screw connections/pin-outs, may be labeled or indicated differently.​
Here is the key for connecting the IntelliCenter RS485 bus to the USB to RS485 adapter correctly.​
2020-09-09_18-43-08.jpg
There is an optional third conductor related to this application, if desired. That is "Signal Reference" or Ground which is indicated by BLK,Black or GND.​
Note: As noted in Section 5.D. above. IF, you are currently employing either an optional IntelliCenter Indoor Control Panel (P/Ns 522035, 523058 or 523059) or in the case of *Touch systems and are you are utilizing the ScreenLogic Protocol Adapter (with or without the Wireless Connection Kit) and/or one of the Indoor Wired Control Panels (P/Ns 520138 or 520548), then you should already have an existing RS485 connection within your residence. You would then only need to run a 2-conductor (3 if you prefer a ground) from one of these devices to your Raspberry Pi (or another computer if you prefer). This connection would serve as your physical RS485 connection.​
E. MicroSD Card: A microSD Card is also necessary since this is where all of the necessary files are stored for your RPi. Just think of this card as similar to your desktop/laptop computer hard drive.​
Just like nearly every other piece of equipment or accessory noted within this instructional guide, there are many choices available in manufacturers and varieties here as well. You can purchase microSD Cards in 16GB, 32GB and even larger storage capacities.​
Note: I had a lot of problems trying to load NOOBS and/or the RPi OS (formerly known as “Raspian”), initially for some reason on an existing 64G microSD card that I had. I really don’t know why, but I did find some information on the internet that suggested any cards larger than 32GB may experience issues with the loading of NOOBS and/or RPi OS. Just as soon as I tried a 32GB card, no problems loading the RPi OS.​
If you are planning on running the nodejs-PoolController-dashPanel ONLY, on your RPi, then the 16GB microSD card should be sufficient.​
The following link provides some additional information on microSD Card selection.​
Note: You can buy blank microSD cards and load RPi OS yourself or you can buy them pre-loaded with "NOOBS". NOOBS stands for “New out of the Box Software”. It is actually an “installer” that can be found pre-loaded on microSD cards or it can be downloaded to a blank card. I have not had good luck actually downloading NOOBS on to blank microSD cards for some reason (it just won’t load and execute). But I have had great success downloading the RPi operating system (OS) on blank microSD cards. Rpi OS will be explained in further detail in the next section.​
Although I have not tried one, I understand that microSD cards with NOOBS pre-installed are a fantastic option (especially for the noob) and they are available from many distributors and independent retailers, including Pimoroni, Adafruit, Pi Hut and Amazon.​
Note: I'm really not sure why I like to do things the “hard way” sometimes? Downloading and installing the RPi OS is not really that difficult but if the pre-loaded microSD card is just as good as the old-fashioned “download to blank card” variety, then why not.​
More about NOOBS can be found in the following link.​
Note: Another consideration when purchasing microSD Cards is having more than one. Just like any other type of computer application, backup is important. Once your microSD card is configured properly to run nodejs-poolController-dashPanel, you will want to back up the microSD card to an “image” file to your desktop/laptop. Also, having two exact images on two different microSD Cards allow you the latitude to have additional redundancy and to have peace-of-mind. Especailly if you decide to start experimenting within your RPi. If you goof something up, no worries. Just shut the RPi down, pop the card out, place the new card with the original image in, fire up your RPi and you’re “back in business”. See the section devoted to microSD card images and backup in the Miscellaneous Information and Instructions below.​
Here is my current “blank” microSDC “card of choice”. I have had zero problems with these and I have six of them now that I have used. There are several different bundles available as well on Amazon.​
 
Last edited:
  • Like
Reactions: cmc0619

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
7. Raspberry Pi Setup and Configuration

There are several steps in order for the new user to reach the “end-state”, where the nodejs-poolController/dashPanel is installed and operational on the Raspberry Pi. The steps are summarized below and explained in further detail within each step below the summarization.

Note: If you have zero experience with a Raspberry Pi, I would highly recommend the Official Raspberry Pi Beginner’s Guide The Official Raspberry Pi Beginner's Guide v2 before you get started. It’s not particularly necessary, but it did really help me to get “off the ground” initially and I continue to use it as a reference guide, as I continue to explore and experiment with different Raspberry Pi’s and their configurations.

  • Format the microSD Card and Download/Install Raspberry Pi Operating System (OS). Note: This step is NOT necessary if you purchased a microSD card with NOOBS pre-installed.
  • Raspberry Pi Initial Setup and Start-up.
  • Update the RPi operating system (OS) / Upgrade the RPi Firmware / Install Essential Packages.
  • Perform two (2) “git clone” command procedures within the home/directory for the nodejs-poolController and the nodejs-poolController-dashPanel packages.
  • Perform Package Installation and Start commands. First in the (nodejs-poolController) sub-directory and then in the (nodejs-poolController- dashPanel) sub-directory.
  • Test the nodejs-poolController-dashPanel Client (Pool Control Dashboard).
  • Configure poolController Settings > Connections
  • Create and Save the Start-up Script.
Detailed instructions.

A. Format the microSD Card and Download/Install Raspberry Pi Operating System (OS)
2020-09-08_16-29-10.jpg
Note: This step is NOT necessary if you purchased a microSD card with NOOBS pre-installed. If so, then skip to step 7. B. below.​
(1) Insert your microSD card in a microSD card slot reader on your computer (desktop/laptop) or in a USB microSD card adapter and insert that adapter into a USB port on your computer (desktop/laptop).​
(2) Click on the following link to utilize the Raspberry Pi Imager, in order to format/image the blank microSD Card for use with the RPi.​
(3) On the downloads page, click on the applicable link depending if you are using a Windows computer or a Mac to perform this task.​
  • If using a Windows computer, click on the: Raspberry Pi Imager for Windows link.
(a) Save imager.exe file.​
(b) Navigate to your downloads folder and double click on the imager.exe file to open. Click the “INSTALL” button.​
(c) It will install the file. When complete, Click “Finish” button.​
(d) The app will open. Click on the “CHOOSE OS” button and select the Raspberry Pi OS (32-bit) option in the pull-down menu.​
(e) Click on the “CHOOSE SD CARD” and find the applicable Card Reader Media (the microSD Card) and click on it.​
(f) Click on the “WRITE” button and confirm you want to continue.​
(g) Your microSD Card will then be formatted/imaged with the Raspberry Pi OS (32-BIT).​
Note: This process can take anywhere between 5 to 15 minutes depending on the speed and power of your computer and your internet speed.​
Upon successful completion of this process, you should then receive a “Write Successful” pop-up window. Click the CONTINUE button and remove the microSD Card from your microSD Card reader and keep handy, as you will require it in step 7. B. below.​
(i) Close the Raspberry Pi window.​
  • If using a Mac, click on the: Raspberry Pi Imager for macOS link.
(a) Save the imager.dmg file in the downloads folder.​
(b) Open the downloads folder and double-click the imager.dmg file.​
(c) Drag and drop the Raspberry Pi Imager.app to your applications folder.​
2020-09-06_13-13-38.jpg
(d) Open launchpad and locate and open the Raspberry Pi Imager app.​
(e) Click on the “CHOOSE OS” button and select the Raspberry Pi OS (32-bit) option in the pull-down menu.​
(f) Click on the “CHOOSE SD CARD” and find the applicable Card Reader Media (the microSD Card).​
(g) Click on the “WRITE” button and confirm you want to continue.​
Note: Your Mac may ask you to enter your password to confirm that the Raspberry Pi Imager can make changes.​
(h) Your microSD Card will then be formatted/imaged with the Raspberry Pi OS (32-BIT).​
Note: This process can take anywhere between 2 to 5 minutes depending on the speed and power of your Mac and your internet speed.​
2020-09-08_16-25-23.jpg
(i) Upon successful completion of this process, you should then receive a “Write Successful” pop-up window. Click the​
CONTINUE button and remove the microSD Card from your microSD Card reader and keep handy, as you will require it in step 7. B. below.​
(j) Close the Raspberry Pi imager window or quit the Raspberry Pi Imager app.​
B. Raspberry Pi Initial Setup and Start-up
2020-09-08_15-34-22.jpg
(1) Install the microSD card in the Raspberry Pi computer - Turn the RPi over face down and carefully slide the card into the microSD slot with the label facing you and the card contacts facing down as shown in the illustration.​
2020-09-08_15-39-58.jpg
(2) Connect a wired or wireless (USB) keyboard and mouse in any of the USB ports.​
(3) Connect a monitor to one of the micro HDMI ports.​
(4) Connect a network cable into the RPi ethernet port. This cable should be connected to your local area network (LAN) via a network hub, switch or router.​
Note: This step will not be necessary if Wi-Fi is your preferred method of connecting your RPi to your LAN.​
(5) Connect a suitable power supply (5v, 3A) to the USB Type-C power port.​
(6) Lastly, plug the power supply into a suitable electrical receptacle and switch on the power supply power button or switch (if applicable).​
(7) You will initially see a red power light next to the USB Type-C power port and a green activity light next to the red light. All good signs. The boot up process should take about 30 seconds to a minute. You should then see the Raspbian Desktop/Welcome Screen upon bootup.​
2020-09-08_16-48-56.jpgIt is recommended that you click through and complete the wizard in order to realize the options available (some of which are important).​
If you change the default username / password, don’t forget to note it somewhere as you will need it later.​
You may skip the wireless network /Wi-Fi Setup screen if you are not using Wi-Fi to connect your RPi to your LAN.​
2020-09-08_16-52-32.jpgUpdate the software. This will take approximately 1 minute to complete.​
Once you complete the setup options, you will then receive a “Setup Complete window” and restart query. Click the “Restart” button to save the wizard settings.​
Once the RPi has restarted, you may want to take some time to explore some of the software and configuration menus in the Raspbian GUI interface for familiarization purposes.​
Note: If you plan on using RealVNC to remote desktop to your RPi, this is a good time to navigate to the Raspian Applications Launch Bar, Applications Menu ("Raspberry Icon") > Preferences > Raspberry Pi Configuration > Interfaces menu and click the VNC “Enable” radio button and click the “OK” button.​
 
Last edited:

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
C. Update the RPi Operating System (OS) / Upgrade the RPi Firmware / Install Essential Packages
2020-09-08_15-56-14.jpgIn the steps found in this section and subsequent steps, you will utilize the command-line interface (CLI) or LXTerminal found on the Raspian Application Launch Bar at the top of the Raspbian Desktop.​
Note: All of the following Linux commands are case sensitive. Any extra or deleted characters will not work. Also, within the command line-interface or terminal window, the mouse does not always work the same as you might be used to when using GUI interfaces. You may find that using the arrow keys to navigate around the CLI, will work if you need to scroll for some reason.​
Note: You can merely copy/paste the necessary commands within the RPi CLI/LXT. You can do this if you are already controlling your RPi via a desktop remote software application or you can open the Chromium browser on the RPi desktop, navigate to this thread on TFP and open a CLI/LXT window there instead. You may find this method more user friendly. When copying, don’t pick up any extra spaces or characters. Just the commands indicated in bolded/Italic font should be copy/pasted within the command-line.​
(1) Open a CLI / LXT window.​
2020-09-08_16-01-19.jpg
(2) # At the command prompt, type or copy/paste: sudo apt update #Tap the Enter/Return key. This command will update the RPi operating system (OS).​
(3) # At the next command prompt, type or copy/paste: sudo apt upgrade #Tap the Enter/Return key. This command will upgrade the RPi firmware.​
(4) # At the next command prompt, type or copy/paste: sudo apt install build-essential #Tap the Enter/Return key. This command will install essential packages.​
Note: When steps (1) through (4) above have been completed, the CLI window should resemble the screen capture below.​
2020-09-08_16-57-35.jpg
(5) # At the next command prompt, type or copy/paste: bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) #Tap the Enter/Return key.

NOTE: Answer yes ( y ) – Enter/Return key), to all of the questions.
Note: This script will remove versions of Node.js prior to version 7.x, and Node-RED and if necessary replace them with Node.js 12.x LTS (erbium) and the latest Node-RED from Npm. It also moves any Node-RED nodes that are globally installed into your user ~/.node-red/node_modules directory, and adds them to your package.json, so that you can manage them with the palette manager. In addition, it also tries to run 'npm rebuild' to refresh any extra nodes you have installed that may have a native binary component.
Note: In plain language, this script will essentially remove old versions of Node-Red and Node.js and re-install the correct versions. Node-RED is explained in further detail in section 10. B. below.
Note: When step (5) above is complete, the CLI window should resemble the screen capture below.
2020-09-08_17-06-34.jpg
D. Perform two (2) “git clone” command procedures from within the home directory for the nodejs-poolController and the nodejs-poolController-dashPanel packages
Note: “git clone” is a git command which creates a clone/copy of an existing repository into a new directory. It is also used to create remote-tracking branches for each branch in the cloned repository. It is the most common command which allows users to obtain a development copy of an existing central repository.
(1) #At the next command prompt, type or copy/paste: git clone https://github.com/tagyoureit/nodejs-poolController #Tap the Enter/Return key. This command will create the /home/nodejs-poolController directory and will also download the poolController package within that directory.
(2) #At the next command prompt, type or copy/paste: git clone https://github.com/rstrouse/nodejs-poolController-dashPanel #Tap the Enter/Return key. This command will create the /home/nodejs-poolController-dashPanel directory and will also download the dashPanel package within that directory.
(3) #At the next command prompt, Type: dir #Tap the Enter/Return key. This command will list all directories within the home directory so that you can confirm the above two directory creations.
Note: When steps (1) through (3) above have been completed, the CLI window should resemble the screen capture below.
2020-09-08_17-20-45.jpg
E. Perform Package Installation and Start Commands - First in the (nodejs-poolController) sub-directory and then in the (nodejs-poolController-dashPanel) sub-directory, according to the steps listed below.
(1) # At the command prompt, type or copy/paste: cd nodejs-poolController # Tap the Enter/Return key. This is a “change directory” command and you will now be in the nodejs-poolController sub-directory.
(2) # At the next command prompt, type or copy/paste: npm i# Tap the Enter/Return key. This command will install the poolController package.
Note: When steps (1) through (2) above have been completed, the CLI window should resemble the screen capture below.
2020-09-08_17-25-18.jpg
Stop Sign.jpeg
NOTE: The USB to RS485 adapter MUST be connected correctly to the IntelliCenter or *Touch RS485 bus (com port) and then installed in one of the RPi USB ports, prior to the execution of the next command if it is not already installed. Otherwise the nodejs-poolController package will continue to error in a loop, as it continues to search for the IntelliCenter or *Touch system.
(3) # At the next prompt, type or copy/paste: npm start& # Tap the Enter/Return key. This command will start the poolController application. Wait until it states “Configuration Complete” and hit the Enter/Return key. You should be back at the RPi command prompt. This procedure takes approximately two minutes to complete.
Note: When step (3) above is complete, the CLI window should resemble the screen capture below.​
2020-09-08_17-33-23.jpg
Note: Don’t worry about any “failed” type messages that you see. Those are normal. They are merely indicating “collisions” on the RS485 bus. All of the pool equipment connected to the RS485 bus cannot read and write on the bus at the same time. When it happens, the equipment then needs to resend the command. Those "collisions" are shown as as an error.​
(4) # At the next command prompt, type or copy/paste: cd ../nodejs-poolController-dashPanel

# Tap the Enter/Return key. This command will change the directory to the nodejs-poolController-dashPanel sub-directory.​
(5) # At the next command prompt, type or copy/paste: npm i # Tap the Enter/Return key. This command will install the poolController-dashPanel package. Wait until complete.​
6) # At the next command prompt, type or copy/paste: npm start& # Tap the Enter/Return key. This command will start the poolController-dashPanel application. Tap the Enter/Return key. You should be back at the command prompt.​
Note: The user will not be required to perform the start& procedures noted in step E. (2) and step E. (5) above, each time the Raspberry Pi is re-started or re-booted, once the “start script" is created and saved. The steps to create and save the start-up script are outlined in step 7. G. below.​
Note: When steps (4) through (6) above have been completed, the CLI window should resemble the screen capture below.​
2020-09-08_18-02-54.jpg
 
Last edited:

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
F. Test the nodejs-poolController-dashPanel Client (Pool Control Dashboard)
Open a “Chromium” browser window (the chromium browser icon is located on the Raspian Applications Launch Bar). Enter" '''http://<ip address>:5150''' in the address/URL window of the browser.​
Note: The IP address needed here is the ip address for your Raspberry pi. If you’re not sure what the IP address of your RPi is, then open a command-line editor window and type: ifconfig #You should find it shown to the right of “inet” on the 2nd line after the command prompt.​
CONGRATULATIONS!!…. Assuming all of the instructions in the section above were followed correctly and there are no issues with the physical RS485 connection between the RPi and the IntelliCenter or *Touch RS485 (Serial COM Port), then you should see something that appears similar to the screen capture below, in the Chromium browser on your RPi.​
2020-09-08_18-27-45.jpg
Note: However, if you see the Pool Control Dashboard but it says "UNKNOWN MODEL” where it should say IntelliCenter i****, then one of the two steps outlined in 7. G below, should be performed.​
G. Configure poolController Settings > Connections
There are two methods to configure the dashPanel so that it finds the server address of the nodejs-poolController. The first method which configures and utilizes "SSDP" (step 7. G. (1) ), is preferable but requires a bit more work. In addition, the "SSDP" method must be used if the "apply" button is greyed out.​
Note: SSDP is a network protocol that allows for dashPanel discovery of the nodejs-poolController from any device within your network (LAN).​
The second method (step 7. G. (2) ) is a bit simpler but will NOT provide overall flexibility for the dashPanel to find the poolController server address in the long run from various devices within your network.​
(1) Configure for SSDP in the config.json file
(a) On your RPi or from your remote desktop app and click on the "File Manager" icon located on the Raspian Applications Launch Bar.​
(b) Double click on the "nodejs-poolController-next" folder.​
2020-09-13_13-44-21.jpg
2020-09-13_13-53-44.jpg
(c) Double click on the "config.json" file.​
(d) In the file manager menu bar, click "Search > find" and enter "ssdp" in the pop-up text box.​
(e) Replace the word "false" with the word "true". DO NOT PRESS ENTER AND DO NOT ADD ANY EXTRA CHARACTERS HERE.
2020-09-13_13-58-38.jpg
(f) In the file manager menu bar, click file > save.​
(g) Click the "raspberry" icon (applications menu) in the Raspian Applications Launch Bar and navigate to Shutdown > Reboot.​
(h) Once the RPi reboots, open a “Chromium” browser window on the RPi. Enter" ''http://<ip address>:5150'' in the address/URL window of the browser.​
(i) Click on the 3-bar menu icon in the upper RH corner. Click on the "Connections" tab.​
(j) Click on the Server pull-down arrow and click the applicable protocol. Most will use the "http" protocol here. However, if you don't want someone on your network to "sniff" the fact that you are activating the "Spa Circuit Group", at 1:30 in the morning, then feel free to use the "https:" protocol instead.​
(k) Click on the "Find Server" button. The "Find Pool Controller" pop-up window should appear indicating that the nodejs-poolController server(s) found. This will change the default IP address of (127.0.0.01) to the IP address of the Raspberry Pi or other computer that is running the nodejs-poolController. This computer IP address will then become the default IP address for the nodejs-poolController-dashPanel.​
2020-09-13_14-18-35.jpg
(l) "X" out of that window. Click somewhere on the Pool Control Dashboard which will cause the Settings box to disappear.​
You can now use the nodejs-poolController-dashPanel on any device on your network and not have to worry about re-entering your RPi address in the IP window of the Pool Controller Dashboard in the future.​
Note: I believe that there is a method to utilize the CLI and Linux commands to configure SSDP as well. Currently, I do not know the commands. However, I will attempt to obtain them and then I will post them here alongside the "GUI" method outlined above.​

(2) Change the IP address within the Pool Control Dashboard. The following steps can be used to configure the IP address within the Pool Control Dashboard. I have experienced long term connectivity issues using this method.​
In the browser/dashPanel on the RPi, navigate to the Settings > Connections window and change the IP address in the window and click apply. DO NOT change the port setting of (4200) however.​
2020-09-06_18-41-41.jpg
H. Create and Save the Start-up Script
The nodejs-PoolController-dashPanel wouldn’t be as much fun, if every time that you Logout > Shutdown or Reboot, you had to navigate back to those two sub-directories that you created and individually perform an npm start& command in the command-line editor.​
Although, once everything is configured correctly, you really shouldn’t need to power down your RPi very often at all. But still, it sure would be handy if both components of the Pool Control Dashboard, just started up automatically upon RPi power-up.​
There are a couple of methods to perform this task but the following certainly seems to be the most user-friendly. Credit: @cmc0619
(1) Open a command-line interface (CLI) window.​
(2) # Type or copy/paste: sudo nano /etc/rc.local #Tap the Enter/Return key. This command will open a GNU text editor on the RPi desktop.​
(3) # Arrow down to between the “exit 0” and the “fi”, Type or copy/paste the following script within the GNU text editing field, between the “exit 0” and the “fi”:​
cd ~pi/nodejs-poolController
npm start&
cd ~pi/nodejs-poolController-dashPanel
npm start&

Note: When steps (1) through (3) above have been completed, you should see a GNU text editing window resembling the screen capture below.​
2020-09-08_19-05-19.jpg
(4) Then tap CNTL X to exit.​
(5) Answer Yes by tapping the Y key.​
(6) At the “File Name to Write: /etc/rc.local” prompt, tap the Enter/Return key.​
(7) The GNU text editing window will close and you will be returned back to the Linux command prompt.​
(8) Lastly, on your Raspian desktop (GUI), click on the Raspian applications launch bar (Raspberry icon, top left corner) and navigate > Logout > Reboot.​
(9) Once your Raspberry Pi completely reboots, open a browser window anywhere (RPi, Desktop/Laptop, Mobile app) and enter: http://<ip address>:5150 #Your Pool Control Dashboard should open up.​
It should be noted that the Pool Control Dashboard has been tested for compatibility on the following browsers: Mozilla Firefox, Google Chrome, Apple Safari and Microsoft Edge. The URL of your Pool Control Dashboard can be bookmarked in any of your favorite browsers. Then you can easily open up your Pool Control Dashboard with a simple click.​
In addition and while using Apple Safari, the Pool Control Dashboard has been tested on an Apple iPad and iPhone. The Pool Control Dashboard looks outstanding on an iPad.​
When using the Pool Control Dashboard on an Apple iPhone, the following steps are necessary to optimize the page size window for the Pool Control Dashboard.​
  • In the address window of Safari, click the Safari options button indicated by the “aA” symbol in the Safari address bar.
  • Reduce the font size to 50%.
  • Turn the iPhone sideways (landscape) to see the entire Pool Control Dashboard
 
Last edited:

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
8. The nodejs-poolController-dashboard or “Pool Control Dashboard”

The Pool Control Dashboard is extremely user friendly in its navigation and user interface methods. However, this section will examine some of the various screens or pages to provide some pre-familiarization to the user. “Virtual” pushbuttons are utilized on the Home Screen for manual execution of Circuits (Aux, Feature and Groups), Lights and Lighting Groups.

Selection of various options are accomplished through the use of standard type pull-down menus, expanding window boxes, checkboxes and radio buttons. Text boxes are also utilized where applicable.

Home Screen or “Splash” page (Default Theme)

2020-09-09_08-46-19.jpg


Settings > Appearance page (Materia Theme)

2020-09-09_09-04-58.jpg


Settings > System page (Nurple Theme)

2020-09-09_09-14-21.jpg



Configuration > General page (Sketchy Theme)

2020-09-09_09-24-32.jpg



Configuration > Circuits > Circuit Groups page (Purple Theme)


2020-09-09_09-34-23.jpg


Additional Configuration Screen Captures (Various Themes)

2020-09-09_10-02-12.jpg 2020-09-09_09-54-56.jpg











2020-09-09_09-51-45.jpg
2020-09-09_10-00-11.jpg



























2020-09-09_10-05-21.jpg


 
Last edited:

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
9. SSH / Remoting into the RPi via a desktop app (Windows and Mac)

There are many options available to the user when it comes to remote desktop clients which will allow you to use your desktop/laptop to access and remotely control your Raspberry Pi.

A. One such application and which I choose to use to remote in to my Raspberry Pi from my Mac, is the VNC Connect by RealVNC. The VNC Connect “Server” (Raspberry Pi edition) comes bundled with Raspberry Pi OS and can be enabled on your Raspberry Pi, by navigating to your Applications Menu ("Raspberry Icon") > Preferences > Raspberry Pi Configuration > Interfaces menu. Then click the VNC “Enable” radio button.​
2020-09-08_19-09-53.jpg
Then just open the VNC Connect Viewer Download portal on your desktop/laptop and select your applicable operating system (Windows, macOS, Linux, etc.), and download the VNC Viewer to your computer. Install and configure (user-friendly) and you can now remote in to your Raspberry Pi​
B. One recommendation for Windows users that may be preferable, is the PuTTY SSH and telnet client.​
Any other Windows Remote Desktop Protocol (RDP) may be suitable as well.​
Additional information regarding SSH can be found in the following link.

10. Miscellaneous Information and Instructions

A. MicroSD Card Imaging and Backups.​
As one becomes more involved with the Raspberry Pi and as mentioned above, it is considered good operating practice to perform microSD card imaging as well as creating backups on the users’ desktop/laptop as well. This section will provide some instructional material involved with those procedures.​
(1) Windows
For Windows users, one highly recommended method of microSD card backup is win32diskimager. This program is designed to write a raw disk image to a removable device or backup a removable device to a raw image file and to include restoring to a microSD card. Further information can be found in the following link to include instructions on backing up to a USB Drive.​
In addition, there is quite a bit of useful backup restore information contained within the following link which also includes the method for backing up to Google Drive.​
(2) Apple Mac
For Apple Mac users, the app that I would certainly recommend is ApplePi-Baker v2 for Raspberry Pi.​
There is a tremendous amount of information on the above link. However, below you will find the direct link to the ApplePi-Baker installation instructions and notes if applicable to your particular MacOS.​
The direct download link for downloading and installing the latest version of ApplePi-Baker.dmg is found below.​
Upon installing and opening the app in macOS launchpad in the typical “mac” fashion, you will find the app appears like this and is very user-friendly…​
2020-09-08_11-22-48.jpg
As you can see above, not only can you backup your microSD card image to any selected folder on your Mac, but you can also restore an image back to a microSD card and even prepare a blank microSD card for NOOBS download​
Note: I think that this is where I might have failed in attempting to format/download/utilize NOOBS in the beginning. I plan to give this method a whirl at some other time, just to see if I have better success with NOOBS (just curious).​
(3) Raspberry Pi / Raspian - SD Card Copier
I have not yet tried to use the “Raspberry Pi / Raspian - SD Card Copier”, that comes bundled with the Raspberry Pi OS and which can be accessed on your Raspberry Pi from Application Menu > Accessories > SD Card Copier.​
An instructional video can be found at the following site.​
B. Node-RED
Essentially, Node-RED is a programming tool for wiring together hardware devices, APIs and online services in various ways. Although not required for the implementation or use of the nodejs-poolController-dashPanel, it is a great tool to begin to experiment with, especially in light of the fact that more innovated solutions are being realized to include additional pool automation functionality control, and Node-RED is a useful tool in which to make that happen.​
Node-RED provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.​
Although Node-RED can be downloaded via the Raspian “Preferences > Recommended Software” menu, it is highly recommended that version of Node-RED not be used, due to the fact that it does not include npm which is critical. In addition, it may not include all, if any of the “general-purpose input/output” (GPIO) specific features that are typically found with advanced pool-related control and interface development and features. The correct version of Node-Red was downloaded and installed in section 7. C. (6) above.​
The following instructions should ensure that you can utilize Node-RED at any time.​
(1) # Open a CLI / LXT window.​
(2) # At the command prompt, type or copy/paste: sudo systemctl enable nodered #Tap the Enter/Return key. This command will enable Node-RED “AutoStart” every time the RPi is started or rebooted.​
(3) # At the next command prompt, type or copy/paste: sudo systemctl start nodered
#Tap the Enter/Return key. This command will merely start Node-RED.
Note: Another method to start Node-RED is by simply clicking the icon found under Applications Menu > Programming > Node-Red.​
(4) Once Node-RED is started, then open a browser and point it to http://{your RPi ip address}:1880. You will now be in the Node-Red GUI interface.​


11. References and Links

nodejs-poolController - Version 6.1.0
Nodejs-poolController-dashPanel
relayEquipment Manager
poolController-manager version 2.2.0
nodejs-poolController/Lobby
 
Last edited:

Turbo1Ton

Gold Supporter
Dec 26, 2019
270
NE Oklahoma
Ron - This is incredible! Thanks for putting this together. And a huge thanks to you and all of the creators for making this happen! I know where most of my weekend will be wasted! 😜

--Jeff
 
  • Like
Reactions: MyAZPool

setsailsoon

Gold Supporter
LifeTime Supporter
TFP Guide
Oct 25, 2015
3,385
Stuart/FL
Well, thanks Chris - But I don't deserve any credit. Most of the credit goes to the techies - @tagyoureit, @rstrouse, @cmc0619, and @Katodude.

All I did was type, format, upload etc. You can teach a monkey to do that, if you give him a enough banana's :p
r. 🙈🙉🙊
ron,

Yes of course, I should have included all the superb heavy lifting that was performed by our superb coders that you listed. I am a little challenged right now with recovery from rotator-cuff repair surgery yesterday. So I am learning how to use voice recognition and dictation. please forgive the errors I may make in“ typing” also. All of you make a superb team that is benefiting everybody on this site.
Thank you all for what you do here!

Chris
 
  • Like
Reactions: MyAZPool

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
ron,
Yes of course, I should have included all the superb heavy lifting that was performed by our superb coders that you listed. I am a little challenged right now with recovery from rotator-cuff repair surgery yesterday. So I am learning how to use voice recognition and dictation. please forgive the errors I may make in“ typing” also. All of you make a superb team that is benefiting everybody on this site.
Thank you all for what you do here!

Chris
RC surgery. Yikes, I got that t-shirt as well. Not an enjoyable experience for me to be sure. Speedy recovery to you.. :thumleft:
 
  • Like
Reactions: setsailsoon

mcqwerty

Active member
Aug 27, 2018
35
TN
@MyAZPool Fantastic work as ever. A tiny contribution that may be of use to some:
Powering the Pi can be done via PoE (Power over Ethernet). There are various 'hats' that mount directly to the Pi that take the power supplied on the RJ45 and use it to power the Pi without the need for USB. (Google 'Raspberry Pi PoE hat').
They have various pros and cons some being small size but also they can increase the heat generation of the Pi and also obscure cooling of the chip as well as some obscure the GPIOs. All surmountable problems but my personal recommendation, (and what I am using to power my Pi), is this PoE splitter: Amazon.com: DSLRKIT Active PoE Splitter 48V to 5V 5.2V 2.4A USB Type A Female 802.3af for Tablet: Computers & Accessories
It is not quite as compact as the hat but is more versatile and works great. There are various flavours with different usb plugs. Some with angled micro plugs that connect directly to the Pi (I went for the generic style so I could change cables in the future if required).

For anyone unfamiliar with PoE you will need a PoE 'injector' of some kind to add the power to the ethernet cable. Google is your friend here, but again my personal recommendation is this little PoE hub: Amazon.com: TP-Link 5 Port Fast Ethernet 10/100Mbps PoE Switch | 4 PoE Ports @58W | Desktop | Plug & Play | Sturdy Metal w/ Shielded Ports | Fanless | Lifetime Protection | Unmanaged (TL-SF1005P): Computers & Accessories
It is only 10/100 (no gig speed) but that does not matter for the nodejspoolcontroller.
 

MyAZPool

Gold Supporter
Jul 3, 2018
1,541
Arizona
@MyAZPool Fantastic work as ever. A tiny contribution that may be of use to some:
Powering the Pi can be done via PoE (Power over Ethernet). There are various 'hats' that mount directly to the Pi that take the power supplied on the RJ45 and use it to power the Pi without the need for USB. (Google 'Raspberry Pi PoE hat').
They have various pros and cons some being small size but also they can increase the heat generation of the Pi and also obscure cooling of the chip as well as some obscure the GPIOs. All surmountable problems but my personal recommendation, (and what I am using to power my Pi), is this PoE splitter: Amazon.com: DSLRKIT Active PoE Splitter 48V to 5V 5.2V 2.4A USB Type A Female 802.3af for Tablet: Computers & Accessories
It is not quite as compact as the hat but is more versatile and works great. There are various flavours with different usb plugs. Some with angled micro plugs that connect directly to the Pi (I went for the generic style so I could change cables in the future if required).

For anyone unfamiliar with PoE you will need a PoE 'injector' of some kind to add the power to the ethernet cable. Google is your friend here, but again my personal recommendation is this little PoE hub: Amazon.com: TP-Link 5 Port Fast Ethernet 10/100Mbps PoE Switch | 4 PoE Ports @58W | Desktop | Plug & Play | Sturdy Metal w/ Shielded Ports | Fanless | Lifetime Protection | Unmanaged (TL-SF1005P): Computers & Accessories
It is only 10/100 (no gig speed) but that does not matter for the nodejspoolcontroller.
Hi McQ...
Thanks for providing some really outstanding detail here. I did mention some alternative power options in section 4. E. ("There are many other options to provide suitable power for the RPi to include small solar panels specifically designed for this purpose, such as the Adafruit Industries models. USB to USB-C adapters, Power-over-Ethernet add-on boards, etc. round out the list of available options."

However, I did not go into near as much detail on the power options. Glad you were able to provide some specifics here. Gives the prospective new njspc user some alternative power options that they can consider.

Thanks much!!! (y)
r.
 
  • Like
Reactions: mcqwerty