RandomTimer - neues Modul

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

Vorheriges Thema - Nächstes Thema

obelix221

Danke für die Info...dann werde ich mich noch nicht mit einem Workaround beschäftigen.  :D
RPi3 als FHEM-Server, 868 MHz CUL, 433 MHz Transmitter, Homematic Aktoren und Sensoren, Yamaha AVR, Logitech Harmony, Fritzbox, Logitech SB, 433 MHz Steckdosen, HUE, EnOcean

Dietmar63

eingecheckt probiert es mal aus
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

pataya

Moin,

hab bei meinem RandomTimer Start- sowie Endzeitpunkt fix gesetzt.
Einmalig funktioniert das auch, sobald der Timer allerdings einmal durchgelaufen ist, aktiviert er sich nicht mehr zum eingestellten timespec_start.
Nach einem FHEM-restart läuft er wieder zum angegebenen Zeitpunkt.

Hab ich irgendwas übersehen?


Internals:
   COMMAND    on
   DEF        18:20:00 HUEDevice5 23:22:00 900
   DEVICE     HUEDevice5
   NAME       AnwesenheitsSimu_HueLamp2
   NR         186
   STATE      on
   TYPE       RandomTimer
   READINGS:
     2017-08-02 18:58:58   Startzeit       2017-08-02 18:20:00
     2017-08-02 18:58:58   Stoppzeit       2017-08-02 23:22:00
     2017-08-02 18:58:52   TimeToSwitch    900
     2017-08-02 18:58:59   active          1
     2017-08-02 19:13:19   state           on
   TIMER:
     AnwesenheitsSimu_HueLamp2_Exec:
       HASH       AnwesenheitsSimu_HueLamp2
       MODIFIER   Exec
       NAME       AnwesenheitsSimu_HueLamp2_Exec
     AnwesenheitsSimu_HueLamp2_SetTimer:
       HASH       AnwesenheitsSimu_HueLamp2
       MODIFIER   SetTimer
       NAME       AnwesenheitsSimu_HueLamp2_SetTimer
   helper:
     REL
     REP
     SIGMAWHENOFF 800
     SIGMAWHENON 200
     STARTTIME  02.08.2017  18:20:00
     STOPTIME   02.08.2017  23:22:00
     SWITCHMODE 800/200
     S_REL
     S_REP
     TIMESPEC_START 18:20:00
     TIMESPEC_STOP 23:22:00
     TIMETOSWITCH 900
     active     1
     startTime  1501690800
     stopTime   1501708920
Attributes:
   disableCond (Value("AnwesenheitsSimu_Status") eq "Inaktiv")
   switchmode 800/200


C0mmanda

Zitat von: pataya am 02 August 2017, 19:27:43
Moin,

hab bei meinem RandomTimer Start- sowie Endzeitpunkt fix gesetzt.
Einmalig funktioniert das auch, sobald der Timer allerdings einmal durchgelaufen ist, aktiviert er sich nicht mehr zum eingestellten timespec_start.
Nach einem FHEM-restart läuft er wieder zum angegebenen Zeitpunkt.

Hab ich irgendwas übersehen?

Same here....
Läuft einmal durch und dann ist der RandomTimer "tot".
Er geht ausserhalb der Timespec auch nicht auf disabled sondern bleibt einfach aus.
Erst ein "modify Def" belebt den Timer wieder.
Woran mag das liegen?

Bin dankbar für jeden Tip.

Grtz
CmdA

DasB

Zitat von: pataya am 02 August 2017, 19:27:43
Moin,

hab bei meinem RandomTimer Start- sowie Endzeitpunkt fix gesetzt.
Einmalig funktioniert das auch, sobald der Timer allerdings einmal durchgelaufen ist, aktiviert er sich nicht mehr zum eingestellten timespec_start.
Nach einem FHEM-restart läuft er wieder zum angegebenen Zeitpunkt.

+1, du bist nicht allein. Sitze aktuell in Griechenland und beobachte exakt die gleiche Problematik zuhause. Läuft einmal problemlos durch, anschließend funktionert es nur nach shutdown restart. Scheint wohl mit irgendeinem Update auseinandergebröselt zu sein, hat meiner Erinnerung nach vor ein paar Monaten noch reibungslos funktioniert.

honkmasta

Hallo,

ich steuere mittlerweile das komplette Haus mit RT.
Seit dem Update auf das attr "forceStoptimeSameDay" läuft alles 1A.

Trotzdem eine Frage:
-> Ich habe pro zu schaltendem Element zwei RTs, einen für Arbeitstag, einen für Wochenende
-> über die disabledCondition reagiere ich auf Anwesenheit und Arbeitstag / Wochenende
-> eine Realisierung mit ($we) funktioniert leider nicht, folgende Fehlermeldung kommt

2017.10.12 19:08:17 3: [RandomTimer.Zimmer.Abends.WochenTag] ERROR: Global symbol "$we" requires explicit package name (did you forget to declare "my $we"?) at (eval 134815) line 1.  EVALUATING ((Value("Aktiv") eq "off") or ($we))


=> ist die Deklaration von ($we) im Modul nicht vorhanden oder mache ich etwas anderes falsch?
=> momentan umgehe ich das mit einem Dummy der sich täglich früh aus ($we) den Wert holt
=> ich würde aber gern sowenig wie möglich Zwischenschritte / Ballast mitführen


Danke und Gruß 

arminius

Hallo zusammen,

ich habe auch das Problem, das der Timer nur einmal durchläuft und dann nicht wieder anspringt.
Gibt es dafür bereits eine Lösung?
Zur Nor auch eine Befehlslösung.

Danke

Gruß
Arminius

waynemuh

Ich wärme das Thema noch ein mal auf. Auch bei mir läuft der RandomTimer nur einmalig und wird dann nicht wieder aktiviert.
Einen Workaround scheint es noch nicht zu geben?!


arminius

Hallo zusammen,

bei mir läuft es nun.
Ich hatte mich gewundert, dass nicht sämtliche randomtimer funktioniert haben, sondern nur einige spezielle.
Diese habe ich mir nun angeschaut und festgestellt, dass jene funktioniert haben, die zb. sunset_abs als Startzeit hatten.
Alle die eine feste Startzeit hatten zb. 17:00 gingen nicht.
Nachdem ich nun sämtliche Startzeiten geändert habe und nur noch mit sunset_abs als Zeitangabe arbeite funktioniert nun jeder Timer.
Ich habe auch noch das attribute disableCond gesetzt und frage damit meine Anwesenheit ab.
Vielleicht hilft die Info dem einen oder anderen.

Gruß
Arminius

Rockojfonzo

Guten Abend,

die Urlaubszeit naht  8), und ich wollte hier doch noch das Ding ans Laufen bringen.
Zum Testen habe ich alle 60 Sekunden schalten und maximale Wahrscheinlichkeit für's Einschalten gewählt.

