What triggers only some esphome devices to update?

Here’s something I’ve been curious about.

I update ESPHome Device Builder when prompted by HA. Afterwards I’m always prompted to update the same two of my ten ESPHome devices.

Is there a way to see what is triggering the update for just those devices?

Here’s one device that I always get prompted to update.

And here’s a device with older version that I’m not asked to update.

Below are the two configs for those devices. Is there something in the config that triggers the updates?

Config for device that gets updated
substitutions:
  static_ip_address: 192.168.0.167

esphome:
  name: motion-in-living-room
  friendly_name: Motion in Living Room

esp8266:
  board: nodemcuv2

packages:
  connect: !include includes/connections.yaml


output:
  - platform: gpio
    id: relay_1
    pin: D2
    inverted: True
  
  - platform: esp8266_pwm
    id: onboard_led
    pin:
      number: D0
      inverted: true

button:
  - platform: output
    name: "The Front Gate"
    output: relay_1
    icon: "mdi:gate"
    duration: 3000ms

light:
  - platform: monochromatic
    name: "Onboard LED"
    output: onboard_led
    id: led

switch:
  - platform: gpio
    name: "Relay 2"
    id: relay_2
    pin: D3
    inverted: True
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: relay_2
    

binary_sensor:
  - platform: gpio
    pin: D1
    name: "PIR Sensor"
    device_class: motion
    on_press:
      then:
        - light.turn_on: led
    on_release:
      then:
        - light.turn_off: led
Example of a device that does not request an update.
substitutions:
  name: "house-water-pressure"
  friendly_name: House Water

  static_ip_address: 192.168.0.201


packages:
  connect: !include includes/connections.yaml


esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}


esp8266:
  board: esp01_1m


# To have a "next url" for improv serial
web_server:


sensor:
  - platform: adc
    pin: A0
    name: "Pressure"
    update_interval: 15s
    accuracy_decimals: 1
    device_class: pressure
    state_class: measurement
    unit_of_measurement: "psi"
    icon: "mdi:gauge"
    filters:
      - lambda: return x * 130;

The difference might not necessarily be in the yaml.

Go to the device page in HA and check whether the update.yourdevice_firmware is disabled or hidden in the Configuration section of that page.

Yes, that was it. Thanks.

I do not remember disabling (or enabling) that entity. Maybe something related to when that device was first added? Or just bad memory on my part…

1 Like