RandomTimer - neues Modul

Begonnen von Dietmar63, 28 Juli 2013, 15:52:40

Vorheriges Thema - Nächstes Thema

Michi240281

Habs gerade nochmal genau getestet und du hast Recht und auch Unrecht!  ;)

Mit der disableCond "isAbwesend" kann der RT deaktiviert/unterbrochen werden. Allerdings, was ich komisch finde, wird immer noch ein Ausschaltvorgang ausgelöst! Also RT schaltet Lampe ein, dann schalte ich Abwesend auf nein und dennoch wird die Lampe noch einmal ausgeschaltet.
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Dietmar63

ZitatMit der disableCond "isAbwesend" kann der RT deaktiviert/unterbrochen werden. Allerdings, was ich komisch finde, wird immer noch ein Ausschaltvorgang ausgelöst! Also RT schaltet Lampe ein, dann schalte ich Abwesend auf nein und dennoch wird die Lampe noch einmal ausgeschaltet.

Ja, das habe ich auch festgestellt.
Das Verhalten ist durchaus änderbar. Ich bin mir aber selbst unsicher was am besten ist. Ich habe selten das Problem, dass ein laufender RT unterbrochen werden muss - ich nutze die Funktion nur bei echter Abwesenheit am Wochendende.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Michi240281

Ich denke, so wie es ist, ist es eigentlich ok!

Man kommt heim, ändert den Status auf "Anwesend" und der RT wird nach dem Ausschalten wieder beendet! An sich ok! Wollte es nur erwähnt haben!
FHEM auf QNAP per VM / HM LAN Adapter / diverse HM-Devices
QNAP TVS 463
VU+ Duo4kSE
Sony 75ZD9

Dietmar63

man kann sich darüber streiten ob es sinnvoll ist das Gerät dann auszuschalten, oder nicht.
Vielleicht ist es ja sinnvoll.

Ich denke mal darüber nach. Leider habe ich keine Möglichkeit es tatsächlich auszuprobieren, weil bei mir der Anwendungsfall nicht gegeben ist.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Bartimaus

#79
Hallo,
ich teste gerade auch das Modul.
define ZufallsTimerFlurLampeTest RandomTimer *12:00:00 FlurLampe +01:00:00 360

Der Timer ist aktiv, hat um 12:00.01 die FlurLampe eingeschaltet, und um 13:05:51 ausgeschaltet...
2014.04.17 12:00:01 3: FS20 set FlurLampe on
2014.04.17 13:05:51 3: [ZufallsTimerFlurTest] FlurLampe going down ...



Hab erst letzte Woche ein FHEM-Update gemacht, sollte also alles recht aktuell sein. Hat jemand ne Idee warum die Lampe sich nicht ein/ausschaltet so wie das Modul es vorsieht ?
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Dietmar63

#80
was ist denn merkwürdig?
Setze mal verbose 5,und beobachtete das Protokoll!
Ggf hier Posten.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

ich habe ein intern komplett überarbeitetes Modul eingecheckt.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Bartimaus

Hi,
ich hatte gedacht, die 360 steht für alle 360s das Gerät +/-10% einzuschalten ?
Bei mir blieb es halt die ganze Zeit an.


LGLG
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Dietmar63

Es könnte der zugegebenermassen seltene Fall eingetreten sein, dass während der Stunde nie geschaltet wurde.
Mit verbose 5 bekommst du logging Informationen, die alle ca. 360 Sekunden output erzeugen müßten.

Nimm gleich das neueste Modul - ich habe heute eingecheckt.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Benni

Hallo,

ich habe im Moment bei mir ein Problem mit RandomTimer, bzw. v.a. mit RandomTimer_Wakeup.

Ich habe einen RandomTimer definiert, der von Sonnenuntergang (indoor) bis 23:00 Uhr jeden Tag zufällig das Flurlicht schalten soll, es sei denn es ist jemand zuhause. Um den RandomTimer zu aktivieren, wenn der letzte das Haus verlässt, wird per Notify auf das entsprechende RESIDENTS-Device (Reading presence) ein RandomTimer_Wakeup() aufgerufen.

So weit funktioniert das jetzt auch, der letzte verlässt das Haus, das Notify ruft auch das RandomTimer_Wakeup auf, aber dann fängt der RandomTimer auch direkt schon an zu arbeiten, obwohl das alles zunächst ausserhalb der definierten Start- und Endzeiten (Sonnenuntergang bis 23:00 Uhr ) des Timers stattgefunden hat.

Ich habe inzwischen mehrfach das commandref dazu konsultiert, finde aber nicht, dass ich da was falsch interpretiert habe.

Handelt es sich hier um einen Bug oder habe ich doch etwas misinterpretiert.

Im folgenden nun zunächst eine entsprechender Log-Auszug:


2014.04.29 07:40:07 2: ROOMMATE set Bine absent
2014.04.29 07:40:07 3: [EG.FL.RT.Flurlicht] starting RandomTimer on EG.FL.SW.Flurlicht: 20:07:56(29) - 23:00:00(29)
2014.04.29 07:40:07 3: RandomTimer_Wakeup() for EG.FL.RT.Flurlicht done!
2014.04.29 07:40:07 3: RandomTimer_Wakeup() done!
2014.04.29 07:40:07 3: RandomTimer_Wakeup triggered, because presence state changed to absent!
2014.04.29 08:01:06 3: CUL_HM set EG.FL.SW.Flurlicht on
2014.04.29 08:11:23 3: CUL_HM set EG.FL.SW.Flurlicht off
2014.04.29 08:41:16 3: CUL_HM set EG.FL.SW.Flurlicht on
2014.04.29 09:01:21 3: CUL_HM set EG.FL.SW.Flurlicht off
2014.04.29 09:11:42 3: CUL_HM set EG.FL.SW.Flurlicht on
2014.04.29 09:31:38 3: CUL_HM set EG.FL.SW.Flurlicht off
2014.04.29 09:41:56 3: CUL_HM set EG.FL.SW.Flurlicht on
2014.04.29 09:51:52 3: CUL_HM set EG.FL.SW.Flurlicht off
2014.04.29 10:02:15 3: CUL_HM set EG.FL.SW.Flurlicht on
2014.04.29 10:03:49 3: CUL_HM set EG.FL.SW.Flurlicht off


Dann noch ein list des RandomTimer:


list EG.FL.RT.Flurlicht

Internals:
   CFGFN
   COMMAND    on
   DEF        *{sunset_abs("HORIZON=4")} EG.FL.SW.Flurlicht 23:00:00 600
   DEVICE     EG.FL.SW.Flurlicht
   NAME       EG.FL.RT.Flurlicht
   NR         235
   REL
   REP        *
   SIGMAOFF   700
   SIGMAON    850
   STARTTIME  29.04.2014  20:07:56
   STATE      20:07:56
   STOPTIME   29.04.2014  23:00:00
   SWITCHMODE 700/850
   S_REL
   S_REP
   TIMESPEC_START *{sunset_abs("HORIZON=4")}
   TIMESPEC_STOP 23:00:00
   TIMETOSWITCH 600
   TYPE       RandomTimer
   active     1
   startTime  1398794876
   stopTime   1398805200
   Timer:
     Eg.fl.rt.flurlicht_exec:
       HASH       EG.FL.RT.Flurlicht
       MODIFIER   Exec
       NAME       EG.FL.RT.Flurlicht_Exec
     Eg.fl.rt.flurlicht_settimer:
       HASH       EG.FL.RT.Flurlicht
       MODIFIER   SetTimer
       NAME       EG.FL.RT.Flurlicht_SetTimer
Attributes:
   disable    1
   disableCond (BBPresent())
   room       95.10_Simulation
   switchmode 700/850


Und der Vollständigkeit halber noch die, zugegebenermaßen sehr simple Definition der, im List aufgeführten BBPresent() aus meiner 99_BBUtils.pm, die aber grundsätzlich funktioniert, denn der RandomTimer läuft ja korrekterweise, wenn keiner zuhause ist, nur die Start- und Endzeiten werden m.E. inkorrekterweise ignoriert (v.a. die Startzeit):


sub BBPresent()
{
   return(ReadingsVal("EG.XX.RS.Bewohner","presence","absent") eq "present");
}


Leider komme ich hier selbst nicht weiter und hoffe, dass mir jemand weiterhelfen kann. Sollten noch irgendwelche Informationen fehlen, liefere ich die gerne nach.

Ach ja, FHEM ist auf dem aktuellen Stand, letztes update hat gestern erfolgreich stattgefunden. Das Problem besteht aber anscheinend schon länger. Entsprechende Einträge finden sich im gesamten fhem-Log des aktuellen Monats.

Gruß Benni.

Dietmar63

Ich prüfe das heute oder morgen
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

ph1959de

Hallo Dietmar,

ich habe mich mal (bisher nur "theoretisch) mit dem RandomTimer beschäftigt (und gleichzeitig eine Wiki-Seite angelegt: http://www.fhemwiki.de/wiki/RandomTimer). Dabei sind mir in der commandref einige Dinge aufgefallen, die korrigiert / ergänzt werden müssten.

In welchem Format darf ich Dir meine Kommentare zukommen lassen (kann gern auch das Format sein, das als Input für die commandref dient - ich vermute, in dem Fall könnte ich mir das einfach aus der 98_RandomTimer.pl nehmen)?

Eine weitere Anmerkung: nachdem das Modul seit geraumer Zeit "offiziell" ist, wäre es gut, wenn Du es aus dem ersten Post dieses Threads entfernen würdest.

Gruß, Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Dietmar63

Du kannst mir einfach die aktuelle ModulVersion angereichert mit deinen Verbesserungen geben. Dann mische ich die Änderungen  hinein.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Ich habe mir das Verhalten von RandomTimer_Wakeup() angesehen und du hast Recht, ich muss sie verändern.

Nach dem umfangreichen Umbau vor 4 Wochen funktioniert die Zusammenarbeit zwischen RandomTimer_Wakeup und dem Rest des Moduls nicht mehr richtig. Da ich diese Funktion selbst nicht nutze, ist mir das nicht aufgefallen.

Ich habe die notwendige Änderung bei mir schon eingebaut und beobachte noch, ob auch wirklich alles funktioniert.
Bis zum Wochenende werde ich sie dann einchecken.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Benni

Hallo Dietmar,
danke für die prompte Bestätigung!
Man zweifelt eben doch immer erst mal an sich selbst :)