Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 14 21:29

    rstrouse on master

    Added a chemDoser that doses ch… (compare)

  • Aug 13 04:52

    tagyoureit on comms_refinement

    Bump to Node v16 (compare)

  • Aug 13 03:16

    tagyoureit on comms_refinement

    Change mqtt chlorinator isOn to… Chem Doser functionality (compare)

  • Aug 12 21:55

    tagyoureit on comms_refinement

    Change send packets to be an as… Update copyright years (compare)

  • Aug 12 19:48

    rstrouse on master

    Change mqtt chlorinator isOn to… Chem Doser functionality (compare)

  • Aug 11 07:39

    tagyoureit on comms_refinement

    More mock chlor updates; Refact… (compare)

  • Aug 10 04:58

    tagyoureit on comms_refinement

    Added peristaltic pump calibrat… Fix typo for showInDashboard fu… Added function endpoint for del… and 4 more (compare)

  • Aug 10 04:55

    tagyoureit on comms_refinement

    pull master updates Added peristaltic pump calibrat… Fix typo for showInDashboard fu… and 4 more (compare)

  • Aug 10 04:50

    tagyoureit on master

    #560 - Update *Touch sunrise/su… (compare)

  • Aug 06 21:09

    tagyoureit on master

    #560 - Do not reset system for … (compare)

  • Aug 03 21:44

    rstrouse on master

    Normalized ezo-pmp to the relay… (compare)

  • Aug 03 02:38

    rstrouse on master

    Added function endpoint for del… (compare)

  • Aug 02 18:48

    rstrouse on master

    Fix typo for showInDashboard fu… (compare)

  • Aug 02 00:39
    rstrouse commented #393
  • Aug 02 00:17
    avbdr commented #393
  • Aug 01 22:00
    rstrouse commented #393
  • Aug 01 22:00
    rstrouse commented #393
  • Aug 01 22:00
    rstrouse commented #393
  • Aug 01 18:36
    avbdr commented #393
  • Jul 30 23:10

    tagyoureit on comms_refinement

    #316 - Only run logic for body … Added SunTouch board definition Added ruleInterface processor f… and 14 more (compare)

