Salut à tous!
Tout d’abord un grand merci à tous les contributeurs de ce topic!
Je viens d’installer des clims chez moi et le fait de voir qu’il était possible de domotiser Mitsubishi via ESPHOME ça m’a aidé dans mon choix .
Je voulais faire un petit rex sur mon install car tout ne s’est pas déroulé comme prévu… si ça peut aider!
Tout d’abord :
- j’ai 4 splits MSZ-HR25VF, je me suis procuré sur amazon des ESP01 ainsi que les cartes adaptatrices évoquées dans le tuto.
- concernant les câbles, j’ai commandé sur aliexpress ce modèle : 5 pièces PAP-04V-S PAP-05V-S 24AWG PA 2MM PAP dupont 2.54 2.0MM PA2.0 2/3/4/5/6/7/8/9/10/12 Position rectangulaire boîtier connecteur - AliExpress 13
(dupont femelle en 30cm et 5p), une simple lame de cutter suffit pour remettre dans l’ordre les fils. - j’ai également trouvé sur Thingiverse un boitier qui s’adapte super bien à cette install : ESP-01 5V Converter Enclosure by clif123 - Thingiverse
suite aux derniers commentaires, j’ai opté pour la solution d’Eric Chavet, un grand merci à lui et aux prédecesseurs de cette solution !
Maintenant les « soucis » rencontrées :
-
problème de compilation, suite à des conflits de Bluetooth j’étais réticent à mettre à jour mon ESPHOME, et du coup j’avais des erreurs lors de la compilation du script, une fois la toute dernière MAJ faite, aucun soucis
-
Problème de communication, bien copier/coller la clé api donnée par esphome lors de l’intégration d’un nouveau module
-
dans ESPHOME, la première install du FW s’est bien déroulée, mais dès que j’ai voulu flasher le FW pour la clim il m’était impossible d’écrire sur la carte. A savoir : un simple débranchement de la carte puis rebranchement m’a résolu le soucis lors de la compilation/flash.
-
ensuite le problème le plus vicieux… sur mon modèle le RX et TX est inversée comparé au branchement évoqué dans ce tuto… ESPHOME m’indiquait que la carte n’était pas connecté
[E][CN105:032]: → Heatpump did not reply: NOT CONNECTED ←
et en inversant le RX/TX celà fonctionne ! heureusement que l’alim était ok…
voici mon code pour infos (peut être que l’inversion RX/TX est dû à la définition ci-dessous):
substitutions:
name: clim-ch-1
friendly_name: clim-ch-1
esphome:
name: ${name}
platform: ESP8266
board: esp01_1m
uart:
id: HP_UART
baud_rate: 2400
tx_pin: 1
rx_pin: 3
external_components:
- source: github://echavet/MitsubishiCN105ESPHome
ota:
- platform: esphome
password: "XXXXXXXX"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: none
manual_ip:
static_ip: 192.168.1.XX
gateway: 192.168.1.254
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "${friendly_name} ESP Fallback Hotspot"
password: "XXXXXXXXXXX"
captive_portal:
# Enable Web server.
web_server:
port: 80
# Enable logging
logger:
hardware_uart: UART1
level: INFO
logs:
EVT_SETS : INFO
WIFI : INFO
MQTT : INFO
WRITE_SETTINGS : INFO
SETTINGS : INFO
STATUS : INFO
CN105Climate: WARN
CN105: INFO
climate: WARN
sensor: WARN
chkSum : INFO
WRITE : WARN
READ : WARN
Header: INFO
Decoder : INFO
CONTROL_WANTED_SETTINGS: INFO
# level: DEBUG
# logs:
# EVT_SETS : DEBUG
# WIFI : INFO
# MQTT : INFO
# WRITE_SETTINGS : DEBUG
# SETTINGS : DEBUG
# STATUS : INFO
# CN105Climate: WARN
# CN105: DEBUG
# climate: WARN
# sensor: WARN
# chkSum : INFO
# WRITE : WARN
# READ : WARN
# Header: INFO
# Decoder : DEBUG
# CONTROL_WANTED_SETTINGS: DEBUG
# Sync time with Home Assistant.
time:
- platform: homeassistant
id: homeassistant_time
# Sensors with general information.
sensor:
# Uptime sensor.
- platform: uptime
name: ${name} Uptime
# WiFi Signal sensor.
- platform: wifi_signal
name: ${name} WiFi Signal
update_interval: 60s
# Text sensors with general information.
text_sensor:
# Expose ESPHome version as sensor.
- platform: version
name: ${name} ESPHome Version
# Expose WiFi information as sensors.
- platform: wifi_info
ip_address:
name: ${name} IP
ssid:
name: ${name} SSID
bssid:
name: ${name} BSSID
# Create a button to restart the unit from HomeAssistant. Rarely needed, but can be handy.
button:
- platform: restart
name: "Restart ${friendly_name}"
climate:
- platform: cn105
id: hp
name: "${friendly_name}"
icon: mdi:heat-pump
update_interval: 4s # Defaut 500ms
visual:
min_temperature: 15
max_temperature: 31
temperature_step:
target_temperature: 0.5
current_temperature: 0.1
compressor_frequency_sensor:
name: ${name} Compressor Frequency
vertical_vane_select:
name: ${name} Vertical Vane
horizontal_vane_select:
name: ${name} Horizontal Vane
isee_sensor:
name: ISEE Sensor
# The remote_temperature_timeout setting allows the unit to revert back to the internal temperature measurement
# if it does not receive an update in the specified time range (highly recommended if using remote temperature updates)
remote_temperature_timeout: 30min
# debounce_delay adds a small delay to the command processing to account for some HomeAssistant buttons that may send
# repeat commands too quickly. A shorter value creates a more responsive UI, a longer value protects against repeat commands
debounce_delay : 500ms
# Enable Home Assistant API
api:
encryption:
key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
services:
# Ajouter une valeur de température comme si c'était un capteur externe
# Créer une automatisation qui envoie la température d'un capteur
# chaque fois qu'une nouvelle valeur est détectée
- service: set_remote_temperature_clim_rdc
variables:
temperature: float
then:
# Select between the C version and the F version
# Uncomment just ONE of the below lines. The top receives the temperature value in C,
# the bottom receives the value in F, converting to C here.
- lambda: 'id(hp).set_remote_temperature(temperature);'
# - lambda: 'id(hp).set_remote_temperature((temperature - 32.0) * (5.0 / 9.0));'
# Revenir à l'utilisation du capteur interne
- service: use_internal_temperature_clim_rdc
then:
- lambda: 'id(hp).set_remote_temperature(0);'
En attendant de faire des scénarios plus évolués, tout semble fonctionner nickel ! Si ce petit REX peut aider certains !
Merci à tous en tout cas!
++
Seb