Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter influxdb 2.0

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter influxdb 2.0

    This topic has been deleted. Only users with topic management privileges can see it.
    • Feuersturm
      Feuersturm @Feuersturm last edited by

      @feuersturm sagte in Test Adapter influxdb 2.0:

      @ilovegym ich hab den test gegen eine influx 2.0 datenbank gemacht der nicht erfolgreich war. Werde später mal den test auch gegen eine 1.x machen.

      @apollon77 Der Verbindungstest mit Influx2.0 Datenbank ist bei mir nicht erfolgreich: https://github.com/ioBroker/ioBroker.influxdb/issues/146

      Feuer-sturm created this issue in ioBroker/ioBroker.influxdb

      closed Verbindung testen nicht möglich mit Influx 2.x Datenbank #146

      J 1 Reply Last reply Reply Quote 1
      • J
        Josh @Feuersturm last edited by Josh

        Nach dem Update des Adapter von V1 auf V2 bringt mit der Adapter folgende Logs uns bleibt gelb:

        Error: error authorizing query: iouser not authorized to execute statement 'ALTER RETENTION POLICY autogen ON iobroker DURATION 365d REPLICATION 1 SHARD DURATION 1w DEFAULT', requires admin privilege
        Applying retention policy (autogen) for iobroker to 31536000 seconds. Shard Duration: 604800 seconds
        Connected!
        Influx DB Version used: 1.x
        Connecting http://localhost:8086 ...
        

        Node.js v12.22.5
        Admin 5.1.21
        js-controller 3.3.15
        InfluxDB 1.8

        Was sagt mir diese Fehlermeldung?

        EDIT: Passwort hatte ich neu eingegeben.
        EDIT2: Wenn ich die Verbindung zur DB mit dem admin herstelle, geht's. Aber das kann ja nicht die Lösung sein. Wie bekomme ich den User "iouser" in die Position, mit dem neuen Adapter zusammen zu arbeiten? Bei der 1.9 lief es ja auch.

        Thomas Braun 1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @Josh last edited by

          @josh Start Skript angepasst? Du bist nicht der erste mit dem 'Fehler', schau im Forum.

          1 Reply Last reply Reply Quote 0
          • J
            Josh last edited by

            @thomas-braun Habe kein StartSkript angepasst.

            Ich finde das hier. Aber den Pfad gibt es bei mit nicht. Oder bin ich auf dem falschen Weg?

            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @Josh last edited by

              @josh
              Keine Ahnung...
              Da war aber auch noch irgendwas anderes einzustellen. Hab den Thread aber nicht zur Hand.

              J 1 Reply Last reply Reply Quote 0
              • J
                Josh @Thomas Braun last edited by Josh

                @thomas-braun Habe die Datei hier gefunden:

                /usr/lib/influxdb/scripts/influxdb.service

                Dort habe ich die beiden Zeilen

                #ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh
                #Type=forking
                

                auskommentiert und den Dienst neu gestartet:

                sudo systemctl daemon-reload
                

                Hat aber am Ergebnis nichts geändert. Klappt trotzdem nicht. Noch jemand eine Idee?

                EDIT: Ich bin jetzt zurück auf die V1.9.5. Den neuen Adapter bekomme ich nicht zum Rennen.
                EDIT2: Habe jetzt noch das gefunden, was mich aber nicht weiter bringt. Gibt wohl keine Lösung.

                1 Reply Last reply Reply Quote 0
                • S
                  sunny1081 @apollon77 last edited by sunny1081

                  @apollon77

                  Hallo zusammen,

                  würde den Punkt von Feuersturm gerne nochmal aufgreifen. Ich habe grade den InfluxAdapter von 2.0.0 auf 2.1.1 aktualisiert und "iobroker upgrade self", danach waren alle mein Dashboards ohne Daten und der Query Explorer zeigt die gleiche Meldung kein Mean für Boolean. Ich nutze influxdb 2.0.

                  Anscheinend hat sich geändert wie die Messungen gespeichert werden, am Beispiel Smartmeter.

                  Vor dem Update wurde zu dem _measurement in _value der gemessen Wert z.B. 279 gespeichert und zusätzlich gab es Tags ack , from & q. Quasi zu jedem Messwert gab es die 4 Informationen. Ich bekomme meine 279W und könnte jetzt weiter eingrenzen ob z.B. der Wert ack war oder nicht.

                  Nach dem Update werden vier einzelne Felder zu dem _measurement gespeichert, damit kommt wenn man die abfrage nicht weiter eingrenzt jetzt 4 verschiedene Werte auch ein boolean vom ack zurück. Schlimmer es fehlt die Verknüpfung zwischen den Werten es sind jetzt 4 unabhängige Werte die bis auf den Zeit Stempel nicht korrelieren. Hoffe man kann das auf den folgenden Screenshots nachvollziehen, die gleiche Abfrage direkt auf der Influx GUI man sieht das Chaos nachher.

                  Vorher:

                  1e096540-aaed-4e64-b520-0433e8d30bbb-image.png

                  Nachher:

                  0ec6f817-d1cb-4ef8-9808-0b3cac769d70-image.png

                  Wurde das Verhalten mit der neuen Adapter Version oder IOBroker Update geändert und gibt es einen weg zurück? Habe natürlich diesmal kein Backup von IOBroker & DB gemacht, grr.

                  Unabhängig davon, ich nutzte eine lokale Instanz und den kostenlosen Plan, 30 Tage auf der InfluxCloud, bei letzteren kommt im Log -> HttpError: specifying shard-group duration is not supported -> Vorhaltezeit habe ich auf Unbegrenzt im Adapter eingestellt.

                  Danke & Gruß

                  apollon77 1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 @sunny1081 last edited by

                    @sunny1081 Ja in der 2.1 wurde die Art der Datenspeicherung für die InfluxDB 2 geändert - siehe weiter oben hier im Thread als Beitrag von Excodibur. Daher sollte man wenn man den Adapter vorher hatte alle Daten nochmals löschen.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sunny1081 @apollon77 last edited by

                      @apollon77 @Excodibur

                      Danke für die schnelle Rückmeldung. War das den so beabsichtigt, man verliert doch den Zusammenhang zwischen den Werten die alle zu einer Messung gehören und jetzt 4 beliebige Werte mit zufällig dem gleichen Zeit Stempel sind?
                      Ja mit pivot kann man die Werte Übersichtlicher anzeigen aber der Schlüssel ist doch eigentlich die Messung.

                      Ich möchte z.B. in Grafana nur die Werte nutzen die durch Smartmeter geschrieben werden und nicht die durch den InfluxAdapter geschrieben werden wenn man sagt schreibe einfach jede Sekunde den Wert den du grade hast. Bisher hat man einfach den Filter um FROM ergänzt und fertig. Jetzt muss ich erstmal alle Werte über den Zeitstempel joinen und dann wieder filtern.

                      Excodibur 1 Reply Last reply Reply Quote 0
                      • Excodibur
                        Excodibur Developer @sunny1081 last edited by

                        @sunny1081

                        Wir haben hier nichts geändert. Influx kann pro Datenpunkt nur ein Feld (field) speichern - by design, d.h. entweder value, ack, from, oder q. Da wir hier vier Felder nutzen, gibt es auch vier getrennte Tabellen in derInfluxDB.

                        Siehe auch folgender Auszug aus der Doku: https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#point

                        Each point:
                        - has a measurement, a tag set, a field key, a field value, and a timestamp;
                        - is uniquely identified by its series and timestamp.
                        

                        Dies hat sich auch nicht zwischen Influx 1.x und 2.x geändert, nur hast du es in Influx 1.x nicht gesehen, da die Darstellung mit SQL-Queries vereinfacht wurde und man Influx dann schnell mal eher wie eine relationale Datenbank verwenden konnte, d.h. mehrere Werte pro Measurement gespeichert hat. Intern wurde es aber immer anders abgebildet, halt wie in einer Time-Series DB verteilt auf mehrere Datenpunkte.

                        Du kannst auch in deiner alten Influx 1.x DB schon Flux-Queries absetzen, die dir deine "echten" Datenunkte dann ebenfalls auf mehreren Tabellen ausgeben, z.B. mit

                        influx -type=flux -path-prefix /api/v2/query -execute 'from(bucket: "iobroker/global") |> range(start: 2020-08-06T15:00:00.000Z, stop: 2022-08-07T15:39:34.350Z)'
                        

                        Bei Influx2 gehört InfluxQL nun nicht mehr zum Standard, wobei du wahrscheinlich die gewohnten SQL-Statements noch immer über Compatibility Endpoints absetzen kannst. Ich gehe aber davon aus, dass das irgendwann verschwinden wird.

                        Bei Flux-Queries ist die pivot Funktion hier zum Zusammenfügen meines Wissens nach der offiziell von Influx vorgesehene Weg um an eine ähnliche Darstellung der Daten zu gelangen. D.h. wir können hier nicht viel mehr machen, als die Empfehlung weiter geben. Der Schlüssel ist immer Messungsname + Zeitstempel (Influx ist eine Time-Series-DB), somit sehe ich hier kein Problem mit Inkonsistenzen.

                        Was Influx-seitig ginge, ist zu einem Measurement-Datenpunkt neben dem einen Feld "value" noch beliebig viele Tags dran zu hängen und so ack, from und q direkt dort abzubilden. Dann hat man ohne weiteren Query-Aufwand alles in einer Tabelle, allerdings würden bestehende Tabellen aus Influx 1.x nicht nach 2.x migriert und weiter verwendet werden können, da dort nur mit "fields", statt "tags" gearbeitet wird.

                        S S 2 Replies Last reply Reply Quote 0
                        • S
                          sunny1081 @Excodibur last edited by

                          @excodibur

                          Danke für die Erläuterung, für mich Bezog sich die Änderung auf die initiale Version 2.0 welche ein Feld + "tags" also einer Serie, gegenüber der aktuellen welche 4 Datenpunkte nutzt. Fange grade erst an mit dem Thema um die Erträge meiner Stecker PV zu messen und bin direkt mit v2 gestartet.

                          Tags haben den Scharm das sie indiziert sind und sich so schnell auf z.B. ACK filtern lässt ohne alle Werte zu durchscannen evlt. relevant wenn man mal Wochen oder Monate betrachtet. Aber Verstanden es soll damit die Migration von V1 ermöglicht werden.

                          Bin jetzt erstmal auf NodeRed umgestiegen da mich im Grunde nur der reine Messwert interessiert, evlt. ein Feature für die Zukunft, eine Auswahl was geloggt wird um weniger Daten zu schreiben. Ist ja doch einiges komfortabler eben einen Haken über die GUI setzen und fertig.

                          Ist es möglich zu konfigurieren das die Retention und / oder Shard duration nicht über den Adapter konfiguriert wird? -> Dadurch lässt sich die InfluxCloud (30 Tage Free Plan) aktuell nicht nutzen -> HttpError: specifying shard-group duration is not supported. Grade um hochfrequent und nicht historisch wichtige Daten zu schreiben eine Super Sache, spart wieder einige GB an schreibzugriffen auf die SD Karte / SSD.

                          apollon77 1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @sunny1081 last edited by

                            @sunny1081 sagte in Test Adapter influxdb 2.0:

                            Dadurch lässt sich die InfluxCloud (30 Tage Free Plan) aktuell nicht nutzen -> HttpError: specifying shard-group duration is not supported.

                            Sicher das das blockt? Wenn ich den Code korrekt im Kopf habe dann kommt die Meldung aber es sollte danach trotzdem normal weitergehen und Daten speichern. Wär dann also einfach zu ignorieren

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              sunny1081 @apollon77 last edited by

                              @apollon77

                              Habe es grade nochmal probiert. Dachte es geht gar nicht da ich keine Werte mehr hatte, die Verbindung wird aufgebaut und ein Wert geschrieben, die Updates dann aber nicht mehr. Erst wenn ich den Adapter wieder neu Starte ist der nächste Wert da.

                              Alle 10s verbindet sich der Adapter neu, es werden aber keine Werte geschrieben.
                              Anbei ein Ausschnitt aus dem log:

                              Influx.log

                              R apollon77 2 Replies Last reply Reply Quote 0
                              • R
                                robbsen @sunny1081 last edited by

                                @sunny1081 gleiches bei mir , grundsätzlich schreibt er aber Werte in die Datenbank. Nur ständige Neustarts

                                df49eb00-42d7-436a-a463-f19502433986-image.png

                                Kleiner Hinweis: Abweichend von den Hinweisen am Anfang hatte ich nen Extra Token angelegt.... ich wüsste auch nicht wo mir am Anfang der Installation ein Token angezeigt werden sollte.

                                1043b90d-f990-4c4e-8f29-656e315b19e2-image.png

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  sunny1081 @robbsen last edited by

                                  @robbsen
                                  Wenn ich die lokale InfluxDB nutzte läuft es gut. Habe auch einen eigenen TOKEN mit allen rechten für IOBroker gemacht.

                                  R 1 Reply Last reply Reply Quote 0
                                  • R
                                    robbsen @sunny1081 last edited by robbsen

                                    @sunny1081 vielleicht ist das unser Problem mit unseren Neustarts

                                    Authentication Token: You need to create an Authentication token that have sufficient rights to basically do all actions on the provided organization! Important: For now just use the initial owner auth token because we still struggle on how to create a token that has sufficient permissions. The Owner Token was generated on InfluxDB setup process. If you know how to create the right tokens let us now :-)
                                    

                                    Eigentlich sollte man ja den "Owner-Token" nutzen. Allerdings habe ich den bei mir nicht gefunden.

                                    By the way bei mir loggt sich das Frotend alle paar Sekunden aus, hat jemand ähnliches Problem?

                                    Excodibur apollon77 2 Replies Last reply Reply Quote 0
                                    • Excodibur
                                      Excodibur Developer @robbsen last edited by

                                      @robbsen Nee, ich glaube ich hatte da ein Reconnect Verhalten eingebaut, falls es beim Anlegen der DB (und damit einhergehend dem Setzen der Retention Policy zu Problemen kommt, immer in der Annahme, dass Probleme so für nach dem Login auf Schwierigkeiten mit der Verbindung hindeuten. Die Annahme trifft in diesem Fall nicht zu, d.h. ich müsste mir den Adapter-Code nochmal anschauen und da was patchen.

                                      1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 @sunny1081 last edited by

                                        @sunny1081 Dann bitte GitHub Issue das er ein nen Fail bei Retention nur loggt aber komplett ignoriert ...

                                        S 1 Reply Last reply Reply Quote 0
                                        • apollon77
                                          apollon77 @robbsen last edited by

                                          @robbsen Das mit dem Owner Token war nur nötig bzw in der Readme wel wir es nicht hinbekommen hatten ein Token zu erzeugen mit dem der Adapter nach dem Anlegen der DB selbst darauf zugreifen durfte ...

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            sunny1081 @apollon77 last edited by

                                            @apollon77 done

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            846
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            43
                                            293
                                            45315
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo