tagyoureit / nodejs-poolController

An application to control pool equipment from various manufacturers.
GNU Affero General Public License v3.0
326 stars 96 forks source link

Failure on Startup, Extended Pump Config #71

Closed arrmo closed 6 years ago

arrmo commented 6 years ago

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?

tagyoureit commented 6 years ago

How many pumps do you have? And which controller (Intellitouch, right)?

I might need to see some full logs (debug level) for this one. I do see this occasionally, but usually when Socat is acting up. It's coming through on mine currently.

arrmo commented 6 years ago

2 pumps - regular pool pump, and cleaner. And yes, Intellitouch (old ... :-)). I see this every time on startup, perhaps just because I don't have smart pumps of any sort?

Here is the debug log - does this help? Thanks!

/usr/bin/node --nolazy --debug-brk=3774 src/index.js 
Debugger listening on [::]:3774
c
Silly:  { '0': 'Loading settings with config file: ',
  '1': 'config.json' }
Debug:  { '0': 'Starting configEditor.init()' }
Debug:  { '0': 'Finished configEditor.init()' }
Silly:  { '0': 'Finished loading settings.' }
19:16:25.004 INFO Starting up express auth, https (port 3001)
19:16:25.055 INFO Starting up express auth, http (port 3000)
19:16:25.063 INFO initializing logger
19:16:25.219 DEBUG Initialized intellichem module
19:16:25.219 INFO Intro:  
*******************************
 poolController in brief (for full details, see README.md):
 Intellitouch: Configuration is read from your pool.  The application will send the commands to retrieve the custom names and circuit names.
 It will dynamically load as the information is parsed.  
 Intellicom: If you have an IntelliCom, set the Intellicom flag to 1 in the config file.
 Pump controller: default: poolController pump controller will start if intellicom and intellitoch = 0
                  always: poolController pump controller will always start
                  never: poolController pump controller will never start

 Writing: If there is a write error 5 times, there will be a warning message.
 If there is a write error 10 times, the logging will change to debug mode for 2 minutes and.
 it will abort the packet and go to the next one.

 To change the amount of output to the console, change the "logx" flags in lines 45-51 of this app.
 Visit http://_your_machine_name_:3000 for a web interface *******************************

19:16:25.220 INFO Settings:  
 Version: 4.1.2
 Config File: config.json

 //-------  EQUIPMENT SETUP -----------
 var intellicom = {
    "installed": 0,
    "friendlyName": ""
}
 var intellitouch = {
    "installed": 1,
    "friendlyName": ""
}
 var virtual = {
    "pumpController": "default",
    "chlorinatorController": "default"
}
 var controller.id = {
    "productName": "",
    "productNumber": "",
    "manufacturer": "",
    "description": ""
}
 var circuitFriendlyNames = {
    "1": "",
    "2": "",
    "3": "",
    "4": "",
    "5": "",
    "6": "",
    "7": "",
    "8": "",
    "9": "",
    "10": "",
    "11": "",
    "12": "",
    "13": "",
    "14": "",
    "15": "",
    "16": "",
    "17": "",
    "18": "",
    "19": "",
    "20": ""
}

 var chlorinator = {
    "installed": 1,
    "desiredOutput": {
        "pool": -1,
        "spa": -1
    },
    "friendlyName": "",
    "id": {
        "productName": "",
        "productNumber": "",
        "manufacturer": "",
        "description": ""
    }
}

 var pump = {
    "1": {
        "type": "VS",
        "externalProgram": {
            "1": -1,
            "2": -1,
            "3": -1,
            "4": -1
        },
        "friendlyName": "",
        "id": {
            "productName": "",
            "productNumber": "",
            "manufacturer": "",
            "description": ""
        }
    },
    "2": {
        "type": "VS",
        "externalProgram": {
            "1": -1,
            "2": -1,
            "3": -1,
            "4": -1
        },
        "friendlyName": "",
        "id": {
            "productName": "",
            "productNumber": "",
            "manufacturer": "",
            "description": ""
        }
    }
}
 //-------  END EQUIPMENT SETUP -----------

 //-------  POOLCONTROLLER SETUP -----------
 var appAddress = 33
 //-------  WEB SETUP -----------
 var expressPort = undefined
 var expressTransport = undefined
 var expressAuth = undefined
 var expressAuthFile = undefined
 //-------  END MISC SETUP -----------

 //-------  NETWORK SETUP -----------
 // Setup for Network Connection (socat or nc)
 var netConnect = 1
 var rs485Port = /dev/ttyUSB0
 var netHost = atticServer
 var netPort = 9801
 var timeout = 10
 //-------  END NETWORK SETUP -----------

 //-------  LOG SETUP -----------
 var logLevel = debug
 var socketLogLevel = info
 var fileLog = {"enable":0,"fileLogLevel":"silly","fileName":"output.log"}
 var logPumpMessages = 0
 var logDuplicateMessages = 0
 var logConsoleNotDecoded = 0
 var logConfigMessages = 0
 var logMessageDecoding = 0
 var logChlorinator = 0
 var logIntellichem = 0
 var logPacketWrites = 0
 var logPumpTimers = 0
 var logApi = 0
 //-------  END LOG SETUP -----------

 //-------  DATABASE SETUP -----------
 var influxEnabled = 0
 var influxHost = localhost
 var influxPort = 8086
 var influxDB = pool
 //-------  END DATABASE SETUP -----------

19:16:25.222 VERBOSE Express Server https listening at port 3001
19:16:25.246 VERBOSE Socket.IO https server listening. 
19:16:25.246 VERBOSE Express Server http listening at port 3000
19:16:25.247 VERBOSE Socket.IO http server listening. 
19:16:25.248 DEBUG Server starting complete.
19:16:25.277 VERBOSE smartthings Loaded.
19:16:25.278 INFO Net connect (socat) connected to: atticServer:9801
19:16:25.279 INFO Queueing messages to retrieve configuration from Intellitouch
19:16:25.280 VERBOSE Queueing messages to retrieve SW Version
19:16:25.280 VERBOSE Queueing messages to retrieve time
19:16:25.280 VERBOSE Queueing messages to retrieve Pool/Spa Heat Mode
19:16:25.281 VERBOSE Queueing messages to retrieve settings(?)
19:16:25.281 VERBOSE Queueing messages to retrieve Custom Names
19:16:25.281 VERBOSE Queueing messages to retrieve Circuit Names
19:16:25.281 VERBOSE Queueing messages to retrieve light groups/positions
19:16:25.281 VERBOSE Queueing messages to retrieve Schedules
19:16:25.282 VERBOSE Queueing messages to retrieve pump configurations
19:16:25.318 VERBOSE smartthings Sent all'{"circuit":{"1":{"status":0,"delay":0,"light":{}},"2":{"status":0,"delay":0,"light":{}},"3":{"status":0,"delay":0,"light":{}},"4":{"status":0,"delay":0,"light":{}},"5":{"status":1,"delay":0,"light":{}},"6":{"status":1,"delay":0,"light":{}},"7":{"status":0,"delay":0,"light":{}},"8":{"status":0,"delay":0,"light":{}},"9":{"status":0,"delay":0,"light":{}},"10":{"status":0,"delay":0,"light":{}},"11":{"status":0,"delay":0,"light":{}},"12":{"status":0,"delay":0,"light":{}},"13":{"status":0,"delay":0,"light":{}},"14":{"status":0,"delay":0,"light":{}},"15":{"status":0,"delay":0,"light":{}},"16":{"status":0,"delay":0,"light":{}},"17":{"status":0,"delay":0,"light":{}},"18":{"status":0,"delay":0,"light":{}},"19":{"status":0,"delay":0,"light":{}},"20":{"status":0,"delay":0,"light":{}}},"pump":{"1":{"pump":1,"name":"Pump 1","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 1","virtualController":"disabled"},"2":{"pump":2,"name":"Pump 2","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 2","virtualController":"disabled"}},"schedule":{},"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0},"time":{"controllerTime":"7:17 PM","controllerDateStr":"datestrnotset","controllerDay":"daynotset","controllerMonth":"monthnotset","controllerYear":"yearnotset","controllerDayOfWeekStr":"dayofweekstrnotset","controllerDayOfWeek":"dayofweeknotset","automaticallyAdjustDST":1,"pump1Time":-1,"pump2Time":-1},"UOM":{"UOM":0,"UOMStr":"° Farenheit"},"valve":{"valves":0},"chlorinator":{"installed":0,"saltPPM":-1,"currentOutput":-1,"outputPoolPercent":-1,"outputSpaPercent":-1,"superChlorinate":-1,"version":-1,"name":""},"intellichem":{"readings":{"PH":-1,"ORP":-1,"WATERFLOW":-1,"SI":-1,"SALT":-1},"settings":{"PH":-1,"ORP":-1,"CYA":-1,"CALCIUMHARDNESS":-1,"TOTALALKALINITY":-1},"tankLevels":{"1":-1,"2":-1},"mode":{"1":-1,"2":-1},"lastPacket":[]}}'
19:16:25.318 VERBOSE smartthings Sent circuit'{"circuit":{"1":{"status":0,"delay":0,"light":{}},"2":{"status":0,"delay":0,"light":{}},"3":{"status":0,"delay":0,"light":{}},"4":{"status":0,"delay":0,"light":{}},"5":{"status":1,"delay":0,"light":{}},"6":{"status":1,"delay":0,"light":{}},"7":{"status":0,"delay":0,"light":{}},"8":{"status":0,"delay":0,"light":{}},"9":{"status":0,"delay":0,"light":{}},"10":{"status":0,"delay":0,"light":{}},"11":{"status":0,"delay":0,"light":{}},"12":{"status":0,"delay":0,"light":{}},"13":{"status":0,"delay":0,"light":{}},"14":{"status":0,"delay":0,"light":{}},"15":{"status":0,"delay":0,"light":{}},"16":{"status":0,"delay":0,"light":{}},"17":{"status":0,"delay":0,"light":{}},"18":{"status":0,"delay":0,"light":{}},"19":{"status":0,"delay":0,"light":{}},"20":{"status":0,"delay":0,"light":{}}}}'
19:16:25.319 VERBOSE smartthings Sent temp'{"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0}}'
19:16:25.320 VERBOSE smartthings Sent chlorinator'{"chlorinator":{"installed":0,"saltPPM":-1,"currentOutput":-1,"outputPoolPercent":-1,"outputSpaPercent":-1,"superChlorinate":-1,"version":-1,"name":""}}'
19:16:25.320 VERBOSE smartthings Sent all'{"circuit":{"1":{"status":0,"delay":0,"light":{}},"2":{"status":0,"delay":0,"light":{}},"3":{"status":0,"delay":0,"light":{}},"4":{"status":0,"delay":0,"light":{}},"5":{"status":1,"delay":0,"light":{}},"6":{"status":1,"delay":0,"light":{}},"7":{"status":0,"delay":0,"light":{}},"8":{"status":0,"delay":0,"light":{}},"9":{"status":0,"delay":0,"light":{}},"10":{"status":0,"delay":0,"light":{}},"11":{"status":0,"delay":0,"light":{}},"12":{"status":0,"delay":0,"light":{}},"13":{"status":0,"delay":0,"light":{}},"14":{"status":0,"delay":0,"light":{}},"15":{"status":0,"delay":0,"light":{}},"16":{"status":0,"delay":0,"light":{}},"17":{"status":0,"delay":0,"light":{}},"18":{"status":0,"delay":0,"light":{}},"19":{"status":0,"delay":0,"light":{}},"20":{"status":0,"delay":0,"light":{}}},"pump":{"1":{"pump":1,"name":"Pump 1","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 1","virtualController":"disabled"},"2":{"pump":2,"name":"Pump 2","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 2","virtualController":"disabled"}},"schedule":{},"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0},"time":{"controllerTime":"7:17 PM","controllerDateStr":"datestrnotset","controllerDay":"daynotset","controllerMonth":"monthnotset","controllerYear":"yearnotset","controllerDayOfWeekStr":"dayofweekstrnotset","controllerDayOfWeek":"dayofweeknotset","automaticallyAdjustDST":1,"pump1Time":-1,"pump2Time":-1},"UOM":{"UOM":0,"UOMStr":"° Farenheit"},"valve":{"valves":0},"chlorinator":{"installed":0,"saltPPM":-1,"currentOutput":-1,"outputPoolPercent":-1,"outputSpaPercent":-1,"superChlorinate":-1,"version":-1,"name":""},"intellichem":{"readings":{"PH":-1,"ORP":-1,"WATERFLOW":-1,"SI":-1,"SALT":-1},"settings":{"PH":-1,"ORP":-1,"CYA":-1,"CALCIUMHARDNESS":-1,"TOTALALKALINITY":-1},"tankLevels":{"1":-1,"2":-1},"mode":{"1":-1,"2":-1},"lastPacket":[]}}'
19:16:25.528 INFO You are running a newer release (4.1.2) than the published release (4.0.0)
19:16:25.531 INFO You are running a newer release (4.1.2) than the published release (4.0.0)
19:16:25.699 VERBOSE smartthings Sent temp'{"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolSetPoint":82,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaSetPoint":102,"spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0}}'
19:16:27.629 INFO 
  Custom Circuit Names retrieved from configuration: 
    ["USERNAME-01","USERNAME-02","USERNAME-03","USERNAME-04","USERNAME-05","USERNAME-06","USERNAME-07","USERNAME-08","USERNAME-09","USERNAME-10"]
19:16:31.136 INFO 
  Circuit Array Discovered from configuration: 
Circuit 1: SPA Function: Spa Status: 0 Freeze Protection: off Macro: 0
Circuit 2: AIR BLOWER Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 3: POOL LIGHT Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 4: SPA LIGHT Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 5: CLEANER Function: Generic Status: 1 Freeze Protection: off Macro: 0
Circuit 6: POOL Function: Pool Status: 1 Freeze Protection: off Macro: 0
Circuit 7: AUX 5 Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 8: AUX 6 Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 9: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 10: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 11: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 12: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 13: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 14: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 15: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 16: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 17: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 18: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 19: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0
Circuit 20: NOT USED Function: Generic Status: 0 Freeze Protection: off Macro: 0

19:16:31.139 VERBOSE smartthings Sent circuit'{"circuit":{"1":{"number":1,"numberStr":"circuit1","name":"SPA","circuitFunction":"Spa","status":0,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA"},"2":{"number":2,"numberStr":"circuit2","name":"AIR BLOWER","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AIR BLOWER"},"3":{"number":3,"numberStr":"circuit3","name":"POOL LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL LIGHT"},"4":{"number":4,"numberStr":"circuit4","name":"SPA LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA LIGHT"},"5":{"number":5,"numberStr":"circuit5","name":"CLEANER","circuitFunction":"Generic","status":1,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"CLEANER"},"6":{"number":6,"numberStr":"circuit6","name":"POOL","circuitFunction":"Pool","status":1,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL"},"7":{"number":7,"numberStr":"circuit7","name":"AUX 5","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 5"},"8":{"number":8,"numberStr":"circuit8","name":"AUX 6","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 6"},"9":{"number":9,"numberStr":"circuit9","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"10":{"number":10,"numberStr":"circuit10","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"11":{"number":11,"numberStr":"circuit11","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"12":{"number":12,"numberStr":"circuit12","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"13":{"number":13,"numberStr":"circuit13","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"14":{"number":14,"numberStr":"circuit14","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"15":{"number":15,"numberStr":"circuit15","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"16":{"number":16,"numberStr":"circuit16","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"17":{"number":17,"numberStr":"circuit17","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"18":{"number":18,"numberStr":"circuit18","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"19":{"number":19,"numberStr":"circuit19","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"20":{"number":20,"numberStr":"circuit20","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"}}}'
19:16:33.895 INFO Msg# 51  Schedules discovered:
ID: 1  CIRCUIT:(6)POOL  MODE:Schedule START_TIME:6:0 END_TIME:10:0 DAYS:Sunday Monday Tuesday Wednesday Thursday Friday Saturday 
ID: 2  CIRCUIT:(5)CLEANER  MODE:Schedule START_TIME:7:0 END_TIME:9:0 DAYS:Sunday Monday Tuesday Wednesday Thursday Friday Saturday 
ID: 3  CIRCUIT:(6)POOL  MODE:Schedule START_TIME:18:0 END_TIME:22:0 DAYS:Sunday Monday Tuesday Wednesday Thursday Friday Saturday 
ID: 4  CIRCUIT:(5)CLEANER  MODE:Schedule START_TIME:19:0 END_TIME:21:0 DAYS:Sunday Monday Tuesday Wednesday Thursday Friday Saturday 
ID: 5  CIRCUIT:(0)NOT USED 
ID: 6  CIRCUIT:(0)NOT USED 
ID: 7  CIRCUIT:(0)NOT USED 
ID: 8  CIRCUIT:(0)NOT USED 
ID: 9  CIRCUIT:(0)NOT USED 
ID:10  CIRCUIT:(0)NOT USED 
ID:11  CIRCUIT:(0)NOT USED 
ID:12  CIRCUIT:(0)NOT USED 

19:16:35.724 VERBOSE smartthings Sent all'{"circuit":{"1":{"number":1,"numberStr":"circuit1","name":"SPA","circuitFunction":"Spa","status":0,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA"},"2":{"number":2,"numberStr":"circuit2","name":"AIR BLOWER","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AIR BLOWER"},"3":{"number":3,"numberStr":"circuit3","name":"POOL LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL LIGHT"},"4":{"number":4,"numberStr":"circuit4","name":"SPA LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA LIGHT"},"5":{"number":5,"numberStr":"circuit5","name":"CLEANER","circuitFunction":"Generic","status":1,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"CLEANER"},"6":{"number":6,"numberStr":"circuit6","name":"POOL","circuitFunction":"Pool","status":1,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL"},"7":{"number":7,"numberStr":"circuit7","name":"AUX 5","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 5"},"8":{"number":8,"numberStr":"circuit8","name":"AUX 6","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 6"},"9":{"number":9,"numberStr":"circuit9","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"10":{"number":10,"numberStr":"circuit10","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"11":{"number":11,"numberStr":"circuit11","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"12":{"number":12,"numberStr":"circuit12","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"13":{"number":13,"numberStr":"circuit13","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"14":{"number":14,"numberStr":"circuit14","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"15":{"number":15,"numberStr":"circuit15","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"16":{"number":16,"numberStr":"circuit16","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"17":{"number":17,"numberStr":"circuit17","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"18":{"number":18,"numberStr":"circuit18","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"19":{"number":19,"numberStr":"circuit19","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"20":{"number":20,"numberStr":"circuit20","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"}},"pump":{"1":{"pump":1,"name":"Pump 1","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 1","virtualController":"disabled"},"2":{"pump":2,"name":"Pump 2","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 2","virtualController":"disabled"}},"schedule":{"1":{"ID":1,"CIRCUIT":"POOL","friendlyName":"POOL","CIRCUITNUM":6,"BYTES":[165,1,15,16,17,7,1,6,6,0,10,0,127,1,115],"MODE":"Schedule","DURATION":"n/a","START_TIME":"6:0","END_TIME":"10:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"2":{"ID":2,"CIRCUIT":"CLEANER","friendlyName":"CLEANER","CIRCUITNUM":5,"BYTES":[165,1,15,16,17,7,2,5,7,0,9,0,127,1,115],"MODE":"Schedule","DURATION":"n/a","START_TIME":"7:0","END_TIME":"9:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"3":{"ID":3,"CIRCUIT":"POOL","friendlyName":"POOL","CIRCUITNUM":6,"BYTES":[165,1,15,16,17,7,3,6,18,0,22,0,127,1,141],"MODE":"Schedule","DURATION":"n/a","START_TIME":"18:0","END_TIME":"22:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"4":{"ID":4,"CIRCUIT":"CLEANER","friendlyName":"CLEANER","CIRCUITNUM":5,"BYTES":[165,1,15,16,17,7,4,5,19,0,21,0,127,1,141],"MODE":"Schedule","DURATION":"n/a","START_TIME":"19:0","END_TIME":"21:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"5":{"ID":5,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,5,0,0,0,0,0,0,0,226],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"6":{"ID":6,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,6,0,0,0,0,0,0,0,227],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"7":{"ID":7,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,7,0,0,0,0,0,0,0,228],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"8":{"ID":8,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,8,0,0,0,0,0,0,0,229],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"9":{"ID":9,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,9,0,0,0,0,0,0,0,230],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"10":{"ID":10,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,10,0,0,0,0,0,0,0,231],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"11":{"ID":11,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,11,0,0,0,0,0,0,0,232],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"12":{"ID":12,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,12,0,0,0,0,0,0,0,233],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"}},"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolSetPoint":82,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaSetPoint":102,"spaManualHeatMode":"Off","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0},"time":{"controllerTime":"7:17 PM","controllerDateStr":"12/21/2017","controllerDay":21,"controllerMonth":12,"controllerYear":17,"controllerDayOfWeekStr":"Thursday","controllerDayOfWeek":16,"automaticallyAdjustDST":1,"pump1Time":-1,"pump2Time":-1},"UOM":{"UOM":0,"UOMStr":"° Farenheit"},"valve":{"valves":0},"chlorinator":{"installed":0,"saltPPM":-1,"currentOutput":-1,"outputPoolPercent":-1,"outputSpaPercent":-1,"superChlorinate":-1,"version":-1,"name":""},"intellichem":{"readings":{"PH":-1,"ORP":-1,"WATERFLOW":-1,"SI":-1,"SALT":-1},"settings":{"PH":-1,"ORP":-1,"CYA":-1,"CALCIUMHARDNESS":-1,"TOTALALKALINITY":-1},"tankLevels":{"1":-1,"2":-1},"mode":{"1":-1,"2":-1},"lastPacket":[]}}'
19:16:35.725 VERBOSE smartthings Sent circuit'{"circuit":{"1":{"number":1,"numberStr":"circuit1","name":"SPA","circuitFunction":"Spa","status":0,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA"},"2":{"number":2,"numberStr":"circuit2","name":"AIR BLOWER","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AIR BLOWER"},"3":{"number":3,"numberStr":"circuit3","name":"POOL LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL LIGHT"},"4":{"number":4,"numberStr":"circuit4","name":"SPA LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA LIGHT"},"5":{"number":5,"numberStr":"circuit5","name":"CLEANER","circuitFunction":"Generic","status":1,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"CLEANER"},"6":{"number":6,"numberStr":"circuit6","name":"POOL","circuitFunction":"Pool","status":1,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL"},"7":{"number":7,"numberStr":"circuit7","name":"AUX 5","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 5"},"8":{"number":8,"numberStr":"circuit8","name":"AUX 6","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 6"},"9":{"number":9,"numberStr":"circuit9","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"10":{"number":10,"numberStr":"circuit10","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"11":{"number":11,"numberStr":"circuit11","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"12":{"number":12,"numberStr":"circuit12","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"13":{"number":13,"numberStr":"circuit13","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"14":{"number":14,"numberStr":"circuit14","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"15":{"number":15,"numberStr":"circuit15","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"16":{"number":16,"numberStr":"circuit16","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"17":{"number":17,"numberStr":"circuit17","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"18":{"number":18,"numberStr":"circuit18","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"19":{"number":19,"numberStr":"circuit19","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"20":{"number":20,"numberStr":"circuit20","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"}}}'
19:16:35.725 VERBOSE smartthings Sent temp'{"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolSetPoint":82,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaSetPoint":102,"spaManualHeatMode":"Off","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0}}'
19:16:35.727 VERBOSE smartthings Sent chlorinator'{"chlorinator":{"installed":0,"saltPPM":-1,"currentOutput":-1,"outputPoolPercent":-1,"outputSpaPercent":-1,"superChlorinate":-1,"version":-1,"name":""}}'
19:16:35.728 VERBOSE smartthings Sent all'{"circuit":{"1":{"number":1,"numberStr":"circuit1","name":"SPA","circuitFunction":"Spa","status":0,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA"},"2":{"number":2,"numberStr":"circuit2","name":"AIR BLOWER","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AIR BLOWER"},"3":{"number":3,"numberStr":"circuit3","name":"POOL LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL LIGHT"},"4":{"number":4,"numberStr":"circuit4","name":"SPA LIGHT","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"SPA LIGHT"},"5":{"number":5,"numberStr":"circuit5","name":"CLEANER","circuitFunction":"Generic","status":1,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"CLEANER"},"6":{"number":6,"numberStr":"circuit6","name":"POOL","circuitFunction":"Pool","status":1,"freeze":1,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"POOL"},"7":{"number":7,"numberStr":"circuit7","name":"AUX 5","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 5"},"8":{"number":8,"numberStr":"circuit8","name":"AUX 6","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"AUX 6"},"9":{"number":9,"numberStr":"circuit9","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"10":{"number":10,"numberStr":"circuit10","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"11":{"number":11,"numberStr":"circuit11","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"12":{"number":12,"numberStr":"circuit12","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"13":{"number":13,"numberStr":"circuit13","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"14":{"number":14,"numberStr":"circuit14","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"15":{"number":15,"numberStr":"circuit15","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"16":{"number":16,"numberStr":"circuit16","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"17":{"number":17,"numberStr":"circuit17","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"18":{"number":18,"numberStr":"circuit18","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"19":{"number":19,"numberStr":"circuit19","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"},"20":{"number":20,"numberStr":"circuit20","name":"NOT USED","circuitFunction":"Generic","status":0,"freeze":0,"macro":0,"delay":0,"light":{"group":-1,"colorStr":"off","color":-1},"friendlyName":"NOT USED"}},"pump":{"1":{"pump":1,"name":"Pump 1","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 1","virtualController":"disabled"},"2":{"pump":2,"name":"Pump 2","type":"VS","time":"timenotset","run":"runnotset","mode":"modenotset","drivestate":"drivestatenotset","watts":"wattsnotset","rpm":"rpmnotset","gpm":"gpmnotset","ppc":"ppcnotset","err":"errnotset","timer":"timernotset","duration":"durationnotset","currentrunning":{"mode":"off","value":0,"remainingduration":-1},"externalProgram":{"1":-1,"2":-1,"3":-1,"4":-1},"remotecontrol":"remotecontrolnotset","power":"powernotset","friendlyName":"Pump 2","virtualController":"disabled"}},"schedule":{"1":{"ID":1,"CIRCUIT":"POOL","friendlyName":"POOL","CIRCUITNUM":6,"BYTES":[165,1,15,16,17,7,1,6,6,0,10,0,127,1,115],"MODE":"Schedule","DURATION":"n/a","START_TIME":"6:0","END_TIME":"10:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"2":{"ID":2,"CIRCUIT":"CLEANER","friendlyName":"CLEANER","CIRCUITNUM":5,"BYTES":[165,1,15,16,17,7,2,5,7,0,9,0,127,1,115],"MODE":"Schedule","DURATION":"n/a","START_TIME":"7:0","END_TIME":"9:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"3":{"ID":3,"CIRCUIT":"POOL","friendlyName":"POOL","CIRCUITNUM":6,"BYTES":[165,1,15,16,17,7,3,6,18,0,22,0,127,1,141],"MODE":"Schedule","DURATION":"n/a","START_TIME":"18:0","END_TIME":"22:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"4":{"ID":4,"CIRCUIT":"CLEANER","friendlyName":"CLEANER","CIRCUITNUM":5,"BYTES":[165,1,15,16,17,7,4,5,19,0,21,0,127,1,141],"MODE":"Schedule","DURATION":"n/a","START_TIME":"19:0","END_TIME":"21:0","DAYS":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday "},"5":{"ID":5,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,5,0,0,0,0,0,0,0,226],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"6":{"ID":6,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,6,0,0,0,0,0,0,0,227],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"7":{"ID":7,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,7,0,0,0,0,0,0,0,228],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"8":{"ID":8,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,8,0,0,0,0,0,0,0,229],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"9":{"ID":9,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,9,0,0,0,0,0,0,0,230],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"10":{"ID":10,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,10,0,0,0,0,0,0,0,231],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"11":{"ID":11,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,11,0,0,0,0,0,0,0,232],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"},"12":{"ID":12,"CIRCUIT":"NOT USED","friendlyName":"NOT USED","CIRCUITNUM":0,"BYTES":[165,1,15,16,17,7,12,0,0,0,0,0,0,0,233],"MODE":"Schedule","DURATION":"n/a","START_TIME":"0:0","END_TIME":"0:0","DAYS":"None"}},"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolSetPoint":82,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaSetPoint":102,"spaManualHeatMode":"Off","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0},"time":{"controllerTime":"7:17 PM","controllerDateStr":"12/21/2017","controllerDay":21,"controllerMonth":12,"controllerYear":17,"controllerDayOfWeekStr":"Thursday","controllerDayOfWeek":16,"automaticallyAdjustDST":1,"pump1Time":-1,"pump2Time":-1},"UOM":{"UOM":0,"UOMStr":"° Farenheit"},"valve":{"valves":0},"chlorinator":{"installed":0,"saltPPM":-1,"currentOutput":-1,"outputPoolPercent":-1,"outputSpaPercent":-1,"superChlorinate":-1,"version":-1,"name":""},"intellichem":{"readings":{"PH":-1,"ORP":-1,"WATERFLOW":-1,"SI":-1,"SALT":-1},"settings":{"PH":-1,"ORP":-1,"CYA":-1,"CALCIUMHARDNESS":-1,"TOTALALKALINITY":-1},"tankLevels":{"1":-1,"2":-1},"mode":{"1":-1,"2":-1},"lastPacket":[]}}'
19:16:36.403 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
19:16:38.786 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
19:16:41.343 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
19:16:43.724 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
19:16:56.129 VERBOSE smartthings Sent temp'{"temperature":{"poolTemp":54,"spaTemp":54,"airTemp":63,"solarTemp":0,"freeze":0,"poolSetPoint":82,"poolHeatMode":0,"poolHeatModeStr":"OFF","spaSetPoint":102,"spaManualHeatMode":"Off","spaHeatMode":1,"spaHeatModeStr":"Heater","heaterActive":0}}'
tagyoureit commented 6 years ago

Can you change this var fileLog = {"enable":0,"fileLogLevel":"silly","fileName":"output.log"} in your config file to include enable:1, and also change var logMessageDecoding = 0 to var logMessageDecoding = 1. Then attach the file that will be called output.log. It will be very big, but I need to see the extended log with the message decoding enabled. This will also help me look at #9.

arrmo commented 6 years ago

Sure, NP - attached! And to hopefully help, here are the steps I went through, 1) Start up, spa light on and off - works fine 2) Stop socat (remote), then try spa light on - fails (of course) 3) Restart socat (remote), again try spa light on - also fails => Then I stopped and restarted nodejs-poolController, and the spa light worked fine.

Hope this helps, yell if I can do anything else!

PS: Where is the version set? I noticed this isn't being updated, but that may be me. output.log

tagyoureit commented 6 years ago

PS: Where is the version set? I noticed this isn't being updated, but that may be me. output.log

It's set in package.json, but I've been lazy about updating it for each push. I need a Grunt task or something to help me with that.

arrmo commented 6 years ago

Makes sense - would be nice if it auto-updated somehow on a push to Github.

tagyoureit commented 6 years ago

I see this every time on startup, perhaps just because I don't have smart pumps of any sort?

I think you are probably right here. So is it a single speed or dual speed pump? Not a VS, VF or VSF?

I think I should probably use that "failure" to be more smart about how we treat the pumps and what features to turn on/off.

arrmo commented 6 years ago

Just a dumb single speed pump ... :-).

tagyoureit commented 6 years ago

Grab the latest push (4.1.33) and in config.json set your pump.1.type to "SS". (SS = single speed; this can really be anything except VS/VF/VSF). I just do a quick check to see if it is a valid type and if not then skip the extended pump config. There is probably more to it than this (for controlling a single speed pump) but won't worry about it for now.

Also, if you have a pump.2 in config.json you can either delete it or also set type="SS". The extended pump config is a per-pump setting.

arrmo commented 6 years ago

That works - thanks! Closing, feel free to reopen if I'm doing this in error.