FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Fifi am 08 Februar 2016, 20:56:51

Titel: Zeitmessung so lange GA = on
Beitrag von: Fifi am 08 Februar 2016, 20:56:51
Hallo, ich hoffe das ist die richtige Rubrik.
Ein KNX Taster ist On wenn gedrückt und dann wieder Off wenn er los gelasssen wird.
Ich möchte nun die Zeit messen / eine Variable hochlaufen lassen während er On ist.
Kann mich da mal bitte jemand in die richtige Richtung schubsen.........
Ingo
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Ellert am 09 Februar 2016, 15:11:20
Mit einem DOIF geht es etwa so:
di DOIF ([KNX] eq "ON") (setreading di start {(time)})
DOELSEIF  ([KNX] eq "OFF") (setreading di stop {(time)})

und dem Attribut
di stateFormat {ReadingsVal("di","stop","0")-ReadingsVal("di","start","0")}

Die Zeitdifferenz steht im Status des DOIF.
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Fifi am 09 Februar 2016, 19:24:35
Danke, kucke ich mir Morgen an,
Ingo
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Fifi am 11 Februar 2016, 12:24:31
Hallo,
ich bekomme das nicht hin. Ich habe deine Syntax so angepasst:

define ZM_Licht_Nord DOIF ([Licht_WZ_Nord] eq "ON") (setreading ZM_Licht_Nord start {(time)}) DOELSEIF  ([Licht_WZ_Nord] eq "OFF") (setreading ZM_Licht_Nord stop {(time)})
attr ZM_Licht_Nord stateFormat {ReadingsVal("ZM_Licht_Nord","stop","0")-ReadingsVal("ZM_Licht_Nord","start","0")}

Auf der Hauptseit wird nun auch "ZM_Licht_Nord" (unter DOIF) angezeigt. In der rechten Spalte (Status???) steht aber immer "0", auch wenn die GA passiert ist.
Wie gebe ich das Ergebnis (Status) aus? (sprintf?)
Ingo
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Ellert am 11 Februar 2016, 13:39:31
Zitatdi DOIF ([KNX] eq "ON") (setreading di start {(time)})
DOELSEIF  ([KNX] eq "OFF") (setreading di stop {(time)}

Das ist nur ein Beispiel. Ich kenne KNX nicht, daher musst Du die Werte ON/OFF"so anpassen, dass sie für KNX zutreffen, also on/off oder On/Off oder 0/1 oder ein/aus usw.

Falls das nicht klappt mach ein Listing für jedes beteiligte Gerät und poste sie.
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Fifi am 11 Februar 2016, 17:42:06
Ja, Danke, gepennt. Ich hatte mit "on" und "ON" probiert, aber wohl in anderen Kombinationen. Nu geht der teil.
Auflösung sind Sekunden. Geht irgendie auch kleiner, 1/10tel oder ms?
Ingo
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Ellert am 11 Februar 2016, 18:22:22
Schau mal hier http://forum.fhem.de/index.php/topic,24607.msg177053.html#msg177053
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Damian am 12 Februar 2016, 11:11:01
Zitat von: Ellert am 11 Februar 2016, 18:22:22
Schau mal hier http://forum.fhem.de/index.php/topic,24607.msg177053.html#msg177053

wait-Angaben im DOIF-Modul können inzwischen auch unter einer Sekunde sein.


Gruß

Damian
Titel: Antw:Zeitmessung so lange GA = on
Beitrag von: Fifi am 27 Februar 2016, 19:26:35
Ich habe ein bischen weiter gesucht. Wenn man es mit "gettimeofday" statt time macht, bekommt man (zumindest in der Anzeige) 14 Stellen hinter dem Komma. Was auch immer man von dieser Genauigkeit halten soll ;)

define Zeitmessung DOIF ([EIB_0002] eq "on") (setreading Zeitmessung start {(gettimeofday)}) DOELSEIF  ([EIB_0002] eq "off") (setreading Zeitmessung stop {(gettimeofday)})
attr Zeitmessung stateFormat {ReadingsVal("Zeitmessung","stop","0")-ReadingsVal("Zeitmessung","start","0")}

Vielleicht hilft's jemandem.
Danke nochmal an alle.