Autor Thema: Busmaster mit 2x S0-Interface  (Gelesen 27006 mal)

Offline Wzut

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4291
Antw:Busmaster mit 2x S0-Interface
« Antwort #105 am: 15 Februar 2021, 20:00:48 »
Heute mal ein Update in eigener Sache : ich will demnächst das Ding wieder in den aktiven Dienst versetzen und dazu benötige ich für die S0 Zähler Werte über bestimmte Zeiträume und muss Vorsorge treffen wenn die Counter sich mal ohne meinen willen nullen.

Neues Attribut A_offset bzw b_offset , Fixwert der zum aktuellen Zähler immer addiert wird.
 
Neues Attribut : A_calc bzw B_calc , berechnet Werte für letzte Minute, Stunde, Tag, Woche Monat und Jahr.
I.d.R. wird sowas immer rückwirkend berechnet (after) , das hat IMHO allerdings den Nachteil das für wechselnde Logfiles der Abschluss des Zeitraums im entsprechenden Logfile fehlt und quasi als der Startwert im neuen Log landet. Ich finde das jedesmal ärgerlich beim anlegen von SVGs.

Die andere Methode ist (before) im aktuellen Durchlauf zu schauen wann laut Intervall der nächste Durchlauf fällig wäre und ob dieser dann auch eine neue Periode wäre.
In so einem Fall wird der aktuelle Zeitraum sofort abgeschlossen  d.h. der Endwert landet noch im aktuellen Logfile.
Allerdings hat diese Methode auch einen möglichen Nachteil, wenn es ganz blöd läuft kann auch mal ein Wert fehlen.
(Ist mir bei meinen Stromverbrauch Berechnung mit einem anderen Modul in zwei Jahren erst einmal passiert)
Bsp : aktuell 23:59:49 , Intervall 10 Sekunden, Tag wird noch nicht abgeschlossen da heute noch ein Durchlauf um 23:59:59 erfolgen müsste.
Wenn dieser nun nicht wie geplant um 23:59:59 statt findet sondern verspätet erst um 0:00:00 wird der Tag nicht abgeschlossen.

Wer es gar nicht mag kann es jederzeit mit never ganz abschalten.   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Offline Jostar

  • Full Member
  • ***
  • Beiträge: 104
Antw:Busmaster mit 2x S0-Interface
« Antwort #106 am: 16 Februar 2021, 00:40:15 »
Hallo, das klingt ja spannend.

Wie verhinderst du ein Auswirken einer "Zählernullung"? Ich hatte ein userreading mit monoton-Funktion. Aber es ist mir noch nicht vorgekommen, dass es sich "nullt".

Die Problematik der korrekten Summen hat mich auch schon gestört (insbesondere die grafische Darstellung)
Die Statistikwerte berechne ich mit dem statistics Modul nach dem Schema:
singularReadings Stromzaehler:total:Delta:(Year|Month|Hour|Day)Der Eintrag erfolgt immer 5 Sekunden "vor um", wenn ich das richtig gesehen habe. Passt für meine Anwendung. Was ist das Problem, wenn die letzten 5 Sekunde von gestern in die Summe von heute fließen?

Ich habe aber auch schon "händisch" an anderen Stellen Summen erzeugt und dann einfach mit einem anderen Zeitstempel in der Datenbank versehen, dann passt die Zuordnung in Graphen und die Werte sind auch korrekt.
Raspberry Pi(s) mit FHEM auf Rasbian Jessie/Strech, DbLog/DbRep mit mySQL, piface, 1Wire-USB-Master von SMS-GUARD, RFXtrx433E

Offline Wzut

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4291
Antw:Busmaster mit 2x S0-Interface
« Antwort #107 am: 16 Februar 2021, 08:13:17 »
Wie verhinderst du ein Auswirken einer "Zählernullung"?
Gar nicht, die SNulls sind Honecker Zähler (vorwärts immer , rückwärts nimmer) und ausser Null Befehl gibt es kein Set Befehl.
Daher wie  u.a. beim Revolt Modul : wenn der aktuelle Stand nicht passt : fixer Offset dazu (plus oder minus) 

Zitat
Die Statistikwerte berechne ich mit dem statistics Modul

sicher kann jeder machen wie er möchte, ich vermeide statistics wenn möglich

Zitat
Was ist das Problem, wenn die letzten 5 Sekunde von gestern in die Summe von heute fließen?
die Darstellung in SVGs

Zitat
Ich habe aber auch schon "händisch" an anderen Stellen Summen erzeugt
klar kann man machen, überfordert aber viele User
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

 

decade-submarginal