Skip to content

gongloo/OutEquipAC

Repository files navigation

OutEquipAC

This project provides an ESPHome-based custom component to allow remote monitoring and control of OutEquipPro AC units (such as the Summit2) using an ESP32 microcontroller (e.g. ESP32-C3 Super Mini or Wemos C3 Mini) as a smart WiFi bridge.

It integrates seamlessly with Home Assistant via the native ESPHome API and also features a gorgeous, standalone responsive web dashboard.

A thermostat phone app screenshot with mode, temperature, and fan selection as well as current temperature readout


Features

  • Native Home Assistant Integration: Seamless auto-discovery, custom climate controls, and high-performance sensor/switch entity mappings.
  • Custom Premium Web UI: A beautiful, mobile-friendly thermostat dashboard served directly from the ESP32 at /thermostat.
  • Full Sensor Suite: Real-time tracking of intake temperature, outlet temperature, voltage, and safety protections (undervolt, overvolt).
  • Control Options: Mode switching (Cool, Heat, Fan Only, Off), fan speed adjustment (Low, Medium, High), and secondary controls (LCD Backlight, Swing, Light).
  • ESPHome Ecosystem Benefits: Zero-config captive portal for WiFi onboarding, seamless Over-the-Air (OTA) updates, and standard ESPHome logs interface.

Requirements

  • ESP32-C3 Microcontroller (e.g., ESP32-C3 Super Mini or Wemos C3 Mini)
  • Soldering Iron & Solder
  • Thin Stranded Wire (e.g., 22AWG or 28AWG silicone wire)
  • Affixing Material (double-sided tape, hot glue, or zip ties)

Installation & Setup

1. Software Installation (Flash First!)

Caution

Flash the microcontroller before wiring it to your A/C.

This prevents potential hardware damage caused by connecting your computer's USB port to an ESP32 that is simultaneously being powered by the A/C control board's 5V line.

  1. Install ESPHome on your computer if you haven't already:
    pip install esphome
  2. Clone this repository and navigate to its root directory:
    git clone https://github.com/yourusername/OutEquipAC.git
    cd OutEquipAC
  3. Configure WiFi (Optional): By default, if the ESP32 cannot connect to a network, it will launch a hotspot named OutEquip AC Fallback (with a captive portal to select your WiFi network). If you prefer to hardcode your WiFi credentials directly:
    • Edit outequip_ac.yaml to include your details under the wifi: block:
      wifi:
        networks:
          - ssid: "YOUR_WIFI_SSID"
            password: "YOUR_WIFI_PASSWORD"
  4. Compile and Flash:
    • Connect the ESP32 to your computer using a USB cable (ensure the A/C is disconnected).
    • Run the compile and upload command:
      esphome run outequip_ac.yaml
    • This command downloads dependencies, compiles the local custom components, uploads the firmware over USB, and launches the live log viewer.

2. Hardware Installation

A long, narrow PCB connected by four wires to a much smaller PCB

  1. Solder wires onto the control board pads labeled 5V, GND, RX, and TX. The additional CAN_RX and CAN_TX pins can be left unpopulated.
  2. Connect the other ends of the wires to the appropriate pins on your ESP32. By default, the pin mappings are:
Control Board Pad C3 Mini Pin Description
5V VBUS (or 5V / Vin) Power Input
GND GND Ground
RX GPIO 4 UART TX
TX GPIO 3 UART RX
  1. Secure the components: Once connected, use tape, hot glue, or zip ties to secure the ESP32 in place.

Note

Affix the ESP32 in a location that protects it from humidity and avoids contact with metal, such as the air conditioner's mounting brackets.


Configuration & Usage

WiFi Setup (Captive Portal)

If you did not hardcode your WiFi credentials, the ESP32 will broadcast a WiFi access point named OutEquip AC Fallback.

  1. Connect to this network on your phone or computer.
  2. The captive portal configuration page should open automatically. If not, open your web browser and navigate to http://192.168.4.1.
  3. Select your local home WiFi network, enter your password, and save.

