Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. influxDB adapter schreibt z.B. bei einem Neustart alte Werte

    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

    influxDB adapter schreibt z.B. bei einem Neustart alte Werte

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

      Hi,
      ich hoffe ich schreibe hier im richtigen Forenabschnitt.
      Folgendes Problem habe ich. Der InfluxDB Adapter schreibt den letzten Wert von einem Datenpunkt in die Datenbank auch wenn der längst übertragen wurde. Dies tritt bei jedem gelogten Datenpunkt auf wenn ioBroker neu startet, der InfluxDB Adapter neu startet oder die Konfiguration von einem gelogten Datenpunkt gespeichert wird.
      Besonders Problematisch ist das bei Datenpunkten die nur sehr selten geschrieben werden und z.B. als Säule in Flot dargestellt werden. Eine Deltaprüfung (z.B. 0.00001) hilft da anscheinend auch nicht.

      Folgenden Datenpunkt kann ich als Beispiel geben.

      {
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1604927567240,
        "common": {
          "name": "Hausanschluss.Zähler Haus.kWh je Tag",
          "role": "value",
          "type": "number",
          "desc": "Manuell erzeugt",
          "unit": "kWh",
          "min": 0,
          "def": 0,
          "read": true,
          "write": true,
          "custom": {
            "influxdb.0": {
              "enabled": true,
              "changesOnly": true,
              "debounce": "10",
              "retention": 0,
              "changesRelogInterval": 0,
              "changesMinDelta": 0.0001,
              "storageType": "",
              "aliasId": ""
            }
          }
        },
        "native": {},
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1636
        },
        "_id": "0_userdata.0.Hausanschluss.Zähler_Haus.kWh_je_Tag",
        "type": "state"
      }
      

      Debuglog wenn der Datenpunkt gespeichert wird.

      influxdb.0	2020-12-21 22:37:26.042	debug	(6265) Datatype 0_userdata.0.Hausanschluss.Zähler_Haus.kWh_je_Tag: Currently: number, StorageType: false
      falseinfluxdb.0	2020-12-21 22:37:26.042	debug	(6265) timed-relog 0_userdata.0.Hausanschluss.Zähler_Haus.kWh_je_Tag, value=8.956199999999967, lastLogTime=undefined, ts=1608586646042
      falseinfluxdb.0	2020-12-21 22:37:26.042	info	(6265) enabled logging of 0_userdata.0.Hausanschluss.Zähler_Haus.kWh_je_Tag, Alias=false
      falseinfluxdb.0	2020-12-21 22:37:19.798	debug	(6265) SELECT * from "0_userdata.0.Hausanschluss.Zähler_Haus.kWh_je_Tag" WHERE time < '2020-12-21T21:37:30.849Z' ORDER BY time DESC LIMIT 50;SELECT value from "0_userdata.0.Hausanschluss.Zähler_Haus.
      falseinfluxdb.0	2020-12-21 22:37:19.478	debug	(6265) SELECT * from "0_userdata.0.Hausanschluss.Zähler_Haus.kWh_je_Tag" WHERE time < '2020-12-21T21:37:30.528Z' ORDER BY time DESC LIMIT 50;SELECT value from "0_userdata.0.Hausanschluss.Zähler_Haus.
      

      Ergebnis in der InfluxDB. Alle Werte mit "system.adapter.influxdb.0" wurden in einem der oben genannten Fälle geschrieben. "system.adapter.influxdb.0" wird aber auch verwendet wenn "changesRelogInterval" größer 0 ist (was hier aber nicht der Fall ist).

      time          ack  from                        q value
      1608508800007 true system.adapter.javascript.0 0 8.956199999999967
      1608512621946 true system.adapter.influxdb.0   0 8.956199999999967
      1608568536048 true system.adapter.influxdb.0   0 8.956199999999967
      1608569242905 true system.adapter.influxdb.0   0 8.956199999999967
      1608569400896 true system.adapter.influxdb.0   0 8.956199999999967
      1608569521072 true system.adapter.influxdb.0   0 8.956199999999967
      1608581637265 true system.adapter.influxdb.0   0 8.956199999999967
      1608583155224 true system.adapter.influxdb.0   0 8.956199999999967
      1608585570880 true system.adapter.influxdb.0   0 8.956199999999967
      1608585741436 true system.adapter.influxdb.0   0 8.956199999999967
      1608586393735 true system.adapter.influxdb.0   0 8.956199999999967
      

      Meine Vermutung ist das "lastLogTime=undefined" das Problem ist weswegen er die alten Werte schreibt. Frage ich den Datenpunkt mit einem Blockly die letzte Änderung ab hat der Punkt aber einen Zeitstempel.
      Weiter komme ich leider in der Fehleranalyse ohne Hilfe nicht und ein manuelles Löschen der Werte in der InfluxDB ist auf dauer auch keine Lösung.

      S E D 3 Replies Last reply Reply Quote 0
      • S
        Sputnik24 @Gugulao last edited by

        Ich habe exakt das gleiche Problem, sowohl mit sql als auch influxdb. Keiner eine Idee?

        1 Reply Last reply Reply Quote 0
        • E
          ente34 @Gugulao last edited by ente34

          @gugulao @Sputnik24

          1. Warum hast Du debounce (Entprellen) nicht auf "0"?
          2. Wenn die Werte so selten geschrieben werden, brauchst Du dann den Haken
            "nur bei Änderung"?
          1 Reply Last reply Reply Quote 0
          • D
            dock07 @Gugulao last edited by

            @gugulao Wirklich nur (einschließlich mir) drei User die mit diesem Problem kämpfen? Oder hat mittlerweile jemand eine Lösung?

            1 Reply Last reply Reply Quote 1
            • D
              dock07 last edited by

              Seit 4.0.20 wird bei mir kein (schon übertragener) Datenpunkt nochmals bei reboot geschrieben. Danke!

              E 1 Reply Last reply Reply Quote 0
              • E
                Einstein67 @dock07 last edited by

                @dock07 Kann ich leider nicht bestätigen.

                Screenshot 2022-03-17 133739.png

                Der Adapter schreibt beim beenden von IOBroker alle Werte in die DB. Ich denke das ist auch OK so ... ?!?

                Ich zeige in Grafana einfach den "last" Wert an, so passen meine täglichen Auswertungen (am nächsten Tag) dann wieder.

                D 1 Reply Last reply Reply Quote 0
                • D
                  dock07 @Einstein67 last edited by

                  @einstein67 der Blockly-Zeitplan zum Schreiben des Datenpunktes wurde ignoriert bei Blockly speichern, Neustart oder IOBroker Absturz. Diese drei Möglichkeiten erzeugten bei mir immer einen frischen Datenpunkt mit dem alten Wert und neuem Zeitstempel, egal zu welcher Uhrzeit. Vielleicht liegt es bei mir aber auch an der zusätzlichen Zeile zur täglichen Zeitfenster-Einschränkung auf 4 min . Die war vor 4.0.20 ebenfalls wirkungslos: Zeitplan.jpg

                  Tra wacho 1 Reply Last reply Reply Quote 0
                  • Tra wacho
                    Tra wacho @dock07 last edited by

                    @dock07 Hast du das Problem beheben können? Ich hab bei mir das selbe Problem.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    916
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    influx-adapter influxdb-adapter
                    6
                    8
                    490
                    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