Modbus CRC Check Error ESP32 / ESP8266 Power Inverter

Hello dear community,

I’m having difficulties (to be honest fighting for over a month) with establishing proper connection with my inverter. It’s pv1800 that has RS485 connectivity.

I have this MPPT + Inverter and used this guide for reference. (both polish)

My current setup is ESP32-Wroom (esp32dev) with this TTL RS485. I had also tried ESP8266 (D1 Mini) and Node-MCU v3. I also tried this modbus. (Tried 3v and 5v)

The result was always the same I want to say.

The problem is that after some time (usually 1 to 3 days) I’m starting to receive more and more crc check errors from the modbus via esp32. This is going that far that the data sometimes doesn’t update for >30 minutes.

I noticed following after replacing the esp it’s okay for ~1-3 days. Restarting doesn’t really help. It usually starts with “odbus command to device=4 register=0x6275 countdown=0 no response received - removed from send queue” (something like that) and then reboot doesn’t help but just plugging it out of the power source and letting it run again.

I tried using the framework version 2.0.6 that many people recommended just to try and it doesn’t seem to be better.

The wiring is proper I guess since for the first couple of days it’s behaving just fine otherwise it shouldn’t work from day 0.

Here’s my config (reduced the amount of lines just to not bloat the post completely):

esphome:
  name: sinus-pro-ultra
  friendly_name: Sinus Pro Ultra

esp32:
  board: esp32dev
  framework:
    type: arduino
    version: 2.0.6

#esp8266:
#  board: esp01_1m # esp01_1m

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: "---"

ota:
  platform: 'esphome'
  password: "---"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
      static_ip: 192.168.178.96
      gateway: 192.168.178.75
      subnet: 255.255.255.0

  reboot_timeout: 1min"

#captive_portal:

uart:
  id: mod_bus
  rx_pin: GPIO1 # TX - GPI05
  tx_pin: GPIO3 # RX - GPI05
  baud_rate: 19200 #19200
  stop_bits: 1 # 1

modbus:
  send_wait_time: 300ms # default: 300ms
  id: modbus2

modbus_controller:
  - id: pv1800
    ## the Modbus device addr
    address: 0x4
    modbus_id: modbus2
    command_throttle: 0ms
    setup_priority: -10
    update_interval: 15s

switch:
  - platform: restart
    name: "Sinus Pro Ultra ESP Restart"

sensor:

## WIFI

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

## STATES

  - platform: modbus_controller
    modbus_controller_id: pv1800
    name: "Charging state"
    id: charging_state
    register_type: holding
    address: 0x3B63
    value_type: U_WORD

  - platform: modbus_controller
    modbus_controller_id: pv1800
    name: "Mppt state"
    id: mppt_state
    register_type: holding
    address: 0x3B62
    value_type: U_WORD


## INVERTER

  - platform: modbus_controller
    modbus_controller_id: pv1800
    name: "Inverter voltage"
    id: inverter_voltage
    register_type: holding
    address: 0x6276
    unit_of_measurement: "V"
    value_type: U_WORD
    accuracy_decimals: 1
    device_class: "VOLTAGE"
    state_class: "measurement"
    filters:
      - multiply: 0.1

The logs:

