Folder watcher (Watchdog) component

Must be a permissions thing. Best bet is to login as the home assistant user and check what can be accessed, and update permissions accordingly

This is probably almost certainly me being dense - but log in where as the HA user? I am always logged into HA via the UI and can access all these folders via a Samba share (from a separate windows machine).

Are you saying inspect the permissions via this separate windows machine via the Samba share? Stick with me, I’ll get there! :slight_smile:

You are running in docker right? see here

As I understand it, it’s technically docker, but I am running HassIO - so the CLI is limited to HassIO commands apparently - so I don’t think I can SSH into the container. I don’t do it often, since I manage my config via the Samba share + VSC on another Windows machine, but I do have the SSH & Web terminal addon, and I can ls there and see my folders. But still can’t run docker commands from there. :frowning:

Suggest asking on the discord HassIO channel how to do this.
All I can say is that I previously used folder watcher on hassio, and on the share folder for that matter, see here

ok will do - thanks for the assistance.

1 Like

I can’t setup folder_watcher but I really can’t understand what I am doing wrong.
In configuration.yaml appended:

device_tracker:
  - platform: ping
    hosts:
      pping_m20: 192.168.1.119
      pping_s10: 192.168.1.121

display:
  - platform: fully_kiosk
    name: Kitchen Tablet
    host: 192.168.1.58
    password: 123456789

mobile_app:

tts:
  - platform: google_translate
    base_url: http://192.168.1.6:8123
    service_name: google_say

folder_watcher:
  - folder: /home/homeassistant/.homeassistant/cml
    patterns:
      - 'cml.gif'

The same way as I include other integrations (tts, mobile_app, display).
But the “folder_watcher” one seems to be ignored.

In the boot log I can’t find any reference to folder_watcher.
In the “event” page, I can’t subscribe to folder_watcher event (I can’t find one).
I obviously can’t create an automation, since it won’t be validated as the trigger part is invalid.

My HA runs in a python virtual enviroment.
Version 0.118.2

What am I missing?

Have you checked your logs?

Have you done this?

Configured folders must be added to allowlist_external_dirs. Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.

allowlist_external_dirs is correctly configured (as I am able to send a gif on this folder via telegram in an HA automation).

Logs? Absolutely nothing relevant. No mention to “folder_watcher”. It seems silly, I understand. But I already double checked that configuration.yaml is correct. (e.g. if I use a wrong intendation, the file is not valid for HA).

Since I am in a virtual env, am I suppose to install anything else with pip?

Have you tried enabling any debug logs?

Maybe also check permissions. If there are any children directories with problematic permissions then the integration will fail (it recurses by default).

I ran into this as an issue trying to watch /tmp/. But, if that’s the case you should see an error. For my case, there is no solution if I wanted to use this integration and monitor /tmp/ so I went for a combination of the folder integration (built-in) and creating an automation to trigger if the number of files has changed. There’s also a 3rd party files integration you can install via HACS. Just posing these as alternatives.

It shouldn’t be necessary to install anything else via pip and running in a venv should work fine (my HA runs in a venv).

Hey everyone

I’m trying to only watch the top folder, which would mean I want the folder watcher to not be recursive but I cannot figure out how to do it.

Any suggestions?

@GKHerping use a pattern → Folder Watcher - Home Assistant

Yeah that’s what I want to do, but what would the pattern be exactly?

e.g. my-path/*.jpg or whatever file extension you want

My goal is to watch for any file or directory that is created, but only at the top level directory

thank you!