InfluxDB (0.9 and newer) Persistence

This service allows you to persist and query states using the InfluxDB time series database. The persisted values can be queried from within openHAB. There also are nice tools on the web for visualizing InfluxDB time series, such as Grafana.

There are two Influxdb persistence bundles which support different InfluxDB versions. This service, named influxdb, supports InfluxDB 0.9 and newer, and the influxdb08 service supports InfluxDB up to version 0.8.x.

Database Structure

The states of an item are persisted in time series with names equal to the name of the item. All values are stored in a field called "value" using integers or doubles, OnOffType and OpenClosedType values are stored using 0 or 1. The times for the entries are calculated by InfluxDB.

An example entry for an item with the name "AmbientLight" would look like this:

timesequence_numbervalue
1402243200072793700016

Prerequisites

First of all you have to setup and run an InfluxDB server. This is very easy and you will find good documentation on it on the InfluxDB web site.

Then database and the user must be created. This can be done using the InfluxDB admin web interface. If you want to use the defaults, then create a database called openhab and a user with write access on the database called openhab. Choose a password and remember it.

Configuration

This service can be configured in the file services/influxdb.cfg.

PropertyDefaultRequiredDescription
urlhttp://127.0.0.1:8086Nodatabase URL
useropenhabNoname of the database user, e.g. openhab
passwordYespassword of the database user that you chose in Prerequisites above
dbopenhabNoname of the database
retentionPolicyautogenNoname of the retentionPolicy. Please note starting with InfluxDB >= 1.0, the default retention policy name is no longer default but autogen.

All item- and event-related configuration is defined in either the file persistence/influxdb.persist.