mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-03 09:38:59 +00:00

* e.g. to e.g., and proper case for Home Assistant * Instructions how to -> Instructions on how to
61 lines
1.8 KiB
Markdown
61 lines
1.8 KiB
Markdown
---
|
|
layout: page
|
|
title: "File Sensor"
|
|
description: "Instructions on how to integrate sensors which read from files into Home Assistant."
|
|
date: 2017-05-13 12:10
|
|
sidebar: true
|
|
comments: false
|
|
sharing: true
|
|
footer: true
|
|
logo: file.png
|
|
ha_category: Sensor
|
|
ha_iot_class: "Local Polling"
|
|
ha_release: 0.45
|
|
---
|
|
|
|
|
|
The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line.
|
|
|
|
To enable the `file` sensor, add the following lines to your `configuration.yaml`:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
sensor:
|
|
- platform: file
|
|
file_path: /home/user/.homeassistant/sensor-data.txt
|
|
```
|
|
|
|
Configuration variables:
|
|
|
|
- **file_path** (*Required*): path to file that stores the sensor data.
|
|
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `File`.
|
|
- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any.
|
|
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
|
|
|
|
## {% linkable_title Examples %}
|
|
|
|
In this section you find some real life examples of how to use this sensor.
|
|
|
|
### {% linkable_title Entries as JSON %}
|
|
|
|
Assuming that the log file contains multiple values formatted as JSON like shown below:
|
|
|
|
```text
|
|
[...]
|
|
{"temperature": 21, "humidity": 39}
|
|
{"temperature": 22, "humidity": 36}
|
|
```
|
|
|
|
This would require the following entry in the `configuration.yaml` file to extract the temperature:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
sensor:
|
|
- platform: file
|
|
name: Temperature
|
|
file_path: /home/user/.homeassistant/sensor.json
|
|
value_template: {% raw %}'{{ value_json.temperature }}'{% endraw %}
|
|
unit_of_measurement: '°C'
|
|
```
|
|
|