Onewire only updates on reboot

I have 2 DS18B20s on a onewire setup on a Pi 4 GPIO. They seem to work hit and miss. Sometimes they will update regularly, sometimes just one will freeze and read the same temperature for hours and sometimes both will freeze. A reboot always solves the issue but it comes back anywhere from a few minutes to a few hours after the reboot. What am I doing wrong?

We’re going to need a bit more information than that. How have you connected them up, and how are you trying to read them?

The data wires are connected to GPIO pin (I’ll have to check my setup to confirm which pin) and I am trying to read them in the lovelace dashboard. I can confirm the wiring setup tonight when I get home and get a diagram.

The configuration.yaml has this entry:
sensor:

  • platform: onewire
    names:
    28-030297943940: Bedroom
    28-03109794596f: Outside

Red wires go to 5v, black to ground. Yellow signal wires go to GPIO 4. There is a 4.7k resistor between 5v and the signal.

And you’ve done the boot/config.txt mods as per the docs? If so, I’m out of options: you even appear to have genuine Dallas sensors starting with 28 (most are counterfeit).

This is my config file:

For more options and information see

http://rpf.io/configtxt

Some settings may impact device functionality. See link above for details

HassOS - don’t change it!

disable_splash=1
kernel=u-boot.bin

uncomment for aarch64 bit support

#arm_64bit=1

uncomment if you get no picture on HDMI for a default “safe” mode

#hdmi_safe=1

uncomment this if your display has a black border of unused pixels visible

and your display can output without overscan

#disable_overscan=1

uncomment the following to adjust overscan. Use positive numbers if console

goes off screen, and negative if there is too much border

#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

uncomment to force a console size. By default it will be display’s size minus

overscan.

#framebuffer_width=1280
#framebuffer_height=720

uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

uncomment to force a specific HDMI mode (this will force VGA)

#hdmi_group=1
#hdmi_mode=1

uncomment to force a HDMI mode rather than DVI. This can make audio work in

DMT (computer monitor) modes

#hdmi_drive=2

uncomment to increase signal to HDMI, if you have interference, blanking, or

no display

#config_hdmi_boost=4

uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

Uncomment some or all of these to enable the optional hardware interfaces

#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

Uncomment this to enable the lirc-rpi module

#dtoverlay=lirc-rpi

Additional overlays and parameters are documented /boot/overlays/README

Enable audio (loads snd_bcm2835)

dtparam=audio=on

[all]
#dtoverlay=vc4-fkms-v3d
#max_framebuffers=2
dtoverlay=w1-gpio

Does anyone have any ideas on this? I’ve been hoping this would be fixed in an update but no luck yet. Every time I reboot, they work great for a few hours but then stop updating. It’s so strange.