Data Spikes in Modbus Integration

Hello guys,

I have those weird spikes in my modbus data.
Anyone has an idea how to get rid of this?

This is my integration:

- name: aiswei_hub
  type: serial
  port: /dev/ttyUSB0
  baudrate: 9600
  bytesize: 8
  method: rtu
  parity: N
  stopbits: 1
  message_wait_milliseconds: 10
  timeout: 0.1

  sensors:
  

# Inverter Adresses

    - address: 1314
      device_address: 3
      name: Wechselrichter Temperatur
      data_type: int16
      scan_interval: 10
      unit_of_measurement: °C
      scale: 0.1
      device_class: temperature
      state_class: measurement
      unique_id: aiswei_boost_temperature
      input_type: input

    - address: 1376
      device_address: 3
      name: Fehlerzustand des Wechselrichters
      data_type: uint16
      scan_interval: 10
      unique_id: aiswei_fault_state_of_inverter
      input_type: input

    - address: 1029
      device_address: 3
      name: Softwareversion (Master)
      data_type: string
      scan_interval: 300
      count: 7
      unique_id: aiswei_master_software_version
      input_type: input

    - address: 1036
      device_address: 3
      name: Softwareversion (Slave)
      data_type: string
      scan_interval: 300
      count: 7
      unique_id: aiswei_slave_software_version
      input_type: input

    - address: 1043
      device_address: 3
      name: Softwareversion (Safety)
      data_type: string
      scan_interval: 300
      count: 7
      unique_id: aiswei_safety_version
      input_type: input

    - address: 1056
      device_address: 3
      name: Wechselrichter Hersteller
      data_type: string
      scan_interval: 300
      count: 8
      unique_id: aiswei_manufacturer
      input_type: input

    - address: 1318
      device_address: 3
      name: PV Spannung
      data_type: uint16
      scan_interval: 2
      unit_of_measurement: V
      scale: 0.1
      device_class: voltage
      state_class: measurement
      unique_id: aiswei_pv1_voltage
      input_type: input

    - address: 1319
      device_address: 3
      name: PV Strom
      data_type: uint16
      scan_interval: 2
      unit_of_measurement: A
      scale: 0.01
      device_class: current
      state_class: measurement
      unique_id: aiswei_pv1_current
      input_type: input

    - address: 1018
      device_address: 3
      name: Wechselrichter Typ
      data_type: string
      scan_interval: 300
      count: 8
      unique_id: aiswei_machine_type
      input_type: input

    - address: 1304
      device_address: 3
      name: Wirkenergie Produktion
      data_type: uint32
      scan_interval: 300
      unit_of_measurement: kWh
      scale: 0.1
      device_class: energy
      state_class: total_increasing
      unique_id: aiswei_e-total
      input_type: input

    - address: 1370
      device_address: 3
      name: PV Leistung
      data_type: int32
      scan_interval: 2
      unit_of_measurement: W
      device_class: power
      state_class: measurement
      unique_id: aiswei_pv_total_power
      input_type: input


