Recently I have installed Komfovent recoperation system with C6 controller. C6 exposed modbus over TCP. Tried to read holding registers on Windows software client for modbus. Everything works great. Trying to hookup to home assistant classic running on raspberry pi. I dont see any errors in logs and pretty sure that modbus plugin connects to C6 but my value returned is always 0. Trying to read register 5 which holds the information about recuperator mode. Values are 1 to 5 . It doesn’t matter if I supply data_type or not. Still I get 0 as response. Anything I missed in modbus configuration?
My configuration.yaml contains following
modbus:
type: tcp
host: 192.168.1.50
port: 502
name: Komfovent
sensor: !include sensors.yaml
and my sensors.yaml looks like this
- platform: modbus
scan_interval: 10
registers:
- name: "Actve mode"
hub: Komfovent
slave: 100
register_type: holding
register: 5
count: 1
offset: 0
precision: 1
data_type: int
4 Likes
Hi i also have struggled reading Komfovent C6 values over modbus. you should try reading register 4 instead of 5. At least this works for me. I think it is python modbus implementation and all register addresses start at 0.
Here is my sample configuration
- platform: modbus
scan_interval: 10
registers:
- name: komfovent-panel-temperature
hub: komfovent
unit_of_measurement: "°C"
device_class: temperature
register: 945
scale: 0.1
precision: 1
data_type: int
- name: komfovent-panel-humidity
hub: komfovent
unit_of_measurement: "%"
device_class: humidity
register: 946
- name: komfovent-current-mode
hub: komfovent
register: 4
data_type: int
Indeed, this seems to do the trick. Wonder if this is a bug to report or is it specifics of C6
Ciubas
(Ciubas)
March 12, 2020, 12:39pm
4
how looks panel in HA? Can you control the C6/Komfovent recuperator by the HA or only read?
For now I only use Sensors to display RO. I didn’t try the switch yet.
Ok, so I was interested if its easy to control via ModBus. So I have created a working solution for changing modes on register 4.
First thing you have to do is to go to Overview tab, and click Configure UI. It will change to edit mode.
Click + and add an Entity of type Button.Name it Away.
Switch to Code Editor, its easier this way. The logic behind is that you have to call a service modbus_write when you hit this button. So you can configure it as following to switch your comfovent to Away mode. You will need to create as many buttons as necessary for different modes.
type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
hub: komfovent
unit: 254
address: 4
value: 2
hold_action:
action: none
show_icon: false
show_name: true
name: Away
narnaliai
(narnaliai)
March 22, 2020, 10:30am
7
After couple days of trying Komfovent modbus
Result:
Thanks All, for this post
2 Likes
Nice looking panel. care to share your config?
Btw. Its spelled Maintenance
narnaliai
(narnaliai)
March 22, 2020, 3:03pm
10
Panel version
configuration.yaml
modbus:
name: Komfovent
type: tcp
host: 192.168.0.60
port: 502
----
switch:
- platform: modbus
registers:
- name: "Komfovent Auto Mode"
hub: Komfovent
slave: 1
register: 3
command_on: 1
command_off: 0
- platform: modbus
registers:
- name: "Komfovent Power"
hub: Komfovent
slave: 1
register: 0
command_on: 1
command_off: 0
- platform: modbus
registers:
- name: "Komfovent Eco Mode"
hub: Komfovent
slave: 1
register: 2
command_on: 1
command_off: 0
---
sensor:
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Power"
hub: Komfovent
register: 0
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Eco"
hub: Komfovent
register: 2
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Auto"
hub: Komfovent
register: 3
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Mode"
hub: Komfovent
register: 4
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Shedule"
hub: Komfovent
register: 5
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Supply temperature 'C"
hub: Komfovent
register: 901
register_type: holding
unit_of_measurement: °C
scale: 0.1
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Extract temperature 'C"
hub: Komfovent
register: 902
register_type: holding
scale: 0.1
unit_of_measurement: °C
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Supply Flow '%"
hub: Komfovent
register: 905
count: 2
register_type: holding
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Extract Flow '%"
hub: Komfovent
register: 907
count: 2
register_type: holding
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Supply Fan Intensivity '%"
hub: Komfovent
register: 909
register_type: holding
scale: 0.1
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Extract Fan Intensivity '%"
hub: Komfovent
register: 910
register_type: holding
scale: 0.1
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Outdoor temperature 'C"
hub: Komfovent
register: 903
register_type: holding
unit_of_measurement: °C
scale: 0.1
precision: 1
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Filter Dirt, %"
hub: Komfovent
register: 918
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Filter Dirt, %"
hub: Komfovent
register: 917
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Filter Impurity, %"
hub: Komfovent
register: 916
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Heating power, W"
hub: Komfovent
register: 912
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Power consumption, W"
hub: Komfovent
register: 920
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Heating Recovery Day, kWh"
hub: Komfovent
register: 938
register_type: holding
count: 2
precision: 2
scale: 0.001
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Heating Recovery Month, kWh"
hub: Komfovent
register: 940
register_type: holding
count: 2
precision: 2
scale: 0.001
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Heating Recovery Total, kWh"
hub: Komfovent
register: 942
count: 2
register_type: holding
precision: 2
scale: 0.001
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Heat Recovery, W"
hub: Komfovent
register: 922
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Heat exchanger efficiency, %"
hub: Komfovent
register: 923
register_type: holding
scale: 0.1
precision: 2
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Energy saving, %"
hub: Komfovent
register: 924
register_type: holding
- platform: modbus
scan_interval: 10
registers:
- name: "Komfovent Specific power (SPI)"
hub: Komfovent
register: 925
register_type: holding
scale: 0.001
precision: 2
Lovelace
type: vertical-stack
name: Recuperation
cards:
- type: horizontal-stack
title: Recuperation
cards:
- type: button
entity: switch.komfovent_auto_mode
name: Auto
icon: 'mdi:atom-variant'
hold_action: more_info
- type: button
entity: switch.komfovent_eco_mode
name: Eco
icon: 'mdi:snowflake-variant'
hold_action: more-info
- type: horizontal-stack
cards:
- type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
address: 4
hub: Komfovent
unit: 1
value: 1
hold_action:
action: none
name: Away
show_name: true
icon: 'mdi:home-export-outline'
- type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
address: 4
hub: Komfovent
unit: 1
value: 2
hold_action:
action: none
name: Normal
show_name: true
icon: 'mdi:home-account'
- type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
address: 4
hub: Komfovent
unit: 1
value: 3
hold_action:
action: none
name: Intensive
show_name: true
icon: 'mdi:weather-windy'
- type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
address: 4
hub: Komfovent
unit: 1
value: 4
hold_action:
action: none
name: Boost
show_name: true
icon: 'mdi:fan'
- type: horizontal-stack
cards:
- type: sensor
entity: sensor.komfovent_outdoor_temperature_c
name: 'Outside, C'
icon: 'mdi:thermometer'
tap_action:
action: none
hold_action: more-info
- type: sensor
entity: sensor.komfovent_supply_temperature_c
name: 'Supply, C'
icon: 'mdi:home-import-outline'
tap_action:
action: none
hold_action: more-info
- type: sensor
entity: sensor.komfovent_extract_temperature_c
name: 'Extract, C'
icon: 'mdi:home-export-outline'
tap_action:
action: none
hold_action: more-info
- type: horizontal-stack
title: Maintenance
cards:
- type: sensor
entity: sensor.komfovent_supply_flow
name: 'Fan, %'
icon: 'mdi:fan'
tap_action:
action: none
hold_action: more-info
- type: sensor
entity: sensor.komfovent_filter_impurity
name: 'Filter, %'
icon: 'mdi:find-replace'
tap_action:
action: none
hold_action: more-info
- type: button
entity: switch.komfovent_power
name: Power
icon: 'mdi:power'
hold_action: more-info
- type: horizontal-stack
title: Schedule
cards:
- type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
address: 5
hub: Komfovent
unit: 1
value: 0
hold_action:
action: none
name: Stay at Home
show_name: true
icon: 'mdi:home-outline'
- type: button
tap_action:
action: call-service
service: modbus.write_register
service_data:
address: 5
hub: Komfovent
unit: 1
value: 1
hold_action:
action: none
name: Work week
show_name: true
icon: 'mdi:home-city-outline'
3 Likes
narnaliai:
mdi:snowflake-variant
This as very nice setup. Did you consider the multi value switch like a slider to for Register 4 to be able to switch for Away → Normal-> Kitchen … etc. ?
narnaliai
(narnaliai)
March 22, 2020, 4:57pm
12
No idea how
For me is needed colors on active modes and schedules.
No time to reserch now:)
narnaliai:
mdi:snowflake-variant
Yes, your solution is really nice. It resembles original C6.1 panel. I was looking into something more fancy. Also need to think how to adopt this in TileBoard. Anyway, good job.
zaibas01
(Tomas)
May 10, 2020, 9:37pm
14
what modbus over tcp are you using?
narnaliai
(narnaliai)
May 11, 2020, 6:36am
15
Build in is 6.2 standard controller. Nothing additional.
jaxer
(Alex)
September 8, 2020, 7:11pm
16
you are awesome, thanks!
i was able to merge registers into one platform:modbus sensor configuration item. not sure if that would decrease amount of polling it does.
MindaugasM
(Mindaugas Morkūnas)
October 4, 2020, 4:31pm
17
1 Like
madrian
(madrian)
October 6, 2020, 6:40pm
18
Hi. I am planning to buy a Komfovent recoperation system. In the PDF you linked there is a LAN connection to the recoperator itself? Is the C6 wall controller necessary to connect to HA?
MindaugasM
(Mindaugas Morkūnas)
October 6, 2020, 6:43pm
19
Hi, Today I got Komfovent. Wall controller isn’t necessary for HA.
P.S I don’t understand how to setup " kitchen" or “fireplace” modes, because for them is needed to set timers.
narnaliai
(narnaliai)
October 6, 2020, 7:26pm
20
They trigers max air mode for particular time. For me they are not needed. Maybe you can connect them for WC light switch