bei dem SQL-Adapter habe ich versucht es einzustellen, dass nur alle 60 Sekunden ein Wert protokolliert werden soll. Das ist für mich vollkommen ausreichend und würde sonst die Datenbank sprengen. Die Blockzeit wurde auf 60000 ms und "Trotzdem gleiche Werte aufzeichnen" auf 60 s gestellt. Trotzdem werden die Werte öfter protokolliert, je nach shelly zwischen 2x pro Minute bis im Sekundentakt.
Aufgefallen ist mir dabei auch, dass Werte von unterschiedlichen Quellen kommen (betrifft hauptsächlich den shelly-Adapter, zeitweise auch beim homematic-Adapter):
systemadapter.shelly.0
sql.0
shelly.0
Das kann ich mir auch nicht erklären.
Das System ist seitens OS und iobroker auf dem aktuellsten Stand (Auswertung von iob_diag):
Operatingsystem: Debian GNU/Linux 12 (bookworm)
Installation: Native
Timezone: Europe/Berlin
User-ID: 0
X-Server: false
Boot Target: multi-user.target
Pending OS-Updates: 0
Pending iob updates: 0
Nodejs-Installation: /usr/bin/nodejs v18.20.4
/usr/bin/node v18.20.4
/usr/bin/npm 10.7.0
/usr/bin/npx 10.7.0
ioBroker Core: js-controller 6.0.11
admin 7.0.23
ioBroker Status: iobroker is running on this host.
Hat jemand eine Idee, ob es sich um einen Fehler in der Konfiguration handelt? Ist das Verhalten bekannt? Ich habe keine aktuellen Beiträge dazu gefunden, der "aktuellste" war von 2023, in dem ein User die Frage gestellt hat, ob auch andere User ein Problem beim SQl-Adapter haben, dass die Blockzeit, nach einem Update auf JS 5.0.12, nicht mehr berücksichtigt wurde.
Das Verhalten habe ich beim history- als auch SQL-Adapter und ich bin da etwas ratlos...
Laut Doku müssten die Einstellungen korrekt sein:
Auszug aus der Doku:
Blockzeit – Definiert, wie lange nach dem Speichern des letzten Werts kein weiterer Wert gespeichert wird. Wenn die angegebene Zeit in Millisekunden abgelaufen ist, wird der nächste Wert protokolliert, der alle anderen Prüfungen erfüllt.
Nur Änderungen aufzeichnen – Diese Funktion stellt sicher, dass nur geänderte Werte protokolliert werden, wenn sie andere Prüfungen erfüllen (siehe unten). Gleiche Werte werden nicht protokolliert.
immer noch die gleichen Werte aufzeichnen (Sekunden) - Bei Verwendung von „Nur Änderungen aufzeichnen“ können Sie hier ein Zeitintervall in Sekunden einstellen, nach dem auch unveränderte Werte erneut in die Datenbank protokolliert werden. Sie können die vom Adapter neu protokollierten Werte anhand des Felds „von“ erkennen.
Als Bypass kopiere ich aktuell von ein paar Datenpunkten die Werte alle 60 s in einen eigenen Datenpunkt (nach 0_Userdata), aber es wäre natürlich einfacher das direkt am (Quell-) Datenpunkt zu konfigurieren ....