# Meter Adresses

    - address: 0
      device_address: 1
      name: L1 Spannung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: V
      scale: 1
      device_class: voltage
      state_class: measurement
      unique_id: eastron_u_volts
      input_type: input

    - address: 2
      device_address: 1
      name: L2 Spannung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: V
      scale: 1
      device_class: voltage
      state_class: measurement
      unique_id: eastron_v_volts
      input_type: input

    - address: 4
      device_address: 1
      name: L3 Spannung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: V
      scale: 1
      device_class: voltage
      state_class: measurement
      unique_id: eastron_w_volts
      input_type: input

    - address: 6
      device_address: 1
      name: L1 Strom
      data_type: float32
      scan_interval: 2
      unit_of_measurement: A
      scale: 1
      device_class: current
      state_class: measurement
      unique_id: eastron_u_current
      input_type: input

    - address: 8
      device_address: 1
      name: L2 Strom
      data_type: float32
      scan_interval: 2
      unit_of_measurement: A
      scale: 1
      device_class: current
      state_class: measurement
      unique_id: eastron_v_current
      input_type: input

    - address: 10
      device_address: 1
      name: L3 Strom
      data_type: float32
      scan_interval: 2
      unit_of_measurement: A
      scale: 1
      device_class: current
      state_class: measurement
      unique_id: eastron_w_current
      input_type: input

    - address: 12
      device_address: 1
      name: L1 Wirkleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: W
      scale: 1
      device_class: power
      state_class: measurement
      unique_id: eastron_u_power
      input_type: input

    - address: 14
      device_address: 1
      name: L2 Wirkleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: W
      scale: 1
      device_class: power
      state_class: measurement
      unique_id: eastron_v_power
      input_type: input

    - address: 16
      device_address: 1
      name: L3 Wirkleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: W
      scale: 1
      device_class: power
      state_class: measurement
      unique_id: eastron_w_power
      input_type: input

    - address: 18
      device_address: 1
      name: L1 Scheinleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: VA
      scale: 1
      device_class: apparent_power
      state_class: measurement
      unique_id: eastron_u_va
      input_type: input

    - address: 20
      device_address: 1
      name: L2 Scheinleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: VA
      scale: 1
      device_class: apparent_power
      state_class: measurement
      unique_id: eastron_v_va
      input_type: input

    - address: 22
      device_address: 1
      name: L3 Scheinleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: VA
      scale: 1
      device_class: apparent_power
      state_class: measurement
      unique_id: eastron_w_va
      input_type: input

    - address: 24
      device_address: 1
      name: L1 Blindleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: var
      scale: 1
      device_class: reactive_power
      state_class: measurement
      unique_id: eastron_u_var
      input_type: input

    - address: 26
      device_address: 1
      name: L2 Blindleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: var
      scale: 1
      device_class: reactive_power
      state_class: measurement
      unique_id: eastron_v_var
      input_type: input

    - address: 28
      device_address: 1
      name: L3 Blindleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: var
      scale: 1
      device_class: reactive_power
      state_class: measurement
      unique_id: eastron_w_var
      input_type: input

    - address: 30
      device_address: 1
      name: L1 Leistungsfaktor
      data_type: float32
      scan_interval: 2
      scale: 1
      device_class: power_factor
      state_class: measurement
      unique_id: eastron_u_pwrf
      input_type: input

    - address: 32
      device_address: 1
      name: L2 Leistungsfaktor
      data_type: float32
      scan_interval: 2
      scale: 1
      device_class: power_factor
      state_class: measurement
      unique_id: eastron_v_pwrf
      input_type: input

    - address: 34
      device_address: 1
      name: L3 Leistungsfaktor
      data_type: float32
      scan_interval: 2
      scale: 1
      device_class: power_factor
      state_class: measurement
      unique_id: eastron_w_pwrf
      input_type: input

    - address: 52
      device_address: 1
      name: Wirkleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: W
      scale: 1
      device_class: power
      state_class: measurement
      unique_id: eastron_power
      input_type: input

    - address: 60
      device_address: 1
      name: Blindleistung
      data_type: float32
      scan_interval: 2
      unit_of_measurement: var
      scale: 1
      device_class: reactive_power
      state_class: measurement
      unique_id: eastron_var
      input_type: input

    - address: 72
      device_address: 1
      name: Importierte Wirkenergie
      data_type: float32
      scan_interval: 300
      unit_of_measurement: Wh
      scale: 1000
      device_class: energy
      state_class: total_increasing
      unique_id: eastron_energy_imp
      input_type: input

    - address: 74
      device_address: 1
      name: Exportierte Wirkenergie
      data_type: float32
      scan_interval: 300
      unit_of_measurement: Wh
      scale: 1000
      device_class: energy
      state_class: total_increasing
      unique_id: eastron_energy_exp
      input_type: input

    - address: 76
      device_address: 1
      name: Importierte Blindenergie
      data_type: float32
      scan_interval: 2
      unit_of_measurement: varh
      scale: 1000
      state_class: total_increasing
      unique_id: eastron_varh_imp
      input_type: input

    - address: 78
      device_address: 1
      name: Exportierte Blindenergie
      data_type: float32
      scan_interval: 2
      unit_of_measurement: varh
      scale: 1000
      state_class: total_increasing
      unique_id: eastron_varh_exp
      input_type: input

# Holding Registers

#    - address: 5400
#      device_address: 3
#      name: Lasterhöhungsgeschwindigkeit beim Start
#      data_type: uint16
#      scan_interval: 5
#      unit_of_measurement: '%Pn/min'
#      scale: 1.0
#      unique_id: aiswei_load_rate_of_first_connection_to_grid
#      input_type: holding

#    - address: 5401
#      device_address: 3
#      name: Lasterhöhungsgeschwindigkeit bei Wiederverbindung
#      data_type: uint16
#      scan_interval: 5
#      unit_of_measurement: '%Pn/min'
#      scale: 1.0
#      unique_id: aiswei_load_rate_of_reconnection_to_grid
#      input_type: holding

    - address: 5402
      device_address: 3
      name: Wirkleistungsgrenze
      data_type: uint16
      scan_interval: 2
      unit_of_measurement: '%'
      scale: 0.01
      unique_id: aiswei_active_power_set
      input_type: holding

#    - address: 5403
#      device_address: 3
#      name: Anstiegsrate der Wirkleistung
#      data_type: uint16
#      scan_interval: 5
#      unit_of_measurement: '%Pn/min'
#      scale: 0.01
#      unique_id: aiswei_increase_rate_of_active_power
#      input_type: holding

#    - address: 5404
#      device_address: 3
#      name: Absenkungsrate der Wirkleistung
#      data_type: uint16
#      scan_interval: 5
#      unit_of_measurement: '%Pn/min'
#      scale: 0.01
#      unique_id: aiswei_decrease_rate_of_active_power
#      input_type: holding
1 Like

Possibly related to the pymodbus library as it was recently updated. See this thread with another integration using it : https://github.com/wills106/homeassistant-solax-modbus/issues/1238#issuecomment-2750778596

1 Like