Skip to content

Feature request: expose folder mode (non-Frigate) in the Home Assistant app #31

Closed

Description

@kedziu

Summary

The standalone version of FaceID supports folder mode (frigate.enabled: false + folder:), which works great for setups without Frigate. The Home Assistant app (v0.24.0) doesn't expose it: frigate_url is required, there are no folder options, and the app has no access to /media or /share.

It would be great to be able to use folder mode directly from the HA app.

My use case

  • 5 Reolink cameras, no Frigate.
  • On person/pet detection, each camera uploads a full-resolution JPG (2560×1440) via the HA FTP app into /media (e.g. /media/front.jpg, /media/driveway.jpg); each new event overwrites the previous file.
  • I'd like FaceID to pick up these images and publish recognized names to MQTT (sensor.faceid_<camera>), which I then use in my LLM Vision automation.

Environment

  • Home Assistant OS 18.3, Core 2026.9.3, amd64 (Proxmox VM, CPU type host)
  • FaceID app 0.24.0
  • Mosquitto broker app

Thanks for the project!

Activity

  1. NerdyHank commented on Oct 6, 2026

    @NerdyHank
    Contributor

    Built — thanks for the precise report, and sorry it sat for two weeks.

    You identified all three parts correctly, and the third is what made the other two pointless: even a hand-written folder path could not have worked, because the app never mounted /media or /share at all.

    #35 adds:

    • frigate_url may be left empty — an empty URL means no Frigate, and the gallery, unknown review and history stay usable
    • /media and /share mounted read-only (FaceID never changes or deletes what it watches)
    • eleven folder_* options

    For your setup:

    frigate_url: ""
    folder_enabled: true
    folder_path: /media
    folder_camera: driveway
    folder_extensions: [".jpg"]

    Two things worth knowing before you try it:

    folder_extensions replaces the default list rather than adding to it, and that default is video-only. Your .jpg files would be skipped in silence without that line. This caught someone else already.

    One folder_camera applies to the whole folder. Yours is the case where that matters: five cameras writing front.jpg, driveway.jpg and so on into the same /media would all report under one sensor. If you want sensor.faceid_front and sensor.faceid_driveway separately, give each camera its own subdirectory for now — one folder watcher per camera is not supported yet. Tell me if that is a blocker and I will look at per-file camera mapping.

    Your overwrite pattern works, and I measured it rather than assuming: the fingerprint is file size and modification time, not the name, so front.jpg replaced on every event counts as a new recording each time. Three overwrites, three recognitions, one index entry — pinned as a test.

    One caveat about the images themselves: 2560×1440 is plenty of pixels, but what matters is how wide the face is in them. If people are far from the camera the face can still land under min_face_px (default 48). The Tools tab has a Why do events yield no face? report that counts the reasons instead of guessing — worth running once you have a few events in.

  2. NerdyHank commented on Oct 6, 2026

    @NerdyHank
    Contributor

    Shipped in v0.25.0 — folder
    mode is now a first-class input in the Home Assistant app.

    What you asked for, and what the app was missing: frigate_url may be left empty, /media
    is mounted (read-only) so an FTP upload target is actually visible, and eleven folder_*
    options are in the add-on configuration — folder_path, folder_camera,
    folder_recursive, folder_process_existing, folder_extensions, folder_poll_interval,
    folder_settle_seconds, folder_max_frames, folder_max_people_per_file,
    folder_max_indexed_files and the folder_enabled switch.

    Two things worth knowing for your setup:

    • Only /media and /share are visible to the app. Home Assistant mounts nothing else,
      so a path like /config/snapshots or a host directory cannot be read no matter what you
      type. The add-on now warns on start when folder_path does not exist inside the container
      and names those two roots, because that is the likeliest mistake.
    • The camera sensor appears at startup, not after the first recognition. A folder has no
      camera list to query, so the name comes from folder_camera. Without that a fresh install
      looked like it was doing nothing for the first hour.

    Still-image extensions work (.jpg, .jpeg, .png, .webp) but the default
    folder_extensions list is video-only — set it explicitly if your Reolinks upload stills.

    Closing this as done; reopen or file a new issue if the five-camera setup hits something.

  3. kedziu commented on Oct 6, 2026

    @kedziu
    Author

    Thanks a lot for shipping this! I'm migrating from the standalone LXC install to the app (v0.25.1), and hit one snag:

    frigate_url can't actually be left empty in the HA app.

    The add-on ships frigate_url: http://192.168.1.10:5000 as its default option, so clearing the field in the UI and saving just restores that default.

    Suggestion: add an explicit toggle, mirroring folder_enabled:

    frigate_enabled: true # default, keeps existing installs unchanged
    frigate_url: http://... # only used when frigate_enabled is true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions