Modul HourCounter - Betriebsstundenzähler mit einem Fensterkontakt

Begonnen von John, 08 April 2013, 22:11:55

Vorheriges Thema - Nächstes Thema

pappn

Hallo John,

alles klar, da ist also Handarbeit angesagt.
Mal sehen ob ich das hinbekomme.

Danke für die schnelle Antwort.
Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

backbone10

Hi John,
danke sehr !!!!

LG
BB10


Zitat von: John am 07 Juni 2014, 11:14:22
Hallo  backbone10
mit Version 1.03 hat man nun die Möglichkeit über den Setter
die Readings pulseTimeIncrement und pauseTimeIncrement zu verändern.

Die aktuelle Version findet sich nun immer als Anhang zum ersten Beitrag in diesem Thread.

John


mi.ke

Hallo John,

ich bin ehrlich gesagt mehr durch Zufall auf dieses geniale Modul HourCounter gestoßen, da ich keine MAX Komponenten einsetze.

Ich wollte eigentlich einen Betriebssundenzähler für meine "Fliegenkiller-Steckdose" einbauen, um erkennen zu können, wann ein Wechsel der Kapseln nötig ist.
Mit dem HourCounter waren nach 20 min waren alle meine Anforderungen umgesetzt, sensationell.

Mehr noch, einen grafische Anzeige über den Füllstand mit einfachste Mitteln ist in Minuten umsetzbar.

Vielleichtt findet dieses wirklich geniale Modul bald seinen Weg in das Standard-FHEM.

Mir sind zu diesem Modul sofort viele Anwendungsmöglichkeiten eingefallen, die nichts mit MAX zu tun haben, dennoch bestimmt für Viele hilfreich wären.

* Nutzungsdauer beschränken für TV,Internet oder Spielkonsolen für entnervte Eltern

* Betriebstundenzähler für Beamer, Solarien etc.

* Nutzungsdauer ermitteln zur Energieeinsparung (Klimagerätr, Ventilatoren, Dunstabzugshauben etc.)

*  Lüftungsverhalten ermitteln (wie lange Fenster pro Tag geöffnet)

....um nur die spontan Einfälle wiederzugeben.

Zusammenfassend (ich spreche nur für mich) :

Hole dieses hervorragende Modul aus seiner MAX Versenkung . . .

cheers

Mike

PS.
Viellicht war ich ja auch nur zu blind und es ist bis heute vor mir versteckt geblieben und alle kennen es schon.
Ich bin halt TOTAL begeistert ! ! !
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

John

Hallo Mike ,

vielen Dank für deinen netten Beitrag.

ZitatHole dieses hervorragende Modul aus seiner MAX Versenkung . . .

Ursprünglich war das Modul nur ein einfaches Skript, das nur mit dem Max-Fensterkontakt funktioniert.
Nach und nach erst ist etwas Allgemeingültiges daraus geworden.

Der Plan war, mit dem Wiki-Artikel mehr Nutzer zu erreichen.

Wie bist du auf den HourCounter gestossen ?

Irgendwann im Laufe des Jahres, wenn ich zeitlich mehr Luft habe, werde ich mich um den Developer-Status bemühen
und dann kann auch dieses Modul Teil von FHEM werden.

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

mi.ke

Hi John,

Dein Plan mit dem Wiki ist aufgegangen.
Suchebegriffe waren "fhem counter | fhem Betriebsstundenzähler" via Gxxgle

Witzigerweise hatte ich die ersten Posts zu dem Max-Fensterkontakt-zum-Brennerstart-zählen gelesen, aber als für mich nicht so relevant eingestuft. Wie man sich doch täuschen kann.

naja, egal ...

Ich möchte mich noch mal bedanken. . . .
für mich schließt Deine Modul eine Lücke in fhem, dessen Lösung ich bis dato vermisst hatte.

Cheers
mi.ke

PS.
Der Wiki-Eintrag ist für Nicht-Max User tricky (das onoff und die 1 hatten mich verwirrt)
Einfacher wären (mMn) on:off Beispiele, da diese auch in der commandRef verwendet werden.
define CN.Test HourCounter myDummy:on myDummy:off
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

pappn

Zitat von: pappn am 07 Juni 2014, 11:50:22
Hallo John,

alles klar, da ist also Handarbeit angesagt.
Mal sehen ob ich das hinbekomme.

Hallo John,
ich habe die 99_UtilsHourCounter.pm geändert. Für den Fall, dass jemand anderes auch gerne konsistente Zähler (Tag, Woche etc.) für die akkumulierten Counter (z.B. Brenner Starts) haben möchte, packe ich meine Version dazu. Vielleicht magst du dir meine Ergänzung der Sub appHC_OnCount mal ansehen und dies vielleicht in deine offizielle Version übernehmen.

Nochmals besten Dank für die klasse Arbeit und beste Grüße
Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

Waldmensch

Ich habe mal eine Frage: Wird pulseTimePerDay permanent erhöht oder nur bei einem Schaltvorgang? Ich möchte eine Poolpumpe abhängig von der Leistung meiner PV Anlage schalten. Die Poolpumpe soll aber nicht länger als 5h pro Tag laufen. Mein Code s.u. schaltet die Pumpe ein und wieder aus. Die Frage ist nun, wenn die Anlage permanent 3kW liefert ist das ja nur ein Schaltvorgang. Das heißt Counter_SunnySwitch1 wird nur einmal getriggert. Habe ich trotzdem immer den kumulierten Tageswert in pulseTimePerDay ?

Sunny:PV.* {
   if ($hour >= 9 && $hour < 17 && (ReadingsVal('Counter_SunnySwitch1','pulseTimePerDay',0) < 18000)) {
     if (ReadingsVal('Sunny','PV',0) > 3000) {
       fhem('set FS20_test on') unless ($value{FS20_test} eq 'on');
     }
   
     if (ReadingsVal('Sunny','PV',0) < 2500) {
       fhem('set FS20_test off') unless ($value{FS20_test} eq 'off');
     }
   } else { fhem('set FS20_test off') unless ($value{FS20_test} eq 'off');}
}

Mitch

Bin gerade auf dieses geniale Modul gestoßen, vielen Dank dafür.

Jetzt habe ich gleich eine Frage: kann ich den Gesamtstromverbrauch eines Devices (bei mir eine HM Steckdose) messen und auswerten?

Habs so probiert (ohne Erfolg): define Pumpenstromverbrauch HourCounter device:power:*
FHEM im Proxmox Container

John

Hallo Waldmensch
zu deiner Frage:
ZitatIch habe mal eine Frage: Wird pulseTimePerDay permanent erhöht oder nur bei einem Schaltvorgang?

pulseTimePerDay wird nur nach einer negativen Flanke und nach einem Tageswechsel aktualisiert.

Ich denke dein Problem habe ich verstanden und werde darüber nachdenken.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

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
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Waldmensch

Zitat von: John am 03 Juli 2014, 23:41:33
Hallo Waldmensch
zu deiner Frage:
pulseTimePerDay wird nur nach einer negativen Flanke und nach einem Tageswechsel aktualisiert.

Ich denke dein Problem habe ich verstanden und werde darüber nachdenken.

John

OK, schade und Super  :)

Ich finde dieses Modul ist sehr wertvoll. Eventuell sollte es dann aber über ein separates Reading gemacht werden. Nicht das es Dinge durcheinander bringt. Letztlich müßte man ja nur einen aktivierbaren, frei konfigurierbaren refresh intervall realisieren. Also das, was jetzt bei Tageswechsel passiert halt kürzer auslegen. In meinem speziellen Fall kommt es ja jetzt nicht auf die Sekunde an und ich würde als intervall vielleicht 10 Minuten wählen. Auch um FHEM nicht immens zu belasten.

In jedem Fall vielen Dank für Deine Mühe.

Heiner

hi, ich mochte das Modul HourCounter nutzen und es steht auch im FHEM Verzeichnis.

Aber wenn ich den define Befehl absetze sagt mir fhem : Unknown module HourCounter

Was mach ich falsch?
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

John

Hallo Heiner,

es wäre sinnvoll, wenn du deine Signatur aktualisiert, dann muss man die Grundlagen nicht nochmal erfragen.

Hast du ein Linux-artiges System auf dem FHEM läuft (Raspi z.B.)

Wenn ja, sind die Rechte von 98_HourCounter.pm identisch zu jenen Dateien, die Bestandteil von FHEM sind ?

Wenn nein, ist dies dein Thema.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

einnordlicht

Hallo John,
ich bin auch ueber die Stichworte FHEM und Betriebsstundenzaehler ueber Google auf Deine FHEM Module gestossen, und die sind wohl genau das, was ich noch brauche. Vielen Dank fuers Posten!

Bei mir geht es darum, die akkumulierte Betriebszeit (und damit  Oelverbrauch) meiner Ölheizung zu messen. Auf der Suche nach einem "Geber" fuer die Brennerzeit habe ich allerdings eine pragmatische Lösung ohne Reedrelais genutzt: ein altes, kleines 5V Steckernetzteil eines alten Motorola-Handys wurde einfach parallel zum Betriebsstundenzaehleranschluss der Heizung angeschlossen. Die liefert naemlich genau dann  Netzspannung, wenn der Brenner laeuft, sonst nicht und das Netzteil ohne wirkliche Last belastet fast gar nicht. Der 5V Ausgang des Netzteils wurde mit einem 1.5k Widerstand und einer parallel geschalteten Widerstandkaskade versehen. Der Widerstand sorgt dafuer, dass die Kondensatoren innerhalb einer Sekunde entladen, damit  die 5V auf 0 abfallen, wenn der Brenner ausschaltet. Die Widerstandskaskade wird gebraucht, um die max auftretenden 5V auf die erlaubten 3.3V zur Betriebszeit zu senken. Die abgegriffenen max 3.3V wurden dann  direkt am Raspberry PI am GPIO 23 angeschlossen.

Jetzt fehlt mir nur noch eine effiziente Methode, nur noch auf die steigende oder fallende Flanke mit einem Python Script zu reagieren und muss mir noch mal ansehen, wie die MAX Sensoren das machen. Wahrscheinlich ist es am einfachsten, das einfach zu simulieren.

Gruss aus Koelle
    vom Nordlicht

PS: Preislich schien mir diese Methode  am guenstigsten, da USB Steckernetzteile inzwischen nur noch  1-2 Euro kosten (oder noch in der Schublade rumfliegen) und im Fall vom Raspberry nur eine Handvoll Widerstaende und ein paar Draehte noetig sind.

John

Hallo einnordlicht,

vielleicht ist das Modul RPI_GPIO für dich die Lösung den digitalen Eingang in FHEM bekannt zu machen. (siehe command ref)

Der HourCounter ist sicher eine Lösung für dein Problem.

Wenn das mit dem RPI_GPIO-Modul klappt solltes du im Event-Monitor bei einem Status-Wechsel Ereignisse sehen.
Mit diesen kannst du den HourCounter füttern.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP