Folder watcher (Watchdog) component

@robmarkcole Looks like a cool component, but I’m getting errors when setting this up. The config comes up clean when I check config via Server Controls.

Here are the log errors and my configs:


2020-09-08 10:09:09 ERROR (SyncWorker_2) [homeassistant.components.folder_watcher] folder /share is not valid or allowed
2020-09-08 10:09:10 INFO (MainThread) [homeassistant.setup] Setup of domain folder_watcher took 0.6 seconds
2020-09-08 10:09:10 ERROR (MainThread) [homeassistant.setup] Setup failed for folder_watcher: Integration failed to initialize.

"/share" directory added to [allowlist_external_dirs:

  name: Home
  latitude: ##.######
  longitude: -##.######
  elevation: 72
  unit_system: imperial
  time_zone: America/New York
  external_url: ""
  internal_url: "http://###.###.#.###:8123"
    - /share

Basic config:

  - folder: /share

Ah docker… The error is folder /share is not valid or allowed
Recommend some experimentation

@robmarkcole ok - so this folder is located at // (my HA IP), along with my /config folder and a few others I can’t recall - /add ons I think?. I have swapped out /share with /config and get the same results - no dice. What sort of experimentation would you recommend?

I think the issue is that /share is not accessible to the home assistant user. Better to create a subdirectory in /config and watch that as per the docs example. So you will have config like:

  - folder: /config/my_watched_dir

@robmarkcole Unfortunately, no dice :thinking:

I updated the config, restarted HA from the UI, and for good measure, I also restarted the VM to make sure the allowlist_external_dirs gets updated, and I still get the same error in the logs:

2020-09-09 15:21:33 ERROR (SyncWorker_38) [homeassistant.components.folder_watcher] folder /config/folder_watcher is not valid or allowed
2020-09-09 15:21:34 INFO (MainThread) [homeassistant.setup] Setup of domain folder_watcher took 0.1 seconds
2020-09-09 15:21:34 ERROR (MainThread) [homeassistant.setup] Setup failed for folder_watcher: Integration failed to initialize.

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:

  - platform: ping

  - platform: fully_kiosk
    name: Kitchen Tablet
    password: 123456789


  - platform: google_translate
    service_name: google_say

  - folder: /home/homeassistant/.homeassistant/cml
      - '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