ckurlinski
@ckurlinski
IMG_7234.jpeg
IMG_7231.jpeg
IMG_7233.jpeg
DrJeff
@DrJeff
Anyone know how to send commands to the Mqtt client to control pump? I can see it but not sure how to control via MQTT
10 replies
MaxVonEvil
@MaxVonEvil
Hi all, I've got the pool controller package installed and running in one directory /home/pi/controller and the web clieent in another /home/pi/webclient. I'm trying to get the two started with PM2 which I've got installed. Saw How to get PM2 installed and running poolController on RPi or Linux further back.
Runnng the following from /home/pi/controller to start the pool controller: pm2 start dist/app.js --name "Ctl" --watch to start the pool controller. It does start as an app inside pm2 but I get no logs with pm2 monit, which is telling me it's constantly restarting? Not sure I'm I'm using pm2 right? I'm launching the webclient from its own folder with pm2 start dist/Server.js --name "Web" --watch -- my goal is to get PM2 to launch them both using the json file config option, but can't seem to get it working by hand. It should be mentioned that regular 'npm start' for both controller and web client in each it's own SSH session works nicely. Any help would be appreciated
DrJeff
@DrJeff
@MaxVonEvil are you running them as root or user
pm2 start /home/pi/controller/dist/app.js /home/pi/controller/config.json --name CTL
You need to declare the Config path
tagyoureit
@tagyoureit
In 5.x you needed to specify the config.json. That isn't needed in 6.x. More likely is that the watch is the problem. We write to the config.json, logs directory, and data directory. Try to start the pm2 process without the watch and see if it succeeds. If it does, than exclude the files/directories that get written to as it will trigger a restart.
DrJeff
@DrJeff
oops!
tagyoureit
@tagyoureit
@MaxVonEvil There is also a wiki page for PM2, but lots of ppl seem to have issue with the template. You can use it as a guide, however.
DrJeff
@DrJeff
@MaxVonEvil ^ Yup I tried with the watch and it fails, without it's all good
MaxVonEvil
@MaxVonEvil
@Dr Jeff / , runing them as regular pi user (non sudo). You're right about the --watch, I read up on it and that makes perfect sense. I think in the interim I figured out how to circumvent the config path bit. I created a pm2 apps.json file like this:
{
"apps": [
{
"name": "PoolController",
"script": "./dist/app.js",
"instances": 1,
"cwd": "/home/pi/controller"
},
{
"name": "PoolWebClient",
"script": "./dist/Server.js",
"instances": 1,
"cwd": "/home/pi/webclient"
}
]
}
It seems to do what I want. My only concern is that the webclient instance does not seem to be providing any logs
tagyoureit
@tagyoureit
pm2 monit is a bit funky. If you just try pm2 logs web it should show you the last 15 lines and give you the location of the full logs... eg:
pi@poolcontroller:~ $ pm2 logs 2
[TAILING] Tailing last 15 lines for [2] process (change the value with --lines option)
/home/pi/.pm2/logs/poolController-webClient-error.log last 15 lines:
/home/pi/.pm2/logs/poolController-webClient-out.log last 15 lines:
2|poolCont | GET /app.747e1315.css
...
2020-12-14_23-01-55.png
Or, if you use the monitor, you should be able to see logs if you load up the browser. There isn't anything really to log unless you make an actual connection to it.
MaxVonEvil
@MaxVonEvil
@tagyoureit - Schweet, that did the trick! About the json example in the PM2 wiki, you're right, it was a bit much. I created mine from this example instead: https://futurestud.io/tutorials/pm2-use-npm-to-start-your-app
tagyoureit
@tagyoureit
:+1:
MaxVonEvil
@MaxVonEvil
8|PoolWebC | "USN": "uuid:x.x.x.x::urn:schemas-upnp-org:device:PoolController:1",
8|PoolWebC | "CACHE-CONTROL": "max-age=1800",
8|PoolWebC | "DATE": "Tue, 15 Dec 2020 06:50:54 GMT",
8|PoolWebC | "SERVER": "node.js/12.20.0 UPnP/1.1 node-ssdp/4.0.0",
8|PoolWebC | "EXT": "",
8|PoolWebC | "LOCATION": "http://192.168.0.19:4200/device"
8|PoolWebC | }
8|PoolWebC | {
8|PoolWebC | "address": "x.x.x.x",
8|PoolWebC | "family": "IPv4",
8|PoolWebC | "port": 1900,
8|PoolWebC | "size": 334
8|PoolWebC | }
8|PoolWebC | IN SEARCH --- http://x.x.x:4200
8|PoolWebC | ✨ Built in 22.23s.
tagyoureit
@tagyoureit
Oh, you'll want to set the environment variable for production with webclient. That will avoid compiling the code every single time. The command from package.json is env NODE_ENV=production node dist/Server.js. That will save about 22s on your startup time, not to mention CPU overhead.
MaxVonEvil
@MaxVonEvil
Thanks! I'll try adding that to the apps.json file
MaxVonEvil
@MaxVonEvil
image.png
@tagyoureit, btw not sure if this is within your code or it's @bsileo hubitat driver: I only have a Intelliflo VS pump and the Rpi. I do not own a chlorinator or any of the other pentair stuff. Still when I add the pool controller to Hubitat it adds a few other items as shown above
Specifically, I get two temperature sensors (air and solar) which returns no values, i.e. I'd like to get rid of them, however I'm not sure if they're coming from the HE driver or it's the poolcontroller telling the HE driver they exist?
(it should be said that all the RPM switches are deliberate. Those were 'Features' which I created in the PoolController web interface.
tagyoureit
@tagyoureit
Does the webclient match what you see in hubitat? You can also look in the ./data/pool*.json files.
MaxVonEvil
@MaxVonEvil
Well, it only matches as far as the mentioned features go and the general pool controller, as you can see:
image.png
Lemme check the json files if there's anything interesting... brb
MaxVonEvil
@MaxVonEvil
So, no - tbh I don't see any reference to the above two temperature items. I did check the pump manual (https://www.pentair.com/content/dam/extranet/pentair-pool/residential/manuals/pumps/intelliflo-vs/intelliflo-vs-pump-manual-english.pdf) and it appears there should be at least an air temperature sensor in the pump to enable "thermal-mode" (think it means run pump if near freezing). So at least the Air temp needs to be there. However I'm getting no data on the HE side from the driver? Is there a good way to test this value is being read correctly from the pump by the pool controller?
tagyoureit
@tagyoureit
The pumps don't have any temp sensors that send data externally. You would need a separate air/water sensor but you don't have those with a virtual controller. Likely it's that hubitat shouldn't be creating those drivers. You can just delete/ignore them but I wouldn't expect to get any data with your current setup.
1 reply
MaxVonEvil
@MaxVonEvil
Okay, cool that clarifies it. I was planning on adding another ESP-12 device in the backyard anyway, so there's worthy cause! :) Thanks for the help gents - season greetings here from Sin City!
1 reply
MaxVonEvil
@MaxVonEvil
Very cool. I've got BerryIO running in parallel for basic relay operations at the momet using Webcore to fire off Webrequests to the Pi to flip GPIO's on/off. Looks like relayEquipmentManager can do much more than that. If we later on can get upwards HE/ST integration with a native driver like Brad's driver for poolcontroler, that would be stellar!
6 replies
n0xd
@n0xd
Hello, I have been trying to get the pi to talk to my intelliflo VSP with no luck. So I took my netbook with the JBTEK USB>RS485 out to the pump. Tried sending some commands but never seen anything back from the pump. Is there a command to check basic comm from the pump? I'm afraid my port on the pump is bad. I even went in and soldered the 2 wires to the board to eliminate the socket which didn't have the cap on and I'm sure water was in there, Any ideas greatly appreciated.
1 reply
n0xd
@n0xd
I have had no luck with the pi initializing the pump. Is there a command I can send with my notebook out at the pump just to see if it's working. Then I can go from there.
n0xd
@n0xd
Capture.JPG
Can someone look at this and see if I'm ok so far. I still can't talk to the pump. I did reverse the wires.
rstrouse
@rstrouse
Actually there is but lets see what traffic you have going so far. Open an issue on the main page then lets do a capture replay and upload it. Let's see what njspc is sending out and if there is any response from items on the bus. Also, if you go to the address http://192.168.1.70:5150/messageManager.html you can watch the messages in real time. Click the icon on the upper far right hand corner of the message list and it will start showing all the messages on the RS485 bus.
From the messageManager you will be able to send a message to the pump to see if it gives a response.
n0xd
@n0xd
Thanks. what would be a good message to send? I may have problems with the comm on the pump. Not sure at this point.
n0xd
@n0xd
16,2,80,17,10,0,125,16,3 something like this?
rstrouse
@rstrouse
No that is a chlorinator message to set the output to 10%. A pump message to ask for its status would look more like this.
255, 0, 255,165, 0, 96, 16, 7, 0,1, 28 where the 96 represents a pump that has address 1 and an action of 7 get status.
3 replies
If you open an issue I will walk you through sending this message and watching the reply.
n0xd
@n0xd
1.jpg
n0xd
@n0xd
Not sure how to open a issue. I did know that was a chlorinator message but I didn't know the first cmd to check comm. To be honest I only started playing with the pi a week or so ago. And not the best with Linux but I keep trying. There is a lot of stuff going on here. Till I get that first reply from the pump I'm in limbo.
1 reply
MaxVonEvil
@MaxVonEvil
Hi all and happy new year in advance. Quick question; does anyone know of development being done with Home Assistant / MQTT integration for the 6.0 version of njsPC? I know of https://github.com/crsherman/nodejs-poolController-mqtt however that seems only to work with v5.
3 replies
MaxVonEvil
@MaxVonEvil
image.png