Integrer PAC Desjoyaux/Polytropic sous HA (Modbus)


ca c’est mon module wifi, à l’arriere de la PàC
j’ai trouvé un connecteur à l’avant avec les mêmes couleurs, et quand le le débranche, le carte wifi s’éteint, et le bluetooth aussi.

par contre, ca n’accroche pas, j’envoie mais il n’y a pas de retour.
j’ai ca dans les logs:


[17:27:52.872][VV][api.service:020]: on_device_info_request: {}
[17:27:52.904][VV][api.service:013]: send_message device_info_response: DeviceInfoResponse {
[17:27:52.904][VV][api.service:013]:   name: 'edge101'
[17:27:52.904][VV][api.service:013]:   mac_address: '80:F3:DA:6A:E4:D4'
[17:27:52.904][VV][api.service:013]:   esphome_version: '2026.4.3'
[17:27:52.904][VV][api.service:013]:   compilation_time: '2026-05-02 17:27:24 +0200'
[17:27:52.904][VV][api.service:013]:   model: 'esp32dev'
[17:27:52.904][VV][api.service:013]:   webserver_port: 80
[17:27:52.904][VV][api.service:013]:   manufacturer: 'Espressif'
[17:27:52.904][VV][api.service:013]:   friendly_name: 'DFRobot Edge101'
[17:27:52.904][VV][api.service:013]:   api_encryption_supported: YES
[17:27:52.904][VV][api.service:013]:  }
[17:27:52.907][VV][api.service:020]: on_list_entities_request: {}
[17:27:52.926][W][component:522]: api took a long time for an operation (177 ms), max is 30 ms
[17:27:52.926][I][app:154]: ESPHome version 2026.4.3 compiled on 2026-05-02 17:27:24 +0200
[17:27:52.926][I][app:161]: ESP32 Chip: ESP32 rev3.1, 2 core(s)
[17:27:52.938][W][app:174]: Chip rev >= 3.0 detected. Set minimum_chip_revision: "3.1" under esp32 > framework > advanced to reduce binary size
[17:27:52.959][W][app:201]: Bootloader supports SRAM1 as IRAM (+40KB). Set sram1_as_iram: true under esp32 > framework > advanced
[17:27:52.959][C][logger:219]: Logger:
[17:27:52.959][C][logger:219]:   Max Level: VERY_VERBOSE
[17:27:52.959][C][logger:219]:   Initial Level: VERY_VERBOSE
[17:27:52.959][C][logger:226]:   Log Baud Rate: 115200
[17:27:52.959][C][logger:226]:   Hardware UART: UART0
[17:27:52.971][C][logger:235]:   Task Log Buffer Size: 768 bytes
[17:27:53.004][W][logger:251]: VERY_VERBOSE logging is active — significant performance impact, short-term debugging only
[17:27:53.004][W][logger:251]:   May cause connection instability. Set log level to DEBUG or lower for long-term use.
[17:27:53.004][W][modbus:064]: Stop waiting for response from 17 328ms after last send
[17:27:53.004][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:27:53.007][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 4
[17:27:53.018][D][api:220]: Accept 192.168.1.25
[17:27:53.022][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.022][VV][api.service:013]:   object_id: ''
[17:27:53.022][VV][api.service:013]:   key: 1324261225
[17:27:53.022][VV][api.service:013]:   name: 'Uptime'
[17:27:53.022][VV][api.service:013]:   icon: 'mdi:timer-outline'
[17:27:53.022][VV][api.service:013]:   unit_of_measurement: 'd'
[17:27:53.022][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.022][VV][api.service:013]:   force_update: NO
[17:27:53.022][VV][api.service:013]:   device_class: 'duration'
[17:27:53.022][VV][api.service:013]:   state_class: STATE_CLASS_TOTAL_INCREASING
[17:27:53.022][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.022][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_DIAGNOSTIC
[17:27:53.022][VV][api.service:013]:  }
[17:27:53.067][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.067][VV][api.service:013]:   object_id: ''
[17:27:53.067][VV][api.service:013]:   key: 3836650599
[17:27:53.067][VV][api.service:013]:   name: 'PaC_#_47'
[17:27:53.067][VV][api.service:013]:   icon: ''
[17:27:53.067][VV][api.service:013]:   unit_of_measurement: ''
[17:27:53.067][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.067][VV][api.service:013]:   force_update: NO
[17:27:53.067][VV][api.service:013]:   device_class: ''
[17:27:53.067][VV][api.service:013]:   state_class: STATE_CLASS_NONE
[17:27:53.067][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.067][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_NONE
[17:27:53.067][VV][api.service:013]:  }
[17:27:53.082][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.082][VV][api.service:013]:   object_id: ''
[17:27:53.082][VV][api.service:013]:   key: 3853428180
[17:27:53.082][VV][api.service:013]:   name: 'PaC_#_57'
[17:27:53.082][VV][api.service:013]:   icon: ''
[17:27:53.082][VV][api.service:013]:   unit_of_measurement: ''
[17:27:53.082][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.082][VV][api.service:013]:   force_update: NO
[17:27:53.082][VV][api.service:013]:   device_class: ''
[17:27:53.082][VV][api.service:013]:   state_class: STATE_CLASS_NONE
[17:27:53.082][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.082][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_NONE
[17:27:53.082][VV][api.service:013]:  }
[17:27:53.116][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.116][VV][api.service:013]:   object_id: ''
[17:27:53.116][VV][api.service:013]:   key: 3853428187
[17:27:53.116][VV][api.service:013]:   name: 'PaC_#_58'
[17:27:53.116][VV][api.service:013]:   icon: ''
[17:27:53.116][VV][api.service:013]:   unit_of_measurement: ''
[17:27:53.116][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.116][VV][api.service:013]:   force_update: NO
[17:27:53.116][VV][api.service:013]:   device_class: ''
[17:27:53.116][VV][api.service:013]:   state_class: STATE_CLASS_NONE
[17:27:53.116][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.116][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_NONE
[17:27:53.116][VV][api.service:013]:  }
[17:27:53.149][VV][api.service:013]: send_message list_entities_done_response: ListEntitiesDoneResponse {}
[17:27:53.202][VV][api.noise:622]: 192.168.1.25 (192.168.1.25): Handshake complete!
[17:27:53.206][VV][api.service:017]: on_hello_request: HelloRequest {
[17:27:53.206][VV][api.service:017]:   client_info: 'Home Assistant 2026.4.4'
[17:27:53.206][VV][api.service:017]:   api_version_major: 1
[17:27:53.206][VV][api.service:017]:   api_version_minor: 14
[17:27:53.206][VV][api.service:017]:  }
[17:27:53.209][V][api.connection:1672]: Hello from client: 'Home Assistant 2026.4.4' | 192.168.1.25 | API Version 1.14
[17:27:53.212][D][api.connection:2409]: Home Assistant 2026.4.4 (192.168.1.25): connected
[17:27:53.214][VV][api.service:013]: send_message get_time_request: GetTimeRequest {}
[17:27:53.226][VV][api.service:013]: send_message hello_response: HelloResponse {
[17:27:53.226][VV][api.service:013]:   api_version_major: 1
[17:27:53.226][VV][api.service:013]:   api_version_minor: 14
[17:27:53.226][VV][api.service:013]:   server_info: '2026.4.3'
[17:27:53.226][VV][api.service:013]:   name: 'edge101'
[17:27:53.226][VV][api.service:013]:  }
[17:27:53.238][VV][api.service:017]: on_get_time_response: GetTimeResponse {
[17:27:53.238][VV][api.service:017]:   epoch_seconds: 1777735673
[17:27:53.238][VV][api.service:017]:   timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[17:27:53.238][VV][api.service:017]:   parsed_timezone: ParsedTimezone {
[17:27:53.238][VV][api.service:017]:   std_offset_seconds: -3600
[17:27:53.238][VV][api.service:017]:   dst_offset_seconds: -7200
[17:27:53.238][VV][api.service:017]:   dst_start: DSTRule {
[17:27:53.238][VV][api.service:017]:   time_seconds: 7200
[17:27:53.238][VV][api.service:017]:   day: 0
[17:27:53.238][VV][api.service:017]:   type: DST_RULE_TYPE_MONTH_WEEK_DAY
[17:27:53.238][VV][api.service:017]:   month: 3
[17:27:53.238][VV][api.service:017]:   week: 5
[17:27:53.238][VV][api.service:017]:   day_of_week: 0
[17:27:53.238][VV][api.service:017]:  }
[17:27:53.238][VV][api.service:017]:   dst_end: DSTRule {
[17:27:53.238][VV][api.service:017]:   time_seconds: 10800
[17:27:53.238][VV][api.service:017]:   day: 0
[17:27:53.238][VV][api.service:017]:   type: DST_RULE_TYPE_MONTH_WEEK_DAY
[17:27:53.238][VV][api.service:017]:   month: 10
[17:27:53.238][VV][api.service:017]:   week: 5
[17:27:53.238][VV][api.service:017]:   day_of_week: 0
[17:27:53.238][VV][api.service:017]:  }
[17:27:53.238][VV][api.service:017]:  }
[17:27:53.238][VV][api.service:017]:  }
[17:27:53.268][VV][time:060]: Got epoch 1777735673
[17:27:53.290][VV][api.service:020]: on_device_info_request: {}
[17:27:53.294][VV][api.service:013]: send_message device_info_response: DeviceInfoResponse {
[17:27:53.294][VV][api.service:013]:   name: 'edge101'
[17:27:53.294][VV][api.service:013]:   mac_address: '80:F3:DA:6A:E4:D4'
[17:27:53.294][VV][api.service:013]:   esphome_version: '2026.4.3'
[17:27:53.294][VV][api.service:013]:   compilation_time: '2026-05-02 17:27:24 +0200'
[17:27:53.294][VV][api.service:013]:   model: 'esp32dev'
[17:27:53.294][VV][api.service:013]:   webserver_port: 80
[17:27:53.294][VV][api.service:013]:   manufacturer: 'Espressif'
[17:27:53.294][VV][api.service:013]:   friendly_name: 'DFRobot Edge101'
[17:27:53.294][VV][api.service:013]:   api_encryption_supported: YES
[17:27:53.294][VV][api.service:013]:  }
[17:27:53.313][VV][api.service:020]: on_list_entities_request: {}
[17:27:53.317][W][component:522]: api took a long time for an operation (301 ms), max is 30 ms
[17:27:53.335][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 670ms after last send
[17:27:53.338][VV][api.service:020]: on_subscribe_states_request: {}
[17:27:53.352][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.352][VV][api.service:013]:   object_id: ''
[17:27:53.352][VV][api.service:013]:   key: 1324261225
[17:27:53.352][VV][api.service:013]:   name: 'Uptime'
[17:27:53.352][VV][api.service:013]:   icon: 'mdi:timer-outline'
[17:27:53.352][VV][api.service:013]:   unit_of_measurement: 'd'
[17:27:53.352][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.352][VV][api.service:013]:   force_update: NO
[17:27:53.352][VV][api.service:013]:   device_class: 'duration'
[17:27:53.352][VV][api.service:013]:   state_class: STATE_CLASS_TOTAL_INCREASING
[17:27:53.352][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.352][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_DIAGNOSTIC
[17:27:53.352][VV][api.service:013]:  }
[17:27:53.380][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.380][VV][api.service:013]:   object_id: ''
[17:27:53.380][VV][api.service:013]:   key: 3836650599
[17:27:53.380][VV][api.service:013]:   name: 'PaC_#_47'
[17:27:53.380][VV][api.service:013]:   icon: ''
[17:27:53.380][VV][api.service:013]:   unit_of_measurement: ''
[17:27:53.380][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.380][VV][api.service:013]:   force_update: NO
[17:27:53.380][VV][api.service:013]:   device_class: ''
[17:27:53.380][VV][api.service:013]:   state_class: STATE_CLASS_NONE
[17:27:53.380][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.380][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_NONE
[17:27:53.380][VV][api.service:013]:  }
[17:27:53.401][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.401][VV][api.service:013]:   object_id: ''
[17:27:53.401][VV][api.service:013]:   key: 3853428180
[17:27:53.401][VV][api.service:013]:   name: 'PaC_#_57'
[17:27:53.401][VV][api.service:013]:   icon: ''
[17:27:53.401][VV][api.service:013]:   unit_of_measurement: ''
[17:27:53.401][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.401][VV][api.service:013]:   force_update: NO
[17:27:53.401][VV][api.service:013]:   device_class: ''
[17:27:53.401][VV][api.service:013]:   state_class: STATE_CLASS_NONE
[17:27:53.401][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.401][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_NONE
[17:27:53.401][VV][api.service:013]:  }
[17:27:53.435][VV][api.service:013]: send_message list_entities_sensor_response: ListEntitiesSensorResponse {
[17:27:53.435][VV][api.service:013]:   object_id: ''
[17:27:53.435][VV][api.service:013]:   key: 3853428187
[17:27:53.435][VV][api.service:013]:   name: 'PaC_#_58'
[17:27:53.435][VV][api.service:013]:   icon: ''
[17:27:53.435][VV][api.service:013]:   unit_of_measurement: ''
[17:27:53.435][VV][api.service:013]:   accuracy_decimals: 0
[17:27:53.435][VV][api.service:013]:   force_update: NO
[17:27:53.435][VV][api.service:013]:   device_class: ''
[17:27:53.435][VV][api.service:013]:   state_class: STATE_CLASS_NONE
[17:27:53.435][VV][api.service:013]:   disabled_by_default: NO
[17:27:53.435][VV][api.service:013]:   entity_category: ENTITY_CATEGORY_NONE
[17:27:53.435][VV][api.service:013]:  }
[17:27:53.467][VV][api.service:013]: send_message list_entities_done_response: ListEntitiesDoneResponse {}
[17:27:53.490][C][uart.idf:254]: UART Bus 1:
[17:27:53.493][C][uart.idf:152]:   TX Pin: GPIO17
[17:27:53.501][C][uart.idf:152]:   RX Pin: GPIO36
[17:27:53.504][C][uart.idf:259]:   RX Buffer Size: 256
[17:27:53.504][C][uart.idf:259]:   RX Full Threshold: 8
[17:27:53.504][C][uart.idf:259]:   RX Timeout: 2
[17:27:53.512][C][uart.idf:268]:   Baud Rate: 9600 baud
[17:27:53.512][C][uart.idf:268]:   Data Bits: 8
[17:27:53.512][C][uart.idf:268]:   Parity: NONE
[17:27:53.512][C][uart.idf:268]:   Stop bits: 1
[17:27:53.512][C][uart.idf:268]:   Wake on data RX: ENABLED
[17:27:53.515][V][modbus:104]: Received first byte 17 (0X11) 179ms after last send
[17:27:53.518][VV][modbus:107]: Received byte 3 (0X3) 182ms after last send
[17:27:53.523][VV][modbus:107]: Received byte 0 (0X0) 187ms after last send
[17:27:53.526][VV][modbus:107]: Received byte 47 (0X2f) 190ms after last send
[17:27:53.534][VV][modbus:107]: Received byte 0 (0X0) 198ms after last send
[17:27:53.545][W][modbus:220]: CRC check failed 209ms after last send
[17:27:53.556][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:27:53.559][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 223ms after last send
[17:27:53.562][V][modbus:104]: Received first byte 1 (0X1) 225ms after last send
[17:27:53.567][VV][modbus:107]: Received byte 183 (0Xb7) 232ms after last send
[17:27:53.570][VV][modbus:107]: Received byte 83 (0X53) 235ms after last send
[17:27:53.582][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.582][VV][api.service:013]:   key: 1324261225
[17:27:53.582][VV][api.service:013]:   state: 4.27546e-05
[17:27:53.582][VV][api.service:013]:   missing_state: NO
[17:27:53.582][VV][api.service:013]:  }
[17:27:53.601][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.601][VV][api.service:013]:   key: 3836650599
[17:27:53.601][VV][api.service:013]:   state: nan
[17:27:53.601][VV][api.service:013]:   missing_state: YES
[17:27:53.601][VV][api.service:013]:  }
[17:27:53.612][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.612][VV][api.service:013]:   key: 3853428180
[17:27:53.612][VV][api.service:013]:   state: nan
[17:27:53.612][VV][api.service:013]:   missing_state: YES
[17:27:53.612][VV][api.service:013]:  }
[17:27:53.623][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.623][VV][api.service:013]:   key: 3853428187
[17:27:53.623][VV][api.service:013]:   state: nan
[17:27:53.623][VV][api.service:013]:   missing_state: YES
[17:27:53.623][VV][api.service:013]:  }
[17:27:53.635][VV][api.service:020]: on_subscribe_states_request: {}
[17:27:53.639][C][uart.idf:254]: UART Bus 2:
[17:27:53.645][C][uart.idf:152]:   TX Pin: GPIO15
[17:27:53.648][C][uart.idf:152]:   RX Pin: GPIO14
[17:27:53.656][C][uart.idf:259]:   RX Buffer Size: 256
[17:27:53.656][C][uart.idf:259]:   RX Full Threshold: 8
[17:27:53.656][C][uart.idf:259]:   RX Timeout: 2
[17:27:53.659][C][uart.idf:268]:   Baud Rate: 9600 baud
[17:27:53.659][C][uart.idf:268]:   Data Bits: 8
[17:27:53.659][C][uart.idf:268]:   Parity: NONE
[17:27:53.659][C][uart.idf:268]:   Stop bits: 1
[17:27:53.659][C][uart.idf:268]:   Wake on data RX: ENABLED
[17:27:53.668][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 332ms after last send
[17:27:53.679][W][modbus:064]: Stop waiting for response from 17 343ms after last send
[17:27:53.690][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:27:53.701][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 5
[17:27:53.706][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.706][VV][api.service:013]:   key: 1324261225
[17:27:53.706][VV][api.service:013]:   state: 4.27546e-05
[17:27:53.706][VV][api.service:013]:   missing_state: NO
[17:27:53.706][VV][api.service:013]:  }
[17:27:53.714][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.714][VV][api.service:013]:   key: 3836650599
[17:27:53.714][VV][api.service:013]:   state: nan
[17:27:53.714][VV][api.service:013]:   missing_state: YES
[17:27:53.714][VV][api.service:013]:  }
[17:27:53.723][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.723][VV][api.service:013]:   key: 3853428180
[17:27:53.723][VV][api.service:013]:   state: nan
[17:27:53.723][VV][api.service:013]:   missing_state: YES
[17:27:53.723][VV][api.service:013]:  }
[17:27:53.734][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:27:53.734][VV][api.service:013]:   key: 3853428187
[17:27:53.734][VV][api.service:013]:   state: nan
[17:27:53.734][VV][api.service:013]:   missing_state: YES
[17:27:53.734][VV][api.service:013]:  }
[17:27:53.746][C][modbus:321]: Modbus:
[17:27:53.746][C][modbus:321]:   Send Wait Time: 250 ms
[17:27:53.746][C][modbus:321]:   Turnaround Time: 100 ms
[17:27:53.746][C][modbus:321]:   Frame Delay: 5 ms
[17:27:53.746][C][modbus:321]:   Long Rx Buffer Delay: 10 ms
[17:27:53.746][C][modbus:321]:   CRC Disabled: NO
[17:27:53.757][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 421ms after last send
[17:27:53.768][C][uptime.sensor:017]: Uptime Sensor 'Uptime'
[17:27:53.768][C][uptime.sensor:017]:   State Class: 'total_increasing'
[17:27:53.768][C][uptime.sensor:017]:   Unit of Measurement: 'd'
[17:27:53.768][C][uptime.sensor:017]:   Accuracy Decimals: 0
[17:27:53.778][C][uptime.sensor:232]:   Device Class: 'duration'
[17:27:53.790][C][uptime.sensor:223]:   Icon: 'mdi:timer-outline'
[17:27:53.792][C][uptime.sensor:019]:   Type: Seconds
[17:27:53.801][V][modbus:104]: Received first byte 17 (0X11) 33ms after last send
[17:27:53.812][VV][modbus:107]: Received byte 3 (0X3) 44ms after last send
[17:27:53.815][VV][modbus:107]: Received byte 0 (0X0) 46ms after last send
[17:27:53.824][VV][modbus:107]: Received byte 47 (0X2f) 55ms after last send
[17:27:53.827][VV][modbus:107]: Received byte 0 (0X0) 59ms after last send
[17:27:53.834][W][modbus:220]: CRC check failed 66ms after last send
[17:27:53.837][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:27:53.846][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 77ms after last send
[17:27:53.848][V][modbus:104]: Received first byte 1 (0X1) 81ms after last send
[17:27:53.856][VV][modbus:107]: Received byte 183 (0Xb7) 89ms after last send
[17:27:53.859][VV][modbus:107]: Received byte 83 (0X53) 90ms after last send
[17:27:53.868][C][homeassistant.time:010]: Home Assistant Time
[17:27:53.870][C][time:049]: Timezone: UTC+1:00 (DST UTC+2:00)
[17:27:53.879][C][time:055]: Current time: 2026-05-02 17:27:52
[17:27:53.890][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 122ms after last send
[17:27:53.893][C][modbus_controller:471]: ModbusController:
[17:27:53.893][C][modbus_controller:471]:   Address: 0x11
[17:27:53.893][C][modbus_controller:471]:   Max Command Retries: 4
[17:27:53.893][C][modbus_controller:471]:   Offline Skip Updates: 0
[17:27:53.893][C][modbus_controller:471]:   Server Courtesy Response:
[17:27:53.893][C][modbus_controller:471]:     Enabled: false
[17:27:53.893][C][modbus_controller:471]:     Register Last Address: 0xFFFF
[17:27:53.893][C][modbus_controller:471]:     Register Value: 0
[17:27:53.912][C][modbus_controller:485]: sensormap
[17:27:53.914][C][modbus_controller:487]:  Sensor type=3 start=0x2F offset=0x0 count=1 size=2
[17:27:53.923][C][modbus_controller:487]:  Sensor type=3 start=0x39 offset=0x0 count=1 size=2
[17:27:53.946][C][modbus_controller:487]:  Sensor type=3 start=0x39 offset=0x2 count=1 size=2
[17:27:53.948][C][modbus_controller:491]: ranges
[17:27:53.951][C][modbus_controller:493]:   Range type=3 start=0x2F count=1 skip_updates=0
[17:27:53.956][C][modbus_controller:493]:   Range type=3 start=0x39 count=2 skip_updates=0
[17:27:53.967][C][modbus_controller:496]: server registers
[17:27:53.971][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'PaC_#_47'
[17:27:53.971]modbus_controller.sensor  State Class: ''
[17:27:53.971]modbus_controller.sensor  Unit of Measurement: ''
[17:27:53.971]modbus_controller.sensor  Accuracy Decimals: 0
[17:27:53.990][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'PaC_#_57'
[17:27:53.990]modbus_controller.sensor  State Class: ''
[17:27:53.990]modbus_controller.sensor  Unit of Measurement: ''
[17:27:53.990]modbus_controller.sensor  Accuracy Decimals: 0
[17:27:54.001][C][modbus_controller.sensor:017]: modbus_controller.sensorModbus Controller Sensor 'PaC_#_58'
[17:27:54.001]modbus_controller.sensor  State Class: ''
[17:27:54.001]modbus_controller.sensor  Unit of Measurement: ''
[17:27:54.001]modbus_controller.sensor  Accuracy Decimals: 0
[17:27:54.023][C][ethernet:444]: Ethernet:
[17:27:54.023][C][ethernet:444]:   Connected: YES
[17:27:54.035][C][ethernet:728]:   IP Address: 192.168.1.39
[17:27:54.035][C][ethernet:728]:   Hostname: 'edge101'
[17:27:54.035][C][ethernet:728]:   Subnet: 255.255.255.0
[17:27:54.035][C][ethernet:728]:   Gateway: 192.168.1.1
[17:27:54.035][C][ethernet:728]:   DNS1: 192.168.1.2
[17:27:54.035][C][ethernet:728]:   DNS2: 1.1.1.1
[17:27:54.035][C][ethernet:728]:   MAC Address: 80:F3:DA:6A:E4:D7
[17:27:54.035][C][ethernet:728]:   Is Full Duplex: YES
[17:27:54.035][C][ethernet:728]:   Link Speed: 100
[17:27:54.056][C][ethernet:475]:   Power Pin: 2
[17:27:54.059][C][ethernet:477]:   CLK Pin: 0
[17:27:54.059][C][ethernet:477]:   MDC Pin: 4
[17:27:54.059][C][ethernet:477]:   MDIO Pin: 13
[17:27:54.059][C][ethernet:477]:   PHY addr: 1
[17:27:54.067][C][ethernet:484]:   Type: IP101
[17:27:54.082][W][modbus:064]: Stop waiting for response from 17 311ms after last send
[17:27:54.090][W][modbus_controller:027]: Modbus device=17 set offline
[17:27:54.093][D][modbus_controller:039]: Modbus command to device=17 register=0x2F no response received - removed from send queue
[17:27:54.101][C][web_server:447]: Web Server:
[17:27:54.101][C][web_server:447]:   Address: 192.168.1.39:80
[17:27:54.104][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:27:54.112][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 1
[17:27:54.117][C][esphome.ota:071]: Over-The-Air updates:
[17:27:54.117][C][esphome.ota:071]:   Address: 192.168.1.39:3232
[17:27:54.117][C][esphome.ota:071]:   Version: 2
[17:27:54.134][C][esphome.ota:078]:   Password configured
[17:27:54.137][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 369ms after last send
[17:27:54.146][C][safe_mode:026]: Safe Mode:
[17:27:54.146][C][safe_mode:026]:   Successful after: 60s
[17:27:54.146][C][safe_mode:026]:   Invoke after: 10 attempts
[17:27:54.146][C][safe_mode:026]:   Duration: 300s
[17:27:54.156][C][safe_mode:043]:   Bootloader rollback: not supported
[17:27:54.162][V][modbus:104]: Received first byte 17 (0X11) 16ms after last send
[17:27:54.165][VV][modbus:107]: Received byte 3 (0X3) 20ms after last send
[17:27:54.169][VV][modbus:107]: Received byte 0 (0X0) 24ms after last send
[17:27:54.179][VV][modbus:107]: Received byte 57 (0X39) 34ms after last send
[17:27:54.182][VV][modbus:107]: Received byte 0 (0X0) 36ms after last send
[17:27:54.190][W][modbus:220]: CRC check failed 45ms after last send
[17:27:54.193][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:27:54.201][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 56ms after last send
[17:27:54.204][V][modbus:104]: Received first byte 2 (0X2) 58ms after last send
[17:27:54.212][VV][modbus:107]: Received byte 22 (0X16) 67ms after last send
[17:27:54.223][VV][modbus:107]: Received byte 150 (0X96) 78ms after last send
[17:27:54.227][C][api:235]: Server:
[17:27:54.227][C][api:235]:   Address: 192.168.1.39:6053
[17:27:54.227][C][api:235]:   Listen backlog: 4
[17:27:54.227][C][api:235]:   Max connections: 8
[17:27:54.245][C][api:242]:   Noise encryption: YES
[17:27:54.248][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 103ms after last send
[17:27:54.251][C][mdns:194]: mDNS:
[17:27:54.251][C][mdns:194]:   Hostname: edge101
[17:27:54.256][V][mdns:199]:   Services:
[17:27:54.259][V][mdns:201]:   - _esphomelib, _tcp, 6053
[17:27:54.261][V][mdns:204]:     TXT: friendly_name = DFRobot Edge101
[17:27:54.267][V][mdns:204]:     TXT: version = 2026.4.3
[17:27:54.278][V][mdns:204]:     TXT: mac = 80f3da6ae4d4
[17:27:54.281][V][mdns:204]:     TXT: platform = ESP32
[17:27:54.283][V][mdns:204]:     TXT: board = esp32dev
[17:27:54.289][V][mdns:204]:     TXT: network = ethernet
[17:27:54.292][V][mdns:204]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[17:27:54.301][V][mdns:201]:   - _http, _tcp, 80
[17:27:54.416][W][modbus:064]: Stop waiting for response from 17 271ms after last send
[17:27:54.420][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:27:54.423][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 2
[17:27:54.426][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 281ms after last send
[17:27:54.435][V][modbus:104]: Received first byte 17 (0X11) 7ms after last send
[17:27:54.438][VV][modbus:107]: Received byte 3 (0X3) 10ms after last send
[17:27:54.441][VV][modbus:107]: Received byte 0 (0X0) 12ms after last send
[17:27:54.444][VV][modbus:107]: Received byte 57 (0X39) 15ms after last send
[17:27:54.447][VV][modbus:107]: Received byte 0 (0X0) 18ms after last send
[17:27:54.450][W][modbus:220]: CRC check failed 21ms after last send
[17:27:54.452][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:27:54.459][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 31ms after last send
[17:27:54.462][V][modbus:104]: Received first byte 2 (0X2) 33ms after last send
[17:27:54.474][VV][modbus:107]: Received byte 22 (0X16) 42ms after last send
[17:27:54.475][VV][modbus:107]: Received byte 150 (0X96) 44ms after last send
[17:27:54.497][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:27:54.692][W][modbus:064]: Stop waiting for response from 17 263ms after last send
[17:27:54.695][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:27:54.698][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 3
[17:27:54.701][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 273ms after last send
[17:27:54.710][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:27:54.713][VV][modbus:107]: Received byte 3 (0X3) 8ms after last send
[17:27:54.716][VV][modbus:107]: Received byte 0 (0X0) 11ms after last send
[17:27:54.718][VV][modbus:107]: Received byte 57 (0X39) 13ms after last send
[17:27:54.723][VV][modbus:107]: Received byte 0 (0X0) 19ms after last send
[17:27:54.725][W][modbus:220]: CRC check failed 22ms after last send
[17:27:54.728][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:27:54.734][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 30ms after last send
[17:27:54.737][V][modbus:104]: Received first byte 2 (0X2) 32ms after last send
[17:27:54.745][VV][modbus:107]: Received byte 22 (0X16) 41ms after last send
[17:27:54.748][VV][modbus:107]: Received byte 150 (0X96) 43ms after last send
[17:27:54.774][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:27:54.967][W][modbus:064]: Stop waiting for response from 17 263ms after last send
[17:27:54.971][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:27:54.974][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 4
[17:27:54.977][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 273ms after last send
[17:27:54.986][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:27:54.989][VV][modbus:107]: Received byte 3 (0X3) 9ms after last send
[17:27:54.991][VV][modbus:107]: Received byte 0 (0X0) 12ms after last send
[17:27:54.994][VV][modbus:107]: Received byte 57 (0X39) 14ms after last send
[17:27:54.997][VV][modbus:107]: Received byte 0 (0X0) 17ms after last send
[17:27:55.000][W][modbus:220]: CRC check failed 20ms after last send
[17:27:55.008][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:27:55.010][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 31ms after last send
[17:27:55.013][V][modbus:104]: Received first byte 2 (0X2) 33ms after last send
[17:27:55.030][VV][modbus:107]: Received byte 22 (0X16) 50ms after last send
[17:27:55.033][VV][modbus:107]: Received byte 150 (0X96) 53ms after last send
[17:27:55.057][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 77ms after last send
[17:27:55.254][W][modbus:064]: Stop waiting for response from 17 274ms after last send
[17:27:55.258][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:27:55.261][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 5
[17:27:55.264][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 284ms after last send
[17:27:55.273][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:27:55.276][VV][modbus:107]: Received byte 3 (0X3) 9ms after last send
[17:27:55.279][VV][modbus:107]: Received byte 0 (0X0) 12ms after last send
[17:27:55.281][VV][modbus:107]: Received byte 57 (0X39) 15ms after last send
[17:27:55.286][VV][modbus:107]: Received byte 0 (0X0) 19ms after last send
[17:27:55.289][W][modbus:220]: CRC check failed 22ms after last send
[17:27:55.291][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:27:55.297][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 30ms after last send
[17:27:55.300][V][modbus:104]: Received first byte 2 (0X2) 33ms after last send
[17:27:55.308][VV][modbus:107]: Received byte 22 (0X16) 41ms after last send
[17:27:55.311][VV][modbus:107]: Received byte 150 (0X96) 43ms after last send
[17:27:55.336][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:27:55.533][W][modbus:064]: Stop waiting for response from 17 265ms after last send
[17:27:55.536][D][modbus_controller:039]: Modbus command to device=17 register=0x39 no response received - removed from send queue
[17:28:12.501][VV][app:471]: ethernet loop enabled from ISR
[17:28:12.505][VV][app:471]: logger loop enabled from ISR
[17:28:12.509][VV][component:292]: ethernet loop disabled
[17:28:12.511][VV][web_server_idf:219][httpd]: Enter AsyncWebServer::request_handler. method=1, uri=/
[17:28:12.514][VV][component:292]: logger loop disabled
[17:28:12.594][VV][app:471]: logger loop enabled from ISR
[17:28:12.599][VV][web_server_idf:219][httpd]: Enter AsyncWebServer::request_handler. method=1, uri=/events
[17:28:12.603][VV][app:471]: web_server loop enabled from ISR
[17:28:12.610][VV][component:292]: logger loop disabled
[17:28:32.823][VV][api.service:020]: on_ping_request: {}
[17:28:32.827][VV][api.service:013]: send_message ping_response: PingResponse {}
[17:28:33.288][VV][api.service:020]: on_ping_request: {}
[17:28:33.292][VV][api.service:013]: send_message ping_response: PingResponse {}
[17:28:48.279][I][safe_mode:091]: Boot seems successful; resetting boot loop counter
[17:28:48.283][VV][preferences:043]: s_pending_save: key: 233825507, len: 4
[17:28:48.342][VV][component:292]: safe_mode loop disabled
[17:28:48.345][W][component:522]: safe_mode took a long time for an operation (67 ms), max is 30 ms
[17:28:51.801][V][modbus_controller:354]: Updating modbus component
[17:28:51.805][VV][modbus_controller:358]: Updating range 0x2F
[17:28:51.808][V][modbus_controller:320]: Range : 2F Size: 1 (3) skip: 0
[17:28:51.812][VV][modbus_controller:358]: Updating range 0x39
[17:28:51.815][V][modbus_controller:320]: Range : 39 Size: 2 (3) skip: 0
[17:28:51.820][V][sensor:077]: 'Uptime': Received new state 63.680000
[17:28:51.824][VV][sensor.filter:023]: Filter(0x3ffb28fc)::input(63.680000)
[17:28:51.828][VV][sensor.filter:030]: Filter(0x3ffb28fc)::output(0.000737) -> SENSOR
[17:28:51.832][V][sensor:125]: 'Uptime' >> 0 d
[17:28:51.838][V][preferences:121]: Saving 1 items...
[17:28:51.842][VV][preferences:129]: Checking if NVS data 233825507 has changed
[17:28:51.852][V][preferences:132]: sync: key: 233825507, len: 4
[17:28:51.855][D][preferences:152]: Writing 1 items: 0 cached, 1 written, 0 failed
[17:28:51.859][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:28:51.863][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 1
[17:28:51.867][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 56599ms after last send
[17:28:51.876][V][modbus:104]: Received first byte 17 (0X11) 4ms after last send
[17:28:51.879][VV][modbus:107]: Received byte 3 (0X3) 7ms after last send
[17:28:51.883][VV][modbus:107]: Received byte 0 (0X0) 11ms after last send
[17:28:51.895][VV][modbus:107]: Received byte 47 (0X2f) 22ms after last send
[17:28:51.898][VV][modbus:107]: Received byte 0 (0X0) 27ms after last send
[17:28:51.905][W][modbus:220]: CRC check failed 33ms after last send
[17:28:51.908][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:28:51.911][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 40ms after last send
[17:28:51.927][V][modbus:104]: Received first byte 1 (0X1) 55ms after last send
[17:28:51.930][VV][modbus:107]: Received byte 183 (0Xb7) 59ms after last send
[17:28:51.938][VV][modbus:107]: Received byte 83 (0X53) 66ms after last send
[17:28:51.945][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:28:51.945][VV][api.service:013]:   key: 1324261225
[17:28:51.945][VV][api.service:013]:   state: 0.000737037
[17:28:51.945][VV][api.service:013]:   missing_state: NO
[17:28:51.945][VV][api.service:013]:  }
[17:28:51.952][VV][api.service:013]: send_message sensor_state_response: SensorStateResponse {
[17:28:51.952][VV][api.service:013]:   key: 1324261225
[17:28:51.952][VV][api.service:013]:   state: 0.000737037
[17:28:51.952][VV][api.service:013]:   missing_state: NO
[17:28:51.952][VV][api.service:013]:  }
[17:28:51.972][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 100ms after last send
[17:28:52.134][W][modbus:064]: Stop waiting for response from 17 262ms after last send
[17:28:52.138][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:28:52.142][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 2
[17:28:52.146][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 274ms after last send
[17:28:52.155][V][modbus:104]: Received first byte 17 (0X11) 7ms after last send
[17:28:52.158][VV][modbus:107]: Received byte 3 (0X3) 11ms after last send
[17:28:52.161][VV][modbus:107]: Received byte 0 (0X0) 14ms after last send
[17:28:52.165][VV][modbus:107]: Received byte 47 (0X2f) 17ms after last send
[17:28:52.168][VV][modbus:107]: Received byte 0 (0X0) 21ms after last send
[17:28:52.171][W][modbus:220]: CRC check failed 24ms after last send
[17:28:52.175][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:28:52.178][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 31ms after last send
[17:28:52.182][V][modbus:104]: Received first byte 1 (0X1) 34ms after last send
[17:28:52.187][VV][modbus:107]: Received byte 183 (0Xb7) 39ms after last send
[17:28:52.197][VV][modbus:107]: Received byte 83 (0X53) 50ms after last send
[17:28:52.225][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 77ms after last send
[17:28:52.422][W][modbus:064]: Stop waiting for response from 17 274ms after last send
[17:28:52.426][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:28:52.429][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 3
[17:28:52.433][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 286ms after last send
[17:28:52.442][V][modbus:104]: Received first byte 17 (0X11) 5ms after last send
[17:28:52.445][VV][modbus:107]: Received byte 3 (0X3) 9ms after last send
[17:28:52.449][VV][modbus:107]: Received byte 0 (0X0) 12ms after last send
[17:28:52.452][VV][modbus:107]: Received byte 47 (0X2f) 16ms after last send
[17:28:52.455][VV][modbus:107]: Received byte 0 (0X0) 19ms after last send
[17:28:52.459][W][modbus:220]: CRC check failed 22ms after last send
[17:28:52.463][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:28:52.467][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 29ms after last send
[17:28:52.470][V][modbus:104]: Received first byte 1 (0X1) 34ms after last send
[17:28:52.485][VV][modbus:107]: Received byte 183 (0Xb7) 49ms after last send
[17:28:52.489][VV][modbus:107]: Received byte 83 (0X53) 51ms after last send
[17:28:52.512][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 76ms after last send
[17:28:52.710][W][modbus:064]: Stop waiting for response from 17 273ms after last send
[17:28:52.714][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:28:52.718][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 4
[17:28:52.723][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 285ms after last send
[17:28:52.731][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:28:52.734][VV][modbus:107]: Received byte 3 (0X3) 10ms after last send
[17:28:52.737][VV][modbus:107]: Received byte 0 (0X0) 13ms after last send
[17:28:52.741][VV][modbus:107]: Received byte 47 (0X2f) 16ms after last send
[17:28:52.745][VV][modbus:107]: Received byte 0 (0X0) 20ms after last send
[17:28:52.748][W][modbus:220]: CRC check failed 24ms after last send
[17:28:52.752][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:28:52.756][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 31ms after last send
[17:28:52.760][V][modbus:104]: Received first byte 1 (0X1) 33ms after last send
[17:28:52.764][VV][modbus:107]: Received byte 183 (0Xb7) 39ms after last send
[17:28:52.773][VV][modbus:107]: Received byte 83 (0X53) 49ms after last send
[17:28:52.794][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:28:52.992][W][modbus:064]: Stop waiting for response from 17 266ms after last send
[17:28:52.995][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x2F count 1
[17:28:52.999][V][modbus_controller:700]: Command sent 3 0x2F 1 send_count: 5
[17:28:53.003][V][modbus:311]: Write: 11:03:00:2F:00:01:B7:53 278ms after last send
[17:28:53.011][V][modbus:104]: Received first byte 17 (0X11) 5ms after last send
[17:28:53.016][VV][modbus:107]: Received byte 3 (0X3) 9ms after last send
[17:28:53.018][VV][modbus:107]: Received byte 0 (0X0) 11ms after last send
[17:28:53.021][VV][modbus:107]: Received byte 47 (0X2f) 15ms after last send
[17:28:53.025][VV][modbus:107]: Received byte 0 (0X0) 18ms after last send
[17:28:53.028][W][modbus:220]: CRC check failed 22ms after last send
[17:28:53.032][VV][modbus:224]:   (3521 != 2F) 11:03:00:2F:00
[17:28:53.035][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 28ms after last send
[17:28:53.040][V][modbus:104]: Received first byte 1 (0X1) 32ms after last send
[17:28:53.043][VV][modbus:107]: Received byte 183 (0Xb7) 37ms after last send
[17:28:53.055][VV][modbus:107]: Received byte 83 (0X53) 48ms after last send
[17:28:53.075][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 68ms after last send
[17:28:53.274][W][modbus:064]: Stop waiting for response from 17 266ms after last send
[17:28:53.277][D][modbus_controller:039]: Modbus command to device=17 register=0x2F no response received - removed from send queue
[17:28:53.281][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:28:53.285][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 1
[17:28:53.297][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 291ms after last send
[17:28:53.306][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:28:53.309][VV][modbus:107]: Received byte 3 (0X3) 10ms after last send
[17:28:53.312][VV][modbus:107]: Received byte 0 (0X0) 13ms after last send
[17:28:53.316][VV][modbus:107]: Received byte 57 (0X39) 16ms after last send
[17:28:53.320][VV][modbus:107]: Received byte 0 (0X0) 20ms after last send
[17:28:53.323][W][modbus:220]: CRC check failed 24ms after last send
[17:28:53.328][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:28:53.331][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 30ms after last send
[17:28:53.334][V][modbus:104]: Received first byte 2 (0X2) 35ms after last send
[17:28:53.339][VV][modbus:107]: Received byte 22 (0X16) 39ms after last send
[17:28:53.342][VV][modbus:107]: Received byte 150 (0X96) 43ms after last send
[17:28:53.368][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 68ms after last send
[17:28:53.566][W][modbus:064]: Stop waiting for response from 17 265ms after last send
[17:28:53.569][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:28:53.573][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 2
[17:28:53.577][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 277ms after last send
[17:28:53.586][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:28:53.589][VV][modbus:107]: Received byte 3 (0X3) 10ms after last send
[17:28:53.592][VV][modbus:107]: Received byte 0 (0X0) 13ms after last send
[17:28:53.596][VV][modbus:107]: Received byte 57 (0X39) 16ms after last send
[17:28:53.599][VV][modbus:107]: Received byte 0 (0X0) 20ms after last send
[17:28:53.602][W][modbus:220]: CRC check failed 23ms after last send
[17:28:53.606][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:28:53.609][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 30ms after last send
[17:28:53.614][V][modbus:104]: Received first byte 2 (0X2) 33ms after last send
[17:28:53.618][VV][modbus:107]: Received byte 22 (0X16) 38ms after last send
[17:28:53.628][VV][modbus:107]: Received byte 150 (0X96) 49ms after last send
[17:28:53.649][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:28:53.848][W][modbus:064]: Stop waiting for response from 17 267ms after last send
[17:28:53.851][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:28:53.855][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 3
[17:28:53.859][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 279ms after last send
[17:28:53.867][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:28:53.871][VV][modbus:107]: Received byte 3 (0X3) 10ms after last send
[17:28:53.874][VV][modbus:107]: Received byte 0 (0X0) 13ms after last send
[17:28:53.878][VV][modbus:107]: Received byte 57 (0X39) 16ms after last send
[17:28:53.881][VV][modbus:107]: Received byte 0 (0X0) 19ms after last send
[17:28:53.884][W][modbus:220]: CRC check failed 23ms after last send
[17:28:53.889][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:28:53.892][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 31ms after last send
[17:28:53.896][V][modbus:104]: Received first byte 2 (0X2) 34ms after last send
[17:28:53.899][VV][modbus:107]: Received byte 22 (0X16) 38ms after last send
[17:28:53.911][VV][modbus:107]: Received byte 150 (0X96) 49ms after last send
[17:28:53.931][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:28:54.130][W][modbus:064]: Stop waiting for response from 17 267ms after last send
[17:28:54.133][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:28:54.137][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 4
[17:28:54.141][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 279ms after last send
[17:28:54.150][V][modbus:104]: Received first byte 17 (0X11) 6ms after last send
[17:28:54.153][VV][modbus:107]: Received byte 3 (0X3) 8ms after last send
[17:28:54.156][VV][modbus:107]: Received byte 0 (0X0) 12ms after last send
[17:28:54.160][VV][modbus:107]: Received byte 57 (0X39) 15ms after last send
[17:28:54.163][VV][modbus:107]: Received byte 0 (0X0) 18ms after last send
[17:28:54.166][W][modbus:220]: CRC check failed 22ms after last send
[17:28:54.170][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:28:54.173][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 30ms after last send
[17:28:54.178][V][modbus:104]: Received first byte 2 (0X2) 32ms after last send
[17:28:54.182][VV][modbus:107]: Received byte 22 (0X16) 38ms after last send
[17:28:54.193][VV][modbus:107]: Received byte 150 (0X96) 49ms after last send
[17:28:54.213][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 69ms after last send
[17:28:54.412][W][modbus:064]: Stop waiting for response from 17 267ms after last send
[17:28:54.418][V][modbus_controller:043]: Sending next modbus command to device 17 register 0x39 count 2
[17:28:54.420][V][modbus_controller:700]: Command sent 3 0x39 2 send_count: 5
[17:28:54.422][V][modbus:311]: Write: 11:03:00:39:00:02:16:96 276ms after last send
[17:28:54.428][V][modbus:104]: Received first byte 17 (0X11) 3ms after last send
[17:28:54.432][VV][modbus:107]: Received byte 3 (0X3) 6ms after last send
[17:28:54.435][VV][modbus:107]: Received byte 0 (0X0) 10ms after last send
[17:28:54.438][VV][modbus:107]: Received byte 57 (0X39) 13ms after last send
[17:28:54.443][VV][modbus:107]: Received byte 0 (0X0) 18ms after last send
[17:28:54.447][W][modbus:220]: CRC check failed 21ms after last send
[17:28:54.455][VV][modbus:224]:   (3521 != 39) 11:03:00:39:00
[17:28:54.458][W][modbus:418]: Clearing buffer of 5 bytes - parse failed 33ms after last send
[17:28:54.463][V][modbus:104]: Received first byte 2 (0X2) 36ms after last send
[17:28:54.467][VV][modbus:107]: Received byte 22 (0X16) 41ms after last send
[17:28:54.477][VV][modbus:107]: Received byte 150 (0X96) 51ms after last send
[17:28:54.497][W][modbus:418]: Clearing buffer of 3 bytes - timeout after partial response 71ms after last send
[17:28:54.687][W][modbus:064]: Stop waiting for response from 17 261ms after last send
[17:28:54.690][D][modbus_controller:039]: Modbus command to device=17 register=0x39 no response received - removed from send queue

la je suis avec un hw-519, je vois passer des données mais les entités ne remontent pas:

J’ai aussi regardé tes logs — il y a un truc intéressant. Tu envoies :

11 03 00 2F 00 01 B7 53

et tu reçois en retour : d’abord 11 03 00 2F 00 (CRC fail), puis après une courte pause 01 B7 53. C’est exactement ta propre trame — à mon avis la PAC ne répond pas, tu entends ton propre écho sur le bus.

La cause la plus probable : DE et RE sur VCC, ton MAX485 émet en permanence et ne peut pas recevoir. À mon sens la solution la plus simple et la plus fiable, c’est de prendre un module avec gestion automatique du sens, comme l’ATOM Lite + Tail485 que j’utilise. ~20 €, ça fonctionne tout de suite avec ESPHome, sans bricolage de GPIO. Si tu veux absolument garder ton Edge101 (Ethernet, c’est sympa), un module RS485 générique avec auto-direction (XY-K485 ou similaire) résout aussi le problème.

Si ça ne suffit pas : A/B inversés ou terminaison 120 Ω manquante peuvent donner des symptômes similaires, mais c’est moins probable.

Une chose encore — je suis allé jeter un œil à la doc de ton Edge101, et j’ai vu que la carte a un port RS485 isolé intégré. Tu l’utilises, ou tu as branché le HW-519 en plus en externe ? Si c’est en externe : pourquoi ne pas plutôt utiliser le port intégré ? Il a déjà la gestion automatique du sens. Tu peux décrire ton setup en détail ? J’ai du mal à voir d’après le log quelles broches tu utilises exactement.

les 120 ohms branchés ou pas, inversion A B et BA, c’est déja fait.
y’a pas de DE et RE sur mon montage HW-519

donne moi des references HW de ce qui marche.

j’ai testé ces deux configs:

uart:

  • id: uart_RS485
    tx_pin: GPIO17 # vers RO (RX)
    rx_pin: GPIO36 # vers DI (TX)
    baud_rate: 9600
    stop_bits: 1
    parity: NONE

et
uart:

  • id: uart_ext
    rx_pin: GPIO14
    tx_pin: GPIO15
    baud_rate: 9600
    stop_bits: 1
    parity: NONE

avec le module hw-machin connecté sur les gpio externes

donc, je veux d’abord un hardware qui marche, apres j’adapterai.

le probleme est que m’sieur polytropic ne donne pas les docs techniques disant où exactement débrancher le bouzin. d’un autre coté, ca se comprend, ils perdent les relevés en temps réel des machines en clientelle…

Une chose me frappe : si tu vois le même comportement d’écho avec le RS485 intégré de l’Edge101 ET avec le HW-519 externe, alors le problème ne vient probablement pas du matériel, mais de quelque chose que les deux setups ont en commun — donc le câblage vers la PAC ou la PAC elle-même.

Deux questions :

  1. Comment exactement es-tu connecté à la PAC ? Sur le bornier RS485 de Polytropic, il y a trois bornes : A, B et GND. Est-ce que tu as aussi raccordé GND ? Sans masse commune entre l’ESP et la PAC, le RS485 peut produire exactement ce comportement d’écho — et ça expliquerait pourquoi tu vois la même chose avec les deux variantes de matériel. Si tu as une photo du raccordement, ça aiderait.

  2. Est-ce que tu as fini par recevoir la table Modbus de Poly pour ta Morpheo Inverter S ? Tu avais écrit il y a quelques semaines que tu n’avais pas eu de réponse. Poly avait précisé que chaque modèle a sa propre table — l’adresse esclave, les registres et peut-être même la vitesse pourraient être différents sur ta Morpheo S par rapport aux valeurs qui circulent dans le forum pour d’autres modèles.

Pour la question matérielle : chez moi, le M5Stack ATOM Lite + Tail485 tourne nickel depuis quelques jours (~20 € l’ensemble). Auto-direction, DC/DC intégré pour l’alimentation 12 V du bus, fonctionne tout de suite avec ESPHome. Attention quand même — si le problème vient par exemple du point 1 ou du point 2 ci-dessus, du nouveau matériel ne résoudra rien. D’abord clarifier le câblage et la table, ensuite éventuellement changer de matériel.

Oui, j’ai bien la table Modbus officielle fournie par Polytropic.
par contre, non je n’ai pas relié le gnd, il va falloir que je reprenne mon cablage.

Très bien — la masse manquante pourrait bien expliquer le comportement que tu vois. Tiens-moi au courant après le re-câblage, je suis curieux de savoir si ça résout le problème.

alors, avec des fils de 20cm et la masse, Ca tourne:

je sais pas encore décoder les 16 binary sensors sur 2 octets, mais ca va venir…


faudra trouver une alim plus petite, voire un +5V ou un +12V…

j’ai juste débranché un connecteur celui qu’on voit en bas au centre.
mais, plus de connexion wifi (et pas de Bluetooth)

Content qu’on ait trouvé ensemble.

Pour l’alim : chez moi l’ATOM Lite est branché sur une petite alim DIN-Rail — MeanWell HDR-15-5, 5V, 12W. Quelques euros, tourne sans souci depuis des semaines.

Pour les 16 binary sensors sur 2 octets — le principe sous ESPHome : tu lis le mot de statut comme un registre Modbus classique (U_WORD), puis tu le décomposes en binary_sensors individuels via lambda :

sensor:
  - platform: modbus_controller
    name: "Status Raw"
    id: status_raw
    register_type: holding
    address: 500
    value_type: U_WORD

binary_sensor:
  - platform: template
    name: "Bit 0"
    lambda: |-
      return ((int)id(status_raw).state & (1 << 0)) != 0;
  - platform: template
    name: "Bit 1"
    lambda: |-
      return ((int)id(status_raw).state & (1 << 1)) != 0;
  # etc. pour chaque bit utilisé

Un binary_sensor par bit, avec (1 << N) comme masque où N est la position du bit. Ce que chaque bit signifie est dans ta table Modbus — sur ma Master Inverter L Tri, par exemple, ce sont les bits 0/1 pour les pressostats haute/basse pression, le bit 3 pour le débit d’eau, le bit 5 pour la pompe à eau. Sur ta Morpheo S ça peut être complètement différent, donc : ressors la table et passe-la bit par bit.

Pour le BT/WiFi : oui, c’est perdu dès que tu débranches le connecteur — pareil chez moi. Du coup l’idée du proxy Bluetooth que tu avais au départ tombe à l’eau.

Pour l’alim, je vais me brancher sur le 12v qui alimentait le boitier wifi ca sera plus simple.

pour les binary sensor, j’ai suivi la doc esphome, pour le moment c’est que de la lecture…

binary_sensor:
- platform: modbus_controller
  modbus_controller_id: modbus_controller_1
  name: High pressure switch status
  register_type: read
  address: 500
  bitmask: 0x1
- platform: modbus_controller
  modbus_controller_id: modbus_controller_1
  name: Low pressure switch status
  register_type: read
  address: 500
  bitmask: 0x2
- platform: modbus_controller
  modbus_controller_id: modbus_controller_1
  name: Water flow switch status
  register_type: read
  address: 500
  bitmask: 0x8

j’ai pas trop pigé les différences entre holding, read, coil, custom…
et faut que je trouve comment rentrer une valeur de température

Joliment résolu avec bitmask directement dans le modbus_controller — plus élégant que la voie lambda que j’avais montrée. Je vais m’y pencher aussi.

Pour les types de registres : à ma connaissance, chez Polytropic tous les registres avec lesquels on travaille sont du type holding (lisibles et inscriptibles, 16 bits). Que ça fonctionne aussi chez toi avec read, c’est bon à savoir — je pense donc qu’il nous suffit d’utiliser holding. Les coil seraient des bits individuels directement adressables, mais Polytropic n’utilise pas ça. custom est pour des implémentations propres.

Pour écrire une température : il y a la plateforme number dans le modbus_controller. Chez moi ça ressemble à ça :

number:
  - platform: modbus_controller
    modbus_controller_id: poly
    name: "Polytropic Soll-Temperatur Stellwert"
    id: poly_soll_setzen
    address: 1001
    value_type: U_WORD
    register_type: holding
    min_value: 20
    max_value: 35
    step: 0.5
    multiply: 10
    mode: box

Le registre 1001 est chez Polytropic la consigne de température d’eau. La valeur est stockée en dixièmes de degré (28.5°C = 285), d’où le multiply: 10 — tu saisis « 28.5 » dans HA, ESPHome écrit 285 dans le registre.

Nickel pour l’input de la consigne. ca marche au poil.

Update : session d’écoute passive sur le bus Modbus

J’ai écouté passivement aujourd’hui le bus RS485 sur ma Polytropic Master Inverter L Tri (IVS18T-K0), pour mieux comprendre ce qui se passe sur le bus externe quand on manipule le panneau.

Configuration matérielle de la PAC :

  • Carte réseau (PolyConnect Gateway) débranchée du CN16

  • Sur le CN16 ainsi libéré, le bornier externe (A, B, GND) est raccordé

  • Sur le CN17 est branché le panneau de commande

  • CN16 et CN17 sont mécaniquement identiques (même connecteur, même brochage)

Dispositif de mesure :

  • Adaptateur USB-RS485 (DSD TECH SH-U11GL, FTDI, isolé) en parallèle du bornier externe

  • Trois fils (A, B, GND), écoute pure sans émission propre

  • Sniffer Python avec détection de trames Modbus RTU, 9600/8N1

  • Mon maître ESPHome (ATOM Lite + Tail485) est resté actif et a continué à interroger normalement

Observations sur environ 11 minutes d’enregistrement :

  1. Le polling de l’ATOM est bien visible — Reg 500/510/521/1000/1001 toutes les 30 secondes

  2. Bouton Off pressé sur le panneau — aucune trame d’écriture visible sur le bus

  3. Bouton On repressé sur le panneau — aucune trame d’écriture visible sur le bus

  4. Consigne de température modifiée sur le panneau de 21°C à 16°C — aucune trame d’écriture visible sur le bus

  5. Quelques secondes plus tard, au cycle de polling suivant : Reg 1001 a la nouvelle valeur (210 → 160)

Je ne peux pas en déduire directement comment le panneau communique exactement en interne avec la carte principale — seulement que les écritures du panneau n’apparaissent pas sur le bus externe que j’observe.

Le Reg 1000 reste chez moi non-inscriptible via l’interface externe — timeout avec FC6, FC16 et multi-registres, toutes les tentatives reproduites plusieurs fois. Mail à Polytropic concernant le Reg 1000 envoyé, réponse en attente.

Si quelqu’un a d’autres observations — notamment si quelqu’un a déjà réussi à écrire dans le Reg 1000, ou des indices concernant le CN17 — je suis très preneur.

Bon, je me suis fait une petite frayeur…

number:
  - platform: modbus_controller
    modbus_controller_id: modbus_controller_1
    name: "Unit On / Off"
    id: unit_on_off
    address: 1000
    register_type: holding
    bitmask: 0x08
    min_value: 0
    max_value: 1
    mode: box

je sais plus si ma PàC s’est arrétée quand j’ai renté 0 ou 1, mais elle s’est arrétée.

en fait, c’est plutot un switch que j’aurais du mettre.
le souci, c’est que je n’avais jamais activé ma PàC depuis le panneau avant. j’ai un peu galéré pour la rallumer… finalement l’appli d’origine elle est pas mal :slight_smile:

Bonjour,

Voici mon fichier Esphome pour ma PAC POLYTROPIC MORPHEO XXS.

C’est installé sur un B8M Kincony.

Je gère aussi dans cette configuration un variateur de vitesse EATRON (RS485) pour ma pompe de piscine, un onduleur DEYE(RS485), un pompe vide cave pour mon puits de décompression piscine, une électrovanne pour arrosage.

il faut donc faire le tri dans mon fichier pour ne garder que la partie PAC POLYTROPIC.

Ce n’est pas parfait mais si cela peut aider…

il me reste encore à remonter les codes d’erreurs de la PAC lorsque je trouverai un peu de temps.

Attention, les adresses Modbus correspondent à ma PAC : il faut demander votre table modbus à POLYTROPIC en fonction de votre modèle et de votre N° de série.

esphome:
  name: b8m
  friendly_name: b8m
  on_boot:
    then:
      - ds1307.read_time: ds3231_time

esp32:
  variant: esp32s3
  framework:
    type: esp-idf

# Enable logging
logger:
  level: INFO

# Enable Home Assistant API
api:
  reboot_timeout: 120min
  encryption:
    key: "uEVyPCeOqUv4xxxxxxxxxxaqjgiDgq6sbgk0i9NV6u4fFv0="

ota:
  - platform: esphome
    password: "2c212e21e955cxxxxxe4e0f3ef75ba62"

wifi:
  ssid: !secret wifi_ssid_garage
  password: !secret wifi_password_garage
  power_save_mode: NONE

i2c:
  - id: bus_a
    sda: GPIO8
    scl: GPIO18
    scan: true
    frequency: 400kHz

pcf8574:
  - id: pcf8574_hub_out_1 # for output channel 0-7| input channel 8-15
    i2c_id: bus_a
    address: 0x22
    pcf8575: true

uart:
  - id: uart_0 #RS485
    baud_rate: 9600
    parity: none
    data_bits: 8
    stop_bits: 1
    tx_pin: GPIO39
    rx_pin: GPIO38


switch:
# MODBUS DRIVE EATON ###################################
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    id: run_pompe
    register_type: holding
    address: 0
    name: "Marche Pompe"
    bitmask: 1
# MODBUS PAC POLYTROPIC ###################################
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    id: run_pac_polytropic
    icon: mdi:heat-pump
    register_type: holding
    address: 1000
    name: "PAC Ordre Marche"
    bitmask: 16
# Pompe vide cave ########################################
  - platform: gpio
    name: "Pompe Vide Cave"
    id: pompe_vide_cave_output01
    icon: mdi:pump
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 0
      mode: OUTPUT
      inverted: true
    on_turn_on:
      - binary_sensor.template.publish:
          id: etat_pompe_vide_cave
          state: ON
    on_turn_off:
      - binary_sensor.template.publish:
          id: etat_pompe_vide_cave
          state: OFF    
  - platform: gpio # Pour affichage Led2 sur Kincony
    name: "Niveau Haut Vide Cave"
    id: niveau_haut_vide_cave_output02
    internal: true
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 1
      mode: OUTPUT
      inverted: true
# Arrosage depuis garage ###############################
  - platform: gpio
    name: "Arrosage"
    id: "arrosage_output03"
    icon: mdi:watering-can
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 2
      mode: OUTPUT
      inverted: true

binary_sensor:
  ###########################################################################
  # MODBUS DRIVE EATON
  ###########################################################################
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Ready"
    id: drive_ready
    register_type: holding
    address: 0x5
    bitmask: 1
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Status Run"
    id: drive_status_run
    register_type: holding
    address: 0x5
    bitmask: 2
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Reverse Rotating"
    id: drive_reverse_rotating
    register_type: holding
    address: 0x5
    bitmask: 4
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Fault"
    id: drive_fault
    register_type: holding
    address: 0x5
    bitmask: 8
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Speed=SetPoint"
    id: drive_speed_setpoint
    register_type: holding
    address: 0x5
    bitmask: 16
  ###########################################################################
  # MODBUS PAC
  ###########################################################################
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC High pressure switch status"
    id: pac_high_pressure_switch_status
    register_type: holding
    address: 500
    bitmask: 1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Low pressure switch status"
    id: pac_low_pressure_switch_status
    register_type: holding
    address: 500
    bitmask: 2
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Water flow switch status"
    id: pac_water_flow_switch_status
    register_type: holding
    address: 500
    bitmask: 8
  ###########################################################################
  # Automatisation pompe vide cave en fonction du niveau et du mode Auto/manu
  ###########################################################################
  - platform: gpio
    name: "Level High Vide Cave"
    id: level_high_vide_cave_input01
    icon: mdi:waves-arrow-up
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 8
      mode: INPUT
      inverted: true
    on_press: 
      then:
        - switch.turn_on: niveau_haut_vide_cave_output02
        - if: 
            condition:
              select.is:
                id: auto_manu_vide_cave
                options: "Auto"
            then:
              - switch.turn_on: pompe_vide_cave_output01
              - script.stop: arret_temporise_vide_cave
              - script.execute: anti_marche_a_sec
          
    on_release: 
      then:
        - script.execute: arret_temporise_vide_cave
        - switch.turn_off: niveau_haut_vide_cave_output02   

  - platform: template
    name: "Etat Pompe Vide Cave"
    id: etat_pompe_vide_cave
    icon: mdi:pump
    device_class: running
  ###########################################################################
ads1115:
  - address: 0x48

sensor:
# MODBUS DRIVE EATON ###################################
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Fault Code"
    id: drive_status_fault
    register_type: holding
    address: 0x5
    bitmask: 0xFF00
    #unit_of_measurement: "V"
    value_type: U_WORD
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Fréquence"
    id: drive_frequence
    register_type: holding
    address: 0x6
    unit_of_measurement: "Hz"
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Motor Current"
    id: drive_motor_current
    register_type: holding
    address: 0x7
    unit_of_measurement: "A"
    accuracy_decimals: 1
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Torque"
    id: drive_torque
    register_type: holding
    address: 0x8
    unit_of_measurement: "%"
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Voltage Range"
    id: drive_voltage_range
    register_type: holding
    address: 13
    unit_of_measurement: "V"
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: template
    name: "Drive Puissance"
    id: drive_puissance
    unit_of_measurement: "W"
    icon: mdi:meter-electric-outline
    update_interval: 2s
    lambda: |-
      return id(deye_grid_voltage).state*id(drive_motor_current).state;
    
# MODBUS PAC POLYTROPIC ###################################
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Température Eau Entrée"
    id: polytropic_temp_water_in
    register_type: holding
    address: 512
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Température Eau Sortie"
    id: polytropic_temp_water_out
    register_type: holding
    address: 513
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Température Coil"
    id: polytropic_temp_coil
    register_type: holding
    address: 514
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    value_type: S_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Température ambiante"
    id: polytropic_temp_ambient
    register_type: holding
    address: 515
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Température IPM"
    id: polytropic_temp_ipm
    register_type: holding
    address: 516
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Tension Alimentation"
    id: polytropic_power_voltage
    register_type: holding
    address: 521
    unit_of_measurement: "V"
    value_type: U_WORD
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Intensité Alimentation"
    id: polytropic_power_current
    register_type: holding
    address: 522
    unit_of_measurement: "A"
    accuracy_decimals: 1
    value_type: U_WORD
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Compressor Failure Code"
    id: polytropic_compressor_failure_code
    register_type: holding
    address: 523
    #unit_of_measurement: "A"
    value_type: U_WORD
  - platform: template
    name: "PAC Puissance"
    id: pac_puissance
    unit_of_measurement: "W"
    icon: mdi:meter-electric-outline
    update_interval: 2s
    lambda: |-
      return id(deye_grid_voltage).state*id(polytropic_power_current).state;

# ajouté par SL
  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    id: wifi_password_percent
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"
    device_class: "" 
  ###############################################################
  # RAIN 
  ###############################################################
  - platform: pulse_counter # 1 impulsion = 0,3 mm = 0,012 pouce (0.2794 ???)
    pin:
      number: GPIO47
      inverted: true
      mode:
        input: true
        pullup: true
    unit_of_measurement: 'mm'
    accuracy_decimals: 4
    count_mode:
      rising_edge: DISABLE
      falling_edge: INCREMENT
    device_class: precipitation_intensity
    state_class: measurement
    name: 'Rain gauge'
    id: rain_gauge
    icon: 'mdi:weather-rainy'
    internal: False
    internal_filter: 13us
    update_interval: 60s
    filters:
      - multiply: 0.3 
  - platform: integration
    name: "rainfall per hour"
    id: rain_per_hour_internal
    internal: true
    time_unit: min
    unit_of_measurement: 'mm'
    icon: 'mdi:weather-rainy'
    sensor: rain_gauge
  - platform: integration
    name: "rainfall per day"
    id: rain_per_day_internal
    #internal: true
    time_unit: min
    unit_of_measurement: 'mm'
    icon: 'mdi:weather-rainy'
    sensor: rain_gauge

  - platform: template
    name: "Hourly Rainfall"
    id: hourly_rainfall
    unit_of_measurement: "mm"
    icon: "mdi:weather-rainy"
    update_interval: never

  - platform: template
    name: "Daily Rainfall"
    id: daily_rainfall
    unit_of_measurement: "mm"
    icon: "mdi:weather-pouring"
    update_interval: never

text_sensor:
  - platform: wifi_info
    ip_address:
      name: Device IP Address
      id: ip_address
  - platform: uptime
    name: Uptime
    id: uptime_value
    format:
      separator: " "
      days: "D"
  - platform: template
    name: "ESPHome Status"
    id: esphome_status
    icon: "mdi:information-box"
    entity_category: "diagnostic"
    #update_interval: 1s
    lambda: |-
      return { "Status OK" };

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 14

display:
  - platform: ssd1306_i2c
    i2c_id: bus_a
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 0, id(roboto), "IP: %s", id(ip_address).state.c_str());
      it.printf(0, 16, id(roboto), "Signal: %.0f%%", id(wifi_password_percent).state);
      it.printf(0, 32, id(roboto), "Up: %s", id(uptime_value).state.c_str());
      it.strftime(0, 48, id(roboto), "%Y-%m-%d %H:%M:%S", id(ds3231_time).now());

time:
  - platform: sntp
    id: my_time    
  - platform: ds1307
    id: ds3231_time
    update_interval: 120min
  - platform: sntp
    id: sntp_time
    timezone: Europe/Paris
    servers:
     - 0.pool.ntp.org
     - 1.pool.ntp.org
     - 2.pool.ntp.org
    on_time_sync:
      then:
        - ds1307.write_time: 
            id: ds3231_time
    on_time:
      # Every hour
      - seconds: 0
        minutes: 0
        then:
          - lambda: |-
              float total = id(rain_per_hour_internal).state;
              id(hourly_rainfall).publish_state(total);          
          - sensor.integration.reset: rain_per_hour_internal
      # Every day à minuit
      - seconds: 0
        minutes: 0
        hours: 0
        then:
          - lambda: |-
              float total = id(rain_per_day_internal).state;
              id(daily_rainfall).publish_state(total);          
          - sensor.integration.reset: rain_per_day_internal

select:
  - platform: template # VIDE CAVE
    name: Auto Manu Vide Cave
    id: auto_manu_vide_cave
    icon: "mdi:auto-mode"
    options:
      - "Auto"
      - "Arrêt"
      - "Marche"
    initial_option: "Auto"
    optimistic: true
    on_value:
      - if:
          condition:
            select.is:
              id: auto_manu_vide_cave
              options: "Marche"
          then:
            - switch.turn_on: pompe_vide_cave_output01
      - if:
          condition:
            select.is:
              id: auto_manu_vide_cave
              options: "Arrêt"
          then:
            - switch.turn_off: pompe_vide_cave_output01
  - platform: template # ARROSAGE
    name: Auto Manu Arrosage
    id: auto_manu_arrosage
    icon: "mdi:auto-mode"
    options:
      - "Auto"
      - "Arrêt"
      - "Marche"
    initial_option: "Auto"
    optimistic: true
    on_value:
      - if:
          condition:
            select.is:
              id: auto_manu_arrosage
              options: "Marche"
          then:
            - switch.turn_on: arrosage_output03
      - if:
          condition:
            select.is:
              id: auto_manu_arrosage
              options: "Arrêt"
          then:
            - switch.turn_off: arrosage_output03
  - platform: template # Auto/Manu Pompe Piscine 
    name: Auto Manu Pompe Piscine
    id: auto_manu_pompe_piscine
    icon: "mdi:auto-mode"
    options:
      - "Auto"
      - "Arrêt"
      - "Marche"
    initial_option: "Auto"
    optimistic: true
    on_value:
      - if:
          condition:
            select.is:
              id: auto_manu_pompe_piscine
              options: "Marche"
          then:
            - switch.turn_on: run_pompe
      - if:
          condition:
            select.is:
              id: auto_manu_pompe_piscine
              options: "Arrêt"
          then:
            - switch.turn_off: run_pompe
# PAC POLYTROPIC #####################################################
  - platform: template # Auto/Manu PAC Piscine 
    name: Auto Manu Pompe PAC
    id: auto_manu_pac
    icon: "mdi:auto-mode"
    options:
      - "Auto"
      - "Arrêt"
      - "Marche"
    initial_option: "Auto"
    optimistic: true
    on_value:
      - if:
          condition:
            select.is:
              id: auto_manu_pac
              options: "Marche"
          then:
            - switch.turn_on: run_pac_polytropic
      - if:
          condition:
            select.is:
              id: auto_manu_pac
              options: "Arrêt"
          then:
            - switch.turn_off: run_pac_polytropic
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Mode"
    address: 1000
    value_type: U_WORD
    optionsmap:
      "Standby": 0
      "Auto (heat & cool)": 1
      "Cooling + Smart": 2
      "Cooling + Boost": 3
      "Cooling + Eco": 4
      "Heating + Smart": 5
      "Heating + Boost": 6
      "Heating + Eco": 7
    lambda: |-
      ESP_LOGD("Reg1000", "Received value %lld", x);
      if (x == 16) {
        return std::string("Standby");
      }
      if (x == 17) {
        return std::string("Auto (heat & cool)");
      }
      if (x == 18) {
        return std::string("Cooling + Smart");
      }
      if (x == 19) {
        return std::string("Cooling + Boost");
      }
      if (x == 20) {
        return std::string("Cooling + Eco");
      }
      if (x == 21) {
        return std::string("Heating + Smart");
      }
      if (x == 22) {
        return std::string("Heating + Boost");
      }
      if (x == 23) {
        return std::string("Heating + Eco");
      }
      return {};
    write_lambda: |-
      if (id(run_pac_polytropic).state) {
        value=value+16;
        return value;
      }
      return {};


script:
  - id: anti_marche_a_sec #Sécurité anti-marche à sec de la pompe vide cave Piscine
    mode: restart
    then:
      - logger.log: "Processing anti_marche_a_sec..."
      - delay: 100s
      - logger.log: "Anti Marche à sec !!!"
      - switch.turn_off: pompe_vide_cave_output01
      - text_sensor.template.publish:
          id: esphome_status
          state: "Sécurité anti-marche à sec de la pompe vide cave Piscine"
  - id: arret_temporise_vide_cave # Arrêt temporisé pompe vide cave
    mode: restart
    then:
      - delay: 10s
      - if: 
          condition: 
            binary_sensor.is_off: level_high_vide_cave_input01
          then:
            - switch.turn_off: pompe_vide_cave_output01
            - script.stop: anti_marche_a_sec
####################################################################################################""
substitutions:
  name: "deye_mono"
  device_description: "ESPhome Deye hybrid 1-phase inverter"
  my_hours: '23'
  my_minute: '59'
  my_second: '59'
  baud_rate: 9600 
 
packages: 
          
  modbus:
    url: https://github.com/SeByDocKy/pvbrain2/
    ref: main
    refresh: 10s
    files: 
      - path: 'pvbrain2/base/device_modbus.yaml'
        vars:
          modbus_id: 'modbus_id'
          modbus_uart_id: uart_0
          modbus_send_wait_time: '100ms'          
          
  deye_main:
    url: https://github.com/SeByDocKy/pvbrain2/
    ref: main
    refresh: 10s
    files: 
      - path: 'pvbrain2/inverter/deye/device_deye.yaml'
        vars:
          inverter_name: 'deye'
          inverter_modbus_id: 'modbus_id'
          inverter_modbus_address: '1'
          inverter_modbus_throttle: '100ms'
          inverter_update_interval: '5s'
          inverter_template_update: '5s'
          inverter_text_update: '5s'
          inverter_factor: '1'
          
  deye_advanced:
    url: https://github.com/SeByDocKy/pvbrain2/
    ref: main
    refresh: 10s
    files: 
      - path: 'pvbrain2/inverter/deye/device_deye_advanced.yaml'
        vars:
          inverter_name: 'deye'
          inverter_modbus_id: 'modbus_id'
          inverter_modbus_address: '1'
          inverter_modbus_throttle: '100ms'
          inverter_update_interval: '5s'
          inverter_template_update: '5s'
          inverter_text_update: '5s'
          inverter_factor: '1'  

# DRIVE EATON ########################
modbus_controller: # Paramètre 36 dans le variateur : Addr 5, 9600, Modbus RTU0 COM Timeout = 0, 0: No parity, 1 Stop Bit (N-1)
- id: eaton_modbus_device
  address: 0x5   ## address of the Modbus slave device on the bus
  modbus_id: modbus_id
  setup_priority: -10
  command_throttle: 50ms
  update_interval: 3s
  max_cmd_retries: 1
# PAC POLYTROPIC ########################
- id: polytropic_modbus_device
  address: 0x11 # 17 en décimal  
  modbus_id: modbus_id
  setup_priority: -10
  command_throttle: 50ms
  update_interval: 5s
  max_cmd_retries: 1    
number:
  # DRIVE EATON ########################
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Consigne Fréquence"
    id: drive_setpoint_frequence
    address: 1
    register_type: holding
    value_type: U_WORD
    multiply: 10
    min_value: 20
    max_value: 50
  - platform: modbus_controller
    modbus_controller_id: eaton_modbus_device
    name: "Drive Ramp Time"
    id: drive_ramp_time
    address: 3
    register_type: holding
    value_type: U_WORD
    multiply: 100
    min_value: 0
    max_value: 100 # 600 normalement
  # PAC POLYTROPIC ########################
  - platform: modbus_controller
    modbus_controller_id: polytropic_modbus_device
    name: "PAC Consigne température"
    id: polytropic_temp_setpoint
    address: 1001
    register_type: holding
    value_type: U_WORD
    multiply: 10
    min_value: 0
    max_value: 60
##########################################################################
datetime:
  ## Pour Pompe piscine ##########################
  - platform: template
    id: datetime_start_pompe_piscine
    time_id: ds3231_time
    type: time
    name: "Start Pompe Piscine"
    optimistic: yes
    initial_value: "08:00:00"
    restore_value: true
    icon: mdi:timer-play
    on_time:
      then:
        - if:
            condition:
              select.is:
                id: auto_manu_pompe_piscine
                options: "Auto"
            then:
              - switch.turn_on: run_pompe
  - platform: template
    id: datetime_stop_pompe_piscine
    time_id: ds3231_time
    type: time
    name: "Stop Pompe Piscine"
    optimistic: yes
    initial_value: "19:00:00"
    restore_value: true
    icon: mdi:timer-pause
    on_time:
      then:
      - if:
          condition:
            select.is:
              id: auto_manu_pompe_piscine
              options: "Auto"
          then:
            - switch.turn_off: run_pompe
  ## Pour PAC ##########################
  - platform: template
    id: datetime_start_pac
    time_id: ds3231_time
    type: time
    name: "Start PAC"
    optimistic: yes
    initial_value: "08:01:00"
    restore_value: true
    icon: mdi:timer-play
    on_time:
      then:
        - if:
            condition:
              select.is:
                id: auto_manu_pac
                options: "Auto"
            then:
              - switch.turn_on: run_pac_polytropic
  - platform: template
    id: datetime_stop_pac
    time_id: ds3231_time
    type: time
    name: "Stop PAC"
    optimistic: yes
    initial_value: "18:59:00"
    restore_value: true
    icon: mdi:timer-pause
    on_time:
      then:
      - if:
          condition:
            select.is:
              id: auto_manu_pac
              options: "Auto"
          then:
            - switch.turn_off: run_pac_polytropic

#Set the interval to sync your inverter time with HA or comment out to disable 
interval:
  - interval: 3600s
    then:
      - lambda: |-
          esphome::modbus_controller::ModbusController *controller = id(deye_modbus_controller);
          time_t now = ::time(nullptr);
          struct tm *time_info = ::localtime(&now);
          int seconds = time_info->tm_sec;
          int minutes = time_info->tm_min;
          int hour = time_info->tm_hour;
          int day = time_info->tm_mday;
          int month = time_info->tm_mon + 1;
          int year = time_info->tm_year;
          year = year + 1900;
          int year1 = year - 2000;
          
          uint16_t reg22_value = (year1 << 8) | month;
          uint16_t reg23_value = (day << 8) | hour;
          uint16_t reg24_value = (minutes << 8) | seconds;
          
          if (year != 1970) {
            std::vector<uint16_t> rtc_data = {reg22_value, reg23_value, reg24_value};
            esphome::modbus_controller::ModbusCommandItem set_rtc_command =
                esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(controller, 22, rtc_data.size(), rtc_data);
            controller->queue_command(set_rtc_command);
            ESP_LOGI("Time Sync", "Seconds: %d, Minutes: %d, Hour: %d, Day: %d, Month: %d, Year: %d", seconds, minutes, hour, day, month, year);
          }

Ma page Home Assistant :

Le seul truc que je pige pas, c’est le PàC Ordre de Marche qui une fois sur off ne se remet pas à on… à part ca c’est royal !!!

la pompe dans mon puits de décompression se gère avec un flotteur interne, pas besoin de la commander, mais le switch tongu qui la commande me remonte la puissance consommée.

Le selecteur Auto/Marche /Arrêt pour le Marche et Arrêt active le switch PAC Ordre Marche seulement lorsque l’on change la valeur de ce selecteur.
C’est vrai que ce switch PAC Ordre Marche ne devrait pas être visible sur la page de mon HA.

Pour le mode Auto du selecteur, je me sert des 2 variables Time pour démarrer la PAC aux heures définies sur HA (voir mon code à la fin de mon fichier ESPHOME).

Pour info, lorsque le switch PAC Ordre Marche est basculé sur On, la PAC met au moins 1 minute pour démarrer suite à un cycle interne à la PAC.

Salut à tous,

Content de voir que d’autres ont aussi réussi à piloter la PAC avec le ModBus.

Maintenant que les beaux jours reviennent, je cherche à l’allumer quand j’ai assez d’énergie solaire avec les panneaux et l’éteindre quand j’en ai plus. Le soucis c’est que je ne m’y connais pas en PAC et j’ai entendu parler qu’il n’était pas bon de l’allumer/éteindre trop souvent?

Savez-vous quel est l’idéal? Faut-il par exemple la laisser tourner au minimum 1 heure avant de la couper? Si quelqu’un s’y connait, ou si @Poly peux m’aider? Je sais que Polytropic a un système “Polysolar” mais comme j’ai trop de kwh, il n’est pas compatible avec mon installation (C’est pour cette raison que je suis parti sur le Modbus). Est-ce que quelqu’un aurait ce système et aurait regardé un peu comment/quand il allume/éteint la PAC?

Merci beaucoup!

je suis paumé… j’arrive pas à allumer ma pac.
son fonctionnement normal est quand operation mode est sur 23.

j’ai rajouté le démarrage à 8h01 avec ton script esphome, mais elle veut passer en mode 8

image

10:23:54 [D] [modbus_controller.sensor:025] Sensor new state: 2.00
10:23:54 [D] [modbus_controller.sensor:025] Sensor new state: 0.00 
10:23:54 [D] [modbus_controller.select:014] New select value 8 from payload 
10:23:54 [D] [Reg1000:722] Received value 8 
10:23:54 [E] [modbus_controller.select:035] No option found for mapping 8 
10:23:54 [D] [modbus_controller.sensor:025] Sensor new state: 8.00 
10:23:54 [D] [modbus_controller.sensor:025] Sensor new state: 260.00 
10:23:54 [D] [modbus.number:027] Number new state : 26.00
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 150.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 165.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 250.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 250.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 150.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 225.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 225.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 228.00 
10:23:55 [D] [modbus_controller.sensor:025] Sensor new state: 0.00 

avant, j’avais ma pac en mode auto et heating eco, quand ma filtration est activée (selon sa loi d’eau interne), elle démarre toute seule et quand la filtration s’arrete elle s’arrete. elle s’arrete aussi quand la temperature de consigne est atteinte.

Salut à tous.

J’ai une PAC pour ma piscine de marque CF type comfort inverter R290.

En voyant les photos postées par tona et bentou, j’ai reconnu les connecteurs et le module wifi de ma PAC. D’après ce que j’ai pu trouver, elles partagent aussi l’écran tactile intégré de commande et l’application smartphone. Il semblerait que ces machines soient des variantes commerciales issues d’un même fabriquant (Aquacal Tropical) ?

J’ai connecté un Waveshare RS232/485/422 to RJ45 Ethernet Module POE au bornier RS485. Malheureusement, le « fabriquant » CF ne publie pas la table des Modbus, et j’avance un peu à l’aveuglette. La seule possibilité qu’il mettent en avant c’est l’application smartphone wifi que je n’ai pas pu interfacer avec Home Assistant.

En modifiant la consigne de température, j’ai pu constater que ce paramètre était à la même adresse que sur la PAC de Stephane_L62 (On la trouve dans le code qu’il a partagé).

L’un de vous pourrait-il me faire parvenir en mp la table Modbus de sa PAC ? Même s’il y a des différences, cela me ferait probablement gagner du temps.

Il y a une autre partie que je n’ai pas réussi a trouver dans la documentation, c’est à quoi correspondent les paramètres de fonctionnement que l’on voit dans le panneau de commande (écran tactile).

L’un d’entre vous sait-il à quoi correspondent ces paramètres ?