home-assistant.github.io/source/_components/sensor.influxdb.markdown
2016-10-27 15:42:24 +02:00

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 of http to connect. Defaults to false.
  • verify_ssl (Optional): Verify SSL certificate for https request. Defaults to false.
  • 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