OWCOUNT: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „=Beispiel= *A-Kanal **Dieser Kanal zählt Tastendrücke **Diese Tastendrücke haben den Namen "GPunkte" erhalten (steht für Gummipunkte, um Fehlinterpretatio…“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=Beispiel=
=Beispiel=
*A-Kanal  
*A-Kanal  
**Dieser Kanal zählt Tastendrücke
**Dieser Kanal zählt Tastendrücke, diese haben den Namen ''GPunkte'' erhalten (steht für Gummipunkte, um Fehlinterpretationen zuvorzukommen ...), ein Datentyp wird nicht festgesetzt.
**Diese Tastendrücke haben den Namen "GPunkte" erhalten (steht für Gummipunkte, um Fehlinterpretationen zuvorzukommen ...), ein Datentyp wird nicht festgesetzt, demnach wird als Default-Einheit der Wert ''cts'' (für counts) verwendet.
**Eine Einheit wird nicht festgesetzt, demnach wird die Default-Einheit ''cts'' (für counts) verwendet.
**Als Default-Periode für die Ratenberechnung wird 1 Minute verwendet.
**Als Periode für die Ratenberechnung wird 1 Minute (''minute'')verwendet, die Rate heißt ''GRate''. Ein Datentyp wird nicht festgesetzt, die Einheit ergibt sich automatisch als ''cts/min''.
**Die Anzahl der Gummipunkte/Minute heißt "GRate",
**Der Kanal ist im inkrementierenden ("normalen") Modus, wird demnach nicht täglich auf Null gesetzt.
**Der Kanal ist im inkrementierenden ("normalen") Modus, wird demnach nicht täglich auf Null gesetzt.
*B-Kanal  
*B-Kanal  
**Dieser Kanal zählt Impulse (à la Stromzähler - obwohl beim Autor zu Testzwecken ein Timer dranhängt, der alle 4 Sekunden ein Signal abgibt).  
**Dieser Kanal zählt Impulse (à la Stromzähler - obwohl beim Autor zu Testzwecken ein Timer dranhängt, der alle 4 Sekunden ein Signal abgibt).
**Der Kanal hat den Name E-Energy erhalten
**Der Kanal hat den Name ''E-Energy'' und den Datentyp ''energy'' erhalten.
**Dabei steht jeder Impuls für 0,001 kWh => BFactor ist 0.001. Außerdem ist dieser Kanal im täglichen Modus '''BMode=daily''', es wird also jeden Nacht kurz vor Mitternacht der Mitternachtswert extrapoliert und als "day" Wert ausgegeben. Dieser Wert wird auch im internen Memory als "midnight B" gespeichert und vom Zählerstand abgezogen. Bei dem Testgerät sind das also pro Tag 21,6 kWh = 86400 Sekunden / 4 Sekunden * 0,001 kWh
**Die Einheit im Kanal sind Kilowattstunden, sowohl die Langform als auch die Kurzform dieser Einheit werden als ''kWh'' gesetzt.
**Dabei steht jeder Impuls für 0,001 kWh => BFactor ist 0.001.  
**Als Periode für die Ratenberechnung wird 1 Stunde (''hour'') verwendet, die Rate heißt ''E-Power'', die Einheit ergibt sich automatisch als ''kW'' (Hinweis: derzeit wird nur die Einheit ''kWh/h'' automatisch durch ''kW'' ersetzt).
** Dieser Kanal ist im täglichen Modus '''BMode=daily''', es wird also jeden Nacht kurz vor Mitternacht der Mitternachtswert extrapoliert und als ''day'' Wert ausgegeben. Dieser Wert wird auch im internen Memory als ''midnight B'' gespeichert und vom Zählerstand abgezogen. Bei dem Testgerät sind das also pro Tag 21,6 kWh = 86400 Sekunden / 4 Sekunden * 0,001 kWh
*Das monatliche Logging erfolgt durch das FileLog  ''OWCM.FL'', das jährliche Logging durch das FileLog ''OWCY.FL''. Diese Namen müssen dem Modul als Attribute LogM und LogY bekannt gemacht werden.


- Das monatliche Logging erfolgt durch das FileLog  OWCM.FL, siehe dessen Definition darunter. Darin stehen Zeilen wie:
Insgesamt ergibt sich also als Konfiguration dieses DS2423
define OWC OWCOUNT 1D.CE780F000000 60
attr OWC model DS2423
attr OWC room Obergeschoss
attr OWC AName GPunkte|
attr OWC ARate GRate|
attr OWC APeriod minute
attr OWC BName E-Energy|energy
attr OWC BRate E-Power|power
attr OWC BUnit kWh|kWh
attr OWC BFactor 0.001
attr OWC BMode daily
attr OWC LogM OWCM.FL
attr OWC LogY OWCY.FL
 
Das tägliche Logging kann erfolgen mit
define OWC.FL FileLog /home/fhem/fhemlogs/OWC-%Y-%m-%d.log OWC.*GPunkte.*E-Energy.*
attr OWC.FL room Obergeschoss
Für das monatliche Logging definiert man ein FileLog als
  define OWCM.FL FileLog /home/fhem/fhemlogs/OWCM-%Y-%m.log OWC.*day.*
attr OWCM.FL room Obergeschoss
Darin stehen Zeilen wie:
  2014-01-09_23:59:42 OWC day: D09  GPunkte:  49.0 cts GPunktem:  49.0 cts  E-Energy:  21.6 kWh E-Energym:  21.60 kWh
  2014-01-09_23:59:42 OWC day: D09  GPunkte:  49.0 cts GPunktem:  49.0 cts  E-Energy:  21.6 kWh E-Energym:  21.60 kWh
  2014-01-10_23:59:43 OWC day: D10  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:  43.20 kWh
  2014-01-10_23:59:43 OWC day: D10  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:  43.20 kWh
Zeile 17: Zeile 41:
  2014-01-12_23:59:55 OWC day: D12  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:  86.4 kWh
  2014-01-12_23:59:55 OWC day: D12  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:  86.4 kWh
  2014-01-13_23:59:11 OWC day: D13  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym: 108.0 kWh
  2014-01-13_23:59:11 OWC day: D13  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym: 108.0 kWh
Damit wird also in der 9. und der 15. Spalte der kumulierte monatliche Wert berechnet.  Dazu muss natürlich das Modul wissen, in welchem Device das Logging erfolgt - dazu wird das Attribut LogM auf OWCM.FL gesetzt. Man kann also jederzeit mit "get OWC month" fragen, was der bisherige monatliche Verbrauch ist - das Modul liest dann die entsprechende Datei.
Damit wird durch das Modul OWCOUNT in der 9. und der 15. Spalte der kumulierte monatliche Wert berechnet, der sich mit ''get month'' und ''get year'' abfragen lässt.
 
- Das jährliche Logging wird ganz ähnlich gemacht, dazu muss dann natürlich LogY auf den Namen des Filelog OWCY.FL gesetzt werden.
 
define OWC OWCOUNT 1D.CE780F000000 60
attr OWC model DS2423
attr OWC room Obergeschoss
 
attr OWC AName GPunkte|
attr OWC ARate GRate|
attr OWC APeriod minute
 
attr OWC BName E-Energy|energy
attr OWC BRate E-Power|power
attr OWC BUnit kWh|kWh
attr OWC BFactor 0.001
attr OWC BMode daily
 
attr OWC LogM OWCM.FL
attr OWC LogY OWCY.FL
 
define OWC.FL FileLog /home/fhem/fhemlogs/OWC-%Y-%m-%d.log OWC.*GPunkte.*E-Energy.*
attr OWC.FL room Obergeschoss
 
define OWCM.FL FileLog /home/fhem/fhemlogs/OWCM-%Y-%m.log OWC.*day.*
attr OWCM.FL room Obergeschoss


define OWCY.FL FileLog /home/fhem/fhemlogs/OWCY-%Y.log OWC.*month.*
Das jährliche Logging erfolgt beispielsweise mit
attr OWCY.FL room Obergeschoss
define OWCY.FL FileLog /home/fhem/fhemlogs/OWCY-%Y.log OWC.*month.*
attr OWCY.FL room Obergeschoss

Version vom 18. Januar 2014, 10:30 Uhr

Beispiel

  • A-Kanal
    • Dieser Kanal zählt Tastendrücke, diese haben den Namen GPunkte erhalten (steht für Gummipunkte, um Fehlinterpretationen zuvorzukommen ...), ein Datentyp wird nicht festgesetzt.
    • Eine Einheit wird nicht festgesetzt, demnach wird die Default-Einheit cts (für counts) verwendet.
    • Als Periode für die Ratenberechnung wird 1 Minute (minute)verwendet, die Rate heißt GRate. Ein Datentyp wird nicht festgesetzt, die Einheit ergibt sich automatisch als cts/min.
    • Der Kanal ist im inkrementierenden ("normalen") Modus, wird demnach nicht täglich auf Null gesetzt.
  • B-Kanal
    • Dieser Kanal zählt Impulse (à la Stromzähler - obwohl beim Autor zu Testzwecken ein Timer dranhängt, der alle 4 Sekunden ein Signal abgibt).
    • Der Kanal hat den Name E-Energy und den Datentyp energy erhalten.
    • Die Einheit im Kanal sind Kilowattstunden, sowohl die Langform als auch die Kurzform dieser Einheit werden als kWh gesetzt.
    • Dabei steht jeder Impuls für 0,001 kWh => BFactor ist 0.001.
    • Als Periode für die Ratenberechnung wird 1 Stunde (hour) verwendet, die Rate heißt E-Power, die Einheit ergibt sich automatisch als kW (Hinweis: derzeit wird nur die Einheit kWh/h automatisch durch kW ersetzt).
    • Dieser Kanal ist im täglichen Modus BMode=daily, es wird also jeden Nacht kurz vor Mitternacht der Mitternachtswert extrapoliert und als day Wert ausgegeben. Dieser Wert wird auch im internen Memory als midnight B gespeichert und vom Zählerstand abgezogen. Bei dem Testgerät sind das also pro Tag 21,6 kWh = 86400 Sekunden / 4 Sekunden * 0,001 kWh
  • Das monatliche Logging erfolgt durch das FileLog OWCM.FL, das jährliche Logging durch das FileLog OWCY.FL. Diese Namen müssen dem Modul als Attribute LogM und LogY bekannt gemacht werden.

Insgesamt ergibt sich also als Konfiguration dieses DS2423

define OWC OWCOUNT 1D.CE780F000000 60
attr OWC model DS2423
attr OWC room Obergeschoss
attr OWC AName GPunkte|
attr OWC ARate GRate|
attr OWC APeriod minute
attr OWC BName E-Energy|energy
attr OWC BRate E-Power|power
attr OWC BUnit kWh|kWh
attr OWC BFactor 0.001
attr OWC BMode daily
attr OWC LogM OWCM.FL
attr OWC LogY OWCY.FL

Das tägliche Logging kann erfolgen mit

define OWC.FL FileLog /home/fhem/fhemlogs/OWC-%Y-%m-%d.log OWC.*GPunkte.*E-Energy.*
attr OWC.FL room Obergeschoss

Für das monatliche Logging definiert man ein FileLog als

define OWCM.FL FileLog /home/fhem/fhemlogs/OWCM-%Y-%m.log OWC.*day.*
attr OWCM.FL room Obergeschoss

Darin stehen Zeilen wie:

2014-01-09_23:59:42 OWC day: D09  GPunkte:  49.0 cts GPunktem:  49.0 cts  E-Energy:  21.6 kWh E-Energym:   21.60 kWh
2014-01-10_23:59:43 OWC day: D10  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:   43.20 kWh
2014-01-11_23:59:39 OWC day: D11  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:   64.80 kWh
2014-01-12_23:59:55 OWC day: D12  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym:  86.4 kWh
2014-01-13_23:59:11 OWC day: D13  GPunkte:  89.0 cts GPunktem:  89.0 cts  E-Energy:  21.6 kWh E-Energym: 108.0 kWh

Damit wird durch das Modul OWCOUNT in der 9. und der 15. Spalte der kumulierte monatliche Wert berechnet, der sich mit get month und get year abfragen lässt.

Das jährliche Logging erfolgt beispielsweise mit

define OWCY.FL FileLog /home/fhem/fhemlogs/OWCY-%Y.log OWC.*month.*
attr OWCY.FL room Obergeschoss