RandomTimer - neues Modul

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

Vorheriges Thema - Nächstes Thema

Benni

Hallo,

so ein Erlebnis hatte ich eben auch  :o

Habe vorhin das Haus verlassen, was das Zeichen für den RT ist, aktiv zu werden. Kurze Zeit später erhalte ich die Meldung auf's Handy, dass FHEM neu gestartet wurde.

Ein kurzer Blick ins Log vom Watchdog sagt mir FHEM war abgeschmiert und musste neu gestartet werden.


2015-01-20_16:25:54 fhem_server V: 54 S: alive MSG: FHEM Server alive
2015-01-20_16:26:54 fhem_server MSG: no FHEM Server process found
2015-01-20_16:29:54 fhem_server V: 54 S: alive MSG: FHEM Server alive


Blick ins FHEM-Log sagt, letzte Aktion vor dem Reboot war die eines RT nach Aktivierung.


...
2015.01.20 16:26:17 3: [EG.FL.RT.Flurlicht] starting RandomTimer on EG.FL.SW.Flurlicht: 16:26:17(20) - 23:00:00(20)
2015.01.20 16:26:57 3: telnetPort: port 7072 opened
2015.01.20 16:26:57 3: WEB: port 8083 opened
2015.01.20 16:26:57 3: WEBphone: port 8084 opened
...


Nehme an, das ist das selbe Problem.

Gruß Benni.

webbi

Ich habe seit ein paar tagen auch das problem:

2015.01.21 16:58:00 3: [ZufallsTimerKueche] starting RandomTimer on Licht_Kueche: 16:58:00(21) - 22:11:00(21)

Dietmar63

Gestern hat es leider nicht mehr geklappt - gleich kümmere ich mich darum.
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

#213
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

jude

Hallo Zusammen,

ich versuche gerade bei meinen Randomtimer die DisableCond mit einem Dummy Attribut zu füllen. Wobei ich aber kläglich scheitere.

dummy:

Internals:
   NAME       AnwesenheitsSimulation
   NR         181
   STATE      0
   TYPE       dummy
   Readings:
     2015-02-02 21:29:08   state           0
Attributes:
   comment    1 = ja und alles andere = nein.
   room       System
   setList    1 0
   webCmd     1:0


Internals:

   DEF        *{sunset()} OGGaestezimmerLicht_Sw  +02:30:00 480
...
   TYPE       RandomTimer
...
Attributes:
   disableCond !AnwesenheitsSimulation
...


Ist es nicht möglich, die disableCond mit einem not(Dummy-Wert) zu füllen?

Danke euch und liebe Grüsse
Jürgen

FHEM auf Linux, CUL, HMLAN, ...

FunkOdyssey

Ich teste gerade auch erstmals das Modul und habe auch Probleme mit den "disablecond". Ich arbeite an einer ähnlichen Idee, wie der User "moonsorrox" und will mit einem Dummy-Wert das Modul deaktivieren.

(Value("Zeitsteuerung" ne "Zufall"))

Leider ohne Erfolg.

FHEM ist up-to-date.

moonsorrox

Zitat von: Funk.Odyssey am 02 Februar 2015, 22:52:22
will mit einem Dummy-Wert das Modul deaktivieren.
dann mach das doch mit disable 1 und disable 0 und setze das Attribut, das funktioniert bei mir jetzt schon eine ganze Weile. Siehe Post #181
Dieses hier "disablecond" funktionierte bei mir nicht, der RTimer startete jeden Tag aufs neue
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Dietmar63

#217
Quatsch (entschuldigt bitte dieses harte Wort)
auch disableCond funktioniert!!! Ich melde mich heute Abend dazu. - bin noch unterwegs
Der Perl-Code ist nicht korrekt.

Schaltet bitte mal verbose auf 5-vielleicht hilft das schon weiter.
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

Hatte gestern leider keine Zeit und komme auch heute nicht mehr dazu - vielleicht 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

jude

Ein verbose 5 bringt folgende Meldung:

2015.02.04 21:22:42 3: [TestRandom] Bareword "AnwesenheitsSimulation" not allowed while "strict subs" in use at (eval 94) line 1.
2015.02.04 21:22:42 4: [TestRandom] timings  RandomTimer on OGGaestezimmerLicht_Sw: 21:22:50(04) - 23:52:50(04)
2015.02.04 21:22:42 5: [TestRandom] removing Timer: TestRandom_Exec
2015.02.04 21:22:42 5: [TestRandom] setting  Timer: TestRandom_Exec 04.02.2015  21:22:50
2015.02.04 21:22:42 5: [TestRandom] removing Timer: TestRandom_SetTimer
2015.02.04 21:22:42 5: [TestRandom] setting  Timer: TestRandom_SetTimer 05.02.2015  00:08:15
2015.02.04 21:22:50 3: [TestRandom] Bareword "AnwesenheitsSimulation" not allowed while "strict subs" in use at (eval 95) line 1.
2015.02.04 21:22:50 3: [TestRandom] starting RandomTimer on OGGaestezimmerLicht_Sw: 21:22:50(04) - 23:52:50(04)
2015.02.04 21:22:50 3: [TestRandom] Bareword "AnwesenheitsSimulation" not allowed while "strict subs" in use at (eval 96) line 1.
2015.02.04 21:22:50 4: [TestRandom] Zustand:off sigma:800 random:353->1
2015.02.04 21:22:50 4: [TestRandom] command: set OGGaestezimmerLicht_Sw on

FHEM auf Linux, CUL, HMLAN, ...

Dietmar63

#220
im Log steht warum es nicht geht:
Bareword "AnwesenheitsSimulation" not allowed while "strict subs" in use at (eval 94) line 1.
ist eine Perl Fehlermeldung, die besagt, dass AnwesenheitsSimulation so nicht erlaubt ist. AnwesenheitsSimulation wird so wie du es genutzt hast als Variabel angesehen und Variablen müssen mit ein $ beginnen.

falsch:
disableCond !AnwesenheitsSimulation

richtig:
disableCond (conditionCode)
...
disableCond (Value("AnwesenheitsSimulation") ne "on")

oder
(Value("Zeitsteuerung" ne "Zufall"))    # hier ist die Klammer falsch gesetzt.
(Value("Zeitsteuerung") ne "Zufall")    # so ist es richtig


oder wie in der Referenz:
attr   ZufallsTimerZ         disableCond      (Value("presenceDummy") ne "present"))       

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

jude

#221
Hi Dietmar,

danke für die schnelle und gute Antwort.

Kriege es aber nicht hin.

mit
disableCond: (Value("AnwesenheitsSimulation") eq "")

Zitathatte mich hier vertippt, sollte selbstverständlich
disableCond: (Value("AnwesenheitsSimulation") eq "1")
heissen * nachträglich geändert jude
da mein STATE des dummys  1 oder 0 ist.

Aber auf der Übersicht wird immer angezeigt, dass der randomtimer disabled ist. 

Muss das morgen in Ruhe noch einmal anschauen.

Danke dir  und liebe Grüsse
Jürgen
FHEM auf Linux, CUL, HMLAN, ...

Dietmar63

#222
dann musst du korrekterweise auch

attr   ZufallsTimerZ  (Value("AnwesenheitsSimulation") eq "1")
oder
attr   ZufallsTimerZ   (Value("AnwesenheitsSimulation") eq "0")
schreiben.

Ausnahmsweise würde in diesem Fall auch eins von
attr   ZufallsTimerZ   (Value("AnwesenheitsSimulation"))
attr   ZufallsTimerZ   (!Value("AnwesenheitsSimulation"))


Value("AnwesenheitsSimulation") evaluiert zu 1 oder 0 also true oder false und das reicht dann schon.

hasst du AnwesenheitsSimulation richtig geschrieben?
Du kannst mit  {Value("AnwesenheitsSimulation")} in der Oberfläche von fhem prüfen zu welchem Wert dieser Ausdruck evaluiert - muss 0 oder 1 sein.

verbose 5 nicht vergessen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

jude

Hallo Dietmar,

habe gerade noch einmal ein update gemacht, dann ein TestRandomTimer erstellt und wie du es beschrieben hast den

attr   ZufallsTimerZ   (!Value("AnwesenheitsSimulation"))

verwendet. Und schwups hat es funktioniert.

D A N K E dir und liebe Grüsse
Jürgen
FHEM auf Linux, CUL, HMLAN, ...

Hoeness

Hallo,

ich habe ein ähnliches Problem mit der disableCond.

fehlt da bei euch nicht noch was? - muss das nicht               

attr ZufallsTimerZ disableCond (!Value("AnwesenheitsSimulation")) heisen?

anbei mein Testcode, bei dem ich über das Dummy den RT nicht disablen/enablen kann.



#******* Define Test_Verreist
define Test_Verreist dummy
attr Test_Verreist devStateIcon ja:home_gruen nein:home-red
attr Test_Verreist group Commands
attr Test_Verreist room 00-Abwesenheit
attr Test_Verreist webCmd ja:nein
##########################################################################

#****** Random Timer_Licht Galerie (Test_Verreist)
define ZufallsTimerGalerie_test RandomTimer *{sunset_abs(300)} FHEM_Licht_Galerie  23:59:00 60
attr ZufallsTimerGalerie_test disableCond (("Test_Verreist") ne "nein")
attr ZufallsTimerGalerie_test room 00-Abwesenheit


Irgendwie stehe ich da auf dem Schlauch.