NEWS
Oilfox Adapter keine Funktion mehr?
-
@mcm57
Habe seitdem der Adapter auf /34 steht, keine Probleme mehr, process wird immer beendet und läuft auch nicht mehr doppelt…
-
Es kommt ein Update mit folgenden Änderungen:
- der Cronjob wird bei Defaultstellung 0/59 * * * * oder * * * * * auf einmal stündlich zu einer zufälligen Minute geändert
- die Croneinstellung wird geloggt (für mich damit ich nicht extra nachfragen muss )
- ein globaler Watchdog kommt rein, der nach 45s den Adapter jedenfalls beendet
Wenn es dann noch immer Probleme gibt, macht es nur Sinn die etwas angegraute Struktur auf aktuelle Axios Kommunikation umzustellen. Dazu bräcuhte ich dann aber irgendeine Art des Zugangs zu einem Account - Testaccount bietet Oilfox ja m.W. nach nicht an. Wichtig wär mir nur in dem Fall, dass der Account nur Werte Lesen kann - keinesfalls irgendwelche kommerziellen Dinge auslösen kann wie Bestellungen, rechnungseinsicht oder sonst irgendwas kritisches.
Aber noch ists es noch nicht soweit. Codeänderung ist bei mir fertig - kann aber nicht sagen ob ich heute oder erst übermegen zu einer Release komme. -
Ab morgen sollte die OILFOX Release 4.2.1 im LATEST /(Beta) Repository verfügbar sein.
Wie angekündigt enthält diese folgende Aktualisierungen
- der Cronjob wird bei Defaultstellung 0/59 * * * * oder * * * * * auf einmal stündlich zu einer zufälligen Minute geändert. Andere userspezifische Einstellungen werden nicht verändert.
- die Croneinstellung wird geloggt (für mich damit ich nicht extra nachfragen muss )
- ein globaler Watchdog von 54 wurde implementiert, d.h. der Adapter solltre jedenfalls nach längstens 45s beendet werden.
Ich hoffe dess damit endgültig die unschönen Workarounds per blockly oder sonstigem Script bzw. hängende Adapterversionen der Vergangenheit angehören. Wenn nicht steht als nächste ein mehr oder weniger komplettr Rewrite basierend auf aktuellerer Basis (z.B. axios für die Kommunikation) auf den Notfallsplan. Dazu bräuchte ich dann entweder intensiven Testsupport oder Zugangsdaten zu einem Oilfox - wobei diese keinesfalls irgendwelche kommerziellen Rechte (Rechnungseinsicht, Bestellmöglichkeiten, etc) aufweisen dürften. Aber diesbezüglich würde ich mich meldne wenn wirklich der Bedarf kommen sollte.
Für Feedback jeder Art zur neuen Release bin ich dankbar.
mcm1957
-
@mcm57
danke, ist installiert, ich beobachte mal, ob der Fehler nochmal auftritt. Habe aber seitdem ich auf die Minute 34 gestellt habe, keinen Haenger des Processes mehr gehabt..
Vielen Dank nochmals fuer das Update, wenn du Zugangsdaten brauchst, kann ich dir meine gerne bereitstellen, da ist kein Kauf oder so hinterlegt...
-
@ilovegym
Danke - komm ggF auf dein Angebot zurück.
Ansonsten beobachten wir mal. Nur aus Spass schreib ich nic neu - dazu fehlt mir die Zeit -
@mcm57 Eine Abfrage pro Stunde bringt nichts da der Oilfox nur einmal am Tag den Füllstand zum Server sendet, werden zu viele Abfragen gemacht wird der Server blockiert, daher ist auch nur eine Abfrage pro Tag sinnvoll, wann das ist kann man in der App sehen.
-
@mcm57 @RolfM
wenn man es ganz genau programmieren moechte, dann muesste der Adapter den Datenpunkt oilfox.0.items.0.nextMeteringAt auswerten, und nach dem ausgelesenen Datenstempel in den Datenpunkt dann einmal die Daten abholen am Tag.
Also aus dem Datenpunkt oilfox.0.items.0.nextMeteringAt ein Schedule zu diesem Zeitpunkt machen.. -
@ilovegym
Danke,
kann man andenken - würde aber den Aufwand gerne einsparen wenn es nicht wegen Problemen notwendig sein sollte. -
Der Adapter hat bisher per Default jede Stunde um 0:00 und 0:59 abgefragt. Insofern ist die Anpassung auf 1x Stunde schon mal mindestens eine Halbierung
Natürlich ist die Eingabe eines alternativen Zeitplans nach wie vor möglich (solange er nicht * * * * * oder 0/59 * * * * lautet).
-
@mcm57 Mein Post war nur zur Info, was jeder daraus macht ist seine Sache, mein Adapter läuft seit Jahren ohne Ausfall!
-
@rolfm
Ja DANKE für die Info. Da ich das Gerät nicht besitze und die Fixes hier nur mal zwischendurch geerbt habe und schau was ich so tun kann sind solche Infos wie von dir SEHR wertvoll. Danke auch für deine Info, dass du keine hier geschilderten Hänger hast.Es war auch meine letzte Vermutung dass der excessive Zugriff (2x binnen einer Minute!) durch die unglückliche Cron Config (0/59 * * * *) welche nicht alle 59 Minuten sondern zur Minute 0 und zur Minute 59 bedeutet (- was mir vorher auchnicht bewusst -) zumindest mitverursacht wird.
Sollte aber 1xh durchgehen würde ich mir eine implemeentierung eines Automatismus gerne sparen.
-
Ich hätte mal eine generelle Frage zum Oilfox Adapter.
Ich habe das Gerät mit der App eingerichtet und User/Passwort vergeben.
Wenn ich diese Daten im Adapter eintrage, passiert gar nichts.Im Log: Timeout occured, adapter terminated by watchdog
Muss ich noch irgendwo anders einen Account anlegen, damit sich der Adapter verbindet?
-
@frank11 said in Oilfox Adapter keine Funktion mehr?:
Ich hätte mal eine generelle Frage zum Oilfox Adapter.
Ich habe das Gerät mit der App eingerichtet und User/Passwort vergeben.
Wenn ich diese Daten im Adapter eintrage, passiert gar nichts.Im Log: Timeout occured, adapter terminated by watchdog
Muss ich noch irgendwo anders einen Account anlegen, damit sich der Adapter verbindet?
Poste Bitte mal den debug log.
Und check die cron Einstellung. Siehe vorige Postings. -
@mcm1957 OK, ich stelle mal auf Debug, CRON läuft jede Stunde in der 59. Minute, wie es soll. Es ist noch nicht einmal ein Datenpunkt nach dem ersten Zugriff erstellt worden.
-
@frank11 said in Oilfox Adapter keine Funktion mehr?:
@mcm1957 OK, ich stelle mal auf Debug, CRON läuft jede Stunde in der 59. Minute, wie es soll. Es ist noch nicht einmal ein Datenpunkt nach dem ersten Zugriff erstellt worden.
Zeig nal deine zur 59 Minute Einstellung.
*/59 oder 0/59 öst solche Probleme aus. Siehe vorherige posts. Stell mal auf irgendeine Minute und verwende KEINEN / sollte der noch da sein.
-
wenn es so aussieht wie bei mir, dann sollte alles gehen:
-
@ilovegym Bei mir steht */59 * * * * und so steht es auch im SourceCode:
io-package.json: "mode": "schedule",
io-package.json: "schedule": "*/59 * * * ",
main.js: adapter.log.info(adapter scheduling set to ${obj.common.schedule}
);
main.js: const schedule = obj.common.schedule || ' * * * ';
main.js: if ((schedule === ' * * * *') || ( schedule === '0/59 * * * *')) {
main.js: adapter.log.warn('default schedule detected, setting random value');
main.js: adapter.log.warn(schedule will be set to ${newSchedule}
);
main.js: obj.common.schedule = newSchedule;0/59 wäre natürlich falsch, wenn man das mit einer crontab gleichsetzt.
Aber */59 wäre ja korrekt. Ich versuche mal ohne */ -
2024-07-09 16:48:00.521 - info: oilfox.0 (11246) starting. Version 4.3.0 in /opt/iobroker/node_modules/iobroker.oilfox, node: v20.14.0, js-controller: 5.0.19
2024-07-09 16:48:00.527 - debug: oilfox.0 (11246) adapter.on-ready: << READY >>
2024-07-09 16:48:00.527 - debug: oilfox.0 (11246) adapter.main: << MAIN >>
2024-07-09 16:48:00.534 - info: oilfox.0 (11246) adapter scheduling set to 48 * * * *
2024-07-09 16:48:00.558 - debug: oilfox.0 (11246) send data: {"email":"","password":""}
2024-07-09 16:48:45.528 - warn: oilfox.0 (11246) Timeout occured, adapter terminated by watchdog
2024-07-09 16:48:45.534 - debug: oilfox.0 (11246) Plugin sentry destroyed
2024-07-09 16:48:45.536 - info: oilfox.0 (11246) Terminated (NO_ERROR): Without reason
2024-07-09 16:48:46.046 - info: host.ff01vm101 instance system.adapter.oilfox.0 terminated with code 0 (NO_ERROR) -
-
@ilovegym Jetzt wurde zwar ein Ordner admin unter oilfox angelegt, aber darunter kommen keine Daten und das Log zeigt ja einen Timeout.