Incorrect data reported from Wavin AHC 9000 with the modbus module.
gudmmk opened this issue · 1 comments
I'm using your ESP32 Modbus Module that I recently purchased, I hooked it up to a Wavin AHC 9000 ventillation system after I had followed your guide on YouTube on flashing the module for the Wavin AHC 9000. The module is working great, but there are some discrepancies in the data that's being reported from the ventillation system.
There are 6 channels configured in the Wavin unit.
01: Living Room
03: Master Bedroom
04: Entrance
05: Bedroom 1
06: Bedroom 2
07: Bathroom
The first three issues I encountered are the following:
- Channel 07 reports the temperature as 0 °C. (The thermostat shows the correct temp for the room that it is in)
- Channel 06 is reporting the current temperature for Channel 07. (The thermostat shows the correct temp for the room that it is in)
- Channel 07 reports 0% as the thermostat battery status.
I replaced the batteries in the thermostat for Channel 07 and then I noticed that the battery status for the Channel 07 thermostat is reported as the battery status for the Channel 04 thermostat.
I'm a bit baffled by this, I'm not sure if this might be an issue with the way I did setup/configure the module or if this might be something in the Wavin unit itself.
Any thoughts on this?
Here's the YAML that I used to build the firmware and flash the modbus module with.
########################################################################################
# #
# WAVIN AHC-9000 FLOOR HEATING CONTROLLER SOFTWARE FOR HOME ASSISTANT #
# #
# Code developed by : Heine Koldbro Madsen and Samuel Sieb 2021 #
# #
# https://github.com/heinekmadsen/esphome_components/tree/main/components/wavinAhc9000 #
# #
# Hardware by : Mogens Groth Nicolaisen https://github.com/nic6911/Wavin-AHC-9000-mqtt #
# #
########################################################################################
########################################################################################
# CONFIGURATION PART OF YOUR CHOICE :) #
########################################################################################
substitutions:
# UNIQUE NAME FOR THE DEVICE
device: wavin # Case sensitive!!!
name: "Wavin AHC 9000" # "Friendly name" - not case sensitive!!!
# CHANNEL friendly names (If using spaces remember to add ")
channel_01_friendly_name: "Living Room"
channel_02_friendly_name: "Channel 02"
channel_03_friendly_name: "Master Bedroom"
channel_04_friendly_name: "Entrance"
channel_05_friendly_name: "Bedroom 1"
channel_06_friendly_name: "Bedroom 2"
channel_07_friendly_name: "Bathroom"
channel_08_friendly_name: "Channel 08"
channel_09_friendly_name: "Channel 09"
channel_10_friendly_name: "Channel 10"
channel_11_friendly_name: "Channel 11"
channel_12_friendly_name: "Channel 12"
channel_13_friendly_name: "Channel 13"
channel_14_friendly_name: "Channel 14"
channel_15_friendly_name: "Channel 15"
channel_16_friendly_name: "Channel 16"
channel_17_friendly_name: "Channel 17"
# CHANNEL ID´S (ONLY LOWER CASE LETTERS, NO SPACES) used for entity ids
channel_01_id: channel_01
channel_02_id: channel_02
channel_03_id: channel_03
channel_04_id: channel_04
channel_05_id: channel_05
channel_06_id: channel_06
channel_07_id: channel_07
channel_08_id: channel_08
channel_09_id: channel_09
channel_10_id: channel_10
channel_11_id: channel_11
channel_12_id: channel_12
channel_13_id: channel_13
channel_14_id: channel_14
channel_15_id: channel_15
channel_16_id: channel_16
channel_17_id: channel_17
# CHANNEL Alignments (ONLY change if you have offsets in channel vs temperature. Some have reported this if using multiple strings pr. room thermostat)
channel_01_sensor: "0x00"
channel_02_sensor: "0x01"
channel_03_sensor: "0x02"
channel_04_sensor: "0x03"
channel_05_sensor: "0x04"
channel_06_sensor: "0x05"
channel_07_sensor: "0x06"
channel_08_sensor: "0x07"
channel_09_sensor: "0x08"
channel_10_sensor: "0x09"
channel_11_sensor: "0x0A"
channel_12_sensor: "0x0B"
channel_13_sensor: "0x0C"
channel_14_sensor: "0x0D"
channel_15_sensor: "0x0E"
channel_16_sensor: "0x0F"
channel_17_sensor: "0x14"
channel_01: "0x00"
channel_02: "0x01"
channel_03: "0x02"
channel_04: "0x03"
channel_05: "0x04"
channel_06: "0x05"
channel_07: "0x06"
channel_08: "0x07"
channel_09: "0x08"
channel_10: "0x09"
channel_11: "0x0A"
channel_12: "0x0B"
channel_13: "0x0C"
channel_14: "0x0D"
channel_15: "0x0E"
channel_16: "0x0F"
channel_17: "0x14"
# UPDATE TIME (GATEWAY)
update_interval: 60s
# PIN DEFINITIONS (Should in most cases not be changed)
rx_pin: '20'
tx_pin: '21'
# WiFi settings
ssid_set: "<redacted>"
password_set: "<redacted>"
########################################################################################
# CODE BELOW SHOULD NOT BE CHANGED #
########################################################################################
esphome:
name: ${device}
esp32:
board: esp32-c3-devkitm-1
framework:
type: arduino
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
ota:
wifi:
ssid: ${ssid_set}
password: ${password_set}
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Wavin Fallback Hotspot"
password: "<redacted>"
captive_portal:
uart:
- id: uart_${device}
rx_pin: ${rx_pin}
tx_pin: ${tx_pin}
baud_rate: 38400
stop_bits: 1
parity: NONE
modbus:
- id: ${device}_modbus
uart_id: uart_${device}
flow_control_pin: 10
modbus_controller:
id: ${device}_modbus_controller
address: 1
modbus_id: wavin_modbus
update_interval: ${update_interval}
packages:
remote_package:
url: https://github.com/nic6911/esphome_components
ref: more_channels
files:
- components/wavinahc9000v2/configs/basic.yaml # REQUIRED FOR WAVIN AHC 9000
- components/wavinahc9000v2/configs/channel_01.yaml
#- components/wavinahc9000v2/configs/channel_01_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_02.yaml
#- components/wavinahc9000v2/configs/channel_02_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_03.yaml
#- components/wavinahc9000v2/configs/channel_03_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_04.yaml
#- components/wavinahc9000v2/configs/channel_04_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_05.yaml
#- components/wavinahc9000v2/configs/channel_05_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_06.yaml
#- components/wavinahc9000v2/configs/channel_06_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_07.yaml
#- components/wavinahc9000v2/configs/channel_07_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_08.yaml
#- components/wavinahc9000v2/configs/channel_08_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_09.yaml
#- components/wavinahc9000v2/configs/channel_09_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_10.yaml
#- components/wavinahc9000v2/configs/channel_10_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_11.yaml
#- components/wavinahc9000v2/configs/channel_11_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_12.yaml
#- components/wavinahc9000v2/configs/channel_12_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_13.yaml
#- components/wavinahc9000v2/configs/channel_13_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_14.yaml
#- components/wavinahc9000v2/configs/channel_14_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_15.yaml
#- components/wavinahc9000v2/configs/channel_15_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_16.yaml
#- components/wavinahc9000v2/configs/channel_16_comfort.yaml # Only for channels with thermostat with IR sensor
- components/wavinahc9000v2/configs/channel_17.yaml
refresh: 0s
Hi,
you have most likely two strings on one thermostat - which requires you to edit the offset section so that it does not try to read the channel thermostat that is not there.
Read more here: https://github.com/heinekmadsen/esphome_components