Guten Morgen zusammen,
ich habe ein DOIF, welches durch ein anderes Modul eine Uhrzeit bekommt. Dies ist immer eine Weckzeit. Bis gestern ging das noch und seit heute Morgen nicht mehr.
Die Zeit steht im Reading aber aus einem mir unbekanntem Grund, passiert nichts mehr....
DOIF:
defmod letzter_wecker_rollos DOIF ([[ECHO_123:LastAlarm]] and [ECHO_123:LastAlarm] ne "0")\
(set sz_rollo pct 0)\
DOELSEIF ([00:15])
attr letzter_wecker_rollos room hidden
list DOIF:
Internals:
CFGFN ./FHEM/Tasmota.cfg
DEF ([[ECHO_123:LastAlarm]] and [ECHO_123:LastAlarm] ne "0")
(set sz_rollo pct 0)
DOELSEIF ([00:15])
FUUID 123abc
MODEL FHEM
NAME letzter_wecker_rollos
NR 105
NTFY_ORDER 50-letzter_wecker_rollos
STATE cmd_1
TYPE DOIF
VERSION 18890 2019-03-13 18:56:41
READINGS:
2019-04-12 07:47:29 Device ECHO_123
2019-04-12 07:53:32 cmd 1
2019-04-12 07:53:32 cmd_event set_cmd_1
2019-04-12 07:53:32 cmd_nr 1
2019-04-12 07:26:38 mode enabled
2019-04-12 07:53:32 state cmd_1
2019-04-12 07:33:32 timer_01_c01 13.04.2019 00:00:00
2019-04-12 07:33:32 timer_02_c02 13.04.2019 00:15:00
Regex:
accu:
attr:
cmdState:
condition:
0 ::DOIF_time_once($hash,0,$wday) and ::ReadingValDoIf($hash,'ECHO_123','LastAlarm') ne "0"
1 ::DOIF_time_once($hash,1,$wday)
days:
devices:
0 ECHO_123
all ECHO_123
do:
0:
0 set sz_rollo pct 0
1:
0
2:
helper:
event alarm_06_status: off
globalinit 1
last_timer 2
sleeptimer -1
triggerDev
DOIF_eventas:
cmd_nr: 1
cmd: 1
cmd_event: set_cmd_1
state: cmd_1
triggerEvents:
alarm_06_status: off
LastAlarm: 0
triggerEventsState:
alarm_06_status: off
LastAlarm: 0
internals:
intervalfunc:
itimer:
all ECHO_123
localtime:
0 1555106400
1 1555107300
perlblock:
readings:
0 ECHO_123:LastAlarm
all ECHO_123:LastAlarm
realtime:
0 00:00:00
1 00:15:00
time:
0 [ECHO_123:LastAlarm]
1 00:15:00
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
trigger:
triggertime:
1555106400:
localtime 1555106400
hash:
1555107300:
localtime 1555107300
hash:
uiState:
uiTable:
Attributes:
room hidden
Mein notify berechnet den letzten Wecker in meiner Alexa. Das klappt wunderbar. Nachdem die Zeit dann in das Reading übergeben wurde, so war es vorgestern noch, weiß das DOIF wann es das sz_rollo hoch fahren soll. Leider sieht es aktuell so aus als würde das DOIF gar nicht mehr reagieren.
Danke an alle!
Es dürfte weniger etwas mit DOIF zu tun haben, als mit einer fehlenden Zeitangabe in [ECHO_123:LastAlarm].
Ich glaube nicht, dass dein Wecker um 00:00 Uhr los gehen soll.
Da steht nichts drin, da beim list keiner gestellt war, anbei mal einer mit:
list mit gestelltem Wecker (nicht wundern, hab das DOIF umbenannt)
Internals:
CFGFN
DEF ([[ECHO_123:LastAlarm]] and [ECHO_123:LastAlarm] ne "0")
(set sz_rollo pct 0)
DOELSEIF ([00:15])
FUUID 123abc
MODEL FHEM
NAME di_letzter_wecker_rollos
NR 724
NTFY_ORDER 50-di_letzter_wecker_rollos
STATE initialized
TYPE DOIF
VERSION 18890 2019-03-13 18:56:41
READINGS:
2019-04-12 09:16:47 Device ECHO_123
2019-04-12 08:56:34 cmd 0
2019-04-12 08:56:34 mode enabled
2019-04-12 08:56:34 state initialized
2019-04-12 08:56:34 timer_01_c01 13.04.2019 00:00:00
2019-04-12 08:56:34 timer_02_c02 13.04.2019 00:15:00
Regex:
accu:
condition:
0 ::DOIF_time_once($hash,0,$wday) and ::ReadingValDoIf($hash,'ECHO_123','LastAlarm') ne "0"
1 ::DOIF_time_once($hash,1,$wday)
days:
devices:
0 ECHO_123
all ECHO_123
do:
0:
0 set sz_rollo pct 0
1:
0
2:
helper:
event alarm_04_status: on
globalinit 1
last_timer 2
sleeptimer -1
triggerDev ECHO_123
triggerEvents:
alarm_04_status: on
LastAlarm: 09:20
triggerEventsState:
alarm_04_status: on
LastAlarm: 09:20
internals:
intervalfunc:
itimer:
all ECHO_123
localtime:
0 1555106400
1 1555107300
readings:
0 ECHO_123:LastAlarm
all ECHO_123:LastAlarm
realtime:
0 00:00:00
1 00:15:00
time:
0 [ECHO_123:LastAlarm]
1 00:15:00
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
trigger:
triggertime:
1555106400:
localtime 1555106400
hash:
1555107300:
localtime 1555107300
hash:
uiState:
uiTable:
Attributes:
room hidden
realtime:
0 00:00:00
1 00:15:00
time:
0 [ECHO_123:LastAlarm]
1 00:15:00
Hier steht in [ECHO_123:LastAlarm] immer noch nichts sinnvolles drin.
Aber man sieht bei TriggerEvents nun genau die Zeit die als Wecker gestellt ist. Die Frage ist für mich, warum bekommt das DOIF (seit gestern / fhem Update durchgeführt) das nun nicht mehr mit. Genau in dem Teil, den du nennst, wird nichts mehr übertragen, obwohl das Trigger Event ankommt.
Edit: also im Reading LastAlarm steht eine Uhrzeit HH:MM und das sieht man ja beim trigger. Das ganze lief über ca 5 Monate genau so.
Poste mal ein List von ECHO_123
Zur Erklärung...
Wenn ich in meiner Alexa einen, zwei.... Wecker stelle, wird ein notify ausgeführt, welches auswertet, welcher Wecker der letzte ist. Das hänge ich mal mit an auch wenn das soweit funktioniert, da ja das Reading auch beschrieben wird...
notify:
defmod n_letzter_wecker notify (ECHO_123:alarm_.._status:.(on|off)) {\
my $k = "0";;\
my $alarmoff = "0";;\
my $schleifennr = "1";;\
my $lastalarmalexa = "0";;\
\
foreach $k (1..ReadingsVal("$NAME", "AlarmCount", ""))\
{\
$schleifennr = sprintf("%02d", $k);;\
my $wecker = ReadingsVal("$NAME", "alarm_".$schleifennr."_originalTime" ,"0");;\
$wecker =~ s/:00.000$//;;\
\
if (ReadingsVal("$NAME", "alarm_".$schleifennr."_status", "") eq "on" && "$wecker" gt "$lastalarmalexa") \
{\
$lastalarmalexa = $wecker;;\
}\
\
elsif (ReadingsVal("$NAME", "alarm_".$schleifennr."_status", "") eq "off") \
{\
$alarmoff = $alarmoff + 1;;\
\
if (sprintf("%02d", $alarmoff) eq $schleifennr) \
{\
$lastalarmalexa = 0;;\
}\
list Alexa (List angepasst, da ich keine Wecker im ersten drin hatte):
Internals:
CFGFN ./FHEM/37_EchoDevice.cfg
CHANGED
DEF AB72C64C86AW2 123
FUUID 123abc
IODev EchoDevices
NAME ECHO_123
NR 298
NTFY_ORDER 50-ECHO_123
STATE connected
TYPE echodevice
model Echo
CHANGETIME:
2019-04-12 07:29:15
OLDREADINGS:
READINGS:
2019-04-12 11:17:42 AlarmCount 0
2019-04-12 12:08:56 LastAlarm 12:18 Hier steht die Uhrzeit wenn ein Wecker an ist (HH:MM). Ansonsten steht hier 0
2019-04-12 12:08:56 alarm_01_id 410a216f-6fae-4f04-940a-aae17ccaee62
2019-04-12 12:08:56 alarm_01_originalTime 12:18:00.000
2019-04-12 12:08:56 alarm_01_recurring 0
2019-04-12 12:08:56 alarm_01_status on
2019-04-12 12:08:56 alarm_count 1
2019-04-12 11:17:34 BrowserLanguage de,en-US;q=0.7,en;q=0.3
2019-04-12 11:17:34 BrowserUserAgent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
2019-04-12 11:17:29 alarm_count 0
2019-04-12 11:17:33 channel Spotify
2019-04-12 11:17:33 currentAlbum ......
2019-04-12 11:17:33 currentArtist .....
2019-04-12 11:17:33 currentArtwork ....
2019-04-12 11:17:33 currentTitle ......
2019-04-12 11:17:33 currentTuneInID -
2019-04-12 11:17:38 deviceAddress .........
2019-04-12 11:17:40 dnd off
2019-04-12 11:17:38 microphone false
2019-04-12 11:17:29 musicalarm_count 0
2019-04-12 11:17:34 mute off
2019-04-12 11:17:34 online true
2019-04-12 11:17:33 playStatus paused
2019-04-12 11:17:34 progress 0
2019-04-12 11:17:34 progresslen 0
2019-04-12 11:17:29 reminder_count 0
2019-04-12 11:17:34 repeat off
2019-04-12 11:17:34 shuffle off
2019-04-12 11:17:34 state connected
2019-04-12 11:17:38 timeZoneId Europe/Berlin
2019-04-12 11:17:29 timer_count 0
2019-04-12 11:17:29 timer_id -
2019-04-12 11:17:29 timer_remainingtime 0
2019-04-12 09:56:46 voice alexa schalte den wecker aus
2019-04-12 09:56:46 voice_timestamp 1555046955540
2019-04-12 11:17:34 volume 27
2019-04-12 11:17:42 volume_alarm 47
2019-04-12 11:17:39 wakeword ALEXA
helper:
DEVICETYPE AB72C64C86AW2
FAMILY ECHO
NAME Kais Alexa
RUNNING_REQUEST 0
VERSION 631499520
CMD_QUEUE:
Attributes:
IODev EchoDevices
alias Kais Alexa
event-on-change-reading alarm_.._status,LastAlarm
icon echo
room Amazon
userReadings AlarmCount {my $anz = grep( m/alarm_.._status/, ( keys %{$hash->{READINGS}} )); return $anz;}
Hast du hier editiert?
2019-04-12 12:08:56 LastAlarm 12:18 Hier steht die Uhrzeit wenn ein Wecker an ist (HH:MM). Ansonsten steht hier 0
Ja! Hab den Satz dahinter geschrieben... Zudem habe ich die Readings nachdem ich sie aus Verzweiflung gelöscht hatte, nicht direkt alle drin. Deswegen habe ich nur das was dann nach ein paar Minuten rein lief eingefügt. Wenn ich ein List mache, sieht es also bis auf meine Beisätze, ....., oder gelöschte Dinge wie BT Geräte genau so aus.
Warum? Ist das wichtig? Hast du eine Idee? Ich habe mich seit Monaten, jeden Tag gefreut wenn der Wecker klingelt und das Rollo hoch geht. Nun ist die Freude schon vorbei :(
Damit ich das nachvollziehen kann:
1. poste aktuellen List von ECHO_123 ohne Veränderungen
2. gehe im Browser auf DEF von di_letzter_wecker_rollos und bestätige mit modify die Definition des DOIFs
3. poste List vom frisch initialisiertem DOIF
Nach vielen PNs scheint nun klar zu sein das es Probleme mit dem notify gibt. Aus einem mir unbekannten Grund, setzt es am ende das Reading LastAlarm aber es wird kein event mehr erzeugt. Dies war bis vor ein paar Tagen aber nie ein Problem.
Am notify und doif selber wurde nichts geändert und das lief bisher immer gut. Gibt es jemanden der mir ggf. Sagen kann, warum das auf einmal so ist?
defmod n_letzter_wecker notify (ECHO_123:alarm_.._status:.(on|off)) {\
my $k = "0";;\
my $alarmoff = "0";;\
my $schleifennr = "1";;\
my $lastalarmalexa = "0";;\
\
foreach $k (1..ReadingsVal("$NAME", "AlarmCount", ""))\
{\
$schleifennr = sprintf("%02d", $k);;\
my $wecker = ReadingsVal("$NAME", "alarm_".$schleifennr."_originalTime" ,"0");;\
$wecker =~ s/:00.000$//;;\
\
if (ReadingsVal("$NAME", "alarm_".$schleifennr."_status", "") eq "on" && "$wecker" gt "$lastalarmalexa") \
{\
$lastalarmalexa = $wecker;;\
}\
\
elsif (ReadingsVal("$NAME", "alarm_".$schleifennr."_status", "") eq "off") \
{\
$alarmoff = $alarmoff + 1;;\
\
if (sprintf("%02d", $alarmoff) eq $schleifennr) \
{\
$lastalarmalexa = 0;;\
}\
}\
fhem("setreading $NAME LastAlarm $lastalarmalexa")\
}\
}\
Ich kann in dem Notify beim besten Willen nicht sehen wo LastAlarm gesetzt wird.
Beitrag editiert. Hab beim kopieren am handy wohl nicht alles mit kopiert. SORRY!
Er soll also bei jedem Schleifendurchlauf das Reading setzen? Hab mir jetzt nicht alles angeschaut. Aber es heißt LastAlarm. Also gehe ich davon aus daß er das wirklich nur setzen soll wenn der letzte Alarm fest steht.
Sinn der Schleife ist offenbar den LastAlarm raus zu finden. Dazu müssen alle Alarme durchgegangen werden. Aber den tatsächlichen LastAlarm kennst Du dich bestimmt erst nach dem letzten Schleifendurchlauf und erst dann musst Du ihn setzen. Oder?
Genau. Das notify soll bei einem event von dem alexa Device hin gehen und alle wecker prüfen. Sobald es alle wecker durch gegangen ist, soll es LastAlarm setzen. Ging bisher auch immer.
Dachte eigentlich, so wie ich das geschrieben habe, dass es nicht jede Runde sondern nur am ende einmal setzt.
Also wie dem auch sei, das reading wird auch gesetzt. Nur das doif triggert nicht mehr darauf.
Wenn Deine Formatierung stimmt (bin zu faul Klammern zu zählen) dann ist der setreading Befehl innerhalb der foreach Schleife.
Jo, hab ich auch gesehen. Das wäre ne Performance Sache. Allerdings ist die Frage, warum das doif auf einmal nicht mehr reagiert.
LastAlarm wird auf die korrekte Uhrzeit gesetzt. Aber doif schnappt sich die Zeit nicht mehr. Wenn ich manuell setreading gerät Reading Zeit mache, geht es sofort auch in das doif über. So war es bis vor ein paar Tagen auch mit dem notify. Hatte es echt lange im Einsatz und habe es geliebt :)
Zitat von: 87insane am 14 April 2019, 12:40:06
Jo, hab ich auch gesehen. Das wäre ne Performance Sache. Allerdings ist die Frage, warum das doif auf einmal nicht mehr reagiert.
LastAlarm wird auf die korrekte Uhrzeit gesetzt. Aber doif schnappt sich die Zeit nicht mehr. Wenn ich manuell setreading gerät Reading Zeit mache, geht es sofort auch in das doif über. So war es bis vor ein paar Tagen auch mit dem notify. Hatte es echt lange im Einsatz und habe es geliebt :)
Mach das Notify erstmal stimmig und dann schauen wir weiter.
Was heist denn stimmig? Ob das nun jede Runde oder nur einmal gesetzt wird hat bisher ja auch keine Rolle gespielt.
Weis auch nicht aus dem kopf ob die variablen auserhalb der schleife noch laufen. Wenn ja gehört das ja nur eine klammer weiter runter. Aber das ist für mich gerade echt neben Sache.
Werde es am pc direkt anpassen aber das klärt leider noch nicht die frage. So wie es scheint, hast du dazu aber schon eine Idee. :)
Hatte in einem thread aus 2014 gelesen das aus einem notify heraus ein setreading kein event erzeugt. Das ist vermutlich eine veraltete Info, da es ja ging. Wurde an dem Konstrukt ggf. Ein Update durchgeführt von einem von euch? Ich mache immer brav fhem updates aber es zeigt sich mal wieder, das ich das besser nicht machen sollte. Never Change a Running System^^
Gesendet von meinem LG-H850 mit Tapatalk
Eine direkte Idee noch nicht. Meine Meinung ist aber immer erst einmal das offensichtliche gerade rücken auch wenn es eventuell nichts direktes mit dem Problem zu tun hat.
Woher weißt Du es kein Event kommt? Hast du zur Auslösezeit den Eventmonitor offen gehabt?
Jap ... Habe (was man hier nicht sieht) mit dem Kollegen von oben schon diverse PNs geschrieben und er hatte auch so seine Ideen. Daraus die Essens hatte ich dann hier veröffentlicht für die nach Welt.
Gesendet von meinem LG-H850 mit Tapatalk
readingsSingleUpdate( $defs{$NAME}, 'LastAlarm', $lastalarmalexa,1);
Statt dem setreading bitte einmal das testen. Ausserhalb der Schleife. In der Hoffnung daß der Wert von lastalarmalexa dann auch passt.
Teste ich sobald ein pc in der nähe ist. Die werte an sich bzw das Ergebnis hat immer gepasst. Wenn dein Vorschlag wieder ein event erzeugt, gehts sicher wieder.
Nach wie vor frage ich mich, warum es auf einmal nicht mehr geht. An notify wurde laut Changelog ja auch nichts mehr groß verändert. An setreading soweit ich dazu was gefunden habe, auch nicht mehr. Komisch, komisch
Gesendet von meinem LG-H850 mit Tapatalk
Also das setreading hab ich mal über das handy weiter nach unten gesetzt. Das klappt auch und ist enorm schneller.
Im Event Monitor sehe ich wie LastAlarm gesetzt wird. Das doif nimmt die Zeit aber erst wenn ich in dem doif auf DEF klicke und danach auf speichern. So als würde man es eben frisch anlegen. Wenn ich einen anderen wecker stelle, übernimmt das doif dies nicht. Erst wieder wenn DEF+speichern.
Die andere Variante würde ich lieber am pc testen. Mein handy ist dafür nicht geeignet. Da aber anscheinend wieder ein event kommt, ist das ja schon mal gut.
Gesendet von meinem LG-H850 mit Tapatalk
Meine erste Vermutung.
Im Millisekunden Takt feuert das setreading. Dies löst Events aus die eventuell zu schnell hintereinander kommen.
Jetzt muss man schauen warum das DOIF nicht reagiert.
([ECHO_123:"LastAlarm"] and [?ECHO_123:LastAlarm] != 0)
Ich weiß nicht hundertprozentig in das so stimmt. Das erste soll auf das Event von LastAlarm reagieren und das zweite dann nur abgefragt werden.
Zitat von: CoolTux am 14 April 2019, 16:38:21
([ECHO_123:"LastAlarm"] and [?ECHO_123:LastAlarm] != 0)
Ich weiß nicht hundertprozentig in das so stimmt. Das erste soll auf das Event von LastAlarm reagieren und das zweite dann nur abgefragt werden.
Hat locker 5 monate so geklappt.
Das erste soll reagieren wenn in dem Alarm Reading etwas passiert. Das zweite soll nur verhindern das es ausgeführt wird wenn 0 drin ist. Siehe notify... So stelle ich das quasi ab wenn zb Sonntag kein wecker an ist und man länger im dunklen schlafen will.
Kann es aber als test, genau wie das andere weiter oben einbauen.
Gesendet von meinem LG-H850 mit Tapatalk
Guten Morgen zusammen,
leider kam ich erst sehr spät zur weiteren Bearbeitung. Anbei das Ergebnis.....
Das notify wertet die Zeit des letzten Weckers aus. Dies klappt auch sauber. Das Reading LastAlarm wird gesetzt.
Leider ist das Verhalten des DOIFs aber noch gleich (schlecht).
Anbei mal was ich so gesammelt habe....
1. Wecker gesetzt (via App oder lokal mit der Sprache an der Alexa)
2. Warten bis FHEM - Alexa das mitbekommen hat und durch das notify das Reading geschrieben wird
EventMonitor - Auswertung letzter Wecker:
2019-04-17 10:34:39 echodevice ECHO_123 alarm_02_originalTime: 18:35:00.000
2019-04-17 10:34:39 echodevice ECHO_123 alarm_02_status: on
2019-04-17 10:34:39 echodevice ECHO_123 alarm_count: 2
2019-04-17 10:34:39 echodevice ECHO_123 LastAlarm: 18:35
Hier sieht man auch, dass das Reading gesetzt wurde. Danach schaue ich im DOIF und sehe weiterhin nichts.
Klicke ich auf DEF und danach auf modify im DOIF, springt die Zeit direkt auf die, die in LastAlarm steht.
Leider ändert es auch nichts, wenn ich das via "readingsSingleUpdate( $defs{$NAME}, 'LastAlarm', $lastalarmalexa,1);"
versuche. Das Verhalten von DOIF bleibt gleich.
So wie ich das sehe, wird ein EVENT erzeugt, welches auch die Zeit zeigt, welche es sein sollte.
Komme hier nicht mehr weiter. Ich verstehe es einfach nicht....
Hab noch einen Fehler entdeckt bzw. das notify ein wenig schöner gemacht:
(ECHO_90F00818720600GX:alarm_.._status:.(on|off)) {
my $k = "0";
my $alarmoff = "0";
my $schleifennr = "1";
my $lastalarmalexa = "0";
#Log 1, "VOR SCHLEIFE lastalarmalexa: $lastalarmalexa";
foreach $k (1..ReadingsVal("$NAME", "AlarmCount", ""))
{
$schleifennr = sprintf("%02d", $k);
my $wecker = ReadingsVal("$NAME", "alarm_".$schleifennr."_originalTime" ,"0");
$wecker =~ s/:00.000$//;
#Log 1, "IN SCHLEIFE lastalarmalexa: $lastalarmalexa";
#Log 1, "IN SCHLEIFE schleifennr: $schleifennr wecker: $wecker lastalarmalexa: $lastalarmalexa";
if (ReadingsVal("$NAME", "alarm_".$schleifennr."_status", "") eq "on" && "$wecker" gt "$lastalarmalexa")
{
$lastalarmalexa = $wecker;
#Log 1, "GEFUNDEN lastalarmalexa: $lastalarmalexa";
}
elsif (ReadingsVal("$NAME", "alarm_".$schleifennr."_status", "") eq "off")
{
$alarmoff = $alarmoff + 1;
if (sprintf("%02d", $alarmoff) eq sprintf("%02d", ReadingsVal("$NAME", "AlarmCount", "")))
{
$lastalarmalexa = "keiner";
#Log 1, "KEIN lastalarmalexa: $lastalarmalexa";
}
}
}
fhem("setreading $NAME LastAlarm $lastalarmalexa")
}
So ist es etwas schneller und die Prüfung auf alle Wecker = off klappt etwas schneller.
Es wird also nur einmal am Ende das Reading gesetzt. Ein Event wird wie oben im Beitrag erzeugt. DOIF interessiert es weiterhin nicht mehr.
PS: Ich weiß das am Ende das sprintf nicht nötig ist. War nur zum testen....
Dann solltest Du bitte einmal ein list vom aktuellen DOIF zeigen.
Ist das gleiche wie auf Seite 1.
Wollte es kürzen aber hatte noch keine zündende Idee. Problem ist nach der Umstellung vom notify, bekomme ich im DOIF immer wenn kein Wecker gesetzt ist immer:
error: Wrong timespec : either HH:MM:SS or {perlcode}
- Logisch da es keine Zeit ist. Ich würde das DOIF aber nur dann auch ausführen wollen, wenn im Reading LastAlarm NICHT "keiner" steht und eine Uhrzeit gesetzt ist.
Anbei der Code vom DOIF:
defmod di_letzter_wecker_rollos DOIF ([["ECHO_123:LastAlarm"]] and ["ECHO_123:LastAlarm"] ne "keiner")\
(set sz_rollo pct 0)\
DOELSEIF ([00:15])
Anbei aber nochmal ein LIST vom DOIF nachdem ein Wecker gesetzt wurde:
Internals:
CFGFN ./FHEM/Tasmota.cfg
DEF ([["ECHO_123:LastAlarm"]] and ["ECHO_123:LastAlarm"] ne "keiner")
(set sz_rollo pct 0)
DOELSEIF ([00:15])
MODEL FHEM
NAME di_letzter_wecker_rollos
NR 103
NTFY_ORDER 50-di_letzter_wecker_rollos
STATE initialized
TYPE DOIF
VERSION 18890 2019-03-13 18:56:41
READINGS:
2019-04-17 12:43:10 cmd 0
2019-04-17 12:43:10 mode enabled
2019-04-17 12:43:10 state initialized
2019-04-17 12:43:10 timer_01_c01 error: Wrong timespec : either HH:MM:SS or {perlcode}
2019-04-17 12:43:10 timer_02_c02 18.04.2019 00:15:00
Regex:
accu:
cond:
:
0:
"ECHO_123:LastAlarm" ECHO_123:LastAlarm
attr:
cmdState:
waitdel:
condition:
0 ::DOIF_time_once($hash,0,$wday) and ::EventDoIf('ECHO_123',$hash,'LastAlarm',0) ne "keiner"
1 ::DOIF_time_once($hash,1,$wday)
days:
devices:
do:
0:
0 set sz_rollo pct 0
1:
0
2:
helper:
globalinit 1
last_timer 2
sleeptimer -1
intervalfunc:
itimer:
localtime:
1 1555539300
realtime:
1 00:15:00
time:
0 ["ECHO_123:LastAlarm"]
1 00:15:00
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
triggertime:
1555539300:
localtime 1555539300
hash:
uiState:
uiTable:
Dann würde ich dafür einen neuen Thread im DOIF Bereich auf machen. Damian und die anderen können Dir da bestimmt helfen.
Werde ich das mal tun... Dachte das ggf. auch hier einer rein schaut. Danke Dir!
Weiter hier:
https://forum.fhem.de/index.php/topic,99712.0.html (https://forum.fhem.de/index.php/topic,99712.0.html)