mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-17 22:36:51 +00:00
Adds docs for folder_watcher component (#4885)
* Create folder_watcher.markdown * Adds posting file * Update folder_watcher.markdown * ✏️ Markdownlint fixes * ✏️ Escapes jinja code in example * ✏️ Build fix part 2 * 🚑 Fixes build * ⬆️ Ups ha_release to 0.67
This commit is contained in:
parent
481fb147c7
commit
7dbed031cb
77
source/_components/folder_watcher.markdown
Normal file
77
source/_components/folder_watcher.markdown
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "folder watcher"
|
||||||
|
description: "Component for monitoring changes within the filesystem."
|
||||||
|
date: 2018-03-11 14:00
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
logo: home-assistant.png
|
||||||
|
ha_category: System Monitor
|
||||||
|
ha_iot_class: "Local Polling"
|
||||||
|
ha_release: 0.67
|
||||||
|
---
|
||||||
|
|
||||||
|
This component adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home-Assistant bus on the creation/deletion/modification of files.
|
||||||
|
|
||||||
|
To configure the `folder_watcher` component add to you `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
{% raw %}
|
||||||
|
folder_watcher:
|
||||||
|
watchers:
|
||||||
|
- folder: /config
|
||||||
|
{% endraw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
folder:
|
||||||
|
description: The folder path
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
patterns:
|
||||||
|
description: Pattern matching to apply
|
||||||
|
required: false
|
||||||
|
default: "*"
|
||||||
|
type: string
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
## Patterns
|
||||||
|
|
||||||
|
Pattern matching using [fnmatch](https://docs.python.org/3.6/library/fnmatch.html) can be used to limit filesystem monitoring to only files which match the configured patterns. The following example shows the configuration required to only monitor filetypes `.yaml` and `.txt`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
{% raw %}
|
||||||
|
folder_watcher:
|
||||||
|
watchers:
|
||||||
|
- folder: /config
|
||||||
|
patterns:
|
||||||
|
- '*.yaml'
|
||||||
|
- '*.txt'
|
||||||
|
{% raw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Automations
|
||||||
|
|
||||||
|
Automations can be triggered on filesystem event data using a data_template. The following automation will send a notification with the name and folder of new files added to that folder:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
{% raw %}
|
||||||
|
- action:
|
||||||
|
- data_template:
|
||||||
|
message: 'Created {{trigger.event.data.file}} in {{trigger.event.data.folder}}'
|
||||||
|
title: New image captured!
|
||||||
|
data:
|
||||||
|
file: "{{trigger.event.data.path}}"
|
||||||
|
service: notify.pushbullet
|
||||||
|
alias: New file alert
|
||||||
|
condition: []
|
||||||
|
id: '1520092824697'
|
||||||
|
trigger:
|
||||||
|
- event_data: {"event_type":"created"}
|
||||||
|
event_type: folder_watcher
|
||||||
|
platform: event
|
||||||
|
{% endraw %}
|
||||||
|
```
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user