This project started with developing a simple water tank monitoring system. In the learning folder there is a standalone version of the water tank node that uses SPIFFS to save key data so statistical information can be displayed like "Water used in the last 24 hours", "Average Daily Use" and so on. Other items in the learning folder are sketch's that are for calibrating or were used in learning how to do different tasks.
Here is a link to a short video demo of the system in action here
I then realised that there were other assets that needed monitoring and/or control so the project was expanded with "painlessMesh" to create interactive "Monitoring and Control" via Blynk or the ROOT MESH node which will be located in the kitchen.
The current folder contains working sketch's that have or will have the following functionality
- Level Alarm
- Purge Servo Control
- Level Alarm Bulb Failure
- Pump Failure
-
Water Level as percentage full
-
Litre's of Water available
-
Water used in the last 24 hours
-
30 Day Average daily use
-
Day's of Water on hand based on Average Daily Use
-
Yard Lighting
-
Tank sensors read error feedback
If the Tank Temp Sensor fails ttReadOK returns false (single event)
For a tank temp false reading a defined temp is used
If the Ultrasonic sensor has a read failure usReadOK returns False (single event)
A max of 10 false readings before it times out.
-
Cumulative Time-out count.
To improve accuracy each value in the smoothing array is tested
If any single reading is outside the tollerance defined the process repeats
There is a 10 count timeout that will increment the time-out count
-
Time of day SPIFFS save statistical variables function
- States for Internal, Ranch Slider and Garage Doors
- Door has been left Open Alarm (Seasonal variations)
- Mouse Trap State
- Open / Close main garage Door
- Garage Door Button
- Tank Light Button
- Septic Purge Servo Switching
- OLED display of key data with screen off time-out
- Buzzer for Audible Alarm
- Rotary Encoder for Wake / Manual / Auto screen rotation.
- SD Card for MESH OTA Updates
- UART Bi-directional Bridge to Blynk Node.
-
UART Bi-directional Bridge to MESH
-
NTP Master for MESH (push)
-
Servo for Water Level Meter
-
Addressable LED's for System States
-
ElegantOTA for Blynk Node
-
Web-page for all current variable states and values
- Garage Door Pulse Button
- States of All Doors in Garage
- Mouse Trap State
- Water in Litre's meter
- Average Daily Use Value
- Yard Light button
- Current State of yard Light
- Septic Tank Purge valve button
- Current State of Septic Purge Valve
- System Alarms as integer with PUSH (automations) notifications
- Improve OLED Screen Layouts
- Add Barometer Mechanical Gauge
- Merge Weather Forecasting from this Weather Predictor Project and use LED's to show forecast
- Functional Block Schematics for all nodes









