core: After restart of Home Assistant Modbus registers sometimes show wrong values until new restart of HA
The problem
After restart of Home Assistant some values of Modbus registers show wrong values. Only solution is to restart Home Assistant again then it is working fine most of the time
Environment
- Home Assistant Core release with the issue: 0.115.6
- Last working Home Assistant Core release (if known): 0.114 or 0.113
- Operating environment (OS/Container/Supervised/Core): Home Assistant OS as VirtualBox VM
- Integration causing this issue: Modbus
- Link to integration documentation on our website: https://www.home-assistant.io/integrations/modbus/
Problem-relevant configuration.yaml
modbus:
name: SolvisRemote
type: tcp
host: <ipofheatingsystem>
port: 502
sensor:
- platform: modbus
scan_interval: 30
registers:
- name: Warmwasserpuffer
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33024
- name: Warmwassertemperatur
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33025
- name: Speicherreferenztemperatur
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33026
- name: Heizungspuffertemperatur oben
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33027
- name: Aussentemperatur
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33033
- name: Heizungspuffertemperatur unten
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33032
- name: Zirkulationsdurchfluss
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33034
- name: Vorlauftemperatur
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33035
# - name: Kaltwassertemperatur
# hub: SolvisRemote
# unit_of_measurement: °C
# scale: 0.1
# slave: 1
# precision: 2
# register_type: input
# register: 33038
- name: Durchfluss Warmwasserzirkualation
hub: SolvisRemote
unit_of_measurement: l/min
slave: 1
precision: 2
scale: 0.1
register_type: input
register: 33041
- name: Laufzeit Brenner
hub: SolvisRemote
unit_of_measurement: h
slave: 1
precision: 0
register_type: input
register: 33536
- name: Brennerstarts
hub: SolvisRemote
unit_of_measurement: Starts
slave: 1
precision: 0
register_type: input
register: 33537
- name: Brennerleistung
hub: SolvisRemote
unit_of_measurement: kW
scale: 0.1
slave: 1
precision: 2
register_type: input
register: 33539
- name: Ionisationsstrom
hub: SolvisRemote
unit_of_measurement: mA
slave: 1
scale: 0.1
precision: 1
register_type: input
register: 33540
- name: A01.Pumpe Zirkulation
hub: SolvisRemote
slave: 1
unit_of_measurement: V
scale: 0.01
precision: 0
register_type: input
register: 33280
- name: A02.Pumpe Warmwasser
hub: SolvisRemote
slave: 1
unit_of_measurement: V
scale: 0.01
precision: 0
register_type: input
register: 33281
- name: A03.Pumpe HK1
hub: SolvisRemote
slave: 1
unit_of_measurement: V
scale: 0.01
precision: 0
register_type: input
register: 33282
# - name: A05.Pumpe Zirkulation
# hub: SolvisRemote
# slave: 1
# unit_of_measurement: V
# scale: 0.01
# precision: 0
# register_type: input
# register: 33284
- name: A12.Brennerstatus
hub: SolvisRemote
slave: 1
unit_of_measurement: V
scale: 0.01
precision: 0
register_type: input
register: 33291
- name: WW Nachheizung 2322
hub: SolvisRemote
slave: 1
#unit_of_measurement: V
#scale: 0.01
#precision: 0
register_type: holding
register: 2322
- name: HKR1 Betriebsart
hub: SolvisRemote
slave: 1
register_type: holding
register: 2818
- platform: modbus
scan_interval: 300
registers:
- name: HKR1 Absenktemperatur Nacht
hub: SolvisRemote
unit_of_measurement: °C
slave: 1
register_type: holding
register: 2821
- name: HKR1 Solltemperatur Tag
hub: SolvisRemote
unit_of_measurement: °C
slave: 1
register_type: holding
register: 2820
- name: DigIn Stoerungen
hub: SolvisRemote
slave: 1
register_type: input
register: 33045
- name: WW Solltemperatur
hub: SolvisRemote
unit_of_measurement: °C
slave: 1
register_type: holding
register: 2305
- name: VersionSC2
hub: SolvisRemote
slave: 1
scale: 0.01
precision: 2
register_type: input
register: 32770
- name: VersionNBG
hub: SolvisRemote
slave: 1
scale: 0.01
register_type: input
register: 32771
- name: ZirkulationBetriebsart
hub: SolvisRemote
slave: 1
register_type: input
register: 2049
- name: Raumtemperatur_HKR1
hub: SolvisRemote
unit_of_measurement: °C
scale: 0.1
slave: 1
register_type: holding
register: 34304
Traceback/Error logs
Additional information
Starting in Home Assistant 0.114 (I think) sometimes some of my Modbus Sensors are showing wrong values after restarting Home Assistant. The value is then way too high, for example I am reading temperature values or the current heating power of my house heating-system. Instead of showing the actual outside temperature it is showing a value of over 40°C or a heating power off 440 kW instead of 3 kW for example. Restarting Home Assistant is the only solution I found so far for resolving the problem.
Some problematic Sensors in configuration are: “Aussentemperatur” or “Brennerleistung”

Modbus Device is a Solvis Heating System. Had no problems before 0.114
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 17 (10 by maintainers)
I will try to see how I can test the points I made.