Releases: Loic74650/PoolMaster
PoolMaster V6.0.0
This new version replaces the commercial and analog Phidget and Gravity boards by the pH_Orp_Board to interface the pH and Orp probes. The pH_Orp_Board is an open-source, 16 bits, two-channels, analog to digital conversion board with galavnic isolation to measure pH and Orp levels in pools and similar environments
Nextion screen time display now uses the Nextion screen on-board RTC so the Nextion screen firmware needs to be updated
Removed the Liquid crystal display from the code
PoolMaster V5.0.1
Minor changesbut since this project is now fairly stable I am releasing the latest version from the develop branch
PoolMaster V5.0.0
-
/!\ API change: Measurements are now published on 2 different topics: PoolTopicMeasurement1 and PoolTopicMeasurement2
This is necessary because the MQTT library is limited to sending messages with payloads shorter than 100 bytes or so, so all the measurements must be split over 2 MQTT messages. Moreover, in order to have them retained, they must be sent to 2 different topics. -
/!\ API change: PublishSettings() is a new function which publishes the program settings on 5 different topics: PoolTopicSettings1 to PoolTopicSettings5 for the same reasons as above. This function is called at startup and when a setting is changed via the API or the touch screen (in the future). Example published settings are:
{"Fw":"4.0.7","FSta":8,"FDu":12,"FStoM":20,"FSto":20,"Dpid":59,"pHUTL":30,"ChlUTL":30}
{"pHWS":50,"ChlWS":120,"pHSP":740,"OrpSP":600,"WSP":2750,"WLT":1000,"PSIHT":50,"PSIMT":25}
{"TE":2262,"pHC0":4.3,"pHC1":-2.63,"OrpC0":-1189,"OrpC1":2564,"PSIC0":1.11,"PSIC1":0}
{"pHKp":2000000,"pHKi":0,"pHKd":0,"OrpKp":2500,"OrpKi":0,"OrpKd":0}
{"pHTV":20,"ChlTV":20,"pHFR":1.5,"OrpFR":3}
See code of function PublishSettings() for details
- All MQTT publishes are now in retain mode in order to sync more efficiently MQTT clients with the controller
- Added a new command to reboot the controller: {"Reboot":1}
- Added new commands to set the Chl and Acid pumps Flow Rates: {"pHPumpFR":1.5} & {"ChlPumpFR":3.0}
- Added new commands to reset the probes and sensor calibration coefficients: {"RstpHCal":1} & {"RstOrpCal":1} & {"RstPSICal":1}
- DelayPIDs now re-applied when filtration stopped and restarted by double-tap on panel button
- Daily synchronization of RTC with a time server if ethernet connection available
- First version of NEXTION 3.5" TFT display support
- pH, Orp and Water temperature setpoints can be adjusted via TFT by pressing on the setpoints (for pH and Orp) or the water temp displays
- Changed "queue" library to fix non-released memory issue
- added ethernet connectivity setup webpage accessible at http://PoolMaster.local (in an MDNS / Bonjour! enabled environment/browser)
PoolMaster V4.0.0
- Acid and Chlorine tank levels are now estimated and reported in % fill (estimation based on the running-time of each pump)
- /!\ API change. MQTT published payloads now also include stored Orp, pH and Water temp setpoints as well as tank-level estimates. Two separate publishes are used in order to reduce the payload size of each publish
- A daily 2 minutes cycling of the water heating circulator has been added in order to maintain it in good condition when not being used for long period of times (eg. in winter)
- Pump class now support setups in which PoolMaster does not manage the filtration pump (eg. in cases where an already-installed automate handles it). See Pump class for more info
- Node Red code example now includes feeding the MQTT data into an InfluxBD database in order to generate a Grafana Dashboard (code for the node red flow and the Grafana dashboard is provided)
PoolMaster V3.1.0
- new regulation loop to regulate the water temperature. It starts/stops the house-heating system circulator which brings heat to a heat exchanger mounted on the pool water pipes
- new API function to switch on/off the water heating regulation loop
PoolMaster V3.0.3
- Added support for a front panel push-button with a red LED-ring. It enables toggling between LCD screens (short press) and clearing errors (long-press). When a system-error occurs (eg. empty chemical tank, low-water pressure or chemical-pump overtime) the front-panel push-button red LED-ring starts blinking, calling for attention.
- Adjusted default PID constants
PoolMaster V3.0.1
- improved security at Pumps level so that Orp and pH pumps cannot run and/or stop if Filtration is not running/stopped
- fixed bug. Now when filtration pump is running but water pressure remains low, filtration pump is really stopped
PoolMaster V3.0.0
- modified anti-freeze filtration behaviour. It now starts filtration when outside air temperature goes below -2.0deg and stops it when it rises back above +2.0deg
- added support for a water pressure sensor. A water pressure which increases above a certain threshold can be an indication that the sand filter requires cleaning. When filtration is running but water pressure is below a certain threshold (ie. something is wrong), filtration is automatically stopped as a safety precaution
- Added better support for the Arduino Mega2560 platform. Should now compile without any code modification
- Added the "Pump" class to improve quality of code and easier integration of additional pumps in the future if required (eg. pH+ pump)
- Added integration example into cloud-based BLYNK smart phone application via NodeRed
- /!\ API change. The measured data and the IO and IO2 bitmaps which are published to the MQTT broker have been modified in order to accomodate the water pressure readings
PoolMaster V2.1.2
- changed Eeprom config storage handling
- added incoming MQTT message queue to reduce load on MQTT callback function (causing spurious socket errors and subsequent disconnections from broker)
- Ethernet deconnection now non-blocking
- Some minor changes
PoolMaster V2.1.1
- fixed bug in AntiFreeze filtration function
- updated documentation