-
Notifications
You must be signed in to change notification settings - Fork 97
Quick Start Guide
Below are some instructions on how to get started using nodejs-PoolController and dashPanel. The software supports a wide variety of operating systems and platforms so choose the platform that makes sense for your environment and the equipment you would like to control. While most users use a Raspberry Pi to host the software, it is not required for njsPC or dashPanel. The poolController and dashPanel will run the same on any of the supported OSs. If you are using REM for hardware control however, it is only supported on the Raspberry Pi, BeagleBone Black, or Orange Pi.
nodejs-poolController will work with your existing pool automation to extend it or simply give you a better user experience. When an existing master controller is detected for your pool nodejs-PoolController will simply act as another control panel on your system. If one of these do not exist it will install as a master controller named Nixie to take control of the supported equipment. To communicate with any of the Pentair automation systems you must install an inexpensive and readily available RS485 adapter then make a two wire RS485 connection to the RS485 bus.
- Pentair EasyTouch (all models)
- Pentair IntelliTouch (all models)
- Pentair IntelliCenter (all models)
- Pentair SunTouch (all models)
- AquaLink (Supported using an interface Aqualinkd)
** NOTE: You cannot configure the hardware for AquaLink or SunTouch using nodejs-poolController. However, system status and control is available.
After you install the software and connect the two wire RS485 port to the outdoor control panel (OCP), nodejs-PoolController will interrogate the current setup on the OCP to configure the software for your pool. You will see your defined circuits, pumps, heaters, valves, chlorinators, and chemistry controllers. You can then control your automation system using any of the installed controllers. nodejs-PoolController simply becomes another controller on the automation system.
If you do not have one of the listed automation systems above you are not out of luck. nodejs-PoolController can operate as a standalone system. This system is called Nixie and you can configure it to have as much automation as you like. Here is a link that describes building a full blown DIY pool automation system using this software and off-the-shelf components. What is described here is not a shoestring implementation using the suggested equipment. However, you can install as much of it as needed for your automation. DIY Standalone Nixie Pool Controller
The entire pool control solution is made up of two primary pieces of software. These are nodejs-PoolController and nodejs-PoolController-dashPanel. nodejs-PoolController is central hub for your pool controller. It is responsible for communicating with your pool equipment and any other software that needs to know about the pool. dashPanel is simply a web server that is used to provide a human user interface to the nodejs-poolController server. This means that you can install nodejs-poolController and nodejs-poolController-dashPanel on two completely unrelated hardware devices.
The software is supported for the following operating systems. You can mix or match the hardware that you install the hardware components as long as there is network access between them.
- Raspberry Pi OS
- MacOS
- Windows 7-11
- Linux
Find the section related to the OS you are installing on to get instructions on setup and configuration.
There is really only pre-requisite software package required to run nodejs-PoolController. This is the Node.js runtime and is used by all the components of the solution as the engine for the software. Node.js is a runtime built on Google Chrome's Javascript engine. It provides the cross-platform capabilities as well as all the hosting functionality.
Among the recommended pre-requisites is a piece of software called Git. Git is very convenient for installing and updating the software components. Since you are reading this it is likely you have had some exposure to the open source software repository which is hosted on GitHub. Git is simply the utility used to securely update your software when you ask to update it. It does not push anything to your computer or modify the operating system in any way.
- Node.js v16+
- Git
The installation instructions are different for each operating system so find the quick start section that relates to your OS below.
On a Raspberry Pi it is a good idea to install a remote desktop application such as Remote Desktop in Windows or VNC for other platforms. Search the web for current installation instructions for either of these two software packages for the Pi.
Follow the steps below to install the prerequisites and software.
- To get started on a Raspberry pi it is a good idea to update your OS.
To do this open a command prompt and run the following command.
sudo apt update
- Install Git. If you have already done this you can skip this step. From the command prompt run the following command.
sudo apt install git
- Install Node Version Manager. This is the most direct way to install and manage Node.js versions on a Raspberry Pi. From the command prompt run the following command. After you run this script close the command prompt.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
-
Exit the terminal and restart the terminal session for NVM to be recognized in the environment.
-
Install Node.js From a new command prompt window use the following command to install a supported version of Node.JS as of this writing the software has been thoroughly tested on versions 16.x to 18.x of the node platform.
nvm install 18
Install the packages you need for your installation. You can install all of them on the same platform or install the pre-requisites above on multiple platforms and choose the software you would like install on this pi. Once the software is installed you may perform the update procedure to download and install new versions.
nodejs-poolController
cd ~
git clone https://github.com/tagyoureit/nodejs-poolController.git
cd ~/nodejs-poolController
npm i
nodejs-poolController-dashPanel
cd ~
git clone https://github.com/rstrouse/nodejs-poolController-dashPanel.git
cd ~/nodejs-poolController-dashPanel
npm i
relayEquipmentManager
cd ~
git clone https://github.com/rstrouse/relayEquipmentManager.git
cd ~/relayEquipmentManager
npm i
It is a good idea to install PM2 on the Raspberry Pi. This will run your poolController components any time the Raspberry Pi is restarted. To install PM2 follow the instructions in the wiki for PM2 Installation
To get started on using nodejs-PoolController and its associated packages you will first need to install the pre-requisites.
- Install Git There are several ways to install Git on a Mac. The easiest is probably to install the Xcode Command Line Tools. On Mavericks (10.9) or above you can do this simply by trying to run git from the Terminal the very first time.
$ git --version
If you don’t have it installed already, it will prompt you to install it.
If you want a more up to date version, you can also install it via a binary installer. A macOS Git installer is maintained and available for download at the Git website.
- Install Node.js You can find install instructions for your MacOS version at Nodejs.org. Use the installer for version 18.x.x.
nodejs-poolController
cd ~
git clone https://github.com/tagyoureit/nodejs-poolController.git
cd ~/nodejs-poolController`
npm i
nodejs-poolController-dashPanel
git clone https://github.com/rstrouse/nodejs-poolController-dashPanel.git
cd ~/nodejs-poolController-dashPanel
npm i
relayEquipmentManager
** Note: REM can be installed on Mac for testing/mocking/emulating purposes.
It will only control hardware on a Raspberry Pi/Beaglebone/OrangePi. **
cd ~
git clone https://github.com/rstrouse/relayEquipmentManager.git
cd ~/relayEquipmentManager
npm i