How does OpenQuatt control a Quatt Heat Pump over a wired connection using ESPHome and the W5500?
How does OpenQuatt control a Quatt Heat Pump over a wired connection using ESPHome and the W5500?
Overview
OpenQuatt는 네덜란드의 Quatt Hybrid 가정용 하이브리드 히트펌프를 사용자가 직접 로컬에서 모니터링하고 제어할 수 있도록 만든 오픈소스 ESPHome 펌웨어 프로젝트입니다. 전용 hardware인 Heatpump Controller Q-edition의 Ethernet build에서는 ESP32 계열 MCU와 WIZnet W5500을 SPI로 연결해, local web application과 선택적 Home Assistant integration을 유선 LAN에서 사용할 수 있도록 구성합니다.
이 사례의 핵심은 단순히 ESPHome 장치에 Ethernet을 추가한 데 있지 않습니다. OpenQuatt는 heat pump data, temperature와 flow measurement, Modbus communication, control strategy, MQTT input 및 local user interface를 하나의 firmware architecture로 통합하고, Wi-Fi와 Ethernet을 각각 독립적인 release target으로 관리합니다. OpenQuatt 공식 자료도 Heatpump Controller Q에 Single·Duo Ethernet build가 존재하며, 현재 Ethernet과 Wi-Fi가 별도 firmware라는 점을 명확히 설명합니다.
Quatt?
Quatt는 네덜란드의 Hybrid Heat Pump 시스템입니다.
기존 가스 보일러를 완전히 제거하는 것이 아니라,
Gas Boiler ▲ │ Heat Pump (열을 펌프처럼 옮기는 기계)두 장비가 함께 동작하는 Hybrid 구조입니다.
- 평상시 → Heat Pump가 난방
- 매우 추운 날 → Boiler가 보조
- 상황에 따라 둘이 협력
OpenQuatt는 바로 이 Quatt 시스템을 로컬에서 제어하기 위한 오픈소스 컨트롤러입니다.
Features
Quatt Hybrid를 위한 local ESPHome controller
OpenQuatt는 Quatt Hybrid Single과 Duo installation을 대상으로 합니다. 사용자는 cloud dashboard에만 의존하지 않고 openquatt.local의 local web application에서 system state, setting, heating strategy 및 diagnosis 정보를 확인할 수 있습니다.
Home Assistant는 필수 요소가 아니라 선택적 integration입니다. 기본 설치와 설정은 local web application만으로 수행할 수 있고, Home Assistant는 dashboard와 automation을 추가하는 상위 interface로 사용됩니다.
W5500 기반 Ethernet 전용 firmware target
Heatpump Controller Q에는 다음과 같은 별도 Ethernet entrypoint가 존재합니다.
configs/heatpump_controller_q/single_eth.yaml
configs/heatpump_controller_q/duo_eth.yaml각 entrypoint는 공통 hardware profile과 control package를 포함한 뒤 다음 connection profile을 선택합니다.
openquatt_connection_eth:
!include ../../openquatt/connection/eth.yaml이를 통해 topology가 Single인지 Duo인지와 network connection이 Wi-Fi인지 Ethernet인지가 build 단계에서 명확하게 결정됩니다.
Modular ESPHome package architecture
OpenQuatt는 하나의 대형 YAML 파일에 모든 기능을 배치하지 않습니다. Hardware profile, network connection, topology, heat pump I/O, strategy, MQTT, web server 및 safety logic을 개별 package로 분리합니다.
이 구조는 같은 control logic을 유지하면서 hardware 또는 connection만 교체할 수 있게 합니다. ESPHome을 제품형 firmware로 확장하려는 개발자에게 특히 참고할 가치가 있습니다.
Wi-Fi firmware에서 사용하지 않는 W5500의 power-down
Heatpump Controller Q는 W5500이 장착된 hardware이므로 Wi-Fi firmware를 사용할 때도 칩은 보드에 존재합니다. OpenQuatt는 Wi-Fi build에서 Ethernet driver를 올리지 않는 대신, 별도 SPI bus를 통해 W5500을 power-down하는 custom component를 사용합니다.
openquatt_w5500_power_down:
spi_id: oq_w5500_power_down_spi
cs_pin: ${eth_cs_pin}
data_rate: 8MHz
spi_mode: mode0이 기능의 출발점인 Issue #322에는 W5500 register 0x002E에 power-down 값을 기록하는 방법과 함께, 특정 시험대에서 controller current가 약 30 mA 감소하고 W5500 온도가 약 4°C 낮아졌다는 결과가 기록돼 있습니다. 이 수치는 OpenQuatt 시험 hardware의 결과이며 모든 설계에 동일하게 적용되는 일반 성능 수치는 아닙니다.
Local web app, Home Assistant 및 MQTT 확장
OpenQuatt는 local web application을 기본 management interface로 사용합니다. Home Assistant integration은 ESPHome native API를 통해 device entity와 dashboard를 제공하며, MQTT는 외부 temperature, dew point, room setpoint 및 enable signal 등을 수신하는 별도 input path로 사용됩니다.
따라서 MQTT는 기본 Home Assistant communication을 대체하는 단일 transport가 아니라, 외부 control 또는 sensor value를 공급하는 보완 경로에 가깝습니다.
공식 문서 기반의 설치,운영 Workflow
OpenQuatt 공식 문서 사이트는 사용자가 현재 보유한 hardware와 설치 상태에 따라 올바른 절차를 선택할 수 있도록 구성돼 있습니다.
공식 문서에서는 사용 환경을 다음과 같이 구분합니다.
| 사용자 환경 | 권장 시작 경로 | 주요 작업 |
|---|---|---|
| OpenQuatt가 사전 설치된 새로운 Heatpump Controller Q-edition | Q-edition 연결 및 초기 설정 | Controller 연결, network 연결, Quick Start 완료 |
| 기존 Waveshare 또는 Heatpump Listener module | Other modules installation | 정확한 hardware profile 선택, firmware flashing, Quick Start |
| OpenQuatt가 이미 실행 중인 환경 | Web App 사용 | 설정 변경, firmware update, backup 및 diagnosis |
| Hardware 없이 기능을 확인하려는 경우 | Web App demo | 실제 설비 변경 없이 사용자 interface 확인 |
System Architecture
Role and Application of the WIZnet Chip
| 항목 | OpenQuatt에서의 역할 |
|---|---|
| WIZnet 모델명 | W5500 |
| MCU와의 연결 | SPI CLK, MOSI, MISO, CS 및 interrupt signal |
| 네트워크 역할 | Heatpump Controller Q를 wired Ethernet LAN에 연결 |
| 사용 protocol | Ethernet/IP 위의 HTTP, mDNS, ESPHome native API, MQTT 및 OTA 관련 network service |
| 데이터 경로 | Controller의 ESPHome application과 local network 사이 |
| 구조적 의미 | Wi-Fi와 분리된 Ethernet 전용 firmware target 제공, local controller의 wired installation option 확보 |
W5500은 어디에서 동작하는가?
OpenQuatt의 W5500은 heat pump와 직접 Modbus frame을 교환하는 component가 아닙니다. Heat pump I/O와 control logic은 ESP32 내부에서 처리되며, W5500은 계산된 state와 management interface를 LAN으로 전달하는 network boundary에 위치합니다.
왜 이 구조에서 W5500이 의미가 있는가?
HVAC controller는 일반적인 battery sensor보다 설치 수명이 길고, fixed installation으로 운용되는 경우가 많습니다. 이런 환경에서 Ethernet option은 다음과 같은 설계 가치를 제공합니다.
- 무선 수신 환경에 덜 의존하는 fixed network path
- local web application과 Home Assistant를 위한 유선 접근
- Single/Duo control logic을 변경하지 않고 connection profile만 교체하는 구조
- Wi-Fi가 필요 없는 installation에서 radio connection을 제거할 수 있는 선택지
TOE에 관한 기술적 구분
W5500 자체는 Hardwired TCP/IP 기능을 가진 Ethernet controller입니다. 그러나 OpenQuatt repository에서 확인되는 application structure는 ESPHome 및 ESP-IDF network interface를 통해 상위 protocol을 처리하며, W5500의 native socket API를 application이 직접 호출하는 코드는 확인되지 않습니다.
따라서 이 프로젝트의 핵심 가치는 W5500을 ESPHome Ethernet interface로 제품형 HVAC controller에 통합한 것으로 설명하는 것이 가장 정확합니다.
Heatpump Controller Q-edition
Heatpump Controller Q-edition은 OpenQuatt 프로젝트에서 공식적으로 지원하는 전용 Controller Hardware입니다. 해당 하드웨어는 Electropaultje를 통해 판매되고 있으며, OpenQuatt의 Ethernet Firmware는 ethernet: type: W5500을 사용합니다. 또한 Wi-Fi Firmware에는 W5500을 Power Down하는 전용 Component가 포함되어 있어, 이 제품이 W5500 기반 Ethernet Interface를 사용하는 하드웨어임을 확인할 수 있습니다.
또한 Wi-Fi firmware에는 보드에 장착된 W5500을 사용하지 않을 때 power-down하기 위한 openquatt_w5500_power_down component가 포함되어 있습니다. GitHub Issue #322에서도 실제 controller board의 W5500을 대상으로 SPI register를 설정하고, 전류와 온도 변화를 측정한 내용이 확인됩니다.
따라서 Heatpump Controller Q-edition의 Ethernet interface는 W5500을 기반으로 한다고 보는 것이 타당합니다. 다만 공개 자료에서는 전체 회로도나 BOM이 제공되지 않았으므로, chip marking이나 schematic 수준의 직접 확인 자료는 추가 검증이 필요합니다.
Developer Reuse Points
| Reusable Point | What Developers Can Learn | Source Evidence |
|---|---|---|
| ESPHome W5500 connection profile | W5500 SPI와 interrupt pin을 substitution으로 추상화하고 공통 Ethernet profile로 분리하는 방법 | openquatt/connection/eth.yaml |
| Connection별 firmware entrypoint | 동일 hardware와 application logic에서 Wi-Fi·Ethernet build를 각각 관리하는 방법 | configs/heatpump_controller_q/*_wifi.yaml, *_eth.yaml |
| Unused peripheral power management | Wi-Fi build에서 사용하지 않는 W5500을 custom SPI component로 power-down하는 방법 | wifi_w5500_power_down.yaml, Issue #322 |
| Hardware/topology/network 분리 | Single·Duo, hardware profile, network profile을 package 조합으로 관리하는 방법 | single_eth.yaml, duo_eth.yaml, build_targets.yaml |
| Multiple integration paths | Local web app, ESPHome native API, MQTT ingress를 서로 다른 역할로 분리하는 방법 | oq_webserver.yaml, oq_mqtt_ingress.yaml, docs |
| Source validation pattern | MQTT나 Home Assistant에서 받은 외부 값을 즉시 사용하지 않고 validity와 source selection을 거치는 방법 | oq_sensor_sources.yaml |
재사용 시 주의할 점
OpenQuatt의 YAML을 다른 ESP32 + W5500 board에 그대로 적용할 수 있는 것은 아닙니다. 실제 SPI GPIO, interrupt pin, reset circuit, board power design 및 ESPHome version은 대상 hardware에 맞게 변경해야 합니다.
또한 W5500 power-down implementation은 register-level control을 포함하므로, Ethernet driver가 이미 활성화된 상태에서 동시에 실행하면 안 됩니다. OpenQuatt도 이 component를 Wi-Fi build에만 포함하고 Ethernet build에서는 제외합니다.
Related Existing Contents & Expansion Value
W5500-EVB-Pico + ESPHome: RP2040 유선 이더넷 스마트 노드
- Link: https://maker.wiznet.io/sophia/projects/w5500-evb-pico-esphome-rp2040-----home-assistant-/?serob=rd&serterm=year
- Similarity Point:
두 프로젝트 모두 ESPHome의 YAML workflow와 Home Assistant integration을 wired Ethernet으로 확장합니다. 데이터 흐름 역시Application/Sensor → MCU → W5500 → Ethernet → Home Assistant라는 공통 구조를 가집니다. - Difference:
기존 콘텐츠는 RP2040에서 custom Ethernet component를 통해 W5500 network bring-up을 구현한 enablement example입니다. OpenQuatt는 ESP32 기반 제품 hardware에서 ESPHome의 W5500 지원을 활용하고, 그 위에 복잡한 HVAC application을 구축합니다. - Connection Value:
기존 글이 board enablement 관점이라면 OpenQuatt는 product application 관점의 후속 사례가 됩니다.
ESPHome on XIAO ESP32-S3 W5500 Ethernet Adapter for Home Assistant
- Link: https://maker.wiznet.io/lawrence/projects/esphome-on-xiao-esp32-s3-w5500-ethernet-adapter-for-home-assistant/?serob=rd&serterm=year
- Similarity Point:
ESP32-S3, W5500, ESPHome 및 Home Assistant의 조합이 공통적입니다. - Difference:
XIAO 기반 콘텐츠는 범용 smart-home node 구축 방법을 설명하는 데 가깝습니다. OpenQuatt는 dedicated controller, release artifact, topology matrix 및 현장 commissioning workflow를 포함합니다. - Connection Value:
개발자는 XIAO 기반 prototype에서 시작해 OpenQuatt와 같은 modular package 및 build matrix로 제품형 firmware를 설계하는 발전 경로를 참고할 수 있습니다.
Market & Application Value
OpenQuatt의 architecture는 다음 분야에 참고할 수 있습니다.
- Residential HVAC retrofit
기존 heat pump 또는 heating system에 local monitoring과 user-configurable control을 추가하는 controller - Building automation
Temperature, flow, thermostat 및 equipment state를 local Ethernet으로 통합하는 zone controller - Energy management
Heating/cooling demand, temperature source 및 외부 energy signal을 조합하는 local energy controller - Installer and service tools
Local web application, Quick Start, backup, diagnosis 및 firmware selection을 포함하는 commissioning device
External Indicators
2026년 8월 3일 확인 기준으로 OpenQuatt GitHub repository는 다음 공개 지표를 표시했습니다.
https://github.com/OpenQuatt/OpenQuatt
| 지표 | 확인값 | 해석 |
|---|---|---|
| GitHub Stars | 20 | 초기 단계지만 명확한 사용자 관심이 존재 |
| GitHub Forks | 5 | 실제 수정·실험 가능성이 있는 개발 참여 신호 |
| Watchers | 0 | 별도 watcher 수는 제한적 |
| Open Issues | 1 | 확인 시점 repository 화면 기준 |
| Pull Requests | 1 | 확인 시점 repository 화면 기준 |
| Issue #322 | Closed | W5500 power-down 요구가 repository에 반영된 흐름을 확인 가능 |
GitHub는 확인 시점에 20 Stars와 5 Forks를 표시했습니다.
정량 규모는 대형 open-source project와 비교해 크지 않지만, project quality는 단순 Star 수만으로 판단하기 어렵습니다. OpenQuatt는 dedicated hardware, installation documentation, release manifest, web application, HVAC control logic 및 issue-driven hardware optimization을 함께 관리하고 있다는 점에서 참여의 기술적 깊이가 높은 편입니다.
Issue #322는 단순 feature request를 넘어 W5500 register setting과 bench measurement를 포함합니다. 이는 community가 software 기능뿐 아니라 controller의 power와 thermal behavior까지 검토하고 있음을 보여줍니다.
WIZnet Strategic Value
OpenQuatt는 W5500이 단순한 Arduino Ethernet accessory에 머물지 않고, ESPHome 기반 제품형 HVAC controller의 정식 connection option으로 사용될 수 있음을 보여줍니다.
특히 다음 세 가지 점에서 의미가 있습니다.
1. ESPHome 적용 범위의 확장
Maker ecosystem에서 ESPHome은 흔히 light, relay, BLE proxy 또는 environmental sensor와 연결됩니다. OpenQuatt는 여기에 Modbus, thermostat input, heating/cooling strategy, commissioning 및 firmware matrix를 추가합니다.
이는 W5500 기반 ESPHome 사례를 home automation accessory에서 energy와 building control 영역으로 확장합니다.
2. Hardware lifecycle까지 고려한 W5500 사용
OpenQuatt는 Ethernet build에서 W5500을 사용하는 것에 그치지 않고, Wi-Fi build에서는 사용하지 않는 W5500을 power-down합니다. 하나의 PCB가 여러 connection SKU 또는 firmware option을 지원할 때 peripheral의 idle power와 thermal behavior까지 관리해야 한다는 실무적 교훈을 제공합니다.
3. Reusable reference architecture
WIZnet Maker ecosystem에서 다음과 같은 후속 reference를 구성할 수 있습니다.
ESP32-S3 + W5500
→ ESPHome Ethernet Base Package
→ Local Web Configuration
→ Home Assistant Native API
→ MQTT External Inputs
→ HVAC / PLC / Energy Application이 구조를 tutorial과 reference hardware로 정리하면 HVAC뿐 아니라 boiler monitor, energy controller, ventilation controller 및 small building automation gateway에도 재사용할 수 있습니다.
Summary
OpenQuatt는 ESPHome과 W5500을 결합해 Quatt Hybrid Single 및 Duo heat pump를 위한 local-first controller를 구현한 open-source project입니다. Heatpump Controller Q-edition의 Ethernet firmware는 W5500을 SPI Ethernet interface로 사용해 local web application과 선택적 Home Assistant integration을 제공하며, Wi-Fi와 Ethernet을 별도 build target으로 관리합니다.
개발자가 특히 참고할 부분은 W5500 설정 자체뿐 아니라 hardware profile, topology, network connection 및 application package를 분리한 firmware architecture입니다. Wi-Fi build에서 사용하지 않는 W5500을 power-down하는 구현도 동일 PCB에서 여러 network option을 제공하는 제품 설계에 실용적인 참고가 됩니다.
다만 OpenQuatt application이 W5500 native hardware socket을 직접 사용하는 것은 확인되지 않았으며, Issue에 기록된 전류와 온도 개선 수치도 특정 시험 조건의 결과입니다. 그 제한을 감안하더라도 OpenQuatt는 W5500과 ESPHome이 범용 smart-home sensor를 넘어 실제 HVAC 및 building-control application으로 확장될 수 있음을 보여주는 구체적인 사례입니다.
FAQ
1. OpenQuatt가 해결하는 핵심 문제는 무엇인가요?
OpenQuatt는 Quatt Hybrid 사용자가 cloud interface에만 의존하지 않고 heat pump의 상태, setting 및 control strategy를 local web application에서 관리할 수 있도록 합니다. 필요하면 Home Assistant dashboard와 automation을 추가할 수 있습니다.
2. W5500은 heat pump를 직접 제어하나요?
아닙니다. Heat pump I/O, Modbus 및 control strategy는 ESP32의 OpenQuatt application에서 처리됩니다. W5500은 이 controller를 Ethernet LAN에 연결해 web app, ESPHome native API, MQTT 및 network update path를 제공하는 위치에 있습니다.
3. Ethernet과 Wi-Fi가 동시에 동작하나요?
현재는 그렇지 않습니다. Heatpump Controller Q는 Wi-Fi와 Ethernet build를 모두 제공하지만, firmware target이 분리돼 있으며 Ethernet build에는 자동 Wi-Fi fallback이나 captive portal이 없습니다.
4. 다른 ESPHome 프로젝트에서 가장 재사용하기 좋은 부분은 무엇인가요?
eth.yaml의 W5500 profile, connection별 entrypoint, hardware/topology/network package 분리, 그리고 Wi-Fi build에서 unused W5500을 power-down하는 구조가 가장 유용합니다. 특히 동일 PCB에서 connection option을 firmware로 나누는 제품에 적용하기 좋습니다.
5. 공개 자료에서 아직 확인되지 않은 것은 무엇인가요?
모든 hardware revision의 complete schematic, GPIO별 pin map, Ethernet throughput, long-term reliability test, EMC 결과, certification 및 deployment volume은 확인되지 않습니다. Issue의 current와 temperature 수치도 특정 시험대의 결과로 해석해야 합니다.
References
| Source | Link | Checked Date | Notes |
|---|---|---|---|
| OpenQuatt GitHub Repository | github.com/OpenQuatt/OpenQuatt | 2026-08-03 | Inspected snapshot v0.45.2, commit 937891bc... |
| OpenQuatt Official Documentation | openquatt.github.io/OpenQuatt | 2026-08-03 | Supported hardware, features, limitations, Wi-Fi/Ethernet separation |
| GitHub Issue #322 | Power down W5500 ethernet chip | 2026-08-03 | Power Down proposal and submitter-reported bench result |
| ESPHome Ethernet Component | esphome.io/components/ethernet | 2026-08-03 | W5500 support and Wi-Fi/Ethernet mutual-exclusion note |
| W5500 Ethernet Profile | openquatt/connection/eth.yaml | 2026-08-03 | ESPHome W5500 configuration |
| W5500 Power Down Profile | openquatt/connection/wifi_w5500_power_down.yaml | 2026-08-03 | SPI2, 8 MHz, mode 0 |
| W5500 Power Down Source | components/openquatt_w5500_power_down/OpenQuattW5500PowerDown.cpp | 2026-08-03 | Register sequence and verification |
| Heatpump Controller Q Profile | openquatt/profiles/heatpump_controller_q.yaml | 2026-08-03 | ESP32-S3, W5500 pin map, Modbus and sensor pins |
| Build Matrix | build_targets.yaml | 2026-08-03 | Single/Duo and Wi-Fi/Ethernet targets |
| MQTT Documentation | docs/mqtt.md | 2026-08-03 | MQTT input topics, payload validation, timeout |

