Hallo,
ich möchte mit dem Timer schalten wenn er abgelaufen ist.
<div data-type="push" data-device="erinnerung" data-set-on="on-for-timer 100" ></div>
Jedoch schaltet er beim aktivieren und nach Ablauf der 100 Sekunden passiert nichts!
Internals:
CFGFN
NAME erinnerung
NR 20357
STATE on-for-timer 100
TYPE dummy
Readings:
2017-01-31 12:47:48 on 0
2017-01-31 12:59:54 state on-for-timer 100
Attributes:
room Erinnerungen
webCmd on:off
ok, was willst du wo mit schalten??
was mir mal so direkt auffällt:
<div> data-type="push" data-device="erinnerung" data-set-on="on-for-timer 100" </div>
so siehts besser aus...
Zitat von: automatisierer am 31 Januar 2017, 13:46:04
so siehts besser aus...
Nö.
Können Dummys überhaupt on-for-timer ?
Zitat von: automatisierer am 31 Januar 2017, 13:46:04
ok, was willst du wo mit schalten??
was mir mal so direkt auffällt:
<div> data-type="push" data-device="erinnerung" data-set-on="on-for-timer 100" </div>
so siehts besser aus...
Danke! Den > habe ich jetzt raus genommen.
Hier einmal was ich überhaupt vor habe. ;)
Ich möchte, wenn ich auf einen Button drücke, das ein fester Timer abläuft und dann den Dummy "erinnerung" auf on schaltet.
DOIF wertet das aus und spielt ein Ton ab.
Schalte ich den Dummy "erinnerung" per Hand auf On wird der Ton abgespielt. Nur klappt das nicht mit dem Timer :(
Internals:
CFGFN
DEF ([erinnerung:"on"])(set Sprachausgabe playTone 013)
NAME erinnerung_schalter
NR 20368
NTFY_ORDER 50-erinnerung_schalter
STATE cmd_1
TYPE DOIF
Readings:
2017-01-31 13:50:29 Device erinnerung
2017-01-31 13:40:15 cmd 1
2017-01-31 13:40:15 cmd_event erinnerung
2017-01-31 13:40:15 cmd_nr 1
2017-01-31 13:50:29 e_erinnerung_events on-for-timer 30
2017-01-31 13:40:15 state cmd_1
Condition:
0 EventDoIf('erinnerung',$hash,'on',1)
Devices:
0 erinnerung
all erinnerung
Do:
0:
0 set Sprachausgabe playTone 013
1:
Helper:
event on-for-timer 30
globalinit 1
last_timer 0
sleeptimer -1
timerdev erinnerung
timerevent on-for-timer 30
triggerDev erinnerung
timerevents:
on-for-timer 30
timereventsState:
state: on-for-timer 30
triggerEvents:
on-for-timer 30
triggerEventsState:
state: on-for-timer 30
Internals:
Itimer:
Readings:
Regexp:
0:
All:
State:
Trigger:
all erinnerung
Attributes:
room Erinnerungen
Zitat von: sinus61 am 31 Januar 2017, 14:00:35
Nö.
Können Dummys überhaupt on-for-timer ?
ich bin Anfänger und habe deswegen auch ein dummy genommen. Wenn es mit einem anderen data-type besser geht immer her damit.
data-type??
also das ist die falsche Herangehensweise.
ein Dummy kann nur einen Status annehmen. Der ist prinzipiel strunz doof.
Wenn du mit einem DOIF darauf reagierst, dann muss dein DOIF halt das on-for-timer (das kann auch erinnerung in 100 Sekunden heißen - ist dem DOIF egal | oder aber nur 100 - dann könntest du damit im DOIF als Zeitwert arbeiten - aber das führt erst mal zu weit, vermute ich) erkennen und dann dem entsprechend das machen was du willst. Die gewünschte Ausführung des DOIF kannst du dann entsprechend verzögern.
Aktuell triggert dein DOIF vermutlich auch schon auf das 'on' , deswegen wird der Befehl sofort ausgeführt.
den Dummy kannst du quasi auch direkt in das DOIF integrieren.
Mal ungetestet:
<div data-type="push" data-cmd="define" data-device="erinnerung_timer" data-set="at +00:02:00" data-set-on="set erinnerung on" ></div>
im Prinzip der Befehl für fhem:
define erinnerung_timer at +00:02:00 set erinnerung on
Der Timer läuft 2 Minuten und schaltet dann den dummy auf on
defmod erinnerung_timer at +00:02:00 set Sprachausgabe playTone 013
dann machs doch sofort so, kannste dir den dummy und das DOIF sparen..
Zitat von: sinus61 am 31 Januar 2017, 14:23:03
Mal ungetestet:
<div data-type="push" data-cmd="define" data-device="erinnerung_timer" data-set="at +00:02:00" data-set-on="set erinnerung on" ></div>
im Prinzip der Befehl für fhem:
define erinnerung_timer at +00:02:00 set erinnerung on
Der Timer läuft 2 Minuten und schaltet dann den dummy auf on
so habe ich es hinbekommen. Besten DANK. ;)
Gibt es noch eine Möglichkeit so etwas wie eine Statusanzeige für den Timer anzuzeigen, also das man sieht wie er runter zählt?
(Bei dem push veränderte sich der äußere Rand beim runter zählen)
<div> data-type="push" data-device="erinnerung" data-set-on="on-for-timer 100" </div>