Oui y’a rien sur 1056 avec l’ESP sur l’adresse 2
Sinon peut-être explorer encore la liaison télécommande…
Faudrait voir si dans mes logs la télécommande a fait les mêmes requêtes de registres que la passerelle, pour voir si ces grands malades ont implémenté 3 modbus distincts…
Mais ça serait plus simple d’interroger en usb, il faut un câble usb mâle/mâle, ça court pas les rues
@visvic Je sais pas comment t’as eu le doc que t’as posté mais t’as pas moyen d’avoir une table plus complète ou à minima pour récupérer les températures mesurées des thermostats et l’état courant de fonctionnement (on a la position de vanne, mais ça ne dit pas si ça chauffe / refroidit à l’instant, ou pas) ?
On devrait pouvoir trouver les registres modbus en reverse engineerant le firmware, mais c’est plus vite dit que fait…
J’ai essayé de reverse le firmware avec le binaire de la mise à jour avec Ghidra pour activer la clim. J’ai trouvé le modèle exact du STM32 de la carte mère pour avoir le découpage de la mémoire. J’y ai passé pas mal de temps pour avoir quelques lignes d’assembleur mais j’ai jamais fait auparavant donc forcément c’est galère.
Surtout que même si t’avais tous les registres, après faut les interpréter, quand je vois tout ce qu’il y a avec la télécommande, c’est un sacré boulot.
Je pense que c’est plus simple d’espionner l’USB entre la passerelle et la carte mère, surtout que c’est vu comme une liaison série classique.
En attendant qu’on ait plus d’info, j’ai mis au propre celles qu’on avait, en activant la modifiction.
Les icones, classes et compagnie sont remplies donc ça doit apparaitre tout beau dans Home Assistant.
uart:
baud_rate: 19200
tx_pin: GPIO16
rx_pin: GPIO17
parity: EVEN
stop_bits: 1
modbus_controller:
- address: 0x1
update_interval: 10s
text_sensor:
###########################
# T.One AIR & T.One AquaAIR
- platform: modbus_controller
name: "Aiguillage vanne"
icon: mdi:valve
entity_category: diagnostic
register_type: holding
address: 0x0064
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
switch (value) {
case 0: return std::string("Etat initial");
case 1: return std::string("ECS");
case 2: return std::string("Air");
case 3: return std::string("Standby");
case 4: return std::string("Standby sécurité");
case 5: return std::string("En cours de modification");
default: return std::string("Unknown");
}
return x;
# - platform: modbus_controller
# name: "Mode Air"
# register_type: holding
# address: 0x007A
# raw_encode: HEXBYTES
# lambda: |-
# uint16_t value = modbus_controller::word_from_hex_str(x, 0);
# switch (value) {
# case 0: return std::string("Off");
# case 1: return std::string("Confort Chauffage");
# case 2: return std::string("Eco Chauffage");
# case 3: return std::string("Prog A Chauffage");
# case 4: return std::string("Prog B Chauffage");
# case 5: return std::string("Confort Clim");
# case 6: return std::string("Boost Clim");
# case 7: return std::string("Prog C Clim");
# case 8: return std::string("Prog D Clim");
# case 9: return std::string("Ventilation");
# default: return std::string("Unknown");
# }
# return x;
# - platform: modbus_controller
# name: "Mode ECS"
# register_type: holding
# address: 0x0071
# raw_encode: HEXBYTES
# lambda: |-
# uint16_t value = modbus_controller::word_from_hex_str(x, 0);
# switch (value) {
# case 0: return std::string("Off");
# case 1: return std::string("On");
# case 2: return std::string("Boost");
# default: return std::string("Unknown");
# }
# return x;
- platform: modbus_controller
name: "Etat filtre"
icon: mdi:air-filter
entity_category: diagnostic
register_type: holding
address: 0x0082
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
switch (value) {
case 0: return std::string("Bon");
case 1: return std::string("A changer");
default: return std::string("Unknown");
}
return x;
sensor:
###########################
# T.One AIR & T.One AquaAIR
- platform: modbus_controller
name: "Version logiciel régulateur"
entity_category: diagnostic
icon: mdi:package
register_type: holding
address: 0x0001
value_type: U_WORD
- platform: modbus_controller
name: "Identifiant IHM"
entity_category: diagnostic
icon: mdi:identifier
register_type: holding
address: 0x000E
value_type: U_DWORD
- platform: modbus_controller
name: "Date/Heure régulateur"
icon: mdi:calendar-clock
register_type: holding
address: 0x001D
value_type: U_DWORD
- platform: modbus_controller
name: "Température pièce principale"
entity_category: diagnostic
device_class: "temperature"
state_class: "measurement"
icon: mdi:thermometer
register_type: holding
address: 0x0078
value_type: S_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
name: "Volume restant ECS"
entity_category: diagnostic
device_class: "volume"
state_class: "measurement"
icon: mdi:hydraulic-oil-level
register_type: holding
address: 0x006E
value_type: U_WORD
unit_of_measurement: "L"
- platform: modbus_controller
id: consigne_ecs_lue
register_type: holding
address: 0x006F
value_type: U_WORD
accuracy_decimals: 1
unit_of_measurement: "°C"
filters:
- multiply: 0.01
- platform: modbus_controller
name: "Température ECS"
state_class: "measurement"
entity_category: diagnostic
device_class: "temperature"
icon: mdi:water-thermometer-outline
register_type: holding
address: 0x0070
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_1
internal: yes
register_type: holding
address: 0x96
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_2
register_type: holding
address: 0x97
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_3
register_type: holding
address: 0x98
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_4
register_type: holding
address: 0x99
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_5
register_type: holding
address: 0x9A
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_6
register_type: holding
address: 0x9B
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_7
register_type: holding
address: 0x9C
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_8
register_type: holding
address: 0x9D
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_9
register_type: holding
address: 0x9E
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_10
register_type: holding
address: 0x9F
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
name: "Tarif HP"
register_type: holding
address: 0xA0
value_type: U_WORD
unit_of_measurement: "€"
accuracy_decimals: 4
filters:
- multiply: 0.001
- platform: modbus_controller
name: "Tarif HC"
register_type: holding
address: 0xA1
value_type: U_WORD
unit_of_measurement: "€"
accuracy_decimals: 4
filters:
- multiply: 0.001
number:
- platform: modbus_controller
name: "Consigne ECS"
register_type: holding
address: 0x006F
value_type: U_WORD
step: 0.1
min_value: 7
max_value: 61
use_write_multiple: true
entity_category: config
unit_of_measurement: "°C"
icon: "mdi:thermostat"
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 1"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x96
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 2"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x97
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 3"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x98
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 4"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x99
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 5"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9A
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 6"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9B
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 7"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9C
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 8"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9D
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 9"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9E
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 10"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9F
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
select:
- platform: modbus_controller
name: "Mode Air"
icon: "mdi:air-conditioner"
entity_category: config
address: 0x007A
value_type: U_WORD
use_write_multiple: true
optionsmap:
"Off": 0
"Confort Chauffage": 1
"Eco Chauffage": 2
"Prog A Chauffage": 3
"Prog B Chauffage": 4
"Confort Clim" : 5
"Boost Clim" : 6
"Prog C Clim" : 7
"Prog D Clim" : 8
"Ventilation" : 9
- platform: modbus_controller
name: "Selection Mode ECS"
icon: "mdi:water-boiler"
entity_category: config
address: 0x0071
value_type: U_WORD
use_write_multiple: true
optionsmap:
"Off": 0
"On": 1
"Boost": 2
L’écriture marche bien alors ! Top !
Au pire, je me dis qu’on peut toujours mettre 1 ESP avec un capteur température dans chaque pièce où il y a un thermostat, et ensuite sous Home Assistant, utiliser un template climate pour regrouper le tout et qui sera beaucoup mieux que les number et select (dont on aura toujours besoin dans ESPHome par contre, vu que le climate template HA s’appuiera dessus). Ah et en fait on a déjà la température des thermostats 1a et 1b, c’est celle de la pièce principale
Sinon tu as un thermostat en trop, y’en a que 9, car il y a le 1a et le 1b, chez moi c’est la même valeur pour les 2, ça doit être pour un thermostat double pour les grands espaces ouverts.
Aussi, quel intérêt de garder les sensor des consignes de thermostat, vu qu’ils sont aussi en number maintenant ?
Enfin pour le filtre je suggère:
binary_sensor:
- platform: modbus_controller
name: "Filtre à changer"
register_type: holding
address: 0x0082
device_class: problem
Edit: bon taf pour les métadonnées, merci !
Les sensors permettent de mettre à jour les consignes si tu les changent via les thermostats muraux. Au début je les avais enlevées et c’était mis à jour qu’au démarrage.
Moi aussi j’ai séjour et cuisine ensemble mais ce sont les thermostats 1 et 3. Je pense que c’est l’installateur qui définit un seul thermostat pour deux bouches, donc suivant où il les a définis c’est pas forcément 1 et 2.
Je trouve dommage de devoir mettre plein d’esp en wifi dans chaque pièce juste pour une température, surtout qu’il faut les alimenter et y mettre un capteur de température fiable.
J’ai pris en compte ta remarque pour le filtre, c’est une bonne idée.
J’ai aussi ajouté les tarifs HP/HC en écriture.
Je pense qu’on est pas mal. Il reste peut-être à optimiser la lecture des registres continus avec register_count
(voir Optimizing modbus communications)
Voici la config complèe :
esphome:
name: aldes
esp32:
board: esp32dev
substitutions:
api_key: !secret esphome_api_key
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
web_server:
port: 80
local: true
ota:
api:
logger:
uart:
baud_rate: 19200
tx_pin: GPIO16
rx_pin: GPIO17
parity: EVEN
stop_bits: 1
modbus_controller:
- address: 0x1
update_interval: 10s
binary_sensor:
- platform: modbus_controller
name: "Filtre à changer"
icon: mdi:air-filter
register_type: holding
address: 0x0082
device_class: problem
text_sensor:
- platform: modbus_controller
name: "Aiguillage vanne"
icon: mdi:valve
entity_category: diagnostic
register_type: holding
address: 0x0064
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
switch (value) {
case 0: return std::string("Etat initial");
case 1: return std::string("ECS");
case 2: return std::string("Air");
case 3: return std::string("Standby");
case 4: return std::string("Standby sécurité");
case 5: return std::string("En cours de modification");
default: return std::string("Unknown");
}
return x;
sensor:
- platform: modbus_controller
name: "Version logiciel régulateur"
entity_category: diagnostic
icon: mdi:package
register_type: holding
address: 0x0001
value_type: U_WORD
- platform: modbus_controller
name: "Identifiant IHM"
entity_category: diagnostic
icon: mdi:identifier
register_type: holding
address: 0x000E
value_type: U_DWORD
- platform: modbus_controller
name: "Date et heure"
device_class: timestamp
entity_category: diagnostic
icon: mdi:calendar-clock
register_type: holding
address: 0x0010
value_type: U_DWORD
- platform: modbus_controller
name: "Température pièce principale"
entity_category: diagnostic
device_class: "temperature"
state_class: "measurement"
icon: mdi:thermometer
register_type: holding
address: 0x0078
value_type: S_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
name: "Volume restant ECS"
entity_category: diagnostic
device_class: "volume"
state_class: "measurement"
icon: mdi:hydraulic-oil-level
register_type: holding
address: 0x006E
value_type: U_WORD
unit_of_measurement: "L"
- platform: modbus_controller
id: consigne_ecs_lue
register_type: holding
address: 0x006F
value_type: U_WORD
accuracy_decimals: 1
unit_of_measurement: "°C"
filters:
- multiply: 0.01
- platform: modbus_controller
name: "Température ECS"
state_class: "measurement"
entity_category: diagnostic
device_class: "temperature"
icon: mdi:water-thermometer-outline
register_type: holding
address: 0x0070
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_1
internal: yes
register_type: holding
address: 0x96
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_2
register_type: holding
address: 0x97
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_3
register_type: holding
address: 0x98
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_4
register_type: holding
address: 0x99
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_5
register_type: holding
address: 0x9A
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_6
register_type: holding
address: 0x9B
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_7
register_type: holding
address: 0x9C
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_8
register_type: holding
address: 0x9D
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_9
register_type: holding
address: 0x9E
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: thermostat_10
register_type: holding
address: 0x9F
value_type: U_WORD
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
id: hp
register_type: holding
address: 0xA0
value_type: U_WORD
unit_of_measurement: "€"
accuracy_decimals: 4
filters:
- multiply: 0.001
- platform: modbus_controller
id: hc
register_type: holding
address: 0xA1
value_type: U_WORD
unit_of_measurement: "€"
accuracy_decimals: 4
filters:
- multiply: 0.001
number:
- platform: modbus_controller
name: "Consigne ECS"
register_type: holding
address: 0x006F
value_type: U_WORD
step: 0.1
min_value: 7
max_value: 61
use_write_multiple: true
entity_category: config
unit_of_measurement: "°C"
icon: "mdi:thermostat"
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 1"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x96
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 2"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x97
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 3"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x98
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 4"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x99
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 5"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9A
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 6"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9B
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 7"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9C
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 8"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9D
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 9"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9E
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Consigne thermostat 10"
icon: "mdi:thermostat"
entity_category: config
unit_of_measurement: "°C"
address: 0x9F
value_type: U_WORD
min_value: 0
max_value: 31
use_write_multiple: true
multiply: 100
- platform: modbus_controller
name: "Tarif HP"
icon: mdi:currency-eur
entity_category: config
mode: box
unit_of_measurement: "€"
address: 0xA0
value_type: U_WORD
min_value: 0.05
max_value: 1
use_write_multiple: true
multiply: 1000
step: 0.001
- platform: modbus_controller
name: "Tarif HC"
icon: mdi:currency-eur
entity_category: config
mode: box
unit_of_measurement: "€"
address: 0xA1
value_type: U_WORD
min_value: 0.05
max_value: 1
use_write_multiple: true
multiply: 1000
step: 0.001
select:
- platform: modbus_controller
name: "Mode Air"
icon: "mdi:air-conditioner"
entity_category: config
address: 0x007A
value_type: U_WORD
use_write_multiple: true
optionsmap:
"Off": 0
"Confort Chauffage": 1
"Eco Chauffage": 2
"Prog A Chauffage": 3
"Prog B Chauffage": 4
"Confort Clim" : 5
"Boost Clim" : 6
"Prog C Clim" : 7
"Prog D Clim" : 8
"Ventilation" : 9
- platform: modbus_controller
name: "Mode ECS"
icon: "mdi:water-boiler"
entity_category: config
address: 0x0071
value_type: U_WORD
use_write_multiple: true
optionsmap:
"Off": 0
"On": 1
"Boost": 2
@djtef Le mode ventilation marche chez toi ? Chez moi si je le mets, à la prochaine lecture il passe en éteint. Je ne connaissais pas l’existence de ce mode ni par la télécommande ni par AldesConnect. Un reliquat d’un autre appareil ou une fonctionnalité cachée ?
@djtef C’est tellement 1000 fois plus rapide qu’avec la passerelle et sûrement autant plus fiable…
- J’ai ajouté optimistic: true au select, de façon à ce que l’état se mette à jour immédiatement comme pour les autres.
- Et mis les tarifs en 5 décimales de façon à pouvoir avoir par ex 0.2068
- Pour les thermostats, j’ai mis min = 16 et laissé le max à 31. La fourchette de température n’est pas la même pour le chauffage (16° => 24°) et la clim (22° => 31°). L’idéal serait de pouvoir implémenter ça en dynamique selon le mode air, mais je ne crois pas qu’on puisse mettre une lambda ou une valeur dynamique dessus
Edit: les 5 décimales redeviennent 4 à la lecture Modbus
Non ça ne fonctionne pas non plus chez moi, je pensais que c’était lié à la clim car ça fait pareil avec chez moi, ça revient à off vu que je l’ai pas.
J’avais pas mis optimistic pour savoir si ça a bien été pris en compte. Par exemple si tu mets l’option optimistic et que tu choisis Ventilation, ça se met de suite, mais ça revient à off quand même à la prochaine lecture ?
Je me disais qu’il faudrait mettre un taux de rafraîchissement chaque minute mais forcer une lecture après une écriture dans le lambda pour savoir si c’est pris en compte.
On peut aussi dire de lire certains capteurs une fois sur 10, du genre les version, date, id…
J’avais mis une minimum à 0 pour mettre le thermostat à off sinon il faut créer un bouton qui envoie la commande à 0 pour chaque thermostat pour mettre off.
OK merci, dommage !
Oui, ça marche bien comme ça.
Sûrement, mais pour quoi faire ? J’imagine qu’il n’y a pas de limite sur le nombre de lectures, si ?
Ah je vois. Ça peut être pas mal les boutons, même si perso je laisse toujours à 16 ou 30 au lieu d’éteindre.
Non c’est juste histoire d’optimiser et réduire la probabilité d’erreur, j’ai vu que de temps en temps il y avait des ratés. Je me dis qu’il vaut mieux avoir les températures plus fréquentes et les valeurs fixes moins souvent.
Mais c’est du pinaillage.
Hello les amigos @djtef @guix77 !!!
Désolé, encore un week-end bien chargé en travaux …
Je vois que vous avancé un grand pas et c’est cool.
Concernant la documentation, on aura pas mieux que cela … Cela fait depuis le mois de Mai que je relance au moins une fois par semaine le support, et je n’ai jamais eu de réponses, autant dire qu’on aura jamais rien de plus … (même les américains sont moins pète sec que ca …)
@djtef , tu es chez quel fournisseur d’électricité toi ???



Bon va falloir que je commande de l’esp32 et du ttl/modbus. Mais je vais quand même essayé avec l’intégration ModBus de HA
Si vous avez besoin de rien, n’hésitez pas à me demander
Ah ah j’avais modifié pour tester que ça fonctionne, j’ai pas trouvé de bon plan