nodejs-poolcontroller 8.3.0 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +36 -36
- package/.github/ISSUE_TEMPLATE/1-bug-report.yml +84 -84
- package/.github/ISSUE_TEMPLATE/2-docs.md +12 -12
- package/.github/ISSUE_TEMPLATE/3-proposal.md +28 -28
- package/.github/ISSUE_TEMPLATE/config.yml +8 -8
- package/.github/copilot-instructions.md +63 -63
- package/.github/workflows/ghcr-publish.yml +67 -67
- package/AGENTS.md +597 -0
- package/CONTRIBUTING.md +74 -74
- package/Changelog +292 -284
- package/Dockerfile +62 -62
- package/Gruntfile.js +40 -40
- package/LICENSE +661 -661
- package/README.md +318 -309
- package/anslq25/MessagesMock.ts +221 -221
- package/anslq25/boards/MockBoardFactory.ts +49 -49
- package/anslq25/boards/MockEasyTouchBoard.ts +696 -696
- package/anslq25/boards/MockSystemBoard.ts +216 -216
- package/anslq25/chemistry/MockChlorinator.ts +98 -98
- package/anslq25/pumps/MockPump.ts +83 -83
- package/app.ts +115 -115
- package/config/Config.ts +0 -0
- package/config/VersionCheck.ts +0 -0
- package/controller/Constants.ts +809 -805
- package/controller/Equipment.ts +2688 -2664
- package/controller/Errors.ts +181 -181
- package/controller/Lockouts.ts +549 -549
- package/controller/State.ts +3738 -3701
- package/controller/boards/AquaLinkBoard.ts +1003 -1003
- package/controller/boards/BoardFactory.ts +53 -53
- package/controller/boards/EasyTouchBoard.ts +3202 -3202
- package/controller/boards/IntelliCenterBoard.ts +4393 -3899
- package/controller/boards/IntelliComBoard.ts +69 -69
- package/controller/boards/IntelliTouchBoard.ts +382 -382
- package/controller/boards/NixieBoard.ts +1944 -1944
- package/controller/boards/SunTouchBoard.ts +400 -400
- package/controller/boards/SystemBoard.ts +5268 -5268
- package/controller/comms/Comms.ts +1272 -1255
- package/controller/comms/ScreenLogic.ts +1665 -1665
- package/controller/comms/messages/Messages.ts +1433 -1406
- package/controller/comms/messages/config/ChlorinatorMessage.ts +5 -0
- package/controller/comms/messages/config/CircuitGroupMessage.ts +0 -0
- package/controller/comms/messages/config/CircuitMessage.ts +0 -0
- package/controller/comms/messages/config/ConfigMessage.ts +6 -0
- package/controller/comms/messages/config/CoverMessage.ts +0 -0
- package/controller/comms/messages/config/CustomNameMessage.ts +31 -31
- package/controller/comms/messages/config/EquipmentMessage.ts +216 -210
- package/controller/comms/messages/config/ExternalMessage.ts +96 -10
- package/controller/comms/messages/config/FeatureMessage.ts +0 -0
- package/controller/comms/messages/config/GeneralMessage.ts +0 -0
- package/controller/comms/messages/config/HeaterMessage.ts +0 -0
- package/controller/comms/messages/config/IntellichemMessage.ts +0 -0
- package/controller/comms/messages/config/OptionsMessage.ts +194 -174
- package/controller/comms/messages/config/PumpMessage.ts +0 -0
- package/controller/comms/messages/config/RemoteMessage.ts +0 -0
- package/controller/comms/messages/config/ScheduleMessage.ts +401 -390
- package/controller/comms/messages/config/SecurityMessage.ts +0 -0
- package/controller/comms/messages/config/ValveMessage.ts +0 -0
- package/controller/comms/messages/status/ChlorinatorStateMessage.ts +0 -0
- package/controller/comms/messages/status/EquipmentStateMessage.ts +1158 -822
- package/controller/comms/messages/status/HeaterStateMessage.ts +135 -135
- package/controller/comms/messages/status/IntelliChemStateMessage.ts +448 -448
- package/controller/comms/messages/status/IntelliValveStateMessage.ts +36 -36
- package/controller/comms/messages/status/PumpStateMessage.ts +0 -0
- package/controller/comms/messages/status/RegalModbusStateMessage.ts +410 -410
- package/controller/comms/messages/status/VersionMessage.ts +103 -41
- package/controller/nixie/Nixie.ts +173 -173
- package/controller/nixie/NixieEquipment.ts +104 -104
- package/controller/nixie/bodies/Body.ts +120 -120
- package/controller/nixie/bodies/Filter.ts +135 -135
- package/controller/nixie/chemistry/ChemController.ts +2724 -2724
- package/controller/nixie/chemistry/ChemDoser.ts +806 -806
- package/controller/nixie/chemistry/Chlorinator.ts +367 -367
- package/controller/nixie/circuits/Circuit.ts +478 -478
- package/controller/nixie/heaters/Heater.ts +834 -834
- package/controller/nixie/pumps/Pump.ts +1193 -1193
- package/controller/nixie/schedules/Schedule.ts +401 -401
- package/controller/nixie/valves/Valve.ts +170 -170
- package/defaultConfig.json +352 -352
- package/docker-compose.yml +31 -31
- package/logger/DataLogger.ts +448 -448
- package/logger/Logger.ts +448 -436
- package/package.json +58 -58
- package/sendSocket.js +32 -32
- package/tsconfig.json +25 -25
- package/types/express-multer.d.ts +32 -32
- package/web/Server.ts +1937 -1927
- package/web/bindings/aqualinkD.json +559 -559
- package/web/bindings/influxDB.json +1066 -1066
- package/web/bindings/mqtt.json +721 -721
- package/web/bindings/mqttAlt.json +746 -746
- package/web/bindings/rulesManager.json +54 -54
- package/web/bindings/smartThings-Hubitat.json +31 -31
- package/web/bindings/valveRelays.json +20 -20
- package/web/bindings/vera.json +25 -25
- package/web/interfaces/baseInterface.ts +188 -188
- package/web/interfaces/httpInterface.ts +148 -148
- package/web/interfaces/influxInterface.ts +283 -283
- package/web/interfaces/mqttInterface.ts +695 -695
- package/web/interfaces/ruleInterface.ts +101 -87
- package/web/services/config/Config.ts +1063 -1053
- package/web/services/config/ConfigSocket.ts +0 -0
- package/web/services/state/State.ts +0 -0
- package/web/services/state/StateSocket.ts +0 -0
- package/web/services/utilities/Utilities.ts +233 -233
package/Changelog
CHANGED
|
@@ -1,285 +1,293 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## 8.
|
|
4
|
-
1.
|
|
5
|
-
2.
|
|
6
|
-
3.
|
|
7
|
-
4.
|
|
8
|
-
5.
|
|
9
|
-
6.
|
|
10
|
-
|
|
11
|
-
8.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
1.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
8.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
## 7.
|
|
80
|
-
1.
|
|
81
|
-
2.
|
|
82
|
-
3.
|
|
83
|
-
4.
|
|
84
|
-
5.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
1
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
1
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
## 7.1.
|
|
111
|
-
1.
|
|
112
|
-
2.
|
|
113
|
-
3.
|
|
114
|
-
4.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
2
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
1
|
|
136
|
-
1.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
1.
|
|
142
|
-
1.
|
|
143
|
-
1.
|
|
144
|
-
1. Many bug fixes
|
|
145
|
-
|
|
146
|
-
## 6.0
|
|
147
|
-
1.
|
|
148
|
-
1.
|
|
149
|
-
1.
|
|
150
|
-
1.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
1.
|
|
158
|
-
1.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
1.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
1.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
1.
|
|
192
|
-
1.
|
|
193
|
-
1.
|
|
194
|
-
1.
|
|
195
|
-
1.
|
|
196
|
-
1.
|
|
197
|
-
|
|
198
|
-
1.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
1.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
/
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
*
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
* Added
|
|
267
|
-
* Added
|
|
268
|
-
*
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
*
|
|
272
|
-
|
|
273
|
-
##
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
|
|
278
|
-
##
|
|
279
|
-
*
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
*
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 8.4.0
|
|
4
|
+
1. IntelliCenter v3.004+ support (still being refined): registration handling, config refresh/ACK handling, and improved source-of-truth processing to keep state accurate.
|
|
5
|
+
2. IntelliCenter v3.004+ circuit control updates: Action 184 support with learned Target IDs for more reliable circuit on/off behavior.
|
|
6
|
+
3. IntelliCenter v3.004+ protocol parsing fixes: byte shift handling for Wireless messages, big-endian schedule times, and options/setpoint processing improvements.
|
|
7
|
+
4. More resilience and reduced noise: improved initialization/race handling, better scoped logging, and longer device announce intervals.
|
|
8
|
+
5. Misc fixes: default chlorinator naming and other small stability improvements.
|
|
9
|
+
6. Huge thanks to @jwtaylor310 for providing a ton of replay captures that helped track down and fix bugs.
|
|
10
|
+
|
|
11
|
+
## 8.3.0
|
|
12
|
+
1. Configurable RS‑485 transmit pacing via new `controller.txDelays` for finer collision avoidance and throughput tuning.
|
|
13
|
+
2. Startup & config resilience: empty or invalid `config.json` now auto‑recreated from defaults, corrupt originals backed up.
|
|
14
|
+
3. Latitude / longitude environment overrides to eliminate early heliotrope warnings prior to UI configuration.
|
|
15
|
+
4. Version check enhancements: git detection, safer redirects, throttled polling, warning suppression.
|
|
16
|
+
5. Docker improvements: fixed Dockerfile and added docker‑compose example with named volumes & environment variable guidance.
|
|
17
|
+
6. Add workflow to build and publish docker images to GitHub Container registry.
|
|
18
|
+
7. Runtime requirements: elevated minimum Node.js version to 20+, safe dependency and security/patch updates.
|
|
19
|
+
8. Documentation updates.
|
|
20
|
+
|
|
21
|
+
## 8.1.2
|
|
22
|
+
1. Regal Century pump support added.
|
|
23
|
+
2. Enhanced error handling: replaced EquipmentNotFoundError with InvalidEquipmentIdError for improved clarity.
|
|
24
|
+
3. Improved error handling in NixieBoard, NixieCircuitCommands, and NixieValveCommands.
|
|
25
|
+
4. Refactored tolerance handling in TouchChemControllerCommands to ensure data integrity.
|
|
26
|
+
5. Added new expansion board configuration for SunTouchBoard.
|
|
27
|
+
|
|
28
|
+
## 8.1.1
|
|
29
|
+
1. Enhanced REM server integration with packet capture functionality.
|
|
30
|
+
2. Improved error handling in REMInterfaceServer methods.
|
|
31
|
+
3. Refined chlorinator message processing logic in MessagesMock.
|
|
32
|
+
4. Adjusted mock port checks across various components for consistency.
|
|
33
|
+
5. Refined logic for Nixie schedules.
|
|
34
|
+
6. Fixed documentation links for bindings integrations.
|
|
35
|
+
7. Enhanced queueBodyHeatSettings to handle processing timeouts and improve error logging.
|
|
36
|
+
8. Fixed typo in valveModes.
|
|
37
|
+
|
|
38
|
+
## 8.1.0
|
|
39
|
+
1. Support for dual chlorinators with REM chem controllers. It is now possible to have two separate chlorinators controlled in 'dynamic' mode by two separate REM chems. Note: In order for REM chem to control each chlorinator, each needs to be on a dedicated RS-485 port (not shared with an OCP or any other chlorinator).
|
|
40
|
+
|
|
41
|
+
## 8.0.1-8.0.5
|
|
42
|
+
1. Bug fixes including:
|
|
43
|
+
a. schedule end time errors
|
|
44
|
+
b. manual priority
|
|
45
|
+
c. screenlogic recurring schedules
|
|
46
|
+
d. VF pump message sequences
|
|
47
|
+
e. intellibrite themes
|
|
48
|
+
f. schedules are evaluated by bodies first and then everything else
|
|
49
|
+
g. solar stop/start delta logic
|
|
50
|
+
2. Jandy WaterColors support
|
|
51
|
+
3. Initial docker support (github docker actions)
|
|
52
|
+
|
|
53
|
+
## 8.0.0
|
|
54
|
+
1. Refactor comms code to Async
|
|
55
|
+
2. Update dependencies and Node >16
|
|
56
|
+
3. EasyTouch v1 support
|
|
57
|
+
4. Screenlogic support
|
|
58
|
+
5. Anslq25 (Mock controller)
|
|
59
|
+
|
|
60
|
+
## 7.7.0
|
|
61
|
+
1. Aqualink-D MQTT Interface
|
|
62
|
+
2. Manual Priority for Schedules
|
|
63
|
+
3. Add multiple RS-485 ports
|
|
64
|
+
4. Support for Hayward Pumps
|
|
65
|
+
5. Display remote chlorinators
|
|
66
|
+
6. Updates for ETi hybrid
|
|
67
|
+
7. Stop temp deltas for Nixie
|
|
68
|
+
8. Batch write influx points
|
|
69
|
+
9. MQTT & Influx updates
|
|
70
|
+
10. Ability to hide bodies in dashPanel
|
|
71
|
+
11. Florida Sunseeker Pooltone lighting
|
|
72
|
+
12. Proper uPNP formatting
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## 7.6.1
|
|
76
|
+
1. Many bugfixes: Intellichem, Touch body capacities, Ultratemp heaters, Nixie, more...
|
|
77
|
+
2. Add env variables for Docker setup: POOL_RS485_PORT, POOL_NET_CONNECT, POOL_NET_HOST, POOL_NET_PORT, SOURCE_COMMIT, SOURCE_BRANCH
|
|
78
|
+
3. Update dependencies
|
|
79
|
+
## 7.6
|
|
80
|
+
1. MasterTemp RS485 support for Nixie and IntelliCenter
|
|
81
|
+
2. Nixie Valve Rotation delay
|
|
82
|
+
3. Nixie Heater Cooldown delay
|
|
83
|
+
4. Nixie Cleaner Start delay
|
|
84
|
+
5. Nixie Cleaner Shutdown on Solar
|
|
85
|
+
6. Nixie Delay Cancel
|
|
86
|
+
|
|
87
|
+
## 7.5.1
|
|
88
|
+
1. Backup/restore fixes
|
|
89
|
+
2. Egg timer expiration
|
|
90
|
+
3. Bug Fixes
|
|
91
|
+
4. dashPanel/messageManager Filter
|
|
92
|
+
5. RS485 refactor
|
|
93
|
+
|
|
94
|
+
## 7.5
|
|
95
|
+
1. Backup/restore
|
|
96
|
+
2. Intellitouch add expansion modules
|
|
97
|
+
## 7.4
|
|
98
|
+
1. Filter object, emit, monitoring
|
|
99
|
+
|
|
100
|
+
## 7.3.1
|
|
101
|
+
1. Influx 2.0 support
|
|
102
|
+
|
|
103
|
+
## 7.3
|
|
104
|
+
1. Dynamic chlorinating % based on ORP demand for Nixie
|
|
105
|
+
2. Docker creation updates
|
|
106
|
+
|
|
107
|
+
## 7.2
|
|
108
|
+
1. Refactor Intellichem and Chem Controllers
|
|
109
|
+
|
|
110
|
+
## 7.1.1
|
|
111
|
+
1. Added end time for circuits to show eggtimer/schedule off times
|
|
112
|
+
2. Ultratemp updates
|
|
113
|
+
3. Heater logic refactored
|
|
114
|
+
4. Message response logic refactored
|
|
115
|
+
5. Intellichem updates
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## 7.1.0
|
|
119
|
+
1. Moved virtual chlorinator code and control to Nixie
|
|
120
|
+
2. Moved virtual pump code and control to Nixie; Nixie supports SS, DS, SuperFlo, VS, VF, VSF
|
|
121
|
+
3. MQTT changes
|
|
122
|
+
4. Outbound processing for packets now has a scope. Previously if an outbound packet would receive a response we would clear all of the similar packets off the queue. EG if a user requests circuit 2 and 3 to be turned on, we would clear out the outbound message for 3. Now the code is more selective about what "scope" is considered for a successful response.
|
|
123
|
+
|
|
124
|
+
## 7.0.0
|
|
125
|
+
1. Upgrades to setup/sync between njsPC and REM
|
|
126
|
+
2. Significant steps to njsPC (Nixie) acting as a standalone pool controller (virtual controller heaters, move virtual controller code, etc.)
|
|
127
|
+
3. Dependency updates (Typescript 4, Socket.io 4, etc)
|
|
128
|
+
|
|
129
|
+
## 6.5.2
|
|
130
|
+
1. Bug Fixes
|
|
131
|
+
2. Schedule updates
|
|
132
|
+
3. MQTT Binding updates
|
|
133
|
+
4. LSI calcs for REM (in addition to CSI)
|
|
134
|
+
|
|
135
|
+
## 6.5.1
|
|
136
|
+
1. Init Touch bodies upon startup
|
|
137
|
+
2. *Touch chlorinator fixes
|
|
138
|
+
3. MQTT updates
|
|
139
|
+
|
|
140
|
+
## 6.5.0
|
|
141
|
+
1. Full compatibility with REM (Relay Equipment Manager) for hardware control (ph sensors, orp sensors, pumps, relays, flow sensors)
|
|
142
|
+
1. Upgrades to Influx binding
|
|
143
|
+
1. MQTT alternate bindings
|
|
144
|
+
1. Many, many bug fixes
|
|
145
|
+
|
|
146
|
+
## 6.1.0
|
|
147
|
+
1. Chem controller
|
|
148
|
+
1. MQTT native support
|
|
149
|
+
1. Server based time for *Touch and other non-internet based OCP
|
|
150
|
+
1. Version notifications
|
|
151
|
+
1. IntelliCenter updates for dual bodies, 1.045/1.047 (partial) support
|
|
152
|
+
1. Many bug fixes
|
|
153
|
+
|
|
154
|
+
## 6.0.1
|
|
155
|
+
1. Implement https (no basic auth yet)
|
|
156
|
+
1. API documentation @ https://tagyoureit.github.io/nodejs-poolcontroller-api/
|
|
157
|
+
1. Add timestamp to logs for API calls
|
|
158
|
+
1. #200, #202
|
|
159
|
+
|
|
160
|
+
## 6.0
|
|
161
|
+
What's new in 6.0?s
|
|
162
|
+
|
|
163
|
+
In short, everything! 6.0 is a complete re-write of the application. Huge props to @rstrouse for his wisdom and guidance in refactoring the code.
|
|
164
|
+
|
|
165
|
+
1. IntelliCenter - now supported
|
|
166
|
+
1. Configuring and running the app - all new. Start over with the Installation instructions.
|
|
167
|
+
1. Automatic detection of your pool equipment. Previous versions of the app would detect the configuration of your pool but you still had to tell the app if you had IntelliTouch/EasyTouch/IntelliCom. This is now done automatically.
|
|
168
|
+
1. Configuration and state information. Config.json now only stores information related to the configuration of the app. There are separate files in the /data directory that store (and persist) pool configuration and state information.
|
|
169
|
+
1. API's - completely changed. See separate API documentation (*link here)
|
|
170
|
+
1. Outbound Sockets - Now more granular to make the web app more responsive
|
|
171
|
+
1. Web app - Now a separate installion for a true client/server metaphore.
|
|
172
|
+
1. Node v12+
|
|
173
|
+
1. `Integrations` are now called `Bindings`. Any integration built on 5.3 need to be upgraded to the binding format. See Readme for a list of currently upgraded bindings.
|
|
174
|
+
|
|
175
|
+
## 5.3.3
|
|
176
|
+
#134
|
|
177
|
+
|
|
178
|
+
## 5.3.1
|
|
179
|
+
#132
|
|
180
|
+
|
|
181
|
+
## 5.3.0
|
|
182
|
+
Fix for #106
|
|
183
|
+
Fix for "Error 60" messages
|
|
184
|
+
Improved caching of files on browsers. Thanks @arrmo! Now files will be loaded once in the browser and kept in cache instead of reloaded each time.
|
|
185
|
+
Improved handling of sessions and graceful closing of the HTTP(s) servers.
|
|
186
|
+
|
|
187
|
+
## 5.2.0
|
|
188
|
+
1. Node 6+ is supported. This app no longer supports Node 4.
|
|
189
|
+
1. Update of modules. Make sure to run `npm i` or `npm upgrade` to get the latest.
|
|
190
|
+
1. Much better support of multiple Intellibrite controllers. We can read both controllers now. There are still some issues with sending changes and help is needed to debug these.
|
|
191
|
+
1. Chlorinator API calls (and UI) will now make changes through Intellitouch when available, or directly to the Intellichlor if it is standalone (aka using the virtual controller)
|
|
192
|
+
1. Decoupled serial port and processing of packets. Should help recovery upon packet errors.
|
|
193
|
+
1. Implementation of #89. Expansion boards are now (better) supported by setting variables in your config.json. See the [config.json](#module_nodejs-poolController--config) section below.
|
|
194
|
+
1. Fix for #95
|
|
195
|
+
1. Fix for #99
|
|
196
|
+
1. Fix for #100
|
|
197
|
+
|
|
198
|
+
## 5.1.1 -
|
|
199
|
+
1. Renamed all 'valves' items to valve to be in line with singular renaming of items
|
|
200
|
+
1. InfluxDB - moved some items that were in tag fields to field keys; added valves
|
|
201
|
+
1. Added days of week (with editing) back to the schedules. Not sure when they disappeared, but they are back now. #92
|
|
202
|
+
1. Added MySQL integration to log all packets to a DB
|
|
203
|
+
1. Fixed PR #95 to allow sub-hour egg timers
|
|
204
|
+
1. Fixed Intellibrite bugs
|
|
205
|
+
1. Started to move some of the inter-communications to emitter events for better micro-services and shorter call stacks (easier debugging; loosely coupled code).
|
|
206
|
+
1. Changed some Influx tags/queries.
|
|
207
|
+
|
|
208
|
+
## 5.1.0 -
|
|
209
|
+
1. Intellibrite support - API's, Sockets and a WebUI. Lights should have the 'Intellbrite' an their circuit function (set this up at the controller) to show up in this section.
|
|
210
|
+
Will document more later, but...
|
|
211
|
+
/light/mode/:mode
|
|
212
|
+
/light/circuit/:circuit/setColor/:color
|
|
213
|
+
/light/circuit/:circuit/setSwimDelay/:delay
|
|
214
|
+
/light/circuit/:circuit/setPosition/:position
|
|
215
|
+
|
|
216
|
+
See the constants.js file and the sections:
|
|
217
|
+
strIntellibriteModes (for modes)
|
|
218
|
+
lightColors (for setColor)
|
|
219
|
+
|
|
220
|
+
## 5.0.1 -
|
|
221
|
+
1. Fixed Influx error on startup #90
|
|
222
|
+
1. Fixed bad characters in custom names
|
|
223
|
+
|
|
224
|
+
## 5.0.0 -
|
|
225
|
+
Make sure to run `npm upgrade`. There are many package updates and changes.
|
|
226
|
+
|
|
227
|
+
* Added add/delete/edit schedule
|
|
228
|
+
* All sockets/API now singular (`circuits`->`circuit`)
|
|
229
|
+
* All sockets/API data now returned with a JSON qualifier. EG `{pump:...}`, `{circuit:...}`
|
|
230
|
+
* Intellichem decoding and display
|
|
231
|
+
* Changes to `/config` endpoint. It's now included with the `/all` end point since there would be quite a bit of duplication. It still exists standalone (for now) but has much less information in it.
|
|
232
|
+
* Moved `hideAux` setting from `configClient.json` (web UI settings) to `config.json` template. In `config.json` template, moved
|
|
233
|
+
```
|
|
234
|
+
{equipment: {controller: {circuitFriendlyNames:{1..20}}}}
|
|
235
|
+
|
|
236
|
+
// to
|
|
237
|
+
|
|
238
|
+
{equipment: {circuit: friendlyName:{1..20},
|
|
239
|
+
hideAux: boolean
|
|
240
|
+
},
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
to be in line with the other equipment in the pool setup and accomodate the `hideAux` setting.
|
|
244
|
+
|
|
245
|
+
* Fixed issue #82
|
|
246
|
+
* Extra info from `/config` was being added to the circuit section in `config.json`
|
|
247
|
+
* This release includes a new mechanism for updating config.json files. See notes in [config.json](#module_nodejs-poolController--config) section.
|
|
248
|
+
* mDNS server. Currently included for SmartThings integration, but in the future can be used for autodiscovery by other applications/devices.
|
|
249
|
+
* New `/config` endpoint (beta) to allow applications to get a high level summary of the system.
|
|
250
|
+
* Support for two separate (http/https) web servers, each/both with Auth, and also the option to redirect all http to https traffic. Thanks to @arrmo for driving this with #65 and #68.
|
|
251
|
+
* A UI for standalone pumps
|
|
252
|
+
* All sockets and API's renamed to be SINGULAR. Circuits -> circuit, Schedules->schedule, etc.
|
|
253
|
+
* All returned JSON data (API/socket) now has the type qualifier per [#57](https://github.com/tagyoureit/nodejs-poolController/issues/57)
|
|
254
|
+
* Make sure to run `npm upgrade`. There are many package updates and changes.
|
|
255
|
+
* Intellichem initial support.
|
|
256
|
+
* Inactivity timer for both internal connections and web page connections. If a connection is broken, it should re-establish itself automatically now.
|
|
257
|
+
* SSDP for auto-discovery by SmartThings or other services
|
|
258
|
+
|
|
259
|
+
## 4.0.0 -
|
|
260
|
+
* Changed much in the config.json file
|
|
261
|
+
* Save pump programs and chlorinator level to config.json
|
|
262
|
+
* Added support for GPM with pumps
|
|
263
|
+
* Check for newer versions of the app on github, and dismiss notifications until next release
|
|
264
|
+
* Bootstrap configuration is automatically saved in clientConfig.json via UI actions
|
|
265
|
+
* Started to introduce some promises into the workflow (mostly with read/write operations)
|
|
266
|
+
* Added log-to-file option
|
|
267
|
+
* Added capture for Ctrl-C/SIGINT to have a clean exit
|
|
268
|
+
* Added InfluxDB database capabilities
|
|
269
|
+
* Added support for reading the data from up to 16 pumps. (You can still only control two.)
|
|
270
|
+
* Support for up to 50 circuits, 8 pumps
|
|
271
|
+
* Delay and Cancel Delay for circuits
|
|
272
|
+
|
|
273
|
+
## 3.1.x -
|
|
274
|
+
* Added unit testing for certain areas
|
|
275
|
+
* Added setDateTime API/Socket
|
|
276
|
+
* Bootstrap panel states are now persistent
|
|
277
|
+
|
|
278
|
+
## 3.0.0 -
|
|
279
|
+
* Upgraded pump logic
|
|
280
|
+
|
|
281
|
+
## 2.0.0 -
|
|
282
|
+
* https, Authentication
|
|
283
|
+
* Completely refactored code. Integrated BottleJS (https://github.com/young-steveo/bottlejs) for dependency injection and service locator functions
|
|
284
|
+
* Integrations to loosely couple add-ons
|
|
285
|
+
|
|
286
|
+
## 1.0.0 -
|
|
287
|
+
* Much of the code reworked and refactored
|
|
288
|
+
* Added Bootstrap UI by @arrmo
|
|
289
|
+
* Better standalone pump control (@bluemantwo was super-helpful here, too!)
|
|
290
|
+
* More accurate recognition of packets
|
|
291
|
+
* Super fast speed improvements
|
|
292
|
+
* Outgoing packets are now sent based on a timer (previously number of incoming packets)
|
|
285
293
|
* Added ISY support (@bluemantwo was super-helpful here, too!)
|