Skip to content

Commit

Permalink
Merge pull request #849 from onkelandy/influxdb
Browse files Browse the repository at this point in the history
Influxdb: Minor adjustments and new user_doc
  • Loading branch information
msinn authored Oct 31, 2023
2 parents 9008bff + 8ee2abc commit 6d778a5
Show file tree
Hide file tree
Showing 5 changed files with 127 additions and 88 deletions.
86 changes: 0 additions & 86 deletions influxdb/README.md

This file was deleted.

3 changes: 2 additions & 1 deletion influxdb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@
import requests

class InfluxDB(SmartPlugin):
PLUGIN_VERSION = "1.0.2"
PLUGIN_VERSION = "1.0.3"
ALLOW_MULTIINSTANCE = False

def __init__(self, smarthome):
super().__init__()
self.logger = logging.getLogger(__name__)
self.logger.info('Init InfluxDB')

Expand Down
2 changes: 1 addition & 1 deletion influxdb/plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ plugin:
#documentation: https://www.smarthomeng.de/user/plugins/influxdb/user_doc.html
support: https://knx-user-forum.de/forum/supportforen/smarthome-py/1498207-support-thread-f%C3%BCr-influxdb-plugin

version: 1.0.2 # Plugin version
version: 1.0.3 # Plugin version
sh_minversion: 1.1 # minimum shNG version to use this plugin
# sh_maxversion: # maximum shNG version to use this plugin (leave empty if latest)
multi_instance: False # plugin supports multi instance
Expand Down
124 changes: 124 additions & 0 deletions influxdb/user_doc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
.. index:: Plugins; influxdb
.. index:: influxdb

========
influxdb
========

.. image:: webif/static/img/plugin_logo.png
:alt: plugin logo
:width: 300px
:height: 300px
:scale: 50 %
:align: left

Konfiguration
=============

Die Informationen zur Konfiguration des Plugins sind unter :doc:`/plugins_doc/config/influxdb` beschrieben.

/etc/influxdb/influxdb.conf
---------------------------

Wenn UDP verwendet wird, muss der UDP-Endpunkt explizit in influxdb aktiviert werden.
Der UDP-Endpunkt ist nicht auth-geschützt und ist an eine bestimmte Datenbank gebunden.

.. code-block:: yaml
[[udp]]
enabled = true
bind-address = ":8089"
database = "smarthome"
# retention-policy = ""
Wenn Sie den HTTP-Zugang verwenden möchten, ist keine zusätzliche Konfiguration erforderlich, da der
HTTP-Zugriff auf die influxdb standardmäßig aktiviert ist.

plugin.yaml
-----------

Es können globale Tags und Felder angegeben werden:

.. code-block:: yaml
influxdb:
plugin_name: influxdb
# host: localhost
# udp_port: 8089
# keyword: influxdb
# value_field: value
# write_http: True
# http_port: 8086
tags: '{"key": "value", "foo": "bar"}'
fields: '{"key": "value", "foo": "bar"}'
items.yaml
----------

Logging in eine Messung namens ``root.some_item``, Standard-Tags und
Tags/Felder wie in plugin.yaml angegeben

.. code:: yaml
root:
some_item:
influxdb: 'true'
Wenn ``keyword`` in der plugin.yaml auf ``sqlite`` gesetzt wird, kann dies auch
als Ersatz für sqlite verwendet werden.

.. code:: yaml
root:
some_item:
sqlite: 'true'
*empfohlen*: Loggen der Messung ``temp`` mit einem zusätzlichen
Tag ``room`` und Standard-Tags (einschließlich ``item: root.dining_temp``) und
Tags/Felder wie in plugin.yaml angegeben

.. code:: yaml
root:
dining_temp:
influxdb_name: temp
influxdb_tags: '{"room": "dining"}'
In InfluxDB über UDP oder HTTP loggen
=====================================

Protokollierung von Elementen in der Zeitseriendatenbank
`InfluxDB <https://www.influxdata.com/time-series-platform/>`_

Dieses Plugin ist ein Fork von ``influxdata`` mit den folgenden
Erweiterungen:

- korrekte Namensgebung
- Angabe eines Namens für die Messung statt auf die ID des Elements zurückzugreifen
- zusätzliche Tags oder Felder global (plugin.yaml) und/oder pro Element

Die speziellen smarthomeNG Attribute ``caller``, ``source`` und ``dest``
werden immer als Tags protokolliert.

Nur wenn ein Messungsname angegeben wird, wird automatisch auch die ID des Elements
mitprotokolliert (Tag ``item``) - wenn Sie keinen Messungsnamen angeben,
wird der Name auf die ID des Items zurückgreifen, was den Item-Tag
überflüssig macht

Korrektes Logging
=================

Bitte lesen Sie die `Key Konzepte <https://docs.influxdata.com/influxdb/v1.8/concepts/key_concepts/>`_
und `Schema Design <https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/>`_

Insbesondere diese:

- `Metadaten kodieren in Tags <https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/#encode-meta-data-in-tags>`_
- `Vermeiden Sie die Kodierung von Daten in Messnamen <https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/#avoid-encoding-data-in-measurement-names>`_
- Vermeiden Sie mehr als eine Information in einem Tag <https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/#avoid-putting-more-than-one-piece-of-information-in-one-tag>`_

Web Interface
=============

Das Plugin stellt kein Web Interface zur Verfügung.
Binary file added influxdb/webif/static/img/plugin_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 6d778a5

Please sign in to comment.