Accessing the Custom Web Interface

Once the ESP32 connects to your local network, you can access it via browser:

  • Standard ESPHome Dashboard: http://outequip-ac.local/ (gives direct access to raw entity controls, status indicators, and built-in OTA updates).
  • Premium Custom UI: http://outequip-ac.local/thermostat (a premium, responsive mobile-friendly dashboard styled exactly like the screenshot above).

Home Assistant Integration

Since the ESPHome native API is active:

  1. Open Home Assistant.
  2. Go to Settings -> Devices & Services.
  3. OutEquip AC will be automatically discovered! Click Configure, approve, and assign it to an area.
  4. You can now control the AC with any standard Lovelace Climate card and view all temperatures/sensors on your dashboard.

Stats & Telemetry Reporting (InfluxDB / UDP)

The bridge features a high-performance, asynchronous stats reporting engine that pushes raw telemetry data over UDP using the standard InfluxDB Line Protocol. This is ideal for logging high-resolution charts in Grafana or running custom analytics without taxing Home Assistant's database.

1. Configuration

By default, stats reporting is disabled until you provide a target host. You can configure the parameters dynamically via the standard ESPHome Web Dashboard (http://outequip-ac.local/):

  • Navigate to the UDP Configuration (Restart Required) section.
  • Set the InfluxDB IP to your Telegraf, InfluxDB, or home server IP.
  • Set the InfluxDB Port (defaults to 8089).
  • Restart the device for changes to take effect.

Note

The reporting interval is defined by the stats_update_interval_s substitution at the top of outequip_ac.yaml (default: 10 seconds).

2. Exported Data Structure

Each UDP packet sends a single Line Protocol point under the measurement outequip-ac containing:

Field Group Keys / Fields Description
System Info host, uptime_ms Hostname and microcontroller uptime in milliseconds
Climate State power, mode, set_temp, fan_speed Active power, current mode, target temperature (°F), fan speed
Sensors intake_temp, outlet_temp Ambient intake and outlet temperatures (°C)
Electrical voltage, undervolt, overvolt AC line voltage, undervoltage protection limit, overvoltage protection limit
UART Diagnostics frames_tx, frames_rx, frames_failed, spurious_bytes_rx Serial frame statistics, packet loss, and checksum failures

How It Works

This project is built as a native ESPHome External Component located in the components/ directory:

  • Local Inclusion: The outequip_ac.yaml configures the compiler to fetch components locally using the external_components block.
  • Wired Serial Interface: The ESP32 communicates with the control board using a binary protocol. The code polls the board for state changes and pushes commands as requested. (On Bluetooth-enabled control boards, this serial interface is populated with a Bluetooth module; otherwise, it is unpopulated. Soldering directly to these pads allows the ESP32 to interface with the system).
  • Embedded Web UI: At compile time, the custom web interface is automatically gzipped, preprocessed (with automatic download of Material Design Icons!), and embedded as a raw byte array inside the C++ build directory. It is served with high performance directly by the web server at /thermostat.
  • Gzip Compression: Compressing the HTML and icons reduces memory usage on the ESP32's flash and speeds up browser load times significantly.

Troubleshooting

  • No Data / Connection Fails: Verify that RX and TX are not swapped. The ESP32's TX (GPIO 4) should connect to the A/C board's RX, and the ESP32's RX (GPIO 3) should connect to the A/C board's TX.
  • Microcontroller Bootloop/Brownout: Ensure you are supplying clean 5V power to the VBUS / 5V pin on the ESP32.
  • Live Logs: Run esphome logs outequip_ac.yaml while connected to the same network (or via USB) to see real-time diagnostics and check protocol communication frames.

Caution

Always disconnect the 5V line from the control board before connecting the ESP32 to your computer's USB port! Failing to do so can bridge the internal power supply of the A/C with your computer's USB power, risking permanent damage to both devices.

About

Controller for OutEquipPro AC units.

Resources

License

Stars

Watchers

Forks

Contributors