Hallo
Ich möchte das sich die Keymatic nach 30 min Abwesenheit automatisch verschließt.
hier mal mein Code define WohnungstuerVerriegeln at +*00:30:00 {fhem ("set FL.Tuerschloss lock") IF (Value("Daniel") eq "off" && "%" ne "unlocked")}
dort bekomme ich aber folgenden fehler im Logfile Unrecognized character \xE2; marked by <-- HERE after {fhem (<-- HERE near column 8 at (eval 75503) line 1.
desweitern wird dies jede halbestunde ausgeführt egal ob ich zuhause bin oder nicht.
Hatte es auch schon mit einem notify versucht aber da bekomme ich dann den Fehler return value: Unknown command (sleep, try help.
hier einmal der Code
define WohnungstuerVeriegeln notify Daniel:off (sleep 300,set FL.Tuerschloss lock)
ich hoffe mir kann da jemand helfen
Zitat von: kasslerks am 12 August 2014, 01:59:25
desweitern wird dies jede halbestunde ausgeführt egal ob ich zuhause bin oder nicht.
das ist der Sinn des at den du mit
at +*00:30:00
definiert hast. du könntest den at disablen (attr WohnungstuerVerriegeln disabled 1)bei Anwesenheit (notify auf dein Daniel-Prsence) und
wenn "daniel" dann wieder abwesend ist den at wieder aktivieren (selbes oder extra notify auf dein Daniel-Prsence, attr WohnungstuerVerriegeln disabled 0).
der Syntaxfehler ist bestimmt das "%"
Zitat von: kasslerks am 12 August 2014, 01:59:25
...Ich möchte das sich die Keymatic nach 30 min Abwesenheit automatisch verschließt.
hier mal mein Code define WohnungstuerVerriegeln at +*00:30:00 {fhem ("set FL.Tuerschloss lock") IF (Value("Daniel") eq "off" && "%" ne "unlocked")}
...
Ich werfe hier mal als Idee "watchdog" ein. Sinngemäß:
define w_Abwesenheit watchdog Daniel:off 00:30:00 Daniel:.* set FL.Tuerschloss lock ;; trigger w_Abwesenheit .
@chris1284
Ich dachte das würde dann nur aktiv werden wenn "Daniel off" ist. Was genau das "%" soll kann ich auch nicht sagen habe das bei meintechblog gefunden und nur abgeändert. Aber auch wenn ich es weg lasse bleibt es bei dem fehler.
@Hollo
Die Variante mit dem watchdog hat gekappt.
Ich danke euch beiden für die Hilfe
Hallo!
Ich verwende eine etwas abgeänderte Watchdogvariante
"define tuerverriegeln watchdog Tuerueberwachung:closed 00:01:00 Tuerueberwachung:closed set Tuere lock ;; trigger tuerverriegeln ."
Ich habe einen Schalter an der Tür "Tuerueberwachung" und eben die Keymatic "Tuere". Funktioniert, aber halt auch, wenn die Türe noch offen ist. Was mache ich da falsch?
Zitat von: bastelwastel am 21 August 2014, 09:26:45
...Funktioniert, aber halt auch, wenn die Türe noch offen ist. Was mache ich da falsch?
WAS funktioniert damit?
Ich verstehe den Sinn darin nicht...
wenn die Tür nach dem Schliessen nicht innerhalb 1 Minute erneut geschlossen wird, wird sie verriegelt !?
Erstmal grundsätzlich: als Anfänger sollte man sich erstmal einlesen und selber schlau machen!!
Ich bin auch Anfänger, aber die meisten meiner Fagen bekomme ich über die Doku (z.B. Commandref) oder Wiki beantwortet.
Dann zu Deinem konkreten Problem. Ich schreibe (überlege) mir immer erstmal in Worten, was ich machen will:
Wenn Daniel 30 Min. weg ist, dann soll die Tür verriegeln, wenn sie nicht schon verriegelt ist
dann suche ich mir den passenden Code dazu:
define TürZuAutomatik watchdog Daniel:off 00:30:00 Daniel:on {if (ReadingsVal("FL.Tuerschloss", "state", "") ne "lock") {fhem "set FL.Tuerschloss lock" }}
Was macht diese genau?
Erst wird überprüft, ob Daniel off (also weg) ist, wenn dies zutrifft, startet ein Timer mit 30 Minuten. Ist Daniel inzwischen nicht wieder on (zurück), wird der nachfolgende Teil ausgeführt.
Dieser überprüft ertsmal, ob die Tür verrieglet ist, wenn nicht, dann wird der Verriegelbefehl gesendet.
Alle Angaben ohne Gewähr
Zitat von: bastelwastel am 21 August 2014, 09:26:45
Hallo!
Ich verwende eine etwas abgeänderte Watchdogvariante
"define tuerverriegeln watchdog Tuerueberwachung:closed 00:01:00 Tuerueberwachung:closed set Tuere lock ;; trigger tuerverriegeln ."
Ich habe einen Schalter an der Tür "Tuerueberwachung" und eben die Keymatic "Tuere". Funktioniert, aber halt auch, wenn die Türe noch offen ist. Was mache ich da falsch?
Zweite Regex müsste dann ja wohl open heißen und was macht der trigger auf den selben?
define tuerverriegeln watchdog Tuerueberwachung:closed 00:01:00 Tuerueberwachung:open set Tuere lock
Ich habe das Problem, daß die Türe auch dann verriegelt wird, wenn diese in der Zwischenzeit geöffnet wurde.
Die Zeile lautet inzwischen
define tuerverriegeln watchdog Tuerueberwachung:open 00:01:00 Tuerueberwachung:closed set Tuere lock ;; trigger tuerverriegeln .
Lesen bildet: http://fhem.de/commandref.html#watchdog (http://fhem.de/commandref.html#watchdog)
Ich habe Dir doch schon die Lösung geschrieben?