NEWS
Test Adapter ODL (Ortsdosisleistung) v1.0.x
-
@Burg_Io Ich kann keine Probleme feststellen.
Für welche Messstelle rufst du die Daten ab? Vielleicht ist die Messstelle aktuell außer Betrieb.
-
@crycode Danke. Daten noch einmal ordentlich eingegeben und es ist wieder am laufen.
-
@crycode
Auch von mir vielen Dank für den Adapter. Leider habe ich sporadisch Ausfälle. Das fällt mir auf, wenn sich der in vis dargestellte Wert über einen längeren Zeitraum gleich bleibt. Gehe ich dann in die History, wie z.B. heute am 28.09., sehe ich, dass seit dem 25.09. keine Daten mehr aufgezeichnet wurden, die normalerweise dort im Stundentakt abgelegt werden.
Ich versuche dann, mehrfach den Adapter zu restarten, aber meistens bleibt das Problem erst einmal bestehen. Dann stoppe ich den Adapter und starte ihn wieder. Meistens bekrabbelt er sich dann irgendwann wieder, wenn ich das ein paar mal gemacht habe. Dann erscheint nicht nur der aktuelle Wert, sondern es laufen auch die fehlenden Werte in die History ein.
Was mir im Log auffällt ist, dass folgendes beim Restart des Adapters erscheint:
Erst nach einem weiteren Versuch sieht es dann so aus:
Und wie gesagt, dass ist mir jetzt bereits dreimal passiert. Hast Du eine Erklärung dafür?
Viele Grüße
Thomas -
@timo55 Kannst du mir sagen für welche Messstelle du die Daten abrufst? (gerne auch per PN). Eventuell hatte zu der Zeit auch die Messstelle ein Problem und die Daten dann später nachgeliefert.
Tritt das Problem in nachvollziehbaren Abständen oder unregelmäßig auf?
Das mit dem Neustart schau ich mir mal an.Edit:
Bei dem "already running" Fehler kann es eigentlich nur sein, dass der Adapter wegen irgendwas hängen geblieben ist. Normalerweise wird er beim Aktivieren/Neustarten ein mal gestartet, läd seine Daten und beendet sich dann wieder. Alle 30 Minuten startet er dann nach dem Zeitplan wieder, läd die Daten und beendet sich wieder.
Ein hängengebliebener Prozess des Adapters führt dann zu dem von dir beschriebenen Problem. -
@crycode Vielen Dank für deine Rückmeldung.
Heute läuft der Adapter ohne Problem. Und wie man im Screenshot sehen kann, läuft auch alles so ab wie es sein sollte:Die Messstelle ist: 50259 Pulheim-Sinnersdorf (In Betrieb)
Den Adapter habe ich so eingestellt, dass er alle halbe Stunde (0, 30) die Werte abholt.Wie gesagt, was mir immer wieder auffällt, wenn etwas mit dem ODL Adapter nicht stimmt, dass im LOG der Hinweis erscheint, dass der Adapter bereits aktiv ist.
Da mir das Problem, wenn es denn auftritt, oft erst nach einige Zeit auffällt, kann ich die Frage, ob es in nachvollziehbaren Abständen auftritt nicht beantworten. Wenn aber die Messtelle z.B. nicht in Betrieb ist, muss der ODL Adapter dann aber nicht trotzdem ohne den Fehler (already running) weiterlaufen. Was ja auch seltsam ist, dass wenn über mehrere Tage die Werte fehlen, diese nicht automatisch nachgetragen werden und dies erst passiert, wenn ich den Adapter restarte, bzw. stoppe und neu starte. Ich hab' aber noch nicht raus, welche meiner Aktionen dann wirklich den Adapter wieder auf die Spur bringt.
Vielleicht hast Du ja eine Idee. Auf jeden Fall eine tolle Arbeit, so einen Adapter zu programmieren und zur Verfügung zu stellen.
Viele Grüße Thomas -
@timo55 Das klingt ganz danach, dass der Adapter wegen irgendwas hängen bleibt und sich dann nach dem Laden der Daten nicht wie vorgesehen beendet. Deshalb kann er dann zur nächsten geplanten Zeit nicht starten und läd natürlich auch keine Daten mehr. Ein manueller Neustart beendet dann den hängenden Prozess und startet einen neuen.
Spontan habe ich dazu keine Idee, aber ich schau mir den Code noch mal genau an. Vielleicht fällt mir was ein -
@crycode
Vielleicht ist ja auch das Problem, was vor kurzem von Burg_Io hier berichtet wurde.
Auch er hatte vermutlich durch die Neueingabe von Daten in irgend einer Weise den Neustart des Adapters veranlasst.
Ist aber nur eine Vermutung. -
@timo55 Ich habe jetzt ein paar Änderungen vorgenommen, die das Problem hoffentlich beheben.
Kannst du zum Test mal die aktuelle Version aus dem Git installieren (URL: https://github.com/crycode-de/ioBroker.odl) und damit beobachten, ob der Fehler weiter auftritt? -
@crycode
Mache ich gerne. Aber wenn ich im IOBroker mir die Adapter anschaue, dann steht der ODL immer noch auf 1.0.5.
Bei mir läuft der IObroker unter Windows und meine IT-Kenntnisse sind eher beschränkt. Möchte daher ungern etwas händisch machen. Kann man diese Version, vermutlich 1.0.6, so im Netz einstellen, dass ich ihn direkt aus dem IObroker laden kann? -
@timo55 Zur Installation über GitHub gehst du bei den Adaptern einfach oben auf die "GitHub Katze"
und in dem Fenster dann auf "beliebig" und fügst die URL dort ein.
Damit wird dann direkt die aktullste (Entwicklungs-) Version von GitHub installiert. Danach solltest du Version 1.0.6 haben.
-
@crycode
Wieder was dazu gelernt
V 1.0.6 ist jetzt bei mir drauf. Werde das jetzt einige Tage intensiver beobachten, denn, wie gesagt, das Problem trat sporadisch auf. Ich werde auf jeden Fall nochmal ein Feedback geben.Einstweilen vielen Dank für Deine Bemühungen
LG Thomas -
@crycode
Leider wurde das Problem mit der Version 1.0.6 nicht gelöst.
Bis heute Nacht um 4:30 Uhr lief alles normal, wie der folgende Screenshot zeigt:
Beim nächsten Lauf um 5:00 Uhr traten dann die Probleme auf:
Um 6:30 kam dann nur noch die Meldung:
2020-10-02 05:30:04.284 - [33mwarn[39m: host.DESKTOP-JQ1B735(SmartHome) instance system.adapter.odl.0 already running with pid 17744
die sich dann jede halbe Stunde wiederholt.Da ich sehr viele Adapter laufen habe, habe ich mal die ODL relevanten Einträge rausgezogen und markiert.
Vielleicht bieten diese Infos ja einen Anhaltspunkt für die Ursache -
@timo55 Ok, das bringt uns aber schon mal etwas weiter. Das interessante dabei sind die Meldungen "no connection to objects DB" und "no connection to states DB" um 05:00.
Scheint als gäbe es da irgendein Problem in deiner Installation, die den Zugriff auf die DB verhindert. Vlt. ein (planmäßiger) Neustart von Redis?Ich habe jetzt noch einen Timeout hinzugefügt, der den Adapter in so einem Fall nach 10 Minuten beenden sollte. Bitte zum Testen einfach noch mal neu von GitHub über die URL installieren.
-
@crycode
Habe die 1.0.6 jetzt nochmal geladen. Mal sehen, ob es hilft.
Ich will zwar meine Installation als Fehlerquelle nicht ausschließen, aber folgendes spricht dagegen:
1.) Beim vorletzten Mal wurde der letzte Wert nachmittags gegen 17 Uhr aufgezeichnet als dann nichts mehr ging, also nicht nachts
2.) Ich habe mehrere Adapter, die 24x7 Datenpunkte in der MySQL-Datenbank (MariaDB) ablegen. Dort hatte ich bis jetzt kein Problem mit der DB
3.) Das NAS, auf dem sowohl IOBroker als auch die DB liegen macht keinen regelmäßigen Neustart, sondert läuft 24x7 durch
Allerdings ist das NAS manchmal gut ausgelastet, aber dass sollte doch eigentlich kein Problem sein, oder? -
@timo55 Die Verbindung zur DB wird nicht von meinem Code aufgebaut, sondern vom Adapter-Core. Deshalb kann ich dazu leider nicht viel sagen, wo das eigentliche Problem sein könnte.
Vielleicht hat @apollon77 eine Idee, warum ein Adapter beim Start "no connection to objects/states DB" meldet? -
@crycode sagte in Test Adapter ODL (Ortsdosisleistung) v1.0.x:
Vielleicht hat @apollon77 eine Idee, warum ein Adapter beim Start "no connection to objects/states DB" meldet?
Am Ende geisst die Meldung nur das die Verbindung des Adapters zur DB mehr als 10 oder 15s gedauert hat - das ist eher ungewöhnlich.
Auch die Aussage "Ich habe viele Adapter laufen" bringt mich zur Frage ... freier RAM? I/O?
-
@crycode
Der ODL-Adapter läuft seit dem Update auf die Version 1.0.6 am 2. Oktober ohne Probleme. Dennoch habe ich mir mal das heutige Log angesehen um festzustellen, ob der sporadische Fehler einfach nicht aufgetreten ist, oder aber die neue Version die Verbesserung gebracht hat. Und siehe da, im heutigen Log gab es einmal beim Lauf um 13 Uhr und einmal um 15 Uhr wieder die Meldung bzgl. "no connection to objects db" und "no connection to states" im Log. Aber der Adpater wurde im Gegensatz zu Version 1.0.5 (bzw. dem ersten Versuch der 1.0.6) dann doch beendet, so dass beim nächsten Lauf wieder alles OK war. Mein Fazit: Die Version 1.0.6 hat in meinem Fall wohl geholfen.@apollon77
Deine Vermutung bzgl. einer zu langen Wartezeit auf die DB kann möglicherweise zutreffen. Das Windows 10 Pro, auf dem außer dem IOBroker und der MariaDB sonst nichts läuft hat zwar 4GB Spreicher, läuft aber auf einem Synology NAS DS218+ in einer virtuellen Maschine. Dieses NAS kann zwar diese VM normalerweise gut händeln, aber gelegentlich ist die 2-Kern CPU am Anschlag, wenn auf dem NAS noch andere Aktivitäten laufen. Hatte schon überlegt ein performanteres NAS zu beschaffen, aber mit der jetzigen Lösung kann ich erstmal gut leben.Euch beiden vielen Dank für die Unterstützung
-
@timo55 sagte in Test Adapter ODL (Ortsdosisleistung) v1.0.x:
Das Windows 10 Pro, auf dem außer dem IOBroker und der MariaDB sonst nichts läuft hat zwar 4GB Spreicher, läuft aber auf einem Synology NAS DS218+ in einer virtuellen Maschine. Dieses NAS kann zwar diese VM normalerweise gut händeln, aber gelegentlich ist die 2-Kern CPU am Anschlag, wenn auf dem NAS noch andere Aktivitäten laufen. Hatte schon überlegt ein performanteres NAS zu beschaffen, aber mit der jetzigen Lösung kann ich erstmal gut leben.
Das kenne ich und wöre für mich eine Erklärung
-
@timo55 Danke für den Test und die Rückmeldung. Dann werd ich die v1.0.6 mal demnächst für alle freigeben.
-
@crycode 1.06 läuft hier auch ohne zicken, Node 12, js-controller 3.1.6 linux mint 18.3.