cleanup README

This commit is contained in:
2026-01-10 13:42:24 +01:00
parent 1d4e272d80
commit 430b4cb690

101
README.md
View File

@ -1,84 +1,13 @@
# smart-oil-heating-control-system # Smart Oil Heating Control System
## Software ESP32-based control system for oil-fired central heating with schedule-based temperature management, safety monitoring, and Prometheus metrics export.
### Design
```mermaid ## Features
classDiagram
Inputs <|-- Control
Outputs <|-- Control
Sntp <|-- Control
Inputs <|-- Safety
Outputs <|--|> Safety
Inputs <|-- Metrics - **Schedule Control**: Day/night temperature targets per weekday
Outputs <|-- Metrics - **Summer Mode**: Automatic heating disable based on outdoor temperature
Control <|-- Metrics - **Safety Monitoring**: Sensor sanity checks with automatic safe-state fallback
Safety <|-- Metrics - **Prometheus Metrics**: HTTP endpoint at port 9100
Sntp <|-- Metrics
class Inputs{
+initInputs()
-initMeasurement()
-updateAverage()
-updatePrediction()
-taskInput()
-linearRegressionPredict()
+getChamberTemperature()
+getOutdoorTemperature()
+getInletFlowTemperature()
+getReturnFlowTemperature()
+getBurnerError()
}
class Outputs{
+initOutputs()
+getCirculationPumpState()
+setCirculationPumpState()
+getBurnerState()
+setBurnerState()
+getSafetyControlState()
+setSafetyControlState()
}
class Control{
initControl()
+taskControl()
+getControlCurrentWeekday()
-findControlCurrentTemperatureEntry()
+getControlCurrentTemperatureEntry()
-controlTable
+getControlState()
}
class Safety{
+initSafety()
-taskSafety()
-setSafeState()
-checkSensorSanity()
+getSensorSanityStates()
+getSafetyState()
}
class Wifi{
+initWifi()
}
class Sntp{
+initSntp()
+getSntpState()
}
class Metrics{
+initMetrics()
-taskMetrics()
-metrics
+event_handler()
+connect_wifi()
+setMetrics()
}
```
### Prometheus Metrics ### Prometheus Metrics
`curl http://X.X.X.X:9100/metrics` `curl http://X.X.X.X:9100/metrics`
@ -180,4 +109,20 @@ wifi_rssi -72
| Input Burner Fault | IO19 | Digital Input IN1 | | Input Burner Fault | IO19 | Digital Input IN1 |
| Input Temperature DS10B20 | IO04 | 1-Wire | | Input Temperature DS10B20 | IO04 | 1-Wire |
## Configuration
All parameters configurable via `idf.py menuconfig`:
- WiFi credentials and static IP
- GPIO pin assignments
- 1-Wire sensor addresses
- Temperature thresholds and limits
- Heating schedule (day/night per weekday)
- Damping factors
## Building
```bash
idf.py set-target esp32
idf.py menuconfig # Configure settings
idf.py build flash monitor
```