Tür nach einer bestimmten Zeit verschließen

Begonnen von Christian72D, 07 April 2015, 04:09:28

Vorheriges Thema - Nächstes Thema

Christian72D

Ich habe bei mir im Flur einen Taster der Licht, Steckdosen und die Heizung ausschaltet.
Jetzt plane ich mit dem Keymatic die Tür zu verriegeln wenn ich die Wohnung verlasse.

Kann ich das so schalten daß die Tür 2 Minuten nach drücken des Tasters verriegelt wird?

fhainz



KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Zrrronggg!

#4
Wow, DOIF ist offenbar so beliebt, das NICHTS mehr ohne gemacht werden kann. Selbst so Butter und Brot-Sachen wie "at" gehen jetzt nur noch mit DOIF.

Im Ernst:


Zitatdefine tuerzu_spaeter notify MeinTaster:on at +00:02:00 set  Keymatic zu

Wobei "MeinTaster" der Schalter ist den du drücken willst und "set  Keymatic zu" durch das zu ersetzen ist, was deine  Keymatic tatsächlich an Kommandos braucht um zu verriegeln.



FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

KernSani


Zitat von: Zrrronggg! am 08 April 2015, 21:35:28
Selbst so Butter und Brot-Sachen wie "at" gehen jetzt nur noch mit DOIF.
Nein es gibt viele Möglichkeiten. DOIF Ist ein Beispiel, notify/at ein anderes. Ich persönlich verwende i.d.R. nur noch DOIF, da auch einfache Schaltungen dazu tendieren komplexer zu werden und da arbeite ich lieber mit DOIF. Das soll aber jeder für sich entscheiden.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Damian

#6
Zitat von: KernSani am 09 April 2015, 06:33:26
Nein es gibt viele Möglichkeiten. DOIF Ist ein Beispiel, notify/at ein anderes. Ich persönlich verwende i.d.R. nur noch DOIF, da auch einfache Schaltungen dazu tendieren komplexer zu werden und da arbeite ich lieber mit DOIF. Das soll aber jeder für sich entscheiden.

Abgesehen davon ist:

define tuerzu_spaeter notify MeinTaster:on at +00:02:00 set  Keymatic zu

kein gutes Beispiel, denn bereits ein mehrfacher Tastendruck innerhalb von 2 Minuten führt jeweils zu einer Fehlermeldung, weil at bereits definiert ist. Wollte man es mit notify und at sauber lösen, dann müsste man mit if abfragen, ob at schon bereits definiert ist oder nicht und nur im zweiten Fall at definieren. Das wird bereits den Code umfangreicher machen und man muss wegen if auf Perlebene runter.

define tuerzu_spaeter DOIF ([MeinTaster:?on]) (set Keymatic zu)
attr tuerzu_spaeter wait 120
attr tuerzu_spaeter do always


Hiermit wird man das Problem nicht haben, egal wie oft man den Taster betätigt ;)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Zrrronggg!

#7
Zitat
ZitatSelbst so Butter und Brot-Sachen wie "at" gehen jetzt nur noch mit DOIF.
Nein es gibt viele Möglichkeiten. DOIF Ist ein Beispiel, notify/at ein anderes. Ich persönlich verwende i.d.R. nur noch DOIF, da auch einfache Schaltungen dazu tendieren komplexer zu werden und da arbeite ich lieber mit DOIF. Das soll aber jeder für sich entscheiden.

Selbstverständlich gibt es viele Möglichkeiten. Das war ironisch gemaint. Ich kann sicher aus dem Stand auch noch 5-7 aufzählen. Manche davon sind ganz einfach, andern erfordern zunehmend bessere Kenntnisse komplexer Lösungsansätze.
Man kann sich auch die Hose mit einer Kneifzange zumachen.
Wer weiss, wie man Hosen sonst zumacht, kann diese Möglichkeit richtig einordnen. Wer es nicht weiss, wird eventuell annehmen, das die Kneifzange die beste Möglichkeit oder Best Praktice ist.

Mit anderen Worten: Ich würde einem Anfänger erst mal die einfachste Möglichkeit an die Hand geben.
die wäre vermutlich sogar:

define tuerzu_spaeter notify MeinTaster:on sleep 120 ;; set  Keymatic zu

Zitatkein gutes Beispiel, denn bereits ein mehrfacher Tastendruck innerhalb von 2 Minuten führt jeweils zu einer Fehlermeldung,
Ja, nur sieht man die normal nicht und sie hat keine Folgen. Diese Fehlermeldung als solche vernachlässigbar.
Die Fehlermeldung würde ausserdem nur kommen, wenn meine Beispiel funktionieren würde. Tut's aber nicht wegen eines Fehlers.  ;D

ZitatWollte man es mit notify und at sauber lösen, dann müsste man mit if abfragen, ob at schon bereits definiert ist oder nicht und nur im zweiten Fall at definieren.

Das kann man machen, muss man aber eher nicht, denn es bringt funktional keine Vorteile. Es hat nur den KOSMETISCHEN Vorteil, dass im Log eine Fehlermeldung nicht auftaucht, die KEINERLEI Folgen hat. Wenn man bedenkt wie oft man im Normalbetreib ins Log sieht hat es noch mal weniger Relevanz.

Aber okay, wenn man schon DOIF vorschlägt, warum dann nicht eben die 3 Beispielzeilen hinschreiben?
Ich finde auch diese aktuelle Mode auf Anfängerfragen wie " kann xy machen" mit "Ja" zu antworten überschaubar lustig.
Ja, zugegeben, die Fragenden sind oft faul und ungenau.

Ich versuche meistens (nicht immer) ihnen trotzdem zu helfen.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Damian

Zitat von: Zrrronggg! am 11 April 2015, 16:15:47
define tuerzu_spaeter notify MeinTaster:on sleep 120 ;; set  Keymatic zu

Aber okay, wenn man schon DOIF vorschlägt, warum dann nicht eben die 3 Beispielzeilen hinschreiben?
Ich finde auch diese aktuelle Mode auf Anfängerfragen wie " kann xy machen" mit "Ja" zu antworten überschaubar lustig.
Ja, zugegeben, die Fragenden sind oft faul und ungenau.

Ich versuche meistens (nicht immer) ihnen trotzdem zu helfen.

ja, das sehe ich auch so, daher gebe ich auch immer konkrete Hinweise. Allerdings ist der Vorschlag:

define tuerzu_spaeter notify MeinTaster:on sleep 120 ;; set  Keymatic zu

auch nur suboptimal, denn hier wird so oft, wie der Taster betätigt wird (insb. innerhalb der 2 Minuten) der Befehl "set Keymatic zu" zeitverzögert ausgelöst. Ist zwar eine Kleinigkeit, dessen sollte sich insb. der Anfänger bewusst sein.


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Zrrronggg!

Zitatdenn hier wird so oft, wie der Taster betätigt wird (insb. innerhalb der 2 Minuten) der Befehl "set Keymatic zu" zeitverzögert ausgelöst. Ist zwar eine Kleinigkeit, dessen sollte sich insb. der Anfänger bewusst sein.

Das ist zutreffend. Ist aber andererseits das, was der Threadownder erfragt hat. Nebenbedingungen hat er nicht gestellt.


Okay, zugegeben das haut jetzt fast in die selbe Kerbe wie:

"Kann man das und das machen?"
"ja"


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL