3 KiB
3 KiB
layout | title | description | date | sidebar | comments | sharing | footer | logo | ha_category | ha_release |
---|---|---|---|---|---|---|---|---|---|---|
page | InfluxDB Sensor | Instructions how to integrate InfluxDB sensors within Home Assistant. | 2016-10-26 23:15 | true | false | true | true | influxdb.png | Sensor | 0.32 |
The InfluxDB
sensor allows you to use values from an InfluxDB database to populate a sensor state.
To configure this sensor, you need to define the sensor connection variables and a list of queries to your configuration.yaml
file. A sensor will be created for each query:
# Example configuration.yaml entry
sensor:
- platform: influxdb
queries:
- name: mean value of foo
unit_of_measurement: °C
where: '"name" = ''foo'''
measurement: '"°C"'
Configuration variables for the server:
- host (Optional): IP address of your database host, eg. 192.168.1.10. Defaults to
localhost
. - port (Optional): Port to use. Defaults to 8086.
- username (Optional): The username of the database user.
- password (Optional): The password for the database user account.
- ssl (Optional): Use
https
instead ofhttp
to connect. Defaults tofalse
. - verify_ssl (Optional): Verify SSL certificate for
https
request. Defaults tofalse
. - queries array (Required): List of queries
- name (Required): The name of the sensor.
- unit_of_measurement (Required): Defines the units of measurement of the sensor.
- measurement (Required): Defines the measurement name in InfluxDB (the from clause of the query).
- where (Required): Defines the data selection clause (the where clause of the query).
- value_template (Optional): Defines a template to extract a value from the payload.
- database (Optional): Name of the database to use. Defaults to
home_assistant
. - group_function (Optional): The group function to be used. Defaults to
mean
. - field (Optional): The field name to select. Defaults to value.
{% linkable_title Examples %}
{% linkable_title Full configuration %}
The example configuration entry bellow create two request to your local InfluxDB instance, one to the database db1
, the other to db2
:
select last(value) as value from "°C" where "name" = "foo"
select min(tmp) as value from "%" where "entity_id" = ''salon'' and time > now() - 1h
sensor:
platform: influxdb
host: localhost
username: home-assistant
password: password
queries:
- name: last value of foo
unit_of_measurement: °C
value_template: '{{ value | round(1) }}'
group_function: last
where: '"name" = ''foo'''
measurement: '"°C"'
field: value
database: db1
- name: Min for last hour
unit_of_measurement: '%'
value_template: '{{ value | round(1) }}'
group_function: min
where: '"entity_id" = ''salon'' and time > now() - 1h'
measurement: '"%"'
field: tmp
database: db2