NEWS
Test Adapter ODL (Ortsdosisleistung) v1.0.x
-
@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.
-
Auf NPM ist jetzt die v1.0.7 verfügbar und ab morgen sollte diese dann auch im Latest Repo sein.
-
Vielen Dank für diesen prima Adapter.
Habe die V1.07 soeben installiert und mir gleich einen Menge Meßstellen ausgesucht.Im log sehe ich:
host.DESKTOP-0U1234M(ioBrMain2) 2020-12-23 15:43:36.293 info instance system.adapter.odl.0 terminated with code 0 (NO_ERROR) odl.0 2020-12-23 15:43:35.775 info (1392) Terminated (NO_ERROR): Without reason odl.0 2020-12-23 15:43:35.771 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:35.771 warn (1392) Object odl.0.DEZ1082.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:35.612 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:35.612 warn (1392) Object odl.0.DEZ1241.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:35.453 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:35.453 warn (1392) Object odl.0.DEZ1166.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:35.291 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:35.291 warn (1392) Object odl.0.DEZ3361.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:35.122 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:35.121 warn (1392) Object odl.0.DEZ1164.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.955 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.955 warn (1392) Object odl.0.DEZ1165.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.795 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.794 warn (1392) Object odl.0.DEZ2223.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.619 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.619 warn (1392) Object odl.0.DEZ1163.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.470 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.470 warn (1392) Object odl.0.DEZ1200.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.318 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.318 warn (1392) Object odl.0.DEZ3275.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.166 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.166 warn (1392) Object odl.0.DEZ1199.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:34.000 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:34.000 warn (1392) Object odl.0.DEZ1236.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:33.841 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:33.840 warn (1392) Object odl.0.DEZ2224.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:33.688 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:33.688 warn (1392) Object odl.0.DEZ1170.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:33.537 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:33.536 warn (1392) Object odl.0.DEZ3317.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:33.360 warn (1392) This object will not be created in future versions. Please report this to the developer. odl.0 2020-12-23 15:43:33.360 warn (1392) Object odl.0.DEZ3515.odl is invalid: obj.type has to exist odl.0 2020-12-23 15:43:32.977 info (1392) starting. Version 1.0.7 in C:/Program Files/iobroker/ioBrMain026/node_modules/iobroker.odl, node: v10.17.0, js-controller: 3.1.6
Die Meßstellen sind in den Objekten angelegt, aber noch keine Daten zu sehen.
-
@klassisch Danke für die Info. Da hatte sich ein kleiner Bug eingeschlichen, wodurch das
.odl
Objekt nicht erstellt wurde.Das Problem ist in v1.1.1 behoben. Die neue Version ist ab sofort über GitHub und NPM verfügbar und sollte ab morgen im Latest-Repo auftauchen.
Feedback dazu bitte im Thema Test Adapter ODL (Ortsdosisleistung) v1.1.x.