Leider geht der "Ball" immer nur an und direkt wieder aus. :-(

Hat jemand eine Idee??
fhem> list BallRandom
Internals:
   COMMAND    on
   DEF        *21:00:00 Ball *{sunset_abs(2*3600)} 60
   DEVICE     Ball
   NAME       BallRandom
   NR         365
   STATE      on
   TYPE       RandomTimer
   READINGS:
     2018-07-13 22:13:30   Startzeit       2018-07-13 21:00:00
     2018-07-13 22:13:30   Stoppzeit       2018-07-14 00:25:48
     2018-07-13 22:13:30   TimeToSwitch    60
     2018-07-13 22:13:30   active          1
     2018-07-13 22:30:23   state           on
   TIMER:
     BallRandom_Exec:
       HASH       BallRandom
       MODIFIER   Exec
       NAME       BallRandom_Exec
     BallRandom_SetTimer:
       HASH       BallRandom
       MODIFIER   SetTimer
       NAME       BallRandom_SetTimer
   helper:
     REL
     REP        *
     SIGMAWHENOFF 999
     SIGMAWHENON 100
     STARTTIME  13.07.2018  21:00:00
     STOPTIME   14.07.2018  00:25:48
     SWITCHMODE 999/100
     S_REL
     S_REP      *
     TIMESPEC_START *21:00:00
     TIMESPEC_STOP *{sunset_abs(2*3600)}
     TIMETOSWITCH 60
     active     1
     startTime  1531508400
     stopTime   1531520748
Attributes:
   onCmd      set Ball 40 pct
   stateFormat {(ReadingsVal("Ball","state","nF") =~ m/(OFF|off)/i) ? "off" : "on" }
   switchmode 999/100

Log-Beispiel:
fhem> RandomTimer BallRandom on
CUL_HM Ball level: set_40
CUL_HM Ball set_40
CUL_HM Ball deviceMsg: 0.5 (to VCCU)
CUL_HM Ball dim: up:0.5
CUL_HM Ball level: 0.5
CUL_HM Ball overheat: off
CUL_HM Ball overload: off
CUL_HM Ball pct: 0.5
CUL_HM Ball reduced: off
CUL_HM Ball 0.5
CUL_HM Ball timedOn: running
CUL_HM Ball deviceMsg: off (to VCCU)
CUL_HM Ball dim: stop:off
CUL_HM Ball level: 0
CUL_HM Ball overheat: off
CUL_HM Ball overload: off
CUL_HM Ball pct: 0
CUL_HM Ball reduced: off
CUL_HM Ball off
CUL_HM Ball timedOn: off


Auch, wenn ich ein separates offCmd definiere, ist der Effekt der gleiche.
FHEM auf Shuttle XS 35V2 mit CUL und HM-LGW
9 x HM-CC-RT-DN; 2 x HM-LC-SW4-DR; 3 x HM-WDS30-OT2-SM; 3 x HM-SEC-SD; 1 x HM-LC-Bl1PBU-FM; 1 x HM-LC-SW1-PL2;1 x HM-LC-SW1-FM; 2 x HM-SEC-SC-2

Rockojfonzo

OK, es scheint an den "40 pct" zu liegen – trotz der lt. Test funktionierenden stateFormat Anweisung. Wenn ich stumpf "on" wähle, geht es.
Aber dann wird der Einbrecher ja blind!  ;D

Nu hab ich mal eine LightScene gebastelt, aber jetzt scheint er die stateFormat Anweisung nicht mehr zu erkennen.
FHEM auf Shuttle XS 35V2 mit CUL und HM-LGW
9 x HM-CC-RT-DN; 2 x HM-LC-SW4-DR; 3 x HM-WDS30-OT2-SM; 3 x HM-SEC-SD; 1 x HM-LC-Bl1PBU-FM; 1 x HM-LC-SW1-PL2;1 x HM-LC-SW1-FM; 2 x HM-SEC-SC-2

MarcoK

Hallo zusammen,

zuallererst vielen Dank für dieses super Modul, funktioniert bisweilen tadellos. Einzig habe ich das Problem, dass durch das Modul mein FHEM Log File erheblich "zugemüllt" wird. Eine Veränderung des Attributs "verbose" bringt leider auch keine signifikante Änderung mit sich. Habe ich da vielleicht noch etwas übersehen bzw. kennt jmd. von euch eine Lösung hierfür?

Vielen Dank für die Unterstützung

Cheers
Marco

igami

Zitat von: MarcoK am 18 Juli 2018, 12:00:30
zuallererst vielen Dank für dieses super Modul, funktioniert bisweilen tadellos. Einzig habe ich das Problem, dass durch das Modul mein FHEM Log File erheblich "zugemüllt" wird. Eine Veränderung des Attributs "verbose" bringt leider auch keine signifikante Änderung mit sich. Habe ich da vielleicht noch etwas übersehen bzw. kennt jmd. von euch eine Lösung hierfür?
Was für Einträge werden denn erzeugt?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

MarcoK

Es handelt sich um folgende Einträge:

isAbsent - disableCondition for RandomTimer: 0

igami

Bitte einmal die ganze Log Zeile Posten.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED