Skip to content

Wie das Skript funktioniert #1

@jogiesp

Description

@jogiesp

Wie das Skript funktioniert

Dieses Skript wurde entwickelt, um den Stromverbrauch von Victron-Systemen zu messen und zu protokollieren, während es gleichzeitig die Lebensdauer von Flash-Speichern wie SD-Karten schont. Die Logik des Skripts trennt die Echtzeit-Berechnung von den permanenten Speichervorgängen.

Die Kernlogik basiert auf dem optionalen Parameter in der setState-Methode, der die Datenhaltung steuert:

  • setState(path, value, true): Der Wert wird in die Datenbank geschrieben und somit permanent auf dem Speichermedium (z. B. der SD-Karte) gesichert. Dies verursacht Schreibvorgänge, die bei häufiger Ausführung den Speicher verschleißen können.
  • setState(path, value, false): Der Wert wird nur im Arbeitsspeicher (RAM) der ioBroker-Instanz aktualisiert, aber nicht in die Datenbank geschrieben. Dies ist extrem schnell, verursacht keinen Verschleiß am Speichermedium und eignet sich perfekt für Echtzeit-Anzeigen.

Daher verhält sich das Skript wie folgt:

  1. Die Echtzeit-Watt-Anzeige (aktuelle_watt) wird jede Sekunde mit setState(..., false) aktualisiert, was eine flüssige, sofortige Anzeige ermöglicht, ohne die SD-Karte zu belasten.
  2. Zähler wie der Tagesverbrauch (verbrauch_aktuell) werden nur in festgelegten Intervallen (z. B. jede 10 Minuten oder stündlich) mit setState(..., true) auf die SD-Karte geschrieben, um die Anzahl der Schreibzyklen drastisch zu reduzieren.

Diese Trennung ermöglicht eine optimale Balance zwischen genauen, aktuellen Daten und der Langlebigkeit deiner Hardware.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions