Autor Thema: Modul HourCounter - Betriebsstundenzähler mit einem Fensterkontakt  (Gelesen 238842 mal)

Offline netbus

  • Full Member
  • ***
  • Beiträge: 331
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #195 am: 21 August 2014, 09:18:52 »
Hallo Mitch,
du solltest dir das im ersten Beitrag erwähnte Wiki vornehmen.

Der Hourcounter berechnet zunächst  Puls- und Pausendauer eines Ereignisses.

Du brauchst als genau das Event bei der Definition, das den EIN-Zustand und den AUS-Zustand beschreibt.

John
Hallo,
Ich bin auch nach der Suche wie Mitch um den Stromverbrauch auszuwerten. Zb in Monatswerten.
Das Log meiner Steckdose sieht so aus.
2014-07-18_10:49:55 Steckdose_Pwr energy: 0
2014-07-18_10:49:55 Steckdose_Pwr power: 0.08
2014-07-18_10:49:55 Steckdose_Pwr current: 0
2014-07-18_10:49:55 Steckdose_Pwr voltage: 233.6
2014-07-18_10:49:55 Steckdose_Pwr frequency: 49.99
2014-07-18_10:49:55 Steckdose_Pwr eState: E: 0 P: 0.08 I: 0 U: 233.6 f: 49.99
Wie könnte jetzt eine HourCounter definition aussehen?

Offline hyper2910

  • Sr. Member
  • ****
  • Beiträge: 627
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #196 am: 27 August 2014, 15:14:04 »
Hallo zusammen,

ich finde die Idee nicht schlecht.

Ich spiele mit der Idee damit meinen Ölvorrat zu überwachen!  Kann man im fhem auch rechnen?


Mir schwebt folgendes vor.

ich kenne die Brennerlaufzeit, den Ölverbrauch pro Stunde habe ich ausgelitert, also kenne ich diesen auch relativ genau.

Jetzt könnte ich darüber ja die aktuell verbrauchte Menge Öl errechnen.  Zusätzlich kenne ich noch meine aktuelle Öl menge, jetzt könnte man doch über eine Grafik einfach die noch vorhandene Menge Öl dich anzeigen lassen.
 
Hat das jemand schon gemacht und hat ggf. ein paar Zeilen Code dafür über!


Gruss Dirk
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Offline John

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1426
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #197 am: 27 August 2014, 15:29:41 »
@netbus

Der Hourcounter kann kein Integral über einen analogen Wert berechnen.
Daher sehe ich für deine Problemstellung keine Lösung damit.

@hyper2910
Das sollte möglich sein.
HourCounter liefert ja die Laufzeiten. Damit lässt sich bei bekanntem Verbrauch/Zeit der relative Verbrauch berechnen.

John
« Letzte Änderung: 24 Oktober 2014, 08:30:08 von John »
CubieTruck CULV3 MAX HM  Logo  ESP8266 MQTT PID20 HourCounter MaxScanner KostalPiko

Offline pappn

  • Full Member
  • ***
  • Beiträge: 160
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #198 am: 27 August 2014, 22:18:01 »
@hyper2910
Mit Johns HourCounter Modul und ein paar kleineren Ergänzungen des UtilsHourCounter Moduls (siehe Wiki) lässt sich soetwas leicht realisieren.
Bei mir sieht es zurzeit wie im Anhang aus.

Pappn
"When all else fails, read the instructions."

BananaPi mit CUL868 und RFXTFX433
FHT80B, FS20, S300TH, UNIRoll, IPCAM, KD101, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

Offline hyper2910

  • Sr. Member
  • ****
  • Beiträge: 627
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #199 am: 28 August 2014, 09:50:22 »
hi pappn,

vielen Dank,


das mit dem Diagramm etc. ist klar, aber wie hast du die TabellenWerte angelegt und gerechnet.

Vielleicht kannst du mir mal deinen Code verraten!


