-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
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:
- Die Echtzeit-Watt-Anzeige (
aktuelle_watt) wird jede Sekunde mitsetState(..., false)aktualisiert, was eine flüssige, sofortige Anzeige ermöglicht, ohne die SD-Karte zu belasten. - Zähler wie der Tagesverbrauch (
verbrauch_aktuell) werden nur in festgelegten Intervallen (z. B. jede 10 Minuten oder stündlich) mitsetState(..., 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
Labels
No labels