Lyr3x / Roode

A reliable smart home people counter based on VL53L1X and ESPHome
The Unlicense
149 stars 41 forks source link

Not working from last update Home assistant and esphome #134

Closed dmitijmaslak closed 1 year ago

dmitijmaslak commented 1 year ago

Describe the bug

`INFO Reading configuration /config/esphome/peoplecounteresphome.yaml...
INFO Updating https://github.com/Lyr3x/Roode@master
INFO Starting log output from 192.168.1.42 using esphome API
INFO Successfully connected to 192.168.1.42
[15:17:21][I][app:102]: ESPHome version 2022.12.8 compiled on Feb  5 2023, 15:09:21
[15:17:21][I][i2c.arduino:068]: Results from i2c bus scan:
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x08
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x09
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x0A
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x0B
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x0C
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x0D
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x0E
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x0F
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x10
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x11
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x12
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x13
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x14
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x15
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x16
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x17
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x18
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x19
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x1A
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x1B
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x1C
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x1D
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x1E
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x1F
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x20
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x21
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x22
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x23
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x24
[15:17:21][E][i2c.arduino:076]: Unknown error at address 0x25
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x26
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x27
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x28
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x29
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x2A
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x2B
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x2C
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x2D
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x2E
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x2F
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x30
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x31
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x32
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x33
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x34
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x35
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x36
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x37
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x38
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x39
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x3A
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x3B
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x3C
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x3D
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x3E
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x3F
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x40
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x41
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x42
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x43
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x44
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x45
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x46
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x47
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x48
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x49
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x4A
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x4B
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x4C
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x4D
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x4E
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x4F
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x50
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x51
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x52
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x53
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x54
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x55
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x56
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x57
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x58
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x59
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x5A
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x5B
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x5C
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x5D
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x5E
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x5F
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x60
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x61
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x62
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x63
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x64
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x65
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x66
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x67
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x68
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x69
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x6A
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x6B
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x6C
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x6D
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x6E
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x6F
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x70
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x71
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x72
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x73
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x74
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x75
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x76
[15:17:22][E][i2c.arduino:076]: Unknown error at address 0x77

My yaml file:

substitutions:
  devicename: peoplecounteresphome
  friendly_name: $devicename

external_components:
  refresh: always
  source:
    type: git
    url: https://github.com/Lyr3x/Roode
    ref: master

esphome:
  name: $devicename
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  reboot_timeout: 0s
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.1.42
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.1.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0
    dns1: 192.168.1.1

mqtt:
  broker: 192.168.1.55
  port: 1883
  username: sevenup
  password: !secret api_password

captive_portal:

api:
  password: !secret api_password
  reboot_timeout: 60min
  services:
    - service: recalibrate
      then:
        - lambda: "id(roode_platform)->recalibration();"

ota:
  password: !secret ota_password

web_server:
  port: 80
  auth:
    username: admin
    password: !secret web_password

# Enable logging
logger:
  level: INFO

i2c:
  sda: 4  #D2 (GPIO 4) - SDA
  scl: 5  #D1 (GPIO 5) - SCL

# VL53L1X sensor configuration is separate from Roode people counting algorithm
vl53l1x:
  calibration:
    # The ranging mode is different based on how long the distance is that the sensor need to measure.
    # The longer the distance, the more time the sensor needs to take a measurement.
    # Available options are: auto, shortest, short, medium, long, longer, longest
    ranging: auto

roode:
  id: roode_platform
  # Smooth out measurements by using the minimum distance from this number of readings
  sampling: 2
  # This controls the size of the Region of Interest the sensor should take readings in.
  roi: { height: 16, width: 6 }
  # The detection thresholds for determining whether a measurement should count as a person crossing.
  # A reading must be greater than the minimum and less than the maximum to count as a crossing.
  # These can be given as absolute distances or as percentages.
  # Percentages are based on the automatically determined idle or resting distance.
  detection_thresholds: # defaults for both zones. These also default to 0% & 85% as previously done.
    # min: 234mm # absolute distance
    max: 85% # percent based on idle distance
  # The people counting algorithm works by splitting the sensor's capability reading area into two zones.
  # This allows for detecting whether a crossing is an entry or exit based on which zones was crossed first.
  zones:
    invert: true

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
    sensor_status:
      name: Sensor Status

  - 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
dmitijmaslak commented 1 year ago

any idea how to fix ?

Lyr3x commented 1 year ago

Currently not, but I have no time to look into. If you find out you can open a PR.

dmitijmaslak commented 1 year ago

Sorry my bad... bad contact....