Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Und wenn alles nichts hilft, bitte mal die gesammte Config löschen. Also in der plugin.conf nur die visu drin lassen und alle Items löschen.
Und dann Telnet auf 2424.
Jetzt muss es nicht an der Zeile selbst liegen... Es kann sein, dass es noch keine Daten für den gewünschten Zeitraum gibt, da ich den Rechner ja neu aufgesetzt habe.
Dennoch ist das komisch.
Das sollte der aktuelle Zählerstand , also z.B. 280, Minus dem Durchschnittswert vor einer Minute, richtig?
Wie kann der Wert negativ sein (das ist er hier).
Eigentlich will ich auch garnicht den Mittelwert vor 2 min über eine Minute, sondern den Wert vor genau einer Minute.
Das geht aber nicht, oder? Das wäre ein Feature-Request.
wird z.T. negativ. Oder immer? Kannst Du das reproduzieren?
Kannst Du bitte etwas zu dem Updateintervall und die Größe sagen.
Ist 280 eine realistische Größenordnung?
Das scheint ein Bug zu sein den ich wirklich gerne fixen würde!
Davon abgesehen, könntest Du in Deinem Fall 'max' anstelle von 'avg' verwenden.
Das sollte ohne Probleme funktionieren.
wird z.T. negativ. Oder immer? Kannst Du das reproduzieren?
Kannst Du bitte etwas zu dem Updateintervall und die Größe sagen.
Ist 280 eine realistische Größenordnung?
Hier fällt auf, dass der Wert direkt nach dem Start negativ ist, danach positiv.
Ich habe jetzt mal das smarthome/var/log/ Verzeichnis gegreppt. Da kommen auch einige negative Werte vor. Allerdings könnte es sein, dass dies immer nach dem Start von smarthome ist...
Ja, ich habe mal nachgeguckt: Es ist tatsächlich so.
Davon abgesehen, könntest Du in Deinem Fall 'max' anstelle von 'avg' verwenden.
Das sollte ohne Probleme funktionieren.
logisch, ja. Ist aber dennoch etwas umständlich zu denken. Meinst du nicht, eine Funktion zur Abfrage spezifischer Werte wäre gut?
Wenn SH.py gestartet wird und Du 'cache = yes' nicht spezifiziert hast, wird ein Num-Item mit 0 initialisiert.
Dein Zähler stand vor einer Minute bei ca. 299. Wobei die avg Funktion sehr unwahrscheinlich ein Integer liefern wird. Das wird sehr wahrscheinlich immer ein Float sein.
Dann wird aus:
(sh.Allgemein.Stromzaehler.Zaehlerstand()-sh.Allgemein.Stromzaehler.Zaehlerstand.db('avg', '2i', '1i'))/60"
(0 - 299)/60 = -4,99
Das geht dann solange bis der Zähler das erste Mal gesetzt wird. Dann hast Du:
(300 - 299,XXX)/60 = 0,00....
Was kannst Du machen?
1. cache verwenden
2. max anstelle von avg (dann hast Du die Nachkommastellen nicht mehr und rechnest primär mit Integren)
3. Den Stromverbrauch nicht in kW/h/s angeben, sondern in kW/h/h.
Was kann ich machen?
1. wenn 'sqlite = init' angeben ist, den letzen Wert aus der Datenbank holen und das Item damit initialisieren. Die Machbarkeit muss ich aber noch prüfen.
Meinst du nicht, eine Funktion zur Abfrage spezifischer Werte wäre gut?
Ich denke, das würde Dir an dieser Stelle nicht wirklich helfen. Siehe oben.
Ein bisschen Hintergrundwissen zu dem SQLite Plugin. Es ist so ausgelegt das die Werte in unregelmäßigen Abständen in die DB geschrieben werden. Diese werden einmal täglich in der DB verdichtet. Je älter die Einträge, desto größer der Zeitraum in dem die Werte zusammengefasst werden (ähnlich RRD).
Wenn Du relativ junge Einträge hast, wie in Deinem Fall, dann hast Du natürlich den zu dem gewünschten Zeitpunkt aktiven Wert. Du müsstest Ihn mit db('avg', '1i', '1i') abfragen können (habe ich allerdings nicht probiert).
Ich überlege mir aber, ob ich evtl. ein Methode anbieten kann die die gewünschte Funktionalität bietet.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar