Upload files to "/"

This commit is contained in:
2026-08-18 00:06:06 +02:00
commit a8e1515d3a
4 changed files with 45 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
# Home Assistant Green Smart UPS Monitor
## Overview
This project provides a DIY Uninterruptible Power Supply (UPS) with smart monitoring for a Home Assistant Green (HAG) hub. It leverages an ESP32-H2 microcontroller utilizing the Thread protocol to relay mains power status and battery levels back to Home Assistant.
By using the "Hardware Cutoff" configuration, the system avoids the need for relays. It strictly relies on the HW-465C UPS module's internal low-voltage cutoff to power down the HAG, allowing the HAG to automatically reboot when grid power restores the 12V rail.
## Core Components
* **Home Assistant Green:** The main smart home hub (Load).
* **ESP32-H2 Super Mini:** Acts as the Thread end-device sensor node.
* **SLZB-MR5U:** Serves as the OpenThread Border Router (OTBR) connecting the Thread network to Home Assistant.
* **HW-465C UPS Module:** 12V Step-up boost converter and battery charger.
* **2x 18650 Battery Cells:** Wired in parallel (1S2P).
* **MAX17043 I2C Fuel Gauge:** Monitors 1S battery state of charge (SoC).
* **EL817 Optocoupler:** Detects mains 5V presence safely.
* **Mini360 Buck Converter:** Steps down the 12V output to 5.0V for the ESP32.
## Implementation & Wiring
The ESP32-H2 is powered via the Mini360 buck converter from the 12V output. This guarantees that when the HW-465C battery protection trips (~2.5V), the ESP32 cleanly loses power alongside the HA Green, preventing deep-discharge battery damage.
### Power Path Connections
1. **5V Wall Charger** -> Connects to `IN+` / `IN-` on HW-465C.
2. **18650 Parallel Pack** -> Connects to `B+` / `B-` on HW-465C.
3. **HW-465C 12V Output** -> Splits to HA Green Barrel Jack **and** Mini360 `IN+` / `IN-`.
4. **Mini360 5.0V Output** -> Connects to ESP32-H2 `5V` and `GND` pins.
### ESP32-H2 Super Mini Pinout Map
| Component | ESP32-H2 Pin | Description |
| :--- | :--- | :--- |
| **Mini360 (5V Power)** | `5V` & `GND` | Main power input for ESP32. |
| **MAX17043 (Fuel Gauge)** | `3V3` & `GND` | Power out to MAX17043 module. |
| **MAX17043 (I2C SDA)** | `GPIO 10` | I2C Data Line. |
| **MAX17043 (I2C SCL)** | `GPIO 11` | I2C Clock Line. |
| **EL817 (Outage Sensor)** | `GPIO 4` | Pull-up input for mains detection. Emitter connects to `GND`. |
### Sensor Detection Logic (EL817)
* **Input Side:** 5V Mains (Before UPS) -> 330Ω Resistor -> EL817 Anode (Pin 1). Cathode (Pin 2) -> Mains GND.
* **Output Side:** EL817 Collector (Pin 4) -> ESP32 GPIO 4. EL817 Emitter (Pin 3) -> ESP32 GND.
* **Logic:** When 5V mains is active, the optocoupler pulls GPIO 4 to GND (LOW). ESPHome inverts this so `LOW` = `ON` (Mains present).
## Network & Controls
* **Thread Protocol:** The ESP32 is configured in ESPHome using the `openthread` component.
* **End-Device Mode:** The `device_type` is set to `MTD` (Minimal Thread Device). This explicitly disables the router/repeater functionality, ensuring the module operates efficiently as an end-device node routing through the SLZB-MR5U.
* **Auto-Boot Operation:** Because there is no active software shutdown command sent to Home Assistant, the HA Green stays active until the battery triggers the physical HW-465C shutoff. Once mains voltage returns, the 12V rail steps up from 0V to 12V, initiating an automatic cold boot of the Home Assistant Green.