HC-SR04 ultrasonic sensor wavy readings

I am really confused why my ultrasonic sensor is returning wavy data, but with a regular pattern.

The history looks like this:

I am using the sensor to monitor the level of water in a christmas tree stand. The distance is clearly increasing (on average) as the water level falls, however I have no explanation for the recurring waves in the data, which peak around 20-30 minutes apart.

Here is my sensor config in ESPHome:

sensor:
  - platform: ultrasonic
    trigger_pin:
      number: D1
      inverted: false
    echo_pin: D2
    name: "Ultrasonic Sensor"
    update_interval: 15s
    timeout: 2.0m
    pulse_time: 20us
    device_class: distance
    state_class: measurement
    accuracy_decimals: 3
    filters:
    - exponential_moving_average:
        alpha: 0.1
        send_every: 4

I’m really puzzled as to what would cause the sensor to behave this way.