Beim starten von fhem kein notify für ein bestimmtes READING

Begonnen von lewej, 01 Oktober 2018, 19:53:26

Vorheriges Thema - Nächstes Thema

lewej

Hallo zusammen,

ich habe folgendes notify:

define RFIDTOLOXONE notify wemosrfid*.*:(uid.*|name*.*) {LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1")}

Jetzt würde ich gerne, wenn FHEM Startet den initialen notify für diese beiden Reading unterbinden.
Hat jemand einen Tipp?

Gruß
lewej

Ellert


lewej

Zitat von: Ellert am 01 Oktober 2018, 23:23:05
Du könntest uptime als Bedingung nutzen, https://commandref.fhem.de/#uptime

Also ich habe folgenden def im notify:

wemosrfid*.*:(uid.*|name*.*) { if (ReadingsVal("sysmon","fhemuptime","") > 400) { fhem(LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1"))}}

Aber egal ob die Zeit unter 400 sekunden ist, das notify wird immer ausgeführt.

Hat jemand eine Idee?

Gruß



Ellert


lewej

Zitat von: Ellert am 13 Oktober 2018, 17:46:29
Ich dachte eher an
if (fhem("uptime raw") > 400)) {...}

Wenn ich das so mache, bekomme ich einen Syntax Fehler:

wemosrfid*.*:(uid.*|name*.*) { if (fhem("uptime raw") > 400 )) { fhem(LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1"))}}

Fehler:

syntax error at (eval 247543) line 1, near ")) "
syntax error at (eval 247543) line 1, near "}}"

Byte09

#5
Zitat von: lewej am 14 Oktober 2018, 09:44:56
Wenn ich das so mache, bekomme ich einen Syntax Fehler:

wemosrfid*.*:(uid.*|name*.*) { if (fhem("uptime raw") > 400 )) { fhem(LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1"))}}

Fehler:

syntax error at (eval 247543) line 1, near ")) "
syntax error at (eval 247543) line 1, near "}}"


edit: sorry , war unsinn

edit2: lag ich ja doch richtig  ;)

gruss Byte09

lewej

Damit geht es, war eine Klammer zuviel:

wemosrfid*.*:(uid.*|name*.*) {if (fhem("uptime raw") > 120 ) { fhem(LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1"))}}


lewej

Zitat von: lewej am 14 Oktober 2018, 10:10:41
Damit geht es, war eine Klammer zuviel:

wemosrfid*.*:(uid.*|name*.*) {if (fhem("uptime raw") > 120 ) { fhem(LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1"))}}

Der obere Befehl geht, jetzt wollte ich ins IF folgendes eintragen:

wemosrfid*.*:(uid.*|name*.*) {if (fhem("uptime raw") > 120 && (fhem(ReadingsVal("wemosrfideingang","uptime",0)>120) { fhem(LOXONE_RFID("loxone","$NAME","$EVTPART0","$EVTPART1"))}}

Was mache ich falsch?

Gruß

Ellert


lewej

Zitat von: Ellert am 28 Oktober 2018, 12:54:15
Du verwendest eine Perl-Funktion im FHEM-Befehlskontext, siehe https://commandref.fhem.de/commandref_DE.html#command

Hi,

Wie kann ich auf uptime und ob gerade rereadcfg ausgeführt worden ist nur im fhem
Kontext zu greifen, ich finde dazu nichts.

Gruss

Ellert

Du führst die Befehle aus und reagierst auf Events, bzw. wertest die Rückgabewerte aus.