Gruss Dirk
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Offline pappn

  • Full Member
  • ***
  • Beiträge: 160
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #200 am: 28 August 2014, 17:16:43 »
Gerne. Für die Tabellen habe ich Readingsgroup verwendet.
Auszug aus der Config.
define Brenneruebersicht_1 readingsGroup <>,<%secur_smoke_detector> \
BrennerTest:<Starts> \
BrennerTest:<Heute>,countsPerDay,<&nbsp;;&nbsp;;&nbsp;;>,<Gestern>,appCountsPerDay \
BrennerTest:<Aktuelle&nbsp;;Woche>,appCountsPerWeekTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letzte&nbsp;;Woche>,appCountsPerWeek \
BrennerTest:<Aktueller&nbsp;;Monat>,appCountsPerMonthTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letzter&nbsp;;Monat>,appCountsPerMonth \
BrennerTest:<Aktuelles&nbsp;;Jahr>,appCountsPerYearTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letztes&nbsp;;Jahr>,appCountsPerYear \
BrennerTest:<Gesamtstarts>,countsOverall
attr Brenneruebersicht_1 alias 02 Brennerstarts neu
attr Brenneruebersicht_1 group 01 Brenner/Pumpen
attr Brenneruebersicht_1 mapping &nbsp;;
attr Brenneruebersicht_1 room 00 Kurzstatus
attr Brenneruebersicht_1 valueStyle {'style="color:green;;;;text-align:right"'}

define Brenneruebersicht_2 readingsGroup <>,<%time_clock> \
BrennerTest:<Laufzeiten> \
BrennerTest:<letzter&nbsp;;Zyklus>,pulseTimeIncrement \
BrennerTest:<Heute>,appOpHoursPerDayTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Gestern>,appOpHoursPerDay \
BrennerTest:<Aktuelle&nbsp;;Woche>,appOpHoursPerWeekTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letzte&nbsp;;Woche>,appOpHoursPerWeek \
BrennerTest:<Aktueller&nbsp;;Monat>,appOpHoursPerMonthTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letzter&nbsp;;Monat>,appOpHoursPerMonth \
BrennerTest:<Aktuelles&nbsp;;Jahr>,appOpHoursPerYearTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letztes&nbsp;;Jahr>,appOpHoursPerYear \
BrennerTest:<Gesamtlaufzeit>,pulseTimeOverall
attr Brenneruebersicht_2 alias 02 Brennerlaufzeiten neu
attr Brenneruebersicht_2 group 01 Brenner/Pumpen
attr Brenneruebersicht_2 mapping &nbsp;;
attr Brenneruebersicht_2 room 00 Kurzstatus
attr Brenneruebersicht_2 valueFormat { if($READING eq "pulseTimeOverall"){sprintf("%.2f Stunden", $VALUE/3600);;}elsif($READING eq "pulseTimeIncrement"){sprintf("%.2f Minuten", $VALUE/60);;}else{sprintf("%.2f Stunden", $VALUE);;}}
attr Brenneruebersicht_2 valueStyle {'style="color:green;;;;text-align:right"'}

define Brenneruebersicht_3 readingsGroup <>,<%measure_water_meter> \
BrennerTest:<Verbr&aumluche> \
BrennerTest:<Heute>,appOpHoursPerDayTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Gestern>,appOpHoursPerDay \
BrennerTest:<Aktuelle&nbsp;;Woche>,appOpHoursPerWeekTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letzte&nbsp;;Woche>,appOpHoursPerWeek \
BrennerTest:<Aktueller&nbsp;;Monat>,appOpHoursPerMonthTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letzter&nbsp;;Monat>,appOpHoursPerMonth \
BrennerTest:<Aktuelles&nbsp;;Jahr>,appOpHoursPerYearTemp,<&nbsp;;&nbsp;;&nbsp;;>,<Letztes&nbsp;;Jahr>,appOpHoursPerYear \
BrennerTest:<Gesamtverbrauch>,pulseTimeOverall,<&nbsp;;&nbsp;;&nbsp;;>,<Tankinhalt>,appTanklevel
attr Brenneruebersicht_3 alias 02 Brennerverbr&aumluche neu
attr Brenneruebersicht_3 group 01 Brenner/Pumpen
attr Brenneruebersicht_3 mapping &nbsp;;
attr Brenneruebersicht_3 room 00 Kurzstatus
attr Brenneruebersicht_3 valueFormat { if($READING eq "pulseTimeOverall"){sprintf("%.2f Liter", $VALUE*0.000630901964);;}elsif($READING eq "appTanklevel"){sprintf("%.2f Liter", $VALUE)}else{sprintf("%.2f Liter", $VALUE*3600*0.000630901964);;} }
attr Brenneruebersicht_3 valueStyle {'style="color:green;;;;text-align:right"'}

Anbei noch die von mir angepasste UtilsHourCounter.pm. Hier wird auch der Tankinhalt "appTanklevel" mitgerechnet.
"When all else fails, read the instructions."

BananaPi mit CUL868 und RFXTFX433
FHT80B, FS20, S300TH, UNIRoll, IPCAM, KD101, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

Offline hyper2910

  • Sr. Member
  • ****
  • Beiträge: 627
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #201 am: 28 August 2014, 22:44:09 »
Danke,

kannst du mir den Rest, welcher damit zusammenhängt auch mal zukommen lassen, ich bekomme es irgendwie nicht hin.


aus dem WIKI, habe ich alle übernommen,


jedoch bekomme ich hier einen Fehler:

define CN.Test.FileDay FileLog ./log/CN.Test-Day-%Y.log CN.Test:app\w+ (Utilization|PerHour|PerDay|PerWeek|PerMonth|PerYear)(?!Temp).*

und zwar:

wrong syntax: define <name> FileLog filename regexp


Gruss DIrk
« Letzte Änderung: 29 August 2014, 08:59:47 von hyper2910 »
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Offline Spuckiii

  • Full Member
  • ***
  • Beiträge: 108
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #202 am: 29 August 2014, 10:03:06 »
Hallo ich versuche grade den Hour Counter einzurichten. Ich habe einen Raspberry pi auf dem fhem läuft und einen arduiono mega, den ich per usb verbunden habe Firmata usw. alles installiert. Ich verwende folgenden S0Zähler DRS155DC-V3. Dieser sendet als Readings reading on off. Die DEF für den Counter ist wie folgt:

hwr_Gaszaehler_Reedkontakt:reading:.on hwr_Gaszaehler_Reedkontakt:reading:.off
(lasst euch nicht von dem Namen verwirren.) Aktuell gibt der Zähler mir das aus siehe Bild.
Wenn ich jetzt richtig rechner bei 2000 Impulsen pro KW/h müsste ich dann (grob) 9 KWh Verbraucht haben. Das kann doch nicht stimmen. Habe ich einen Denkfehler?

Offline John

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1426
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #203 am: 29 August 2014, 10:16:38 »
Hi Spuckiii,

zeig uns doch mal dein EventLog , wenn der Sensor aktiv ist.

John
CubieTruck CULV3 MAX HM  Logo  ESP8266 MQTT PID20 HourCounter MaxScanner KostalPiko

Offline Spuckiii

  • Full Member
  • ***
  • Beiträge: 108
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #204 am: 29 August 2014, 10:37:31 »
Hier ein kleiner Ausschnitt siehe Bild

Konfig von dem "Reedkontakt":
 hwr_Gaszaehler_Reedkontakt
 hwr_Gaszaehler_Reedkontakt Internals
DEF   
22
IODev
firmata
NAME
hwr_Gaszaehler_Reedkontakt
NR
40
PIN
22
STATE
on
TYPE
FRM_IN
Readings
reading
on
2014-08-29 10:36:50
state
Initialized
2014-08-28 20:18:44
 hwr_Gaszaehler_Reedkontakt Attributes
IODev
firmata
deleteattr
event-on-change-reading
.*
deleteattr
internal-pullup
on
deleteattr
room
HWR
deleteattr
stateFormat
reading
deleteattr

Offline John

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1426
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #205 am: 29 August 2014, 10:57:20 »
Hi Spucckiii,

bist du dir sicher, dass du mit FHEM einen schnellen Zähler realisieren willst ?

Dafür ist FHEM sicher nicht gebaut worden.

Wie oft kommt den in der Sekunde ein Flankenwechsel ?

Du solltest die Zählerei in diesem Fall dem Arduino überlassen.

Das kann nicht gut gehen.

John
« Letzte Änderung: 29 August 2014, 22:51:40 von John »
CubieTruck CULV3 MAX HM  Logo  ESP8266 MQTT PID20 HourCounter MaxScanner KostalPiko

Offline Spuckiii

  • Full Member
  • ***
  • Beiträge: 108
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #206 am: 29 August 2014, 11:27:52 »
Hm. Was heißt schneller Zähler, ist ein normaler S0Zähler, allerdings sendet dieser Impulse von 30 Millisekunden, die anderen so um 60 - 90.
Dann muss ich mal gucken wie ich das mache...  aber dass das so gravierende Unterschiede zu einem 90 ms bei 1000 Impulsen sein soll...
Danke trotzdem. :-)

Offline pappn

  • Full Member
  • ***
  • Beiträge: 160
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #207 am: 29 August 2014, 20:40:25 »
jedoch bekomme ich hier einen Fehler:

define CN.Test.FileDay FileLog ./log/CN.Test-Day-%Y.log CN.Test:app\w+ (Utilization|PerHour|PerDay|PerWeek|PerMonth|PerYear)(?!Temp).*

und zwar:

wrong syntax: define <name> FileLog filename regexp

in der regexp solltest du kein Leerzeichen haben. Also mal das Leerzeichen zwischen ...\w+ und (Util... löschen.
Ich meine den Fehler habe ich auch gemacht.

Christof
"When all else fails, read the instructions."

BananaPi mit CUL868 und RFXTFX433
FHT80B, FS20, S300TH, UNIRoll, IPCAM, KD101, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

Offline hyper2910

  • Sr. Member
  • ****
  • Beiträge: 627
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #208 am: 29 August 2014, 22:36:13 »
danke, das war es!

momentan sieht es so aus.



Was ich momentan nicht hinbekomme, da ich es nicht finde, ist der Tankinhalt, bzw. was noch im Tankdrin ist und wo der Verbrauch berechnet wird.

(http://Unbenannt.PNG)
« Letzte Änderung: 30 August 2014, 09:47:49 von hyper2910 »
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Offline pappn

  • Full Member
  • ***
  • Beiträge: 160
Antw:Modul HourCounter - Betriebsstundenzähler mit Max-Fensterkontakt
« Antwort #209 am: 30 August 2014, 14:13:56 »
Der Tankinhalt wird im Modul 99_UtilsHourCounter_CE einmal am Tag (bei Tageswechsel) berechnet.
Zeile 143:my $appTanklevel = ReadingsVal ($name,'appTanklevel',0 )-$pulseTimePerDay*0.000630901964;
Der Wert 0.000630901964 ist dabei der Oelverbrauch je Sekunde und muss von dir an deine Gegebenheiten angepasst werden.
Den gleichen Wert findest du auch in attr Brenneruebersicht_3 valueFormat der Readingsgroup Definitionen. Hier ist er dann auch anzupassen.

Den aktuelen Wert für den Tankinhalt kannst du mit setreading <device> <reading> <value> setzen.
Bei mir sieht das aktuell dann so aus:setreading BrennerTest appTanklevel 4456.01856228562
Christof
"When all else fails, read the instructions."

BananaPi mit CUL868 und RFXTFX433
FHT80B, FS20, S300TH, UNIRoll, IPCAM, KD101, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs