Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. ODL-Adapter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    8
    1
    47

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

ODL-Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
odl-adaptercertifikats-fehler
45 Beiträge 9 Kommentatoren 4.2k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S StefanH 0

    @ro75 Der Adapter ist im Moment so eingestellt, das er 1 x stündlich die Werte abruft. Die Werte der einzelne Stationen bewegen sich zwischen 0.09 - 0.107

    crycodeC Offline
    crycodeC Offline
    crycode
    Developer
    schrieb am zuletzt editiert von
    #32

    @stefanh-0 Der Adapter schreibt die States mit ack=true (sollte er zumindest).
    Eine Besonderheit hier ist, dass der Zeitstempel der Werte auf den echten Zeitstempel des Messwertes, also immer die volle Stunde, gesetzt werden und nicht auf den Zeitpunkt, an dem der State geschrieben wird. Sprich ein um z.B. 16:44 Uhr geschriebener Wert müsste den Zeitstempel von 16:00 Uhr haben.

    Ich kann das nächste Woche gerne noch mal bei mir mit dem SQL Adapter zusammen testen.

    Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

    mcm1957M 1 Antwort Letzte Antwort
    0
    • crycodeC crycode

      @stefanh-0 Der Adapter schreibt die States mit ack=true (sollte er zumindest).
      Eine Besonderheit hier ist, dass der Zeitstempel der Werte auf den echten Zeitstempel des Messwertes, also immer die volle Stunde, gesetzt werden und nicht auf den Zeitpunkt, an dem der State geschrieben wird. Sprich ein um z.B. 16:44 Uhr geschriebener Wert müsste den Zeitstempel von 16:00 Uhr haben.

      Ich kann das nächste Woche gerne noch mal bei mir mit dem SQL Adapter zusammen testen.

      mcm1957M Online
      mcm1957M Online
      mcm1957
      schrieb am zuletzt editiert von mcm1957
      #33

      @crycode
      Ich habe den Adapter grad mal testweise installiert.
      Bei mir werden die Werte mit ACK=TRUE (Bestätigt TRUE) angezeigt.

      42baf6ee-7c4c-4830-b7ef-641696d2be9c-image.png

      Ich rege an, dass diejenigen die ein Problem haben, das mal bei sich checken und ggF posten.

      Allerdings gibt es im Code eine auf den ersten Blick suspekte Stelle:

      https://github.com/crycode-de/ioBroker.odl/blob/43df6b0ca0dea5b2ad6ff9a860e6c4afe403b021/src/main.ts#L368

      const currentState = await this.getStateAsync(`${mstKenn}.value`);
            if (!currentState || currentState.val !== (newState as ioBroker.State).val || currentState.ts !== (newState as ioBroker.State).ts) {
              await this.setStateAsync(`${mstKenn}.value`, newState);
      
              if (objValueCosmic) {
                (newState as ioBroker.State).val = featureLatest.properties.value_cosmic;
                await this.setStateAsync(`${mstKenn}.valueCosmic`, newState);
              }
              if (objValueTerrestrial) {
                (newState as ioBroker.State).val = featureLatest.properties.value_terrestrial;
                await this.setStateAsync(`${mstKenn}.valueTerrestrial`, newState);
              }
            }
      

      Hier wird setState ohne excplizite Angabe von ack= true und damit mit ack=false aufgerufen.
      Das kann ein Problem sein, kann aber ebenso völlig in Ordnung sein. Ich erspar mir eine genauere Analyse da @crycode das wahrscheinlich in 1 Minute entscheiden kann (wenn er überhaupt so lange braucht) DANKE crycode für den Adapetr und die Betreuung hier im Forum.

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

      LESEN - gute Forenbeitrage

      crycodeC 1 Antwort Letzte Antwort
      1
      • mcm1957M mcm1957

        @crycode
        Ich habe den Adapter grad mal testweise installiert.
        Bei mir werden die Werte mit ACK=TRUE (Bestätigt TRUE) angezeigt.

        42baf6ee-7c4c-4830-b7ef-641696d2be9c-image.png

        Ich rege an, dass diejenigen die ein Problem haben, das mal bei sich checken und ggF posten.

        Allerdings gibt es im Code eine auf den ersten Blick suspekte Stelle:

        https://github.com/crycode-de/ioBroker.odl/blob/43df6b0ca0dea5b2ad6ff9a860e6c4afe403b021/src/main.ts#L368

        const currentState = await this.getStateAsync(`${mstKenn}.value`);
              if (!currentState || currentState.val !== (newState as ioBroker.State).val || currentState.ts !== (newState as ioBroker.State).ts) {
                await this.setStateAsync(`${mstKenn}.value`, newState);
        
                if (objValueCosmic) {
                  (newState as ioBroker.State).val = featureLatest.properties.value_cosmic;
                  await this.setStateAsync(`${mstKenn}.valueCosmic`, newState);
                }
                if (objValueTerrestrial) {
                  (newState as ioBroker.State).val = featureLatest.properties.value_terrestrial;
                  await this.setStateAsync(`${mstKenn}.valueTerrestrial`, newState);
                }
              }
        

        Hier wird setState ohne excplizite Angabe von ack= true und damit mit ack=false aufgerufen.
        Das kann ein Problem sein, kann aber ebenso völlig in Ordnung sein. Ich erspar mir eine genauere Analyse da @crycode das wahrscheinlich in 1 Minute entscheiden kann (wenn er überhaupt so lange braucht) DANKE crycode für den Adapetr und die Betreuung hier im Forum.

        crycodeC Offline
        crycodeC Offline
        crycode
        Developer
        schrieb am zuletzt editiert von
        #34

        @mcm57 Danke für dein Feedback! :)
        Bei deiner genannten Codestelle wird ack=true schon ein paar Zeilen vorher mit definiert:
        https://github.com/crycode-de/ioBroker.odl/blob/43df6b0ca0dea5b2ad6ff9a860e6c4afe403b021/src/main.ts#L362C19-L362C19

              const newState: ioBroker.SettableState = {
                val: featureLatest.properties.value,
                ack: true,
                ts: featureLatest.properties.end_measure ? new Date(featureLatest.properties.end_measure).getTime() : Date.now(),
                lc: Date.now(),
                q: featureLatest.properties.value !== null ? 0x00 : 0x81, // 0x00 = good, 0x81 = general problem by sensor
              };
        

        Meines Wissens nach sollte das so passen und gab bislang auch keine Fehler. :thinking_face:

        Meine Vermutung wäre eher, wie oben schon geschrieben, dass die States mit einem anderen Zeitstempel (dem des tatsächlichen Messwertes) geschrieben werden und der SQL-Adapter das deshalb vlt. aussortiert. Das checke ich aber nächste Woche genauer.

        Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

        mcm1957M 1 Antwort Letzte Antwort
        0
        • crycodeC crycode

          @mcm57 Danke für dein Feedback! :)
          Bei deiner genannten Codestelle wird ack=true schon ein paar Zeilen vorher mit definiert:
          https://github.com/crycode-de/ioBroker.odl/blob/43df6b0ca0dea5b2ad6ff9a860e6c4afe403b021/src/main.ts#L362C19-L362C19

                const newState: ioBroker.SettableState = {
                  val: featureLatest.properties.value,
                  ack: true,
                  ts: featureLatest.properties.end_measure ? new Date(featureLatest.properties.end_measure).getTime() : Date.now(),
                  lc: Date.now(),
                  q: featureLatest.properties.value !== null ? 0x00 : 0x81, // 0x00 = good, 0x81 = general problem by sensor
                };
          

          Meines Wissens nach sollte das so passen und gab bislang auch keine Fehler. :thinking_face:

          Meine Vermutung wäre eher, wie oben schon geschrieben, dass die States mit einem anderen Zeitstempel (dem des tatsächlichen Messwertes) geschrieben werden und der SQL-Adapter das deshalb vlt. aussortiert. Das checke ich aber nächste Woche genauer.

          mcm1957M Online
          mcm1957M Online
          mcm1957
          schrieb am zuletzt editiert von
          #35

          @crycode
          DANKE für die Rückmeldung und sorry für die Vermutung. Ich hab definitiv übersehen, dass du ein Objet und nicht einen Wert übergibst.

          Wie gesagt ich kann die Aussage dass Werte mit ack=false existieren nicht nachvollziehen.

          Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
          Support Repositoryverwaltung.

          Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

          LESEN - gute Forenbeitrage

          1 Antwort Letzte Antwort
          1
          • S Offline
            S Offline
            StefanH 0
            schrieb am zuletzt editiert von StefanH 0
            #36

            Das könnte sein, wenn ich mir die Zeitstempel der odl.Objekte (val) anschaue, so liegen diese eigenartigerweise um ca. 10 Minuten vor der Zeit des Raspberry-Pi.

            Weiter ist mir über das IOBroker-Info-Menü folgendes aufgefallen:

            odl3.jpg

            Die Zeit-Einstellung meines Raspberry-Pi habe ich kontrolliert, diese ist korrekt.
            Das sollte dann eigentlich auch die Zeit von IOBroker sein, oder?

            Thomas BraunT crycodeC 2 Antworten Letzte Antwort
            0
            • S StefanH 0

              Das könnte sein, wenn ich mir die Zeitstempel der odl.Objekte (val) anschaue, so liegen diese eigenartigerweise um ca. 10 Minuten vor der Zeit des Raspberry-Pi.

              Weiter ist mir über das IOBroker-Info-Menü folgendes aufgefallen:

              odl3.jpg

              Die Zeit-Einstellung meines Raspberry-Pi habe ich kontrolliert, diese ist korrekt.
              Das sollte dann eigentlich auch die Zeit von IOBroker sein, oder?

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #37

              @stefanh-0 sagte in ODL-Adapter:

              Das sollte dann eigentlich auch die Zeit von IOBroker sein, oder?

              Die Anzeige hat mich auch schon irritiert. Einmal Browser refresh und es passt wieder.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              S 1 Antwort Letzte Antwort
              0
              • Thomas BraunT Thomas Braun

                @stefanh-0 sagte in ODL-Adapter:

                Das sollte dann eigentlich auch die Zeit von IOBroker sein, oder?

                Die Anzeige hat mich auch schon irritiert. Einmal Browser refresh und es passt wieder.

                S Offline
                S Offline
                StefanH 0
                schrieb am zuletzt editiert von
                #38

                @thomas-braun ja stimmt, hat funktioniert, also ein Bug !

                1 Antwort Letzte Antwort
                0
                • S StefanH 0

                  Das könnte sein, wenn ich mir die Zeitstempel der odl.Objekte (val) anschaue, so liegen diese eigenartigerweise um ca. 10 Minuten vor der Zeit des Raspberry-Pi.

                  Weiter ist mir über das IOBroker-Info-Menü folgendes aufgefallen:

                  odl3.jpg

                  Die Zeit-Einstellung meines Raspberry-Pi habe ich kontrolliert, diese ist korrekt.
                  Das sollte dann eigentlich auch die Zeit von IOBroker sein, oder?

                  crycodeC Offline
                  crycodeC Offline
                  crycode
                  Developer
                  schrieb am zuletzt editiert von
                  #39

                  @stefanh-0 Dass die Zeitstempel der val-Objekte in der Zukunft liegen kann eigentlich nicht sein. Die Zeitstempel kommen aus der Datenschnittstelle des BfS. Bis da ein Messwert drin ist, muss die jeweilige Messstelle erst mal die Daten verschickt haben und die Daten müssen dann durch einen internen Prozess (Berechnung der ODL aus den Impulsen der Zählrohre, Berechnung der 1h-Mittelwerte etc.) laufen. Damit ist immer ein Versatz von mind. 10 Minuten drin.

                  Hast du in der Adapterkonfig die Option "Verlauf nachladen" aktiviert?
                  Diese sollte ggf. fehlende Datenlücken in der Historie für die letzten 7 Tage auffüllen (und damit auch ggf. nicht direkt gespeicherte aktuelle Werte).
                  Das ist für die Verlaufs-Adapter history, influx und sql verfügbar.
                  Wenn es damit klappt, ist es zwar noch nicht die Lösung des eigentlichen Problems, aber wäre zumindest ein Workaround. :)

                  Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    StefanH 0
                    schrieb am zuletzt editiert von
                    #40

                    Kaum zu glauben, nachdem ich die Option

                    odl4.jpg

                    aktiviert habe, bekomme ich nun fortlaufend Daten.
                    Habe die Option gestern Abend aktiviert und habe alle Veränderungen bis heute Morgen.

                    Verstehe den Zusammenhang noch nicht ganz!!!!

                    crycodeC 1 Antwort Letzte Antwort
                    0
                    • S StefanH 0

                      Kaum zu glauben, nachdem ich die Option

                      odl4.jpg

                      aktiviert habe, bekomme ich nun fortlaufend Daten.
                      Habe die Option gestern Abend aktiviert und habe alle Veränderungen bis heute Morgen.

                      Verstehe den Zusammenhang noch nicht ganz!!!!

                      crycodeC Offline
                      crycodeC Offline
                      crycode
                      Developer
                      schrieb am zuletzt editiert von
                      #41

                      @stefanh-0 Mit der Option aktiviert, prüft der Adapter zusätzlich deinen gespeicherten Verlauf (in deinem Fall mit dem SQL Adapter) und versucht Datenlücken über eine zusätzliche Anfrage an die Datenschnittstelle des BfS zu füllen.
                      Wenn die Datenschnittstelle dann Werte liefert, die bei dir noch nicht vorhanden sind, dann gibt der ODL Adapter dem SQL Adapter (alternativ History oder Influxdb) entsprechende Befehle, um die fehlenden Werte bei dir nachzutragen.

                      Gedacht ist diese Funktion eigentlich dafür, wenn du einen möglichst vollständigen Verlauf haben möchtest, aber die Datenschnitte mal (aus welchem Grund auch immer) für einen Zeitraum von bis 7 Tagen keine Daten geliefert hat, danach aber die Daten aus dem Zeitraum wieder verfügbar sind.

                      Wie gesagt, das löst das eigentliche Problem nicht, aber füllt durch das Nachladen der fehlenden Werte trotzdem deinen Verlauf.

                      Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                      1 Antwort Letzte Antwort
                      0
                      • crycodeC Offline
                        crycodeC Offline
                        crycode
                        Developer
                        schrieb am zuletzt editiert von
                        #42

                        Kurze Zwischeninfo:
                        Auch mit InfluxDB und deaktivierter Option "Verlauf nachladen" werden die Werte nicht aufgezeichnet.
                        Vermutlich filtern die Verlaufsadapter hier nach dem Zeitstempel, damit nicht versehentlich ältere Werte aufgezeichnet werden. Das schaue ich mir noch genauer an.

                        Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                        1 Antwort Letzte Antwort
                        0
                        • crycodeC Offline
                          crycodeC Offline
                          crycode
                          Developer
                          schrieb am zuletzt editiert von
                          #43

                          Ab sofort steht Version 3.0.1 vom ODL-Adapter über NPM und spätestens morgen auch im latest-Repository bereit.
                          In dieser Version sollte das Problem mit dem Speichern der Verlaufsdaten behoben sein. Zudem wurden alle Abhängigkeiten aktualisiert.
                          Achtung: Der Adapter benötigt nun mindestens Node.js 16.

                          @StefanH-0 Kannst du das bitte mal testen und dabei die Option "Verlauf nachladen" wieder (zumindest testweise) deaktivieren?

                          Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                          S 1 Antwort Letzte Antwort
                          1
                          • crycodeC crycode

                            Ab sofort steht Version 3.0.1 vom ODL-Adapter über NPM und spätestens morgen auch im latest-Repository bereit.
                            In dieser Version sollte das Problem mit dem Speichern der Verlaufsdaten behoben sein. Zudem wurden alle Abhängigkeiten aktualisiert.
                            Achtung: Der Adapter benötigt nun mindestens Node.js 16.

                            @StefanH-0 Kannst du das bitte mal testen und dabei die Option "Verlauf nachladen" wieder (zumindest testweise) deaktivieren?

                            S Offline
                            S Offline
                            StefanH 0
                            schrieb am zuletzt editiert von
                            #44

                            @crycode Habe gestern Abend noch die Latest Version 3.0.1 installiert und die Optione "Verlauf nachladen" wieder ausgeschaltet. Sieht heute Morgen gut aus, habe über Nacht kontinuierlich und lückenlos Werte erhalten.

                            Vielen Dank, gute Arbeit!

                            crycodeC 1 Antwort Letzte Antwort
                            1
                            • S StefanH 0

                              @crycode Habe gestern Abend noch die Latest Version 3.0.1 installiert und die Optione "Verlauf nachladen" wieder ausgeschaltet. Sieht heute Morgen gut aus, habe über Nacht kontinuierlich und lückenlos Werte erhalten.

                              Vielen Dank, gute Arbeit!

                              crycodeC Offline
                              crycodeC Offline
                              crycode
                              Developer
                              schrieb am zuletzt editiert von
                              #45

                              @stefanh-0 Super! :)
                              Wenn du im ioBroker einen möglichst vollständigen Verlauf haben möchtest, dann würde ich dir trotzdem empfehlen die Option wieder zu aktivieren.

                              Über die Datenschnittstelle vom BfS kommen manchmal einzelne Stundenwerte nicht direkt, sondern erst später.
                              zufälliges Beispiel: Dein Adapter holt die Werte immer um *:40 ab. Um 12:40 erhältst du den 12:00 Uhr Wert, um 13:40 immer noch den 12:00 Wert und um 14:40 dann den 14:00 Wert. Damit würde der 13:00 Wert bei dir im Verlauf fehlen. Mit der Option "Verlauf nachladen" würde der Adapter diese Lücke in deinem Verlauf bemerken und den 13:00 Wert über die Schnittstelle nachladen und bei dir eintragen. :)

                              Meine Adapter: discord | canbus | ds18b20 | odl | radiohead

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

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

                              795

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe