Giter VIP home page Giter VIP logo

nodejs-poolcontroller's People

Contributors

arrmo avatar bsileo avatar ccutrer avatar codeslinger69 avatar emes avatar extremeswank avatar geeto1969 avatar lymanepp avatar rstrouse avatar sn-datainfratech-com avatar snagytx avatar tagyoureit avatar treyrich avatar ygelfand avatar zombielinux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nodejs-poolcontroller's Issues

Include Heater State in 'temp' message?

Hi,

Why have the heater state in it's own message - rather include it in 'temp' (like Freeze Protection state)? Then it can be set to off also, when the 'temp' message is sent (and cleans up code a bit).

Thoughts?

First Time Help

If anyone can spare a moment, I could use some first-timer help. I have successfully installed the package and can run it using "npm start", however this generates a running log after startup (the logs are as expected, and after reading many of these messages in another program I created, I know they are legit).

However, the web interface at {ip}:3000/index.html doesn't respond, either with the running log or without. This is what I was really after, and after as much self-help as I could find, I cannot seem to understand where to start. I have done all of the simple fixes - restarting httpd and computer, uninstalling/reinstalling, etc.

Any help you can offer would be appreciated.

Proposed changes to config.json

I want to modify the Equipment section of the config.json to:

    "Equipment": {
        "controller": {
            "intellicom": 0,
            "intellitouch": 1,
            "appAddress": 33
        },
        "chlorinator": {
            "installed": 1,
            "standalone": 0,
            "desiredOutput": 0
        },
        "pump": {
            "standalone": 0,
            "numberOfPumps": 0,
            "pump1": {
                "program1rpm": 0,
                "program2rpm": 0,
                "program3rpm": 0,
                "program4rpm": 0
            },
            "pump2": {
                "program1rpm": 0,
                "program2rpm": 0,
                "program3rpm": 0,
                "program4rpm": 0
            }
        }
    },

It was not very clear before. Hopefully, this helps get us in the right direction

  • Pumps

I moved pumpOnly and numberOfPumps under the new pump section. Also added a place for saving the program speeds.

  • Chlorinator
    Now you can specify if it is installed, and if it is standalone. Previously, it was confusing to set chlorinator=0 if you had a chlorinator, but it was hooked up to a controller. Also have desiredOutput to save the output % setting.

  • controllers
    Put Intellitouch and Intellicom und this heading, as well as appAddress.

Any comments? I think we can more easily expand these sections now (like possibly saving a duration with the pump programs?
Tag

4.1 Startup trouble

Just downloaded the new 4.1 Dev and get the following error on startup.

Exited nodejs-poolController cleanly
module.js:471
throw err;
^

Error: Cannot find module 'serialport'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at GenericProvider.$get (/home/pi/Downloads/nodejs-poolController/src/lib/app.js:56:12)
at Object.getService (/home/pi/Downloads/nodejs-poolController/node_modules/bottlejs/dist/bottle.js:368:89)
at Object.init (/home/pi/Downloads/nodejs-poolController/src/lib/comms/sp-helper.js:28:39)
at Object.exports.init (/home/pi/Downloads/nodejs-poolController/src/lib/app.js:169:25)
at Object. (/home/pi/Downloads/nodejs-poolController/src/index.js:25:5)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)

I can switch back to my 4.0 install and it works well.

REST api not working

I've gotten nodes-poolController working. I can access the bootstrap interface and it gets updated fine. But when I try to access the REST api it fails.

This is what I get when I try to access the api:

# curl http://pi-pool:3000/status
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /status</pre>
</body>
</html>

# curl http://pi-pool:3000/pool/status
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /pool/status</pre>
</body>
</html>

Is there a different URI I should be accessing to get to the REST api?

Thanks.

Cannot Hide Intellichem Panel

Whey I try to hide it, I get (in the shell where npm / nodeJS is running),
16:16:42.012 WARN Error updating bootstrap configClient.json:

Other panels can be hidden, but not this one?

FYI, after a refresh of the browser, the panel is back (not hidden).

Panel re-order broken

I can re-order the panels within each browser window. But when reloading them the next time, they are back to the default order.

Will this work with an Pentair EasyTouch controller?

I'm currently using the ScreenLogic2 protocol adapter but would like to install this nodejs-poolController on a raspberry PI and integrate it with the smartthings hub and app.

Using the REST URI, it should be pretty easy to code up a smartthings app

Include event keys in result data structure

Adding @bsileo since he might be interested:

The data returned via socketio events could benefit on being standardized. Regardless of whether you are asking for "all", "circuit", "temp", etc the resulting data structure should contain the appropriate event keys. ie

"all" would produce: "{ 'circuits': ..., 'temperatures': ...}"
"circuit" would produce: "{ 'circuits': ... }"
"temp" would produce: "{ 'temp': ...}"

As-is the event key is left out when subscribing to the more specific event type. The issue is, that means the parser needs to know what type of message it's getting in each case. If you're just sending the data somewhere else you might need to pass along that metadata via an alternate channel. If the data structure produced had the event key names in place the same parser can be used for every event without additional info or trying to guess.

Make sense?

Delay indicator for Cleaner

When the cleaner is turned on there is a 5 minute delay where the system pump kicks up to the cleaner RPMs and runs before turning on the cleaner booster pump. On the intellitouch remote during this time the cleaner indicator light is blinking, once the 5 minutes have passed the light goes solid. I need to double check, but I seem to recall the status packets showing the cleaner as off during the 5 minute delay. I need to see if some other bit is set during that period so that the delay can properly be accounted for.

Connecting to Hayward Aquarite Chlorinator

I am trying to connect to a hayward Aquarite chlorinator. The Aquarite has a 4 pin connector labeled GRN (GND), YEL (485B) , BLK (485A), RED (-10v). I am not sure which wires to connect. I have the JBtek USB to RS485 but I cannot seem to get it working. Do I need a different connector?

thanks

Move Web Directories

Move /public and /bootstrap under www (new directory), to allow either to be accessed.

npm install/update

OK, new repository (new fork) -> warnings / errors in npm,
npm WARN prefer global [email protected] should be installed with -g

And error in net,
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] invalid
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Add pump control to Bootstrap

moved from tagyoureit/nodejs-Pentair#49

@arrmo Can you add the pump control to Bootstrap? You can see the initial iteration at https://github.com/tagyoureit/nodejs-Pentair/blob/master/public/pump.html.

@tagyoureit Ya... possibly. But not everyone needs direct control over the pump. Is it possible to do a "nested" container? And that can be hidden in the config file for those that have controllers? Or possibly just a separate one... I'm ok with either until we get some feedback from others that need the pump control. Personally, I'll keep it hidden.

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'enable' of undefined Exited nodejs-poolController cleanly

@tagyoureit I just updated all of the code today and am getting a new error - see below. I am not running Promise, which seems to be the root of this. Is there something new that you added? And is there a way around it?

Error in settings: TypeError: Cannot read property 'enable' of undefined
    at GenericProvider.module.exports [as $get] (/usr/share/node/pool/4.x/nodejs-poolController/src/lib/logger/winston-helper.js:50:35)
    at Object.getService [as logger] (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bottlejs/dist/bottle.js:368:89)
    at /usr/share/node/pool/4.x/nodejs-poolController/src/lib/helpers/config-editor.js:53:26
    at tryCatcher (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/promise.js:689:18)
    at Async._drainQueue (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/usr/share/node/pool/4.x/nodejs-poolController/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)
(node:9406) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'enable' of undefined
Exited nodejs-poolController cleanly

Add a URL registration system for integrations

I wrote an integration for smartthings to stream updates from the socket.io interface back to the smartthings hub. The problem is that as is I need to hardcode the hub IP address into the integration's configuration. It would be helpful if an integration could register a URL handler into the express server with an associated callback. In my case I could then have my smartthings device handler or smartapp hit that URL and the integration code could then obtain the hub's IP that way. In general though it might be nice if an integration could add its own URLs for receiving information back from somewhere else without spinning up its own web server.

Change button layout for mobile devices

The buttons are really small on mobile devices. One suggestion would be to just make them bigger. Another would be to eliminate the labels and place them on the buttons themselves. We could then dual-column the panel, like in the attached pic.

screen shot 2017-02-11 at 10 08 36 am

Of course, adding some space between the buttons... but I think this just means adding a couple of extra classes (eg <div class="col-xs-6 col-md-6">). I used DIV's to mark this up, bit might work withy our existing table layout as well.

Control from Google Home?

OK, have to ask - as the wife just bought one of these ... :).

Any chance we can interface to / control this from Google Home?

Feel free to close if this is nuts!

Console, Continual Message(s)

Hi,

Filling the logs and console with the following message it seems (every minute),
16:40:41.769 INFO CHECKING DELAY! 0

Perhaps make this one Debug level?

Thanks!

Integration help needed - Simple http POST

