nodejs-poolcontroller 8.3.0 → 8.4.1
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/157_issues.md +101 -0
- package/AGENTS.md +613 -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 +329 -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 +2737 -2664
- package/controller/Errors.ts +181 -181
- package/controller/Lockouts.ts +549 -549
- package/controller/State.ts +3746 -3701
- package/controller/boards/AquaLinkBoard.ts +1175 -1003
- package/controller/boards/BoardFactory.ts +53 -53
- package/controller/boards/EasyTouchBoard.ts +3246 -3202
- package/controller/boards/IntelliCenterBoard.ts +4581 -3899
- package/controller/boards/IntelliComBoard.ts +69 -69
- package/controller/boards/IntelliTouchBoard.ts +382 -382
- package/controller/boards/NixieBoard.ts +1947 -1944
- package/controller/boards/SunTouchBoard.ts +401 -400
- package/controller/boards/SystemBoard.ts +5303 -5268
- package/controller/comms/Comms.ts +1278 -1255
- package/controller/comms/ScreenLogic.ts +1665 -1665
- package/controller/comms/messages/Messages.ts +1627 -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 +250 -210
- package/controller/comms/messages/config/ExternalMessage.ts +1051 -903
- package/controller/comms/messages/config/FeatureMessage.ts +0 -0
- package/controller/comms/messages/config/GeneralMessage.ts +65 -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 +207 -174
- package/controller/comms/messages/config/PumpMessage.ts +427 -421
- 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 +37 -13
- 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 +940 -822
- package/controller/comms/messages/status/HeaterStateMessage.ts +147 -135
- package/controller/comms/messages/status/IntelliChemStateMessage.ts +448 -448
- package/controller/comms/messages/status/IntelliValveStateMessage.ts +36 -36
- package/controller/comms/messages/status/NeptuneModbusStateMessage.ts +217 -0
- 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 +152 -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 +2756 -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 +843 -834
- package/controller/nixie/pumps/Pump.ts +1336 -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 +32 -31
- package/logger/DataLogger.ts +448 -448
- package/logger/Logger.ts +459 -436
- package/package.json +58 -58
- package/sendSocket.js +32 -32
- package/tsconfig.json +26 -25
- package/types/express-multer.d.ts +32 -32
- package/web/Server.ts +1939 -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 +1212 -1053
- package/web/services/config/ConfigSocket.ts +0 -0
- package/web/services/state/State.ts +21 -0
- package/web/services/state/StateSocket.ts +28 -0
- package/web/services/utilities/Utilities.ts +233 -233
package/157_issues.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# IntelliCenter v3 Config Triage Summary
|
|
2
|
+
|
|
3
|
+
## Initial issues reported
|
|
4
|
+
|
|
5
|
+
- General -> Personal Information:
|
|
6
|
+
- City/State/Zip not syncing between dashPanel and WCP/OCP.
|
|
7
|
+
- Pool Alias/Owner/Zip values overwriting each other.
|
|
8
|
+
- Latitude blank in dashPanel; longitude not editable/syncing.
|
|
9
|
+
- General -> Timezone & Locality:
|
|
10
|
+
- Switching Internet/12h <-> Manual/24h caused bogus Pool/Spa setpoints and heat mode in dashPanel.
|
|
11
|
+
- General -> Delays:
|
|
12
|
+
- Delays not linking correctly.
|
|
13
|
+
- Missing v3 fields: Frz Cycle Time (min) and Frz Override (min).
|
|
14
|
+
- Manual Operation Priority in dashPanel does not clearly map to WCP.
|
|
15
|
+
- Sensor Calibration:
|
|
16
|
+
- Generally working; occasional +/-1 variance (likely timing/read cadence).
|
|
17
|
+
- Alerts/Security:
|
|
18
|
+
- Tabs empty.
|
|
19
|
+
- Loading stuck at 0%:
|
|
20
|
+
- Intermittent post-change loading hang (notably replay 157).
|
|
21
|
+
|
|
22
|
+
## What is fixed
|
|
23
|
+
|
|
24
|
+
- v3 Action 168 body temp/settings parsing hardened:
|
|
25
|
+
- Added handling for payload variants so Pool/Spa setpoint/heat-mode values are parsed correctly.
|
|
26
|
+
- Latitude/Longitude outbound mapping corrected:
|
|
27
|
+
- Fixed wrong latitude assignment target.
|
|
28
|
+
- Corrected byte math/order for lat/lon packet payload.
|
|
29
|
+
- Normalized coordinate assignment precision.
|
|
30
|
+
- General config refresh reliability improved:
|
|
31
|
+
- Forced v3 refresh path to include general category refresh to reduce stale General-tab data.
|
|
32
|
+
- Country field inbound parse width increased:
|
|
33
|
+
- Expanded from 16 to 32 bytes to avoid truncation/misalignment.
|
|
34
|
+
|
|
35
|
+
## What is not fully fixed yet
|
|
36
|
+
|
|
37
|
+
- Personal Information end-to-end mapping:
|
|
38
|
+
- Alias/Owner/City/State/Zip still need definitive byte-level inbound/outbound confirmation.
|
|
39
|
+
- Delays v3 fields:
|
|
40
|
+
- Frz Cycle Time (min) and Frz Override (min) offsets not yet identified.
|
|
41
|
+
- Manual Operation Priority mapping still unconfirmed.
|
|
42
|
+
- Alerts/Security mapping:
|
|
43
|
+
- Need packet-level evidence to confirm source actions/offsets and parser wiring.
|
|
44
|
+
- Loading stuck:
|
|
45
|
+
- Root cause identified as RS-485 comm instability + frequent v3 refresh retriggers under noisy conditions; mitigation implementation still pending.
|
|
46
|
+
|
|
47
|
+
## Root cause of loading stuck
|
|
48
|
+
|
|
49
|
+
- In replay 157, poolState ends with:
|
|
50
|
+
- status.name = "loading"
|
|
51
|
+
- percent = 0
|
|
52
|
+
- Same run shows elevated comm issues:
|
|
53
|
+
- unrecoverable collisions
|
|
54
|
+
- invalid packets
|
|
55
|
+
- outbound retries
|
|
56
|
+
- repeated config refresh triggers (ACK(168), ACK(184), piggyback)
|
|
57
|
+
- Net effect:
|
|
58
|
+
- refresh cycles are retriggered/churned during unstable traffic and can fail to settle cleanly.
|
|
59
|
+
|
|
60
|
+
## Information needed to finish remaining work
|
|
61
|
+
|
|
62
|
+
- Capture one setting change at a time (with timestamp notes), then wait a few seconds before next change.
|
|
63
|
+
|
|
64
|
+
### Personal Information
|
|
65
|
+
|
|
66
|
+
- Pool Alias
|
|
67
|
+
- Owner
|
|
68
|
+
- City
|
|
69
|
+
- State
|
|
70
|
+
- Zip
|
|
71
|
+
- Latitude
|
|
72
|
+
- Longitude
|
|
73
|
+
|
|
74
|
+
### Time/Locality
|
|
75
|
+
|
|
76
|
+
- 12/24-hour switch
|
|
77
|
+
- Internet/manual clock source
|
|
78
|
+
- DST toggle
|
|
79
|
+
- Time zone change
|
|
80
|
+
|
|
81
|
+
### Delays (especially v3-specific)
|
|
82
|
+
|
|
83
|
+
- Frz Cycle Time (min)
|
|
84
|
+
- Frz Override (min)
|
|
85
|
+
- Any setting suspected to map to Manual Operation Priority
|
|
86
|
+
|
|
87
|
+
### Alerts/Security
|
|
88
|
+
|
|
89
|
+
- Toggle each available option individually (if present on WCP/OCP)
|
|
90
|
+
|
|
91
|
+
### Packet evidence needed for each run
|
|
92
|
+
|
|
93
|
+
- Action 30 (config responses)
|
|
94
|
+
- Action 168 (external/config broadcasts)
|
|
95
|
+
- Related request/ack flow (Action 222, Action 1, piggyback trigger context)
|
|
96
|
+
|
|
97
|
+
## Current status
|
|
98
|
+
|
|
99
|
+
- DONE: High-confidence parsing and lat/lon write-path fixes applied.
|
|
100
|
+
- PENDING: Remaining fields require targeted packet captures for accurate mapping.
|
|
101
|
+
- PENDING: Loading-hang mitigation implementation.
|