A Home Assistant integration for Komfovent C6, C6M and C8 ventilation units through Modbus TCP.
The integration provides comprehensive control and monitoring of your Komfovent ventilation unit:
- Temperature control with multiple modes (supply, extract, room, balance)
- Setpoint adjustment for all operation modes
- ECO mode settings with min/max temperature limits
- Free heating/cooling control
- Heater and cooler blocking options
- Away - Low-intensity ventilation
- Normal - Standard ventilation
- Intensive - Increased ventilation
- Boost - Maximum ventilation
- Kitchen - Temporary increased ventilation for cooking
- Fireplace - Special mode for fireplace operation
- Override - Override current schedule
- Holiday - Scheduled absence periods
- Air Quality - Automatic control based on air quality
- CO2 monitoring and control
- VOC (Volatile Organic Compounds) monitoring
- Humidity monitoring and control
- Adjustable setpoints and intensity ranges
- Impurity control settings
- Supply and extract air temperatures
- Outdoor and exhaust air temperatures
- Fan speeds and flow rates
- Heat exchanger efficiency
- Filter status
- Power consumption
- Energy recovery
- Specific power input (SPI)
- Comprehensive alarm monitoring
- Electric heater control for each mode
- Timer-based operation for kitchen/fireplace/override modes
- Scheduler operation with multiple modes
- System time synchronization
- Clean filters calibration
- Firmware version monitoring
- Detailed diagnostics
All features are exposed as Home Assistant entities, allowing for easy integration into automations and the user interface.
The integration provides several services that can be called from Home Assistant actions:
Calibrates the clean filters on the Komfovent unit after filter replacement:
# Example service call
action: komfovent.clean_filters_calibration
target:
device_id: YOUR_DEVICE_ID
Sets the operation mode of the Komfovent unit:
# Example service call
action: komfovent.set_operation_mode
target:
device_id: YOUR_DEVICE_ID
data:
mode: kitchen
minutes: 60
Available modes:
off
: Turn off the unitair_quality
: Enable automatic air quality controlaway
: Low-intensity ventilation for when you're awaynormal
: Standard ventilation modeintensive
: Increased ventilationboost
: Maximum ventilationkitchen
: Temporary increased ventilation for cookingfireplace
: Special mode for fireplace operationoverride
: Override current schedule
The minutes
parameter (1-300) is only used for kitchen
, fireplace
, and override
modes.
# Example action in a button card
show_name: true
show_icon: true
type: button
entity: select.komfovent_current_mode
name: Kitchen
icon: mdi:stove
show_state: false
tap_action:
action: perform-action
perform_action: komfovent.set_operation_mode
target:
device_id: YOUR_DEVICE_ID
data:
mode: kitchen
minutes: 5
Sets the system time on the Komfovent unit to match the local time:
# Example service call
action: komfovent.set_system_time
target:
device_id: YOUR_DEVICE_ID
Currently only the Komfovent C6, C6M and C8 devices are supported, however due to the large variety of configurations, not every combination has been tested yet.
If you have connectivity issues, please confirm that you have the latest firmware on your Komfovent device. Depending on the controller type, please see the manufacturer's update instructions.
If you have issues seeing the data correctly, then please open a new ticket with:
- the model of your device, controller type and firmware version
- screenshots of the data in the Komfovent app or web interface
- diagnostic data from the Komfovent device (see below)
- Add this repository to HACS or copy the
custom_components/komfovent
folder to your Home Assistant configuration directory. - Restart Home Assistant.
- Add the integration through the Home Assistant UI.
- Configure the integration with the IP address of your Komfovent device.
The integration can be configured through the Home Assistant UI. The following options are available:
- name: The name of your Komfovent device
- Host: The IP address of your Komfovent device
- Port: The Modbus TCP port (default: 502)
The modbus_dump.py
tool can be used to dump the ModBus data from the Komfovent device. Usage:
python3 modbus_dump.py --host <device_ip> [--port 502] [--output registers.json]
This will scan all known register ranges and save the results to a JSON file. The tool supports these arguments:
--host
: Required. IP address of your Komfovent device--port
: Optional. ModBus TCP port (default: 502)--output
: Optional. Output JSON file path (default: registers.json)
The modbus_server.py
tool can be used to simulate a Komfovent ModBus server for testing purposes. Usage:
python3 modbus_server.py [--host 0.0.0.0] [--port 502] [--input registers.json]
This will start a ModBus TCP server that simulates a Komfovent device using register values from a JSON file. The tool supports these arguments:
--host
: Optional. Network interface to listen on (default: 0.0.0.0)--port
: Optional. ModBus TCP port to listen on (default: 502)--input
: Optional. Input JSON file with register values (default: registers.json)
You can use this tool for development and testing without needing a physical device. First dump the registers from a real device, then use that JSON file to run the simulator.
This repository contains multiple files, here is an overview:
File | Purpose | Documentation |
---|---|---|
.devcontainer.json |
Used for development/testing with Visual Studio Code. | Documentation |
.github/ISSUE_TEMPLATE/*.yml |
Templates for the issue tracker | Documentation |
custom_components/komfovent/* |
Integration files, this is where everything happens. | Documentation |
CONTRIBUTING.md |
Guidelines on how to contribute. | Documentation |
LICENSE |
The license file for the project. | Documentation |
README.md |
The file you are reading now, should contain info about the integration, installation, and configuration instructions. | Documentation |
requirements.txt |
Python packages used for development/lint/testing this integration. | Documentation |