All - I have had some trouble getting an integration to work, and could use some (hopefully quick) advice if someone has some time. The goal is a simple web post to a web page where I can integrate the data with other home data, and do so in a language I am far more familiar with...

The integration currently looks like the below. I borrowed most of this code from a smartthings integration (can't find it right now, thought happy to update with an appropriate attribution), and a number of examples from node.js sites.

The problem I am having is that I cannot seem to post data into the body. The data is posted back to this script using a simple php echo "RETURN THIS"; var_dump($_POST);, and this is appropriately sent back, but the $_POST var is empty:

16:53:52.704 INFO xxxxxx.com/upload_anypoint.php
16:53:52.925 INFO Status: 200
16:53:52.929 INFO Headers: {"date":"Sun, 19 Nov 2017 00:53:52 GMT","server":"Apache","x-powered-by":"PHP/5.4.45","vary":"Accept-Encoding,User-Agent","connection":"close","transfer-encoding":"chunked","content-type":"text/html"}
16:53:52.932 INFO Body: RETURN THIS: array(0) {
}

I would expect that this has to do with req.write('{"data":"foobar"}'); req.end(); but that seems to be the correct way to do this.

I can post GET variables to pass correctly, but not POST. If anyone can help debug this, I would greatly appreciate it!

module.exports = function(container) {

    var http = require('http');
    var request = require("request");

    var configFile = container.settings.getConfig()

    var address = configFile.webget.address
    var path = configFile.webget.path
    var protocol = configFile.poolController.web.expressTransport

    var uploadTimeCircuit = new Date().getTime();
    var uploadTimeTemp = new Date().getTime();

    var serverURL;
    var secureTransport;

    if (protocol === 'http') {
        serverURL = 'http://localhost:3000'
        secureTransport = false
    } else {
        serverURL = 'https://localhost:3000'
        secureTransport = true
    }

    var io = container.socketClient
    var socket = io.connect(serverURL, {
        secure: secureTransport,
        reconnect: true,
        rejectUnauthorized: false
    });

    function notify(event, data) {
      container.logger.info(address+path);
      //var url = 'http://'+address+path;

      var options = {
        hostname: address,
        path: path,
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        }
      };

      var req = http.request(options, function(res) {
        container.logger.info('Status: ' + res.statusCode);
        container.logger.info('Headers: ' + JSON.stringify(res.headers));
        res.setEncoding('utf8');
        res.on('data', function (body) {
          container.logger.info('Body: ' + body);
        });
      });
      req.on('error', function(e) {
        container.logger.info('problem with request: ' + e.message);
      });
      req.write('{"data":"foobar"}');
      req.end();
    }

    socket.on('circuit', function(data) {
      var newTime = new Date().getTime();
      if ((newTime - uploadTimeCircuit) > 60000) {
        container.logger.info((newTime - uploadTimeCircuit)+'millis... Uploading');
        uploadTimeCircuit = newTime;
        notify('circuit', data);
      }
    })

    socket.on('temp', function(data) {
      //notify('temp', data)
    })

    function init() {
        container.logger.verbose('WebGet Loaded.')
    }

    return {
        init: init
    }
}

Failure on Startup, Extended Pump Config

Hi,

I seem to be seeing this pretty consistently,

17:14:31.445 WARN Error writing controller packet 'Get Pump Config (Extended)' to serial bus.  Tried 5 times to write 255,0,255,165,1,16,33,219,1,1,1,180
17:14:33.825 ERROR Aborting controller packet Get Pump Config (Extended).  Tried 10 times to write 255,0,255,165,1,16,33,219,1,1,1,180
17:14:33.825 WARN Setting logging level to Debug.  Will revert to previous level in 2 minutes.
17:14:36.382 WARN Error writing controller packet 'Get Pump Config (Extended)' to serial bus.  Tried 5 times to write 255,0,255,165,1,16,33,219,1,2,1,181
17:14:38.763 ERROR Aborting controller packet Get Pump Config (Extended).  Tried 10 times to write 255,0,255,165,1,16,33,219,1,2,1,181

I think it makes sense, given my pumps, but perhaps have an option to disable this check?

Treatment for Release panel in UI

Thoughts on how to treat this? We could make it "permanently" disappear, and I'm open here, but hiding it now wouldn't be any different from the version notification. Shouldn't they be treated the same? And no one has really complained about that because resetting the UI shouldn't be done that often.

Bootstrap fixed top menu

I was playing around with the app on my mobile site and found it a tad bit difficult to find panels because there was so much vertical scrolling. I looked through the Bootstrap documentation and implemented a nav-bar that is responsive to the device size.

This changes the top menu to a "fixed" style so it is always on the top. To me, the advantage of 2-quick touches to get to any menu is faster than scrolling. And, bonus, even with panels rearranged it works perfectly. The debug timer/switch also gets formatted to the bottom of the menu in smaller windows.

Archive.zip

Only thing I didn't explore is do we hide the menu items if they are hidden in clientConfig.json? I'd say yes, but didn't look into how to do this. Hopefully not much harder then hiding an individual panel.

Here are the main elements (and full files attached).

  1. added navbar-fixed-top to navbar class.
  2. added body {padding-top: 70px;} to css to move all content down 70px.
  3. added menu items per documentation (https://getbootstrap.com/examples/navbar-fixed-top/)
  4. added anchor links just below each div with pnlSystem class :
    <a name="systeminformation" class="anchor"></a>
  5. the class="anchor" is needed to also adjust each link down 70px so it is below the menu:
//in css file
.anchor::before {
  content:"";
  display:block;
  height:70px; /* fixed header height*/
  margin:-70px 0 0; /* negative fixed header height */
}
  1. added the following to main.js to make the menu item active and the collapse the navbar (mobile size) when you select an item.
//in main.js
//set active menu item
$(".nav li").on("click", function() {
  $(".nav li").removeClass("active");
  $(this).addClass("active");
});
 //and collapse navbar when selecting
$('.navbar-collapse a').click(function(){
  $(".navbar-collapse").collapse('hide');
});

Heater state not updating

I have a choice of solar heat or gas heat. In System Information, Heater State shows --- even when the heat is on. Happy to debug if you can let me know what to do!

Thanks!

Android App

Thoughts? Would this make sense?

iPhone too ... but I don't have one of those to test with / develop on ... :-(.

remove expressDir setting from config.json

This shouldn't be needed now that everything is running under from the /www directory.

If you are finding this error, or not getting any web page returned, use this setting: "expressDir": "/www",

Addition - Intellichem messages

I am just starting to get this running, but can offer some messages from my Intellichem to the effort. This is a two-pump intellichem so both pH/acid and ORP/chlorine are sent. There are two very similar messages - first the intellichem to the controller, and then the controller broadcast. The message itself is the same except for an extra (apparently) empty first bit. I haven't figured out the all modes yet (dosing, mixing; chlorine, acid) but will keep studying. Excuse my messy notes - help me understand where to best put this and I will try to clean it up:

//Status 0x12 (18) - Intellichem Status (length 41)
example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
02 E3 02 AF 02 EE 02 BC 00 00 00 02 00 00 00 2A 00 04 00 5C 06 05 18 01 90 00 00 00 96 14 00 51 00 00 65 20 3C 01 00 00 00

1-4 pH(1-2) / ORP(3-4) reading
02 E3 - pH 2256 + e3(227) = 739 (=7.39)
02 AF - ORP 2
256 + af(175) = 687

5-6 pH setpoint
D0 = 7.2 (hi/lo bits - 720 = 7.2pH)
DA = 7.3
E4 = 7.4
EE = 7.5
F8 = 7.6

7-8 ORP setpoint
02 BC = 700 (hi/lo bits)

21-22 Tank levels; 21 is acid? 22 is chlorine?
06 and 05

25-26 CH setpoint
90 is CH (90 = 400; 8b = 395) hi/lo bits

28
00 is CYA (00 = 0; 9 = 9; c9 = 201) (does not appear to have hi/lo - 201 is max

29-30
96 is TA (96 = 150)

34 - Water Flow Alarm (00 is ok; 01 is no flow)
00 flow is OK
01 flow is Alarm on (Water STOPPED)

36 Mode
25 dosing (auto)?
45 dosing acid (manually?)
55 mixing???
65 monitoring
02 (12 when mixing) and 04 (27 when mixing) related???

37
20 Nothing
22 Dosing Chlorine(?)

//Broadcast 0x93 (147) - Intellichem Status (length 42)
Note that this is the same as the above with the addition of a 0x00 bit to start. It comes immediately after the Intellichem (ID 144 in my system) sends the 0x12 message above.
example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
00 02 E3 02 AF 02 EE 02 BC 00 00 00 02 00 00 00 2A 00 04 00 5C 06 05 18 01 90 00 00 00 96 14 00 51 00 00 65 20 3C 01 00 00 00

Default hideAux to false for new installs?

My EasyTouch controller was setup with spa light, pool light, and blower on AUX1, AUX2, and AUX3. During initial sfwr setup I was only presented w/ options for "Feature" circuits. Upon changing the variable to false, the AUX circuits appeared and I could toggle them and control the items. I then changed the names of the items in the controller and reset the bit back to true to hide the un-used AUX circuits.

https://github.com/tagyoureit/nodejs-poolController/blob/master/bootstrap/main.js#L178

Should this variable default to false during setup? Or, should there be a note in the readme to help out others in this situation? Thoughts?

Reconnect to Socat

Moved from tagyoureit/nodejs-Pentair#56
[@arrmo]
Hi,

One item I have found - if the socat machine / server is rebooted (goes away for a bit), the Node.js server has to be restarted (i.e. restart nodejs-Pentair) once socat is available again. Perhaps automatically reconnect somehow?
Or also - allow for a reconnect request?
Thanks!

Node versions?

What version(s) of Node and NPM are you working with? My environment is on a Raspberry Pi (I have a 2B+ and a 3 zero) but so far I am running into version compatibility issues when trying things with node-red and newer Node 8 environments.

I have the strings for the intellibrite control

Intellibrite LED's (last two columns are chksum):

Color Swim: ff 00 ff a5 01 10 20 60 02 90 ff 02 c7
Party Mode: ff 00 ff a5 01 10 20 60 02 b1 ff 02 e8
Romance Mode: ff 00 ff a5 01 10 20 60 02 b2 ff 02 e9
Caribbean Mode: ff 00 ff a5 01 10 20 60 02 b3 ff 02 ea
American Mode: ff 00 ff a5 01 10 20 60 02 b4 ff 02 eb
California Sunset Mode: ff 00 ff a5 01 10 20 60 02 b5 ff 02 ec
Royal Mode: ff 00 ff a5 01 10 20 60 02 b6 ff 02 ed
Blue: ff 00 ff a5 01 10 20 60 02 c1 ff 02 f8
Green: ff 00 ff a5 01 10 20 60 02 c2 ff 02 f9
Red: ff 00 ff a5 01 10 20 60 02 c3 ff 02 fa
White: ff 00 ff a5 01 10 20 60 02 c4 ff 02 fb
Magenta: ff 00 ff a5 01 10 20 60 02 c5 ff 02 fc

Smarthings / Pentair Device Handler

I have finished Alpha development on a UI to access the poolController from the SmartThings platform. This UI allows the user to see all the relevant details of the Pool in the ST platform and also exposes individual devices to allow integration of the pool equipment into the overall home automation system. Temperatures, pump controls, setpoints, chlorinator, and lighting / features can be controlled with the Smartthings environment, connected to separate SmartApps, etc.

Thanks to @rflemming for the initial code and inspiration and @tagyoureit for help along the way.

This is only tested so far on my pool which is currently closed for the winter, so thats pretty limiting!
@donkarnag have a go if you want to try it out!

Code to support this and install docs are at [(https://github.com/bsileo/SmartThings_Pentair)]

Feedback on the UI, code, docs, etc. all welcome! @tagyoureit can decide if we track via this issue, move to Gitter, etc.

2017-11-28 23 00 20

Lighting?

moved from: tagyoureit/nodejs-Pentair#55

@rayzorben

rayzorben commented 25 days ago
Got my RS485 USB port, hooked it up to my RPI and got it working today, excellent job!

Is there any support for the lighting? What I am looking for is the ability to set the spa and pool lights to different colors.

If I use the 'Color Set' functionality I can do this through the Intellilogic software. There is also 'Intellibright' that allows me to set 1 of 5 colors, but it is set for both the pool and the spa to the same color.

The problem that I found out this holiday season is that although 'Intellibright' supports a Green and Red, 'Color Set' does not have a Red color. The bulbs can actually output a red, but I can't set the lights to Red and Green, so I am hoping to direct this manually.

Any ideas?

[see rest of thread in original issue]

Add changes to send_packet.html

holligram @holligram 11:44
@tagyoureit I'm trying the send_packet.html as you suggested and nothing happens. The log does not show the outgoing write and there is no response from the pump. Tried in both 4.x and 3.1.

tagyoureit @tagyoureit 11:47
Unfortunately, there isn't a "loopback" on the RS485 adapters so the outgoing packets don't show in the logs. Best way to tell if it works would be if the program is saved on the pump. I'll put this on my 'to-do' list to see about changing the workflow so it can get logged and will appropriately wait for a response.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.