As the Pimatic project is no longer maintained, this plugin project will also be discontinued.
This plugin provides a influx db interface for pimatic.
- The plugin is still alpha. It works, but there is no warranty for production systems! *
Please make feature requests!
- save numeric attributes for all devices to influx db
- query the influxdb to get values
Just activate the plugin in your pimatic config. The plugin manager automatically installs the package with his dependencys.
HINT: The Plugin must be the first Plugin in the plugin section of the config.json. Otherwise you'll get errors and you can't enable the influx extension of all devices via the GUI.
You can load the plugin by adding following in the config.json from your pimatic server:
{
"debug": true,
"ip": "127.0.0.1",
"plugin": "influxdb",
"active": true
}
The plugin provides two functions.
The new InfluxVariable device is like the normal Variable device. You can define a query and a database to get values from the InfluxDB.
example:
{
"variables": [
{
"name": "powermeter",
"query": "SELECT last(\"value\") FROM \"vzlogger\" WHERE (\"uuid\" = '370d0520-cbfc-11e7-a3b1-39b3e41796be')",
"database": "vzlogger",
"unit": "kWh",
"label": "powermeter"
}
],
"xAttributeOptions": [],
"id": "influx-variable",
"name": "influx-variable",
"class": "InfluxVariable"
}
Currently, the device expects only one value with last function inside the query.
You can add to each pimatic device a config extension like this. If the influxdb plugin is the first plugin, you can activate the extensions over the GUI.
"influx": {
"active": true
}
Now the plugin push all numeric attributes automatically to influxdb.
The database is pimatic and will be created at first start.
The measurement is "attribute". The fields are the different attributes names. Each entry is taged by the device.id.
The schema looks like this:
schema: [ { measurement: 'attributes', fields: { temperature humidity ... }, tags: [ 'device' ] } ]