Pentair IntelliCenter Pool Control Dashboard Instructional Guide

jlthla

Active member
Feb 4, 2018
32
Hammond, LA
Actually try the following commands
Code:
cd ~/nodejs-poolController-dashPanel
npm start

And tell me what you see in the console window.
Progress: Here is what's in Termianal, AND I can now see the web server, but have the "unknown Model" at the top, and the connections dialog, which I assume should be the IP address of the PI

[email protected]:~ $ cd ~/nodejs-poolController-dashPanel
[email protected]:~/nodejs-poolController-dashPanel $ npm start

> [email protected] start
> npm run build && node dist/app.js


> [email protected] build
> tsc

Updated configuration file
info: Server is now listening on 0.0.0.0:5150
192.168.6.121 GET /
192.168.6.121 GET /config/serviceUri?null
192.168.6.121 GET /options?null
192.168.6.121 GET /config/appVersion?null
info: The current git local branch output is master
info: The current git local commit output is 0193678c1ae138f31d1ca113f7c91bc1
 

jlthla

Active member
Feb 4, 2018
32
Hammond, LA
Actually try the following commands
Code:
cd ~/nodejs-poolController-dashPanel
npm start

And tell me what you see in the console window.
Hey hope this isn't a duplicate post. I can now see the web server, but have the "Unknown Model" at the top with the Connections dialog, and I assume the PI IP address:4200 should go there...

Here is the output of the Console:

[email protected]:~ $ cd ~/nodejs-poolController-dashPanel
[email protected]:~/nodejs-poolController-dashPanel $ npm start

> [email protected] start
> npm run build && node dist/app.js


> [email protected] build
> tsc

Updated configuration file
info: Server is now listening on 0.0.0.0:5150
192.168.6.121 GET /
192.168.6.121 GET /config/serviceUri?null
192.168.6.121 GET /options?null
192.168.6.121 GET /config/appVersion?null
info: The current git local branch output is master
info: The current git local commit output is 0193678c1ae138f31d1ca113f7c91bc1
 

jlthla

Active member
Feb 4, 2018
32
Hammond, LA
FIRST.. Thank you for taking time to help me with this. I realize this is probably an almost never ending, thankless job, so I do appreciate your taking time to assist.

Ok so I started all over. Re-did the SD card, and all the software, but am still unable to get this to work. properly. FWIW, when the software is installing, I can see in the console that it is connecting with the pool hardware, as it ID's the EasyTouch panel that I have. When I enter the URL, I'm reaching the web server, but none of the data is populated... just a blue splash screen with white bars across the top where the controls should be. The Console is full of messages that looks like it's connecting with the EasyTouch, but alas, nothing coming thru on the webpage. The ONLY thing that might be a problem is the question at the end of this Console output below with is part of the first batch of software installed, where I said NO. This appears to be something to do with the nodeRed so that might be something that needs adjusting.

I can open my PI to the WAN, and send you my IP address and login info if you'd like to poke around. There is nothing on the SD card other than the pool control stuff.


Running Node-RED install for user admin at /home/admin on raspbian








This can take 20-30 minutes on the slower Pi versions - please wait.





Stop Node-RED


Remove old version of Node-RED


Remove old version of Node.js


Install Node.js 16 LTS v16.18.0 Npm 8.19.2


Clean npm cache


Install Node-RED core 3.0.2


Move global nodes to local -


Npm rebuild existing nodes


Install extra Pi nodes


Add shortcut commands


Update systemd script








Any errors will be logged to /var/log/nodered-install.log


All done.


You can now start Node-RED with the command node-red-start


or using the icon under Menu / Programming / Node-RED


Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880





Started : Wed 26 Oct 2022 04:12:57 PM CDT


Finished: Wed 26 Oct 2022 04:14:53 PM CDT





**********************************************************************************


### WARNING ###


DO NOT EXPOSE NODE-RED TO THE OPEN INTERNET WITHOUT SECURING IT FIRST





Follow the guide at Securing Node-RED : Node-RED


to setup security.





### ADDITIONAL RECOMMENDATIONS ###


- Remove the /etc/sudoers.d/010_pi-nopasswd file to require entering your password


when performing any sudo/root commands:





sudo rm -f /etc/sudoers.d/010_pi-nopasswd





- You can customise the initial settings by running:





node-red admin init





- After running Node-RED for the first time, change the ownership of the settings


file to 'root' to prevent unauthorised changes:





sudo chown root:root ~/.node-red/settings.js





**********************************************************************************





Would you like to customise the settings now (y/N) ?
 

rstrouse

Well-known member
Jun 17, 2020
556
California
Ok so now I know what is going on. While node.org generally does a good job some of the node 16 stuff needs to ripen a bit. I think they have gotten a bit over their skis. So please do the install again. This time use node 14. To do this follow the quick start guide for Raspberry Pi. You do not need to install the relayEquipmentManager software since it is not needed for your installation.

 

jlthla

Active member
Feb 4, 2018
32
Hammond, LA
Hey there.. so I've had some success. I figured out that I still needed to run the "npm start" commands in both directories, and while it seems to take a bit longer to start up, start up it does. In trying to get these 2 services to start every time the Pi is rebooted, seems to be the issue at the moment. I did try to get PM2 installed, but this command isn't working "sudo npm install -g pm2". Also I ran the "npm start&" in each directory, hoping that would ge them to auto start, but to no avail. I still have to start both services manually... or at least so it seems. I'm not nearly good enough to figure out another way for this to happen. I'm not expecting to have to re-start the PI often, so having to re-start both services isn't the end of the world, it would obviously just be better for them to start automatically...
 

Enjoying this content?

Support TFP with a donation.

Give Support

guinness

Well-known member
May 3, 2019
1,197
California
Pool Size
23000
Surface
Plaster
Chlorine
Liquid Chlorine
An alternative way to start at boot is to edit the /etc/rc.local file and add the following lines right before exit 0 at the end of the file.

cd ~pi/nodejs-poolController
node dist/app.js < /dev/null &

cd ~pi/nodejs-poolController-dashPanel
node dist/app.js < /dev/null &

These commands simply run the apps without building. If you need to rebuild the apps then you would need to run npm start as before.
 

jlthla

Active member
Feb 4, 2018
32
Hammond, LA
so in my previous install, the apps both built and ran without any intervention on my behalf. Using the rc.local method you suggested isn't working, which I guess means that both apps need to be "rebuilt". I'm assuming this can also be done automatically as well. I did try adding "npm start" after each of the CD lines and before the node line, but that didn't work. Guessing perhaps creating a shell script might do it?
 

dustinh

Member
Jun 18, 2021
10
Johnson City, Tennessee
Pool Size
20000
Surface
Vinyl
Chlorine
Salt Water Generator
SWG Type
Pentair Intellichlor IC-40
Is anyone using the Homebridge Pool Controller plugin? I have been using it for a year with no problems and it recently stopped working. I am getting the following error in Homebridge logs:

[10/27/2022, 8:52:55 AM] TypeError: axios is not a function
at PoolControllerPlatform.execute (/usr/lib/node_modules/homebridge-poolcontroller/index.js:701:25)
at PoolControllerPlatform.validateVersion (/usr/lib/node_modules/homebridge-poolcontroller/index.js:125:23)
at PoolControllerPlatform.SSDPDiscovery (/usr/lib/node_modules/homebridge-poolcontroller/index.js:113:14)
at HomebridgeAPI.emit (node:events:525:35)
at HomebridgeAPI.signalFinished (/usr/lib/node_modules/homebridge/src/api.ts:275:10)
at Server.start (/usr/lib/node_modules/homebridge/src/server.ts:190:14)
[10/27/2022, 8:52:55 AM] Got SIGTERM, shutting down Homebridge...

I have made sure NodeJS and NPM are both updated to latest version, as well as Homebridge and PoolController.

 

rstrouse

Well-known member
Jun 17, 2020
556
California
I have made sure NodeJS and NPM are both updated to latest version, as well as Homebridge and PoolController.

Yes there are several folks using @gadget_monk homebridge controller. Which version of nodejs are you running? Did this start happening when you upgraded node?

Unfortunately, nodejs 16 and axios are claiming each other are at fault. Roll back your node 16 to node 14 if that is what version you are running.

See the axios PR below as this is your problem. The answer was to roll back to node 14.
 

dustinh

Member
Jun 18, 2021
10
Johnson City, Tennessee
Pool Size
20000
Surface
Vinyl
Chlorine
Salt Water Generator
SWG Type
Pentair Intellichlor IC-40
Yes there are several folks using @gadget_monk homebridge controller. Which version of nodejs are you running? Did this start happening when you upgraded node?

Unfortunately, nodejs 16 and axios are claiming each other are at fault. Roll back your node 16 to node 14 if that is what version you are running.

See the axios PR below as this is your problem. The answer was to roll back to node 14.
 
Last edited:

dustinh

Member
Jun 18, 2021
10
Johnson City, Tennessee
Pool Size
20000
Surface
Vinyl
Chlorine
Salt Water Generator
SWG Type
Pentair Intellichlor IC-40
Thank you. I was running version 18 of node. I am not sure at what point it stopped working but I think it was after I did a routine Pi update and ran sudo apt-get update and sudo apt-get upgrade. Although now maybe I'm thinking I shouldn't update regularly and just leave it alone if its working. I tried reverting to NodeJS 14.10.0 and a similar error is still there in the log but it is no longer a red error that completely terminates Homebridge, but I still dont think the plugin itself is working. I will start up my Intellicenter panel electronics tomorrow (currently powered off for the winter) and see if its functional and report back.

(node: 4675) UnhandledPromiseRejectionwarni ng: TypeError: axios is not a function
at PoolControllerPlatform.execute (/us r/lib/node modules /homebridge-poolcontroll er/index. js:701:25)
at PoolControllerPlatform.validateVers ion (/usr/lib/node_modules/homebridge-pool controller/index.js: 125:23)
at PoolControllerPlatform.SSDPDiscover y \/usr/lib/node_ modules/homebridge-poolco ntroller/index.js: 113:14)at HomebridgeAPI.emit (events. js: 326:22 )at HomebridgeAPI.signalFinished (/usr/ lib/node modules/homebridge/src/api.ts:275:10 )
at Server.start (/usr/lib/node modules /homebridge/src/server.ts:190:14)
(Use node --trace-warnings..to show where the warning was created)
(node: 4675) UnhandledPromiseRejectionWarni ng: Unhandled promise rejection. This erro r originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch). To terminate the node process on unhandled promise rejection, use the CLI flag '--unhandled-rejections=strict' (see Command-line API | Node.js v19.1.0 Documentationcli_ unhandled rejections mode). (rejection id: 2)
(node:4675) [DEP0018] DeprecationWarning:Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node. js process with a non-zero exit code.

Thank you again!
Dustin