DOIF anlegen scheitert: wrong timespec

Begonnen von abc2006, 18 Januar 2017, 13:37:03

Vorheriges Thema - Nächstes Thema

abc2006

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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

l2r

(["RE_TEMP_Ankleide:temperature"])

erklär mal bitte die Bedingung und was triggern soll.

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

FranzB94

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 (<, >, =)

abc2006

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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

kumue

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

abc2006

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   
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

l2r

sehe ich auch so.

Ansonsten schau dir mal das Attribut checkReadingEvent  an. Dann kannst du die Bedingung auch ohne Anführungszeichen nutzen

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

abc2006

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 ...

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

kumue

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

abc2006

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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

kumue

über telnet.
Habe es eben über die GUI getan, auch ohne FM.

abc2006

Das hilft mir zwar nicht weiter - aber Danke für die Mühe  8)

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

abc2006

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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz