Hi,
nach meinem persönlichen Empfinden müsste diese Syntax korrekt sein:
define DF_WatchOW_RE_TEMP_Ankleide DOIF (["RE_TEMP_Ankleide:temperature"]) (set remotebot message seit [$DEVICE:temperature:sec] sekunden keine Temperaturwerte mehr von $DEVICE!!!);
leider kommt beim Absenden der Fehler
DF_WatchOW_RE_TEMP_Ankleide DOIF: Wrong timespec "RE_TEMP_Ankleide:temperature": either HH:MM:SS or {perlcode}: "RE_TEMP_Ankleide:temperature"
Was mache ich falsch?
Grüße
Stephan
(["RE_TEMP_Ankleide:temperature"])
erklär mal bitte die Bedingung und was triggern soll.
Gruß Michael
Hallo Stephan,
die Fehlermeldung ist völlig korrekt -> (["RE_TEMP_Ankleide:temperature"]) ist keine Zeit!
Lies dir doch die Folge mal durch:
DOIF (["RE_TEMP_Ankleide:temperature"]) -> tue etwas wenn 24° ? Da könnte hin kleiner als oder größer als oder ist gleich.
Entweder steht da eine Zeit die eintritt oder eine Bedingung die wahr wird.
Gruß Otto
Hi!
Zitat von: abc2006 am 18 Januar 2017, 13:37:03
define DF_WatchOW_RE_TEMP_Ankleide DOIF (["RE_TEMP_Ankleide:temperature"])...
Was mache ich falsch?
Du bietest DOIF in diesem Falle z.B. keinen Temperaturvergleich an (<, >, =).
Hey,
ich habe oneWireSensoren, und die möchte ich überwachen. Dazu habe ich ein DOIF, welches alle 60 Sekunden von dem Update der temperatur getriggert werden soll: (ja, ich weiss, dass das ein anderer Sensor ist, die Events sind gleich:
2017-01-18 13:48:33.760 dummy RE_TEMP_VorlaufHK temperature: 31
2017-01-18 13:48:33.780 dummy RE_TEMP_VorlaufHK T: 31 °C
Wenn dieses Update ausbleibt (attr wait 70) möchte ich alarmiert/informiert werden.
Versucht hatte ich es schon mit ([RE_TEMP_Ankleide:temperature]), aber das triggert auf beide Events.
Das wiederum könnte ich mit einem event-on-change-reading einschränken...
Alternativ wollte ich gerne aus der Commandref folgendes verwenden:
Zitat["FS:temp"] triggert auf alle Devices, die "FS" im Namen und "temp" im Event beinhalten
PS: @otto:
Ich möchte lediglich wissen, ob updates kommen... welche Temperatur ist mir egal.
ebenfalls aus der commandref
Zitatdefine di_all_events DOIF ([""]) ({Log 3,"Events from device $DEVICE:$EVENTS"})
Grüße
Stephan
Entsprechend der DOIF-Doku
Zitat["FS:temp"] triggert auf alle Devices, die "FS" im Namen und "temp" im Event beinhalten
sollte es triggern.
Ich denke, deine DOIF-Version ist nicht aktuell.
Die aktuelle ist diese:
98_DOIF.pm 12961 2017-01-04 22:23:57Z Damian
Zitat von: kumue am 18 Januar 2017, 13:54:27
Entsprechend der DOIF-Doku sollte es triggern.
Ich denke, deine DOIF-Version ist nicht aktuell.
Die aktuelle ist diese:
98_DOIF.pm 12961 2017-01-04 22:23:57Z Damian
Doch, DOIF ist aktuell:
File Rev Last Change
fhem.pl 9893 2015-11-15 08:43:05Z rudolfkoenig
98_autocreate.pm 11984 2016-08-19 12:47:50Z rudolfkoenig
98_DOIF.pm 12961 2017-01-04 22:23:57Z Damian
98_dummy.pm 12700 2016-12-02 16:49:42Z rudolfkoenig
91_eventTypes.pm 11984 2016-08-19 12:47:50Z rudolfkoenig
01_FHEMWEB.pm 13128 2017-01-17 21:40:09Z rudolfkoenig
92_FileLog.pm 13069 2017-01-14 20:25:15Z rudolfkoenig
98_help.pm 11992 2016-08-19 18:18:00Z betateilchen
91_notify.pm 11984 2016-08-19 12:47:50Z rudolfkoenig
11_OWDevice.pm 13114 2017-01-16 19:25:59Z neubert
10_OWServer.pm 13114 2017-01-16 19:25:59Z neubert
98_PID20.pm 10722 2016-02-04 17:12:18Z john99sr
99_SUNRISE_EL.pm 12485 2016-11-01 15:18:51Z rudolfkoenig
98_telnet.pm 11984 2016-08-19 12:47:50Z rudolfkoenig
98_update.pm 12801 2016-12-17 16:52:31Z rudolfkoenig
99_Utils.pm 11984 2016-08-19 12:47:50Z rudolfkoenig
sehe ich auch so.
Ansonsten schau dir mal das Attribut checkReadingEvent an. Dann kannst du die Bedingung auch ohne Anführungszeichen nutzen
Gruß Michael
Zitat von: l2r am 18 Januar 2017, 13:57:55
sehe ich auch so.
wie?
Zitat von: l2r am 18 Januar 2017, 13:57:55
Ansonsten schau dir mal das Attribut checkReadingEvent an. Dann kannst du die Bedingung auch ohne Anführungszeichen nutzen
Es geht nicht ums funktionieren: Dieses DOIF ist bei mir in Betrieb und funktioniert:
Internals:
DEF (["RE_TEMP_VorlaufHK:temperature"])(set remotebot message seit [$DEVICE:temperature:sec] sekunden keine Temperaturwerte mehr von $DEVICE!!!)
NAME DF_WatchOW
NR 683
NTFY_ORDER 50-DF_WatchOW
STATE cmd_1
TYPE DOIF
Readings:
2017-01-18 14:01:14 Device RE_TEMP_VorlaufHK
2017-01-18 14:01:14 cmd 1
2017-01-18 14:01:14 cmd_event RE_TEMP_VorlaufHK
2017-01-18 14:01:14 cmd_nr 1
2017-01-18 14:01:14 matched_event_c1_1 temperature: 30.875
2017-01-18 14:01:14 state cmd_1
Condition:
0 EventDoIf('RE_TEMP_VorlaufHK',$hash,'temperature',0)
Devices:
Do:
0:
0 set remotebot message seit [$DEVICE:temperature:sec] sekunden keine Temperaturwerte mehr von $DEVICE!!!
Helper:
event temperature: 30.875
globalinit 1
last_timer 0
sleeptimer -1
timerdev RE_TEMP_VorlaufHK
timerevent temperature: 30.875
triggerDev RE_TEMP_VorlaufHK
timerevents:
temperature: 30.875
timereventsState:
temperature: 30.875
triggerEvents:
temperature: 30.875
triggerEventsState:
temperature: 30.875
Internals:
Itimer:
Readings:
Regexp:
0:
0 RE_TEMP_VorlaufHK:temperature
All:
0 RE_TEMP_VorlaufHK:temperature
State:
Trigger:
Attributes:
do always
room Ueberwachung,_doif
Aber beim Anlegen durch eintippen im mainInput erhalte ich den o.a. Fehler ...
Kann den Fehler leider nicht nachstellen.
define DF_WatchOW_RE_TEMP_Ankleide DOIF (["RE_TEMP_Ankleide:temperature"]) (set remotebot message seit [$DEVICE:temperature:sec] sekunden keine Temperaturwerte mehr von $DEVICE!!!)
in der Console eingegeben.. keine FM erhalten
Zitat von: kumue am 18 Januar 2017, 14:58:53
in der Console eingegeben.. keine FM erhalten
über telnet? Oder über die Eingabezeile der Webseite?
Danke!
Stephan
über telnet.
Habe es eben über die GUI getan, auch ohne FM.
Das hilft mir zwar nicht weiter - aber Danke für die Mühe 8)
Grüße
Stephan
Zitat von: abc2006 am 18 Januar 2017, 15:46:47
Das hilft mir zwar nicht weiter - aber Danke für die Mühe 8)
Grüße
Stephan
Hallo Stephan,
ok ich habe es verstanden, ich bilde mir ein, dass dies früher nicht ging. Aber ja, jetzt geht es.
Ich habe ein DOIF mit einem meiner Sensoren genauso definiert, ohne Fehler.
Was verstehst Du eigentlich unter mainInput?
Gruß Otto
Es gibt das attribut mainInputLength, dass die Länge des mainInput festlegt - festlegen soll. Praktisch habe ich keine veränderung gespürt - vielleicht bin ich auf der falschen Fährte.
Um aber deine Frage zu beantworten, so wie ich die commandref verstehe, ist das die Eingabezeile, die auf der FHEM-Webseite jeweils ganz oben erscheint.
Grüße
Stephan
Zitat von: abc2006 am 19 Januar 2017, 12:24:01
Es gibt das attribut mainInputLength, dass die Länge des mainInput festlegt - festlegen soll. Praktisch habe ich keine veränderung gespürt - vielleicht bin ich auf der falschen Fährte.
Hi,
hatte den Begriff bisher nie gehört / gesehen. Ich dachte mir genau das - wollte aber sicherheitshalber mal fragen :)
Gruß Otto