INFO ESPHome 2024.7.3
INFO Reading configuration /config/sinus-pro-ultra.yml...
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
INFO Starting log output from 192.168.178.96 using esphome API
INFO Successfully connected to sinus-pro-ultra @ 192.168.178.96 in 0.060s
INFO Successful handshake with sinus-pro-ultra @ 192.168.178.96 in 0.088s
[19:28:41][I][app:100]: ESPHome version 2024.7.3 compiled on Aug 14 2024, 19:23:32
[19:28:41][C][wifi:599]: WiFi:
[19:28:41][C][wifi:427]:   Local MAC: 08:A6:F7:A1:41:64
[19:28:41][C][wifi:432]:   SSID: '---'[redacted]
[19:28:41][C][wifi:435]:   IP Address: 192.168.178.96
[19:28:41][C][wifi:439]:   BSSID: 04:B4:FE:45:62:6A[redacted]
[19:28:41][C][wifi:440]:   Hostname: 'sinus-pro-ultra'
[19:28:41][C][wifi:442]:   Signal strength: -56 dB ▂▄▆█
[19:28:41][C][wifi:446]:   Channel: 1
[19:28:41][C][wifi:447]:   Subnet: 255.255.255.0
[19:28:41][C][wifi:448]:   Gateway: 192.168.178.75
[19:28:41][C][wifi:449]:   DNS1: 0.0.0.0
[19:28:41][C][wifi:450]:   DNS2: 0.0.0.0
[19:28:41][C][logger:185]: Logger:
[19:28:41][C][logger:186]:   Level: DEBUG
[19:28:41][C][logger:188]:   Log Baud Rate: 115200
[19:28:41][C][logger:189]:   Hardware UART: UART0
[19:28:41][C][uart.arduino_esp32:151]: UART Bus 1:
[19:28:41][C][uart.arduino_esp32:152]:   TX Pin: GPIO3
[19:28:41][C][uart.arduino_esp32:153]:   RX Pin: GPIO1
[19:28:41][C][uart.arduino_esp32:155]:   RX Buffer Size: 256
[19:28:41][C][uart.arduino_esp32:157]:   Baud Rate: 19200 baud
[19:28:41][C][uart.arduino_esp32:158]:   Data Bits: 8
[19:28:41][C][uart.arduino_esp32:159]:   Parity: NONE
[19:28:41][C][uart.arduino_esp32:160]:   Stop bits: 1
[19:28:41][C][modbus:152]: Modbus:
[19:28:41][C][modbus:154]:   Send Wait Time: 300 ms
[19:28:41][C][modbus:155]:   CRC Disabled: NO
[19:28:41][C][restart:068]: Restart Switch 'Sinus Pro Ultra ESP Restart'
[19:28:41][C][restart:070]:   Icon: 'mdi:restart'
[19:28:41][C][restart:091]:   Restore Mode: always OFF
[19:28:41][C][copy.sensor:015]: Copy Sensor 'WiFi Signal Percent'
[19:28:41][C][copy.sensor:015]:   State Class: 'measurement'
[19:28:41][C][copy.sensor:015]:   Unit of Measurement: '%'
[19:28:41][C][copy.sensor:015]:   Accuracy Decimals: 0
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Charging state'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Mppt state'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Charger workstate'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Inverter voltage'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'voltage'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'V'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Inverter current'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'current'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'A'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PInverter'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'power'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'W'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Load current'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'current'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'A'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Load percent'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '%'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PLoad'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'power'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'W'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Bus voltage'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'voltage'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'V'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PV voltage'
[19:28:41][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'voltage'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'V'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Charger power'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'power'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'W'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Charger current'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'current'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'A'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery voltage'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'voltage'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'V'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Charger Battery voltage'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'voltage'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'V'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery power'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'power'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'W'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery current'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'current'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'A'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'External temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '°C'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Radiator temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '°C'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'AC radiator temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '°C'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Transformer temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '°C'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'DC radiator temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'temperature'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '°C'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery relay connection'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PV relay connection'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Inverter relay state'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Load relay state'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM charge high'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM charge low'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM discharge high'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM discharge low'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM load high'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM load low'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM self use high'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM self use low'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:42][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM PV power high'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'ACCUM PV power low'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Device Class: 'energy'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'kWh'
[19:28:43][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[19:28:43][C][mdns:116]: mDNS:
[19:28:43][C][mdns:117]:   Hostname: sinus-pro-ultra
[19:28:43][C][esphome.ota:073]: Over-The-Air updates:
[19:28:43][C][esphome.ota:074]:   Address: 192.168.178.96:3232
[19:28:43][C][esphome.ota:075]:   Version: 2
[19:28:43][C][esphome.ota:078]:   Password configured
[19:28:43][C][safe_mode:018]: Safe Mode:
[19:28:43][C][safe_mode:020]:   Boot considered successful after 60 seconds
[19:28:43][C][safe_mode:021]:   Invoke after 10 boot attempts
[19:28:43][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[19:28:43][C][api:139]: API Server:
[19:28:43][C][api:140]:   Address: 192.168.178.96:6053
[19:28:43][C][api:142]:   Using noise encryption: YES
[19:28:43][C][wifi_signal.sensor:009]: WiFi Signal 'WiFi Signal dB'
[19:28:43][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
[19:28:43][C][wifi_signal.sensor:009]:   State Class: 'measurement'
[19:28:43][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
[19:28:43][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
[19:28:43][C][modbus_controller:341]: ModbusController:
[19:28:43][C][modbus_controller:342]:   Address: 0x04
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Charger workstate': Sending state 0.00000  with 0 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Mppt state': Sending state 0.00000  with 0 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Charging state': Sending state 0.00000  with 0 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'PV voltage': Sending state 0.00000 V with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Charger Battery voltage': Sending state 0.00000 V with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Charger current': Sending state 0.00000 A with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Charger power': Sending state 0.00000 W with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Radiator temperature': Sending state 0.00000 °C with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'External temperature': Sending state 0.00000 °C with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'Battery relay connection': Sending state 0.00000  with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:45][D][sensor:094]: 'PV relay connection': Sending state 0.00000  with 1 decimals of accuracy
[19:28:45][W][component:237]: Component modbus_controller took a long time for an operation (134 ms).
[19:28:45][W][component:238]: Components should block for at most 30 ms.
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 1.00
[19:28:45][D][sensor:094]: 'ACCUM PV power high': Sending state 1.00000 kWh with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 994.00
[19:28:45][D][sensor:094]: 'ACCUM PV power low': Sending state 99.40000 kWh with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 481.00
[19:28:45][D][sensor:094]: 'Battery voltage': Sending state 48.10000 V with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 2298.00
[19:28:45][D][sensor:094]: 'Inverter voltage': Sending state 229.80000 V with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 3870.00
[19:28:45][D][sensor:094]: 'Bus voltage': Sending state 387.00000 V with 1 decimals of accuracy
[19:28:45][D][modbus_controller.sensor:025]: Sensor new state: 15.00
[19:28:45][D][sensor:094]: 'Inverter current': Sending state 1.50000 A with 1 decimals of accuracy
[19:28:45][W][modbus:114]: Modbus CRC Check failed! FFA8!=2040
[19:28:46][W][modbus:114]: Modbus CRC Check failed! 3AAF!=FEEE
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:46][D][sensor:094]: 'Load current': Sending state 0.00000 A with 1 decimals of accuracy
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 19.00
[19:28:46][D][sensor:094]: 'PInverter': Sending state 19.00000 W with 1 decimals of accuracy
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:46][D][sensor:094]: 'PLoad': Sending state 0.00000 W with 1 decimals of accuracy
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:46][D][sensor:094]: 'Load percent': Sending state 0.00000 % with 1 decimals of accuracy
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 38.00
[19:28:46][D][sensor:094]: 'AC radiator temperature': Sending state 38.00000 °C with 1 decimals of accuracy
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 49.00
[19:28:46][D][sensor:094]: 'Transformer temperature': Sending state 49.00000 °C with 1 decimals of accuracy
[19:28:46][D][modbus_controller.sensor:025]: Sensor new state: 32.00
[19:28:47][D][sensor:094]: 'DC radiator temperature': Sending state 32.00000 °C with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 1.00
[19:28:47][D][sensor:094]: 'Inverter relay state': Sending state 1.00000  with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 1.00
[19:28:47][D][sensor:094]: 'Load relay state': Sending state 1.00000  with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:47][D][sensor:094]: 'ACCUM charge high': Sending state 0.00000 kWh with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:47][D][sensor:094]: 'ACCUM charge low': Sending state 0.00000 kWh with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:47][D][sensor:094]: 'ACCUM discharge high': Sending state 0.00000 kWh with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 9533.00
[19:28:47][D][sensor:094]: 'ACCUM discharge low': Sending state 953.29999 kWh with 1 decimals of accuracy
[19:28:47][W][component:237]: Component modbus_controller took a long time for an operation (67 ms).
[19:28:47][W][component:238]: Components should block for at most 30 ms.
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:47][D][sensor:094]: 'ACCUM load high': Sending state 0.00000 kWh with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 8686.00
[19:28:47][D][sensor:094]: 'ACCUM load low': Sending state 868.60004 kWh with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:28:47][D][sensor:094]: 'ACCUM self use high': Sending state 0.00000 kWh with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 9533.00
[19:28:47][D][sensor:094]: 'ACCUM self use low': Sending state 953.29999 kWh with 1 decimals of accuracy
[19:28:47][W][component:237]: Component modbus_controller took a long time for an operation (66 ms).
[19:28:47][W][component:238]: Components should block for at most 30 ms.
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 70.00
[19:28:47][D][sensor:094]: 'Battery power': Sending state 70.00000 W with 1 decimals of accuracy
[19:28:47][D][modbus_controller.sensor:025]: Sensor new state: 1.00
[19:28:47][D][sensor:094]: 'Battery current': Sending state 0.10000 A with 1 decimals of accuracy
[19:28:56][D][sensor:094]: 'WiFi Signal dB': Sending state -55.00000 dBm with 0 decimals of accuracy
[19:28:56][D][sensor:094]: 'WiFi Signal Percent': Sending state 90.00000 % with 0 decimals of accuracy
[19:29:00][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:29:00][D][sensor:094]: 'Charger workstate': Sending state 0.00000  with 0 decimals of accuracy
[19:29:00][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:29:00][D][sensor:094]: 'Mppt state': Sending state 0.00000  with 0 decimals of accuracy
[19:29:00][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[19:29:00][D][sensor:094]: 'Charging state': Sending state 0.00000  with 0 decimals of accuracy
[19:29:00][W][component:237]: Component modbus_controller took a long time for an operation (51 ms).
[19:29:00][W][component:238]: Components should block for at most 30 ms.

(It’s just the start since this setup is fresh)

I tried also with logger with baud_rate0, lower pooling times, throttling, wait send etc.
But it’s all for nothing.

I’m looking forward for some advices, hints or anything that could point me to fixing or/and understanding this.

Thanks in advance!

Use Gpio17 and 16 (uart2).
Control your wiring, cold solders, flimsy connectors, oxidation etc.
Rs485 board has to be next to Esp, short wiring.
Rs485 wiring can be long, but it has to be twisted pair.

Thanks for the quick answer.

I changed the GPIO pins.

I tried without version 2.0.6 → CRC Errors
I tried with version 2.0.6 → CRC Errors.

edit:
I changed the log level back to debug (after posting this) and within 5 minutes not a single error without version 2.0.6.

(Although from the short observation it looks like the version 2.0.6 is worse now but don’t nail me on that).

INFO Upload took 9.19 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.178.96 using esphome API
INFO Successfully connected to sinus-pro-ultra @ 192.168.178.96 in 7.102s
INFO Successful handshake with sinus-pro-ultra @ 192.168.178.96 in 0.134s
[20:16:18][W][modbus:114]: Modbus CRC Check failed! 20!=FFC6
[20:16:32][W][modbus:114]: Modbus CRC Check failed! D421!=58
[20:16:32][W][modbus:114]: Modbus CRC Check failed! 20!=08
[20:16:33][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:16:33][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:16:33][W][modbus:114]: Modbus CRC Check failed! 20!=4000
[20:16:34][W][modbus:114]: Modbus CRC Check failed! 20!=11
[20:16:34][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:16:47][W][modbus:114]: Modbus CRC Check failed! 20!=58
[20:16:47][W][modbus:114]: Modbus CRC Check failed! 20!=08
[20:16:48][W][modbus:114]: Modbus CRC Check failed! D421!=5C
[20:16:48][W][modbus:114]: Modbus CRC Check failed! C071!=5C
[20:16:48][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:16:49][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:16:50][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:17:02][W][modbus:114]: Modbus CRC Check failed! 20!=FB58
[20:17:03][W][modbus:114]: Modbus CRC Check failed! C071!=08
[20:17:03][W][modbus:114]: Modbus CRC Check failed! 20!=58
[20:17:03][W][modbus:114]: Modbus CRC Check failed! C071!=5C
[20:17:04][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:04][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:05][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:17:17][W][modbus:114]: Modbus CRC Check failed! 20!=08
[20:17:18][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:17:18][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:17:18][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:19][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:19][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:17:32][W][modbus:114]: Modbus CRC Check failed! 20!=58
[20:17:32][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:17:33][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:17:33][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:34][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:34][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:17:47][W][modbus:114]: Modbus CRC Check failed! 20!=08
[20:17:48][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:17:48][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:17:48][W][modbus:114]: Modbus CRC Check failed! 20!=80
[20:17:49][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:17:49][W][modbus:114]: Modbus CRC Check failed! C071!=46
[20:18:02][W][modbus:114]: Modbus CRC Check failed! 20!=58
[20:18:02][W][modbus:114]: Modbus CRC Check failed! D421!=08
[20:18:03][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:18:03][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:18:03][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:18:04][W][modbus:114]: Modbus CRC Check failed! 20!=100
[20:18:04][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:18:17][W][modbus:114]: Modbus CRC Check failed! D421!=08
[20:18:18][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:18:18][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:18:18][W][modbus:114]: Modbus CRC Check failed! D421!=00
[20:18:19][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:18:20][W][modbus:114]: Modbus CRC Check failed! 20!=46
[20:18:32][W][modbus:114]: Modbus CRC Check failed! 20!=58
[20:18:32][W][modbus:114]: Modbus CRC Check failed! 20!=08
[20:18:33][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:18:33][W][modbus:114]: Modbus CRC Check failed! 20!=5C
[20:18:33][W][modbus:114]: Modbus CRC Check failed! 20!=00
[20:18:34][W][modbus:114]: Modbus CRC Check failed! D421!=00
[20:18:35][W][modbus:114]: Modbus CRC Check failed! 20!=46

The setup looks like this. I’ve shorten every cable the time I was doing the setup (the day before yesterday). I don’t think they’re too long.

The cable is CAT 8 Cable that I cut to connect the three wires. (Orange A+, Orange-White B-, Green-White GND).

(Sorry for some reason it’s always rotating the image)

I would try and change the wires you have from esp->TTL, a lot of times the DuPont wires aren’t snug, might even want to solder them to the pins of esp and make them really short (or twisted pair) to see if thats the issue.

CRC errors mean the data is being mangled while in transit. I would start with these things

  1. How is the board powered? Is the PSU giving clean proper voltage and current?
  2. Solder wires directly to esp and either twist pair them or make them very very short. Cheap DuPont wires are notorious for spotty connections.
  3. Is there any crazy RF in that area that the wires are picking up?
  4. Possibly a bad component on the rs board?

I would also try swapping out that bahiwom cat 8 cable to something you know is quality just to be sure it’s not that.

I had a IP camera issue because of RF interference inducing in the cat 6 lines, I used aluminium foil (kitchen tinfoil) and wrapped the cat 6 cord in tinfoil for a good 6 feet near the RF source, solved my RF issues.

Your wiring looks okish for that short distance. But control the connections, one flimsy connector can cause issues. Does your issue have some pattern in time or frequency?

Thanks for your support guys. I really appreciate it.

It was a little bit late today for me to start soldering therefore I did it right after I woke up since it’s a public holiday where I live so I had enough time to try out.

To answer all the questions:

  • The board is powered via mini ups. Something like this. I had it plugged to other ESP back then and I do have constant monitoring for this device in case it disconnects or something but it works fine (just ping with uptime-kuma). I also tried powering other ESPs with standard charger plug but had no change there.

  • I replaced the cables and have used the provided cables from the RS485 TTL. I even shorten them. They are now directly soldered to the board (uart2).

  • I don’t think any “crazy” RF is there. The walls are thick and on the outside wall (the wall where the box with the esp hungs) is a Wifi-Repeater, Zigbee Switch in the wall on close height level and not that far away is a Zigbee plug. There’s also RF-Receiver for the garage door but it’s on the opposite side more than 2.5 meters. There are also another two ESP devices one outside. One is a simple thermometer and the other is for Lay-Z-Spa.

  • I tried different boards but it’s always the same therefore the chance is very low that this particular board is faulty. I also forgot to mention but this is the second cable (I threw it away and I don’t really remember what kind of cable it was). I have like 5-6 of those bahiwom cables and they do their job for all the devices.

I followed the advice with the kitchen foil and it doesn’t really feel much better.

To answer also the second question right above. I don’t see any real pattern behind those messages.




Current logs:

INFO ESPHome 2024.7.3
INFO Reading configuration /config/sinus-pro-ultra.yml...
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
INFO Starting log output from 192.168.178.96 using esphome API
INFO Successfully connected to sinus-pro-ultra @ 192.168.178.96 in 0.069s
INFO Successful handshake with sinus-pro-ultra @ 192.168.178.96 in 0.084s
[09:52:13][W][modbus:114]: Modbus CRC Check failed! 21C8!=E1DD
[09:53:12][W][modbus:114]: Modbus CRC Check failed! F130!=00
[09:53:12][W][modbus:114]: Modbus CRC Check failed! C071!=2500
[09:53:57][W][modbus:114]: Modbus CRC Check failed! 346A!=746A
[09:55:13][W][modbus:114]: Modbus CRC Check failed! 89C!=E09D
[09:55:24][W][modbus:114]: Modbus CRC Check failed! 25EE!=E5F7
[09:55:25][W][modbus:114]: Modbus CRC Check failed! 4BB8!=CBB8
[09:55:39][W][modbus:114]: Modbus CRC Check failed! 7374!=8F75
[09:55:54][W][modbus:114]: Modbus CRC Check failed! 2FF6!=E5F7
[09:55:54][W][modbus:114]: Modbus CRC Check failed! 9B97!=5BEE
[09:56:56][W][modbus:114]: Modbus CRC Check failed! E874!=88F5
[09:57:27][W][modbus:114]: Modbus CRC Check failed! 34EE!=F56F
[09:57:41][W][modbus:114]: Modbus CRC Check failed! C99B!=99F
[09:57:42][W][modbus:114]: Modbus CRC Check failed! AFC!=CAFE
[09:57:55][W][modbus:114]: Modbus CRC Check failed! 219!=C228
[09:58:12][W][modbus:114]: Modbus CRC Check failed! 4334!=84B5

Very weird indeed. I would be wondering if there’s possibly a hardware issue on the port? Cold solder joint or cracking? It seems your esp, cables and rs board are good so I would start looking at other things, might even be a software or config issue, hard to say.

Is there anyway you can hook your esp and rs board upto someone else’s meter to see if the errors persist? Like a sibling or family members house?

Not really a lot to suggest anymore.
Check there is no oxidation on inverter connector. You could disconnect gnd from rs485 and leave only A and B. Rs485 doesn’t need it and even if it’s generally improving noise immunity, I remember one case where it was causing problems.

Also try to play with
send_wait_time

and try

disable_crc

on modbus component.

I was fiddling around but no real improvements over the past days. They are still happening but if they’ll stay like that for now I can live with that to be honest.

I changed the config to update every 10ms therefore even if an error happens there’s a huge chance that by the next update it’ll be there.

I don’t know anybody that has similar device like me therefore can’t really test it.

I’ll look if the support can provide me an update or any additional information since this thing isn’t old and in case I’ll definitely update you.

I have also played with send_wait time but nothing changes and also disabling crc check isn’t a solution since in the dark night it reported over 1k production which can’t be real :smiley: and totally destroyed my statistics.

Thank you guys :slight_smile:

That’s why crc was invented.
You could use it without, but you need to do filtering on your code to eliminate interferences from your results.

Yeah, exactly but I do wanted to confirm that I tried but no data is better than false data :smiley:

I received an answer from the support and they said that there is no possibility of firmware upgrade but provided me document with detailed documentation of the modbus protocol.

Haven’t checked it properly yet but will definitely let you know. I also definitely need to try disconnecting the GND since it came out of my mind and there are no talks about GND in the document.

I’ll be at home by the end of this week, then I can tell about the result.

Few crc errors once in a while is totally normal. It’s part of the “game”.
But continuous errors that start few days after powering is kind of paranormal…

Yeah, the fact that it was unusable after a few days made me start this whole thread since it’s not an issue on the esps for sure.

I can at least now receive constant information out of the inverter and I see from time to time a delay that is being corrected within the next update.

(eg. 15:00:00 was last pool and should be updated in the next 10 seconds but actually crc happened and it’s there on 15:00:20).

I still want to try out if disconnecting GND will make it even more stable.

Changes are low, but try anyway.

Another thing came to my mind. In your RS485 board there is empty open pad labeled R0?

If yes, that means that 120ohm termination resistor is not connected. RS485 standard calls that resistor, but with short wiring it’s not (usually) needed.
You could bridge that with a solder blob.

So it been some time but sadly I didn’t had sufficient time to get around the topic but as you might think it was working alrighty otherwise I would have to find time :smiley:

I actually found the open R0 pad and bridged it. Still CRCs.

I also disconnected GND. Still CRCs.

I left it with R0 bridged and GND disconnected but I think it’s now worse than before. I’m receiving at least one CRC Check failure every pool.

Thanks for your support.