Amis aéroliciens,
je vous partage ma configuration pour une ventilation double-flux UNELVENT Domeo 210 avec pilotage MODBUS.
En plus de voir les états, ça permet de forcer le boost, bypass, modifier les températures de déclenchement, mettre en surpression (pour faciliter un feu de cheminée…)
Passerelle MODBUS:
La passerelle modbus est un Elfin EW11 Wi-Fi
Toujours bien maintenu côté firmware http://www.hi-flying.com/download-center-1/firmware-1/download-item-pw11-pw10-ew10-ew11-hf2211s-firmware
12€ en Chine, une version ethernet existe aussi (EW10)
On la connecte à son WiFi en mode STA après avoir pris la main dessus la première fois via son hotspot.
Port série:
Socket:
On oubliera pas de fixer l’IP soit manuellement en dehors de la plage DHCP, soit en figeant le bail sur son routeur.
Mettez le code ci-dessous dans un package afin d’y voir plus clair et d’avoir toute la partie VMC au même endroit sans éparpiller dans le yaml principal.
Pour ma part je l’ai placé dans un vmc.yaml situé dans le dossier packages du dossier config.
\config\packages\vmc.yaml
# VMC Domeo 210
# ModBus
modbus:
- name: VMCmodbus
type: tcp
host: 192.168.0.207
port: 8888
retries: 2
# Modbus thermo by-pass
climates: # defaut holding register
- name: VMC Température Extérieure By-pass
slave: 1
precision: 0
max_temp: 20
min_temp: 11
temp_step: 1
address: 22
target_temp_register: 22
scan_interval: 25
- name: VMC Témpérature Intérieure By-pass
slave: 1
precision: 0
max_temp: 30
min_temp: 21
temp_step: 1
address: 23
target_temp_register: 23
scan_interval: 25
- name: VMC durée By-pass
slave: 1
precision: 0
max_temp: 24
min_temp: 1
temp_step: 1
address: 24
target_temp_register: 24
temperature_unit: h
scan_interval: 25
- name: VMC durée filtre
slave: 1
precision: 0
max_temp: 24
min_temp: 1
temp_step: 1
address: 31
target_temp_register: 31
temperature_unit: mois
scan_interval: 25
- name: VMC Surpression
slave: 1
input_type: input
max_temp: 15
min_temp: 0
temp_step: 1
address: 8
target_temp_register: 8
scan_interval: 25
# default holding, definir type pour input coil
switches:
- name: VMC Absence
address: 7
write_type: coil
- name: VMC By-pass Auto
address: 8
write_type: coil
- name: VMC By-pass Manuel
address: 9
write_type: coil
- name: VMC reset filtre
address: 12
write_type: coil
- name: VMC Boost
address: 15
command_on: 1
command_off: 0
- name: VMC Boost Off #obligé de faire un switch dédié car l'état du précédent se reset à la mise ON puisque holding register et non coil
address: 15
command_on: 0
command_off: 0
# binary sensors, (discrete input, coil, holding, input), default coil
binary_sensors:
- name: VMC panne Moteur Extraction
address: 6
input_type: discrete_input
scan_interval: 2000
- name: VMC panne Moteur Insufflation
address: 7
input_type: discrete_input
scan_interval: 2000
- name: VMC panne Sonde Intérieure
address: 10
input_type: discrete_input
scan_interval: 2000
- name: VMC panne Sonde Rejet
address: 11
input_type: discrete_input
scan_interval: 2000
- name: VMC panne Sonde Extérieure
address: 12
input_type: discrete_input
scan_interval: 2000
- name: VMC panne Sonde Soufflage
address: 13
input_type: discrete_input
scan_interval: 2000
- name: VMC alarme filtre
address: 14
input_type: discrete_input
scan_interval: 2000
# sensors, (holding register, input register), default holding register
sensors:
- name: VMC état By-pass
address: 25
input_type: input
scan_interval: 25
- name: VMC état Boost
address: 15
input_type: input
scan_interval: 25
- name: VMC état Déphasage
address: 8
unit_of_measurement: "%"
scan_interval: 25
- name: VMC débit
address: 16
input_type: input
unit_of_measurement: m3/h
scan_interval: 25
- name: VMC RPM Entrant
address: 20
input_type: input
unit_of_measurement: RPM
scan_interval: 25
- name: VMC RPM Sortant
address: 19
input_type: input
unit_of_measurement: RPM
scan_interval: 25
- name: VMC Aspiration
address: 21
input_type: input
device_class: temperature
unit_of_measurement: °C
precision: 1
scale: 0.1
scan_interval: 25
- name: VMC Extraction # il semble y avoir une inversion dans la doc
address: 22
input_type: input
device_class: temperature
unit_of_measurement: °C
precision: 1
scale: 0.1
scan_interval: 25
- name: VMC Extérieur # il semble y avoir une inversion dans la doc
address: 23
input_type: input
device_class: temperature
unit_of_measurement: °C
precision: 1
scale: 0.1
scan_interval: 25
- name: VMC Insufflation
address: 24
input_type: input
device_class: temperature
unit_of_measurement: °C
precision: 1
scale: 0.1
scan_interval: 25
J’ai du enlever les lignes count 1 avec l’update 2023.10
Si vous voulez les mêmes icônes que moi, voilà la customization
sensor.vmc_debit:
icon: mdi:air-filter
sensor.vmc_etat_boost:
icon: mdi:fan
sensor.vmc_etat_by_pass:
icon: mdi:thermometer-alert
sensor.vmc_rpm_sortant:
icon: mdi:pinwheel
sensor.vmc_rpm_entrant:
icon: mdi:pinwheel-outline
sensor.vmc_etat_dephasage:
icon: mdi:contrast-circle
sensor.vmc_exterieur:
icon: mdi:tree
sensor.vmc_insufflation:
icon: mdi:bed-empty
sensor.vmc_aspiration:
icon: mdi:shower
sensor.vmc_extraction:
icon: mdi:home-roof
switch.vmc_by_pass_auto:
icon: mdi:home-thermometer-outline
switch.vmc_by_pass_manuel:
icon: mdi:home-thermometer
switch.vmc_boost:
icon: mdi:speedometer
switch.vmc_boost_off:
icon: mdi:speedometer-slow
Cette configuration est au format pour HA 2021.3. à partir de 2021.4 il sera possible d’intégrer les switchs et sensor sous la section modbus comme c’est déjà le cas pour climate.
Vous pouvez tout coller dans un autre yaml de type package et le déclarer.
à l’heure actuelle HA permet d’envoyer des ordres binaires, et en numérique mais uniquement via le module climate. On a donc une limitation sur les 3 commandes suivantes, qui s’afficheront en °C comme si c’était une température.
- VMC durée filtre (en mois)
- durée By-pass (en heures)
- VMC Surpression (en %) impossible d’envoyer une valeur négative en raison de la limitation, même en jouant avec l’option offset…
Notez que le capteur déphasage aura logiquement la même valeur que ce qui est configuré dans « surpression »
Vous trouverez des PDF avec les commandes à ces adresses
- passerelle VMC modbus / KNX
- Unelvent ventillation Modbus configuration - #16 by Diogo_Resende - Solutions - openHAB Community
- GitHub - FaBienPi/OpenHAB_VMC_modbus: Configuration of the Domeo ventillation with Modbus
Les valeurs de registre pour les capteurs de température des flux d’air entrant et sortant semblent inversées dans la doc d’après mes relevés. Vous noterez que les miennes sont donc différentes.
La config lovelace
cards:
- entities:
- entity: switch.vmc_absence
- entity: switch.vmc_boost
- entity: switch.vmc_boost_off
- entity: sensor.vmc_etat_boost
- entity: switch.vmc_by_pass_auto
- entity: switch.vmc_by_pass_manuel
- entity: sensor.vmc_etat_by_pass
- entity: sensor.vmc_exterieur
- entity: sensor.vmc_insufflation
- entity: sensor.vmc_aspiration
- entity: sensor.vmc_extraction
- entity: sensor.vmc_debit
- entity: sensor.vmc_rpm_entrant
- entity: sensor.vmc_rpm_sortant
- entity: sensor.vmc_etat_dephasage
- entity: climate.vmc_duree_by_pass
- entity: climate.vmc_temperature_exterieure_by_pass
- entity: climate.vmc_temperature_interieure_by_pass
- entity: climate.vmc_surpression
- entity: climate.vmc_duree_filtre
show_header_toggle: false
type: entities
- entities:
- entity: sensor.vmc_exterieur
- entity: sensor.vmc_insufflation
- entity: sensor.vmc_aspiration
- entity: sensor.vmc_extraction
hours_to_show: 24
refresh_interval: 0
type: history-graph
- inner:
colors:
- color: var(--label-badge-green)
entity: sensor.vmc_rpm_sortant
label: OUT
max: 3500
min: 0
outer:
colors:
- color: var(--label-badge-blue)
entity: sensor.vmc_rpm_entrant
label: IN
title: VMC RPM
type: custom:dual-gauge-card
title: VMC 🌀
type: vertical-stack
La dernière carte est une custom, dual-gauge
Notes:
- la commande moteur tout en haut de mon panneau est un relai sur la prise de courant, il n’est pas possible de couper le moteur via modbus.
- Pour activer le modbus il faut déplacer un jumper sur la carte, la commande filaire classique devient alors inutilisable
- Je n’ai pas mis la surveillance du filtre, je change quand j’y pense
Quelques automatisations:
-Si l’air soufflé dans les chambres est inférieur à 17° la nuit et que le moteur est on, couper le moteur (relais tiers de prise)
-Remettre le déphasage à 0 le matin
-Recevoir une alerte quand le bypass se déclenche
C’était mon 1er post
edit du 13 juillet 2021, maj conf pour HA 2021.7
edit du 18 octobre 2023 pour HA 2023.10, retrait des count:1 et de: #close_comm_on_error: true
#retry_on_empty: true