ESPHome Device Not Showing Up

Recently flashed a second ESP32 with ESPHome and a config near identical to my first device, but it’s not showing up. If I pull up the logs for both devices, they’re both reporting values and getting IP addresses. Any ideas?

The configuration I setup for the device that IS in Home Assistant is the following:

esphome:
  name: dryer-sensor
  platform: ESP32
  board: esp32dev

# Enable Home Assistant API
api:

logger:

ota:
  password: ""

wifi:
  ssid: ""
  password: ""

sensor:
    # Handle a moving average of vibrations 
    # Avoids `turning on` when bumping the dryer
  - platform: pulse_counter
    name: "Dryer Vibration Pulse Rate"
    internal: false # It may be easier to expose this when setting up and testing
    id: dryer_pulse_rate
    icon: mdi:vibrate
    state_class: measurement
    force_update: true
    update_interval: 250ms # 4x a second
    pin:
      number: GPIO23
      mode: INPUT
    filters:
    - median:
        window_size: 31
        send_every: 4 # Every 1 second
        send_first_at: 3
  - platform: wifi_signal
    name: "Dryer WiFi Signal"

binary_sensor:  
  - platform: template
    name: "Dryer Running"
    device_class: vibration
    filters:
      - delayed_on_off: 60s # Avoid debounce shaking from washing machine in close proximity
    lambda: |-
      if (id(dryer_pulse_rate).state >= 120) {
        // Dryer is running
        return true;
      } else {
        // Dryer is off
        return false;
      }

Then the config for the device that ISN’T showing up is:

esphome:
  name: washer-sensor
  platform: ESP32
  board: esp32dev

# Enable Home Assistant API
api:

logger:

ota:
  password: ""

wifi:
  ssid: ""
  password: ""

sensor:
    # Handle a moving average of vibrations 
    # Avoids `turning on` when bumping the washer
  - platform: pulse_counter
    name: "Washer Vibration Pulse Rate"
    internal: false # It may be easier to expose this when setting up and testing
    id: washer_pulse_rate
    icon: mdi:vibrate
    state_class: measurement
    force_update: true
    update_interval: 250ms # 4x a second
    pin:
      number: GPIO23
      mode: INPUT
    filters:
    - median:
        window_size: 31
        send_every: 4 # Every 1 second
        send_first_at: 3
  - platform: wifi_signal
    name: "Washer WiFi Signal"

binary_sensor:  
  - platform: template
    name: "Washer Running"
    device_class: vibration
    filters:
      - delayed_on_off: 60s # Avoid debounce shaking from Dryer in close proximity
    lambda: |-
      if (id(washer_pulse_rate).state >= 120) {
        // Washer is running
        return true;
      } else {
        // Washer is off
        return false;
      }

Have you added the second one to home assistant on the configuration|integrations page?

2 Likes

Could you try manual IP? that helped me (you can use the current values the devices gets):

wifi:
  ssid: "mywifi"
  password: ""
  manual_ip:
    static_ip: 192.168.0.123
    gateway: 192.168.0.1
    subnet: 255.255.255.0

as for one device notoriously not connecting, I would suspect variation in reception quality/item quality.

bah…I didn’t recall doing that on the first one…thanks for the double check @nickrout

1 Like