Skip to content

vl53l1x is marked FAILED: unspecified, roode is marked FAILED: unspecified #151

Description

@mmxdog

I did installed roode 1.5.4. on esphome 2026.02.4.
but, I did not working.

I got 2 error.
vl53l1x is marked FAILED: unspecified.
roode is marked FAILED: unspecified.

I using esp32-c3 (seeed_xiao_esp32c3).

how can i fix it?

this is full log

INFO ESPHome 2026.2.4
INFO Reading configuration /config/esphome/warehouse-counter.yaml...
INFO Starting log output from warehouse-counter.local using esphome API
INFO Successfully resolved warehouse-counter.local in 0.264s
INFO Successfully connected to warehouse-counter @ 192.168.0.x in 0.030s
INFO Successful handshake with warehouse-counter @ 192.168.0.x in 0.085s
[23:28:15.442][I][app:215]: ESPHome version 2026.2.4 compiled on 2026-03-07 22:51:14 +0900
[23:28:15.444][I][app:222]: ESP32 Chip: ESP32-C3 rev0.4, 1 core(s)
[23:28:15.445][C][logger:237]: Logger:
[23:28:15.445][C][logger:237]: Max Level: DEBUG
[23:28:15.445][C][logger:237]: Initial Level: DEBUG
[23:28:15.461][C][logger:244]: Log Baud Rate: 115200
[23:28:15.461][C][logger:244]: Hardware UART: USB_SERIAL_JTAG
[23:28:15.462][C][logger:254]: Task Log Buffer Size: 768 bytes
[23:28:15.467][C][i2c.idf:093]: I2C Bus:
[23:28:15.470][C][i2c.idf:094]: SDA Pin: GPIO6
[23:28:15.470][C][i2c.idf:094]: SCL Pin: GPIO7
[23:28:15.470][C][i2c.idf:094]: Frequency: 400000 Hz
[23:28:15.470][C][i2c.idf:104]: Recovery: bus successfully recovered
[23:28:15.471][C][i2c.idf:114]: Results from bus scan:
[23:28:15.490][C][i2c.idf:120]: Found device at address 0x29
[23:28:15.490][C][uptime.sensor:017]: Uptime Sensor 'Uptime Sensor'
[23:28:15.490][C][uptime.sensor:017]: State Class: 'total_increasing'
[23:28:15.490][C][uptime.sensor:017]: Unit of Measurement: 's'
[23:28:15.490][C][uptime.sensor:017]: Accuracy Decimals: 0
[23:28:15.491][C][uptime.sensor:163]: Device Class: 'duration'
[23:28:15.511][C][uptime.sensor:157]: Icon: 'mdi:timer-outline'
[23:28:15.511][C][uptime.sensor:033]: Type: Seconds
[23:28:15.512][C][template.text_sensor:017]: Template Sensor 'warehouse-counter Uptime Human Readable'
[23:28:15.513][C][template.text_sensor:157]: Icon: 'mdi:clock-start'
[23:28:15.513][C][VL53L1X:007]: VL53L1X:
[23:28:15.513][C][VL53L1X:008]: Address: 0x29
[23:28:15.522][E][component:255]: vl53l1x is marked FAILED: unspecified
[23:28:15.523][C][restart.button:014]: Restart Button 'warehouse-counter Restart'
[23:28:15.523][C][restart.button:157]: Icon: 'mdi:restart'
[23:28:15.536][C][status:016]: Status Binary Sensor 'warehouse-counter API Status'
[23:28:15.536][C][status:163]: Device Class: 'connectivity'
[23:28:15.536][C][Roode:006]: Roode:
[23:28:15.540][C][Roode:007]: Sample size: 2
[23:28:15.540][C][Roode:486]: Update Interval: 0.000s
[23:28:15.541][C][Zone:007]: Entry
[23:28:15.543][C][Zone:008]: ROI: { width: 4, height: 8, center: 150 }
[23:28:15.544][C][Zone:009]: Threshold: { min: 0mm (0%), max: 13880mm (85%), idle: 16330mm }
[23:28:15.544][C][Zone:007]: Exit
[23:28:15.547][C][Zone:008]: ROI: { width: 4, height: 8, center: 247 }
[23:28:15.547][C][Zone:009]: Threshold: { min: 0mm (0%), max: 0mm (85%), idle: 0mm }
[23:28:15.548][E][component:255]: roode is marked FAILED: unspecified
[23:28:15.580][C][captive_portal:134]: Captive Portal:
[23:28:15.580][C][wifi:1450]: WiFi:
[23:28:15.580][C][wifi:1450]: Local MAC: xx:xx:xx:xx:xx:xx
[23:28:15.580][C][wifi:1450]: Connected: YES
[23:28:15.581][C][wifi:1202]: IP Address: 192.168.0.x
[23:28:15.604][C][wifi:1213]: SSID: [redacted]
[23:28:15.604][C][wifi:1213]: BSSID: [redacted]
[23:28:15.604][C][wifi:1213]: Hostname: 'warehouse-counter'
[23:28:15.604][C][wifi:1213]: Signal strength: -44 dB ▂▄▆█
[23:28:15.604][C][wifi:1213]: Channel: 3
[23:28:15.604][C][wifi:1213]: Subnet: 255.255.255.0
[23:28:15.604][C][wifi:1213]: Gateway: 192.168.0.1
[23:28:15.604][C][wifi:1213]: DNS1: 168.126.63.1
[23:28:15.604][C][wifi:1213]: DNS2: 168.126.63.2
[23:28:15.604][C][web_server:424]: Web Server:
[23:28:15.604][C][web_server:424]: Address: warehouse-counter.local:80
[23:28:15.605][C][esphome.ota:075]: Over-The-Air updates:
[23:28:15.605][C][esphome.ota:075]: Address: warehouse-counter.local:3232
[23:28:15.605][C][esphome.ota:075]: Version: 2
[23:28:15.605][C][esphome.ota:082]: Password configured
[23:28:15.605][C][safe_mode:022]: Safe Mode:
[23:28:15.605][C][safe_mode:022]: Successful after: 60s
[23:28:15.605][C][safe_mode:022]: Invoke after: 10 attempts
[23:28:15.605][C][safe_mode:022]: Duration: 300s
[23:28:15.606][C][safe_mode:039]: Bootloader rollback: support unknown
[23:28:15.611][C][web_server.ota:238]: Web Server OTA
[23:28:15.623][C][api:237]: Server:
[23:28:15.623][C][api:237]: Address: warehouse-counter.local:6053
[23:28:15.623][C][api:237]: Listen backlog: 4
[23:28:15.623][C][api:237]: Max connections: 8
[23:28:15.624][C][api:244]: Noise encryption: YES
[23:28:15.628][C][wifi_signal.sensor:017]: WiFi Signal 'warehouse-counter RSSI'
[23:28:15.628][C][wifi_signal.sensor:017]: State Class: 'measurement'
[23:28:15.628][C][wifi_signal.sensor:017]: Unit of Measurement: 'dBm'
[23:28:15.628][C][wifi_signal.sensor:017]: Accuracy Decimals: 0
[23:28:15.640][C][wifi_signal.sensor:163]: Device Class: 'signal_strength'
[23:28:15.640][C][mdns:177]: mDNS:
[23:28:15.640][C][mdns:177]: Hostname: warehouse-counter

and this is my yaml config.
substitutions:
devicename: warehouse-counter
friendly_name: $devicename

external_components:

  • source: github://Lyr3x/Roode
    refresh: always

esphome:
name: $devicename

esp32:
board: seeed_xiao_esp32c3
framework:
type: arduino

logger:
level: DEBUG

Enable Home Assistant API

api:
encryption:
key: "xxx"
services:
- service: recalibrate
then:
- lambda: "id(roode_platform)->recalibration();"

ota:

  • platform: esphome
    password: "xxx"
  • platform: web_server

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

Enable fallback hotspot (captive portal) in case wifi connection fails

ap:
ssid: "Warehouse-Counter"
password: ""

captive_portal:

web_server:
port: 80
version: 3

i2c:
sda: GPIO6
scl: GPIO7
scan: true

vl53l1x:
calibration:
ranging: auto

roode:
id: roode_platform
sampling: 2
roi: { height: 12, width: 4 }
detection_thresholds:
max: 85%
zones:
invert: false
entry:
roi: auto
exit:
roi: auto

button:

  • platform: restart
    name: $friendly_name Restart
    entity_category: config
  • platform: template
    name: $friendly_name Recalibrate
    on_press:
    • lambda: id(roode_platform)->recalibration();
      entity_category: config

number:

  • platform: roode
    people_counter:
    id: counter
    name: $friendly_name people counter

binary_sensor:

  • platform: status
    name: $friendly_name API Status
  • platform: roode
    presence_sensor:
    name: $friendly_name presence

sensor:

  • platform: roode
    id: roode_sensors
    distance_entry:
    name: $friendly_name distance zone 0
    filters:
    - delta: 100
    distance_exit:
    name: $friendly_name distance zone 1
    filters:
    - delta: 100
    max_threshold_entry:
    name: $friendly_name max zone 0
    max_threshold_exit:
    name: $friendly_name max zone 1
    min_threshold_entry:
    name: $friendly_name min zone 0
    min_threshold_exit:
    name: $friendly_name min zone 1
    roi_height_entry:
    name: $friendly_name ROI height zone 0
    roi_width_entry:
    name: $friendly_name ROI width zone 0
    roi_height_exit:
    name: $friendly_name ROI height zone 1
    roi_width_exit:
    name: $friendly_name ROI width zone 1

  • platform: wifi_signal
    name: $friendly_name RSSI
    update_interval: 60s

  • platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    update_interval: 60s
    internal: true
    on_raw_value:
    then:
    - text_sensor.template.publish:
    id: uptime_human
    state: !lambda |-
    int seconds = round(id(uptime_sensor).raw_state);
    int days = seconds / (24 * 3600);
    seconds = seconds % (24 * 3600);
    int hours = seconds / 3600;
    seconds = seconds % 3600;
    int minutes = seconds / 60;
    seconds = seconds % 60;
    return (
    (days ? String(days) + "d " : "") +
    (hours ? String(hours) + "h " : "") +
    (minutes ? String(minutes) + "m " : "") +
    (String(seconds) + "s")
    ).c_str();

text_sensor:

  • platform: roode
    version:
    name: $friendly_name version
  • platform: roode
    entry_exit_event:
    name: $friendly_name last direction
  • platform: template
    name: $friendly_name Uptime Human Readable
    id: uptime_human
    icon: mdi:clock-start

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions