HM-SEC-KEY Steuerung

Begonnen von no_Legend, 03 Juli 2015, 21:26:27

Vorheriges Thema - Nächstes Thema

no_Legend

Hallo Leute,

ich haben einen HM-SEC-KEY-S und an der gleichen Tür einen HM-SEC-SC-2.

Momentan benutze ich folgenden Code um die Haustür alle 30 Minuten zu schließen:
DOIF ([1OG.Haustuer.Kontakt] eq "closed" and [1OG.Haustuer.Schloss] eq "unlocked" and [1OG.Haustuer.Schloss.Automatik] eq "on")
(set 1OG.Haustuer.Schloss lock, set pushmsg msg '1OG.Haustuer.Schloss' 'LOCKED Automatik 30m' ''0'')

DOELSEIF
([1OG.Haustuer.Kontakt] eq "closed" and [1OG.Haustuer.Schloss] eq "locked (uncertain)" and [1OG.Haustuer.Schloss.Automatik] eq "on")
(set 1OG.Haustuer.Schloss lock, set pushmsg msg '1OG.Haustuer.Schloss' 'Türstatus locked (uncertain)' ''0'')

DOELSEIF
([1OG.Haustuer.Kontakt] eq "closed" and [1OG.Haustuer.Schloss] eq "unlocked (uncertain)" and [1OG.Haustuer.Schloss.Automatik] eq "on")
(set 1OG.Haustuer.Schloss lock, set pushmsg msg '1OG.Haustuer.Schloss' 'Türstatus unlocked (uncertain)' ''0'')

DOELSEIF
([1OG.Haustuer.Kontakt] eq "closed" and [1OG.Haustuer.Schloss] eq "NACK" and [1OG.Haustuer.Schloss.Automatik] eq "on")
(set 1OG.Haustuer.Schloss lock, set pushmsg msg '1OG.Haustuer.Schloss' 'Türstatus NACK' ''0'')


Dazu noch folgende Attribute:
wait 1800:180:180:180
do always

Nun würde ich das gerne ein Wenig ändern, da mir das verhalten wann abgeschlossen wird nicht gefällt.
So wird die Tür geschlossen, dann wieder nach 20 min aufgemacht und die Zeit läuft nicht wieder von Vorne beginnend.
Also schließt die Tür dann nach 10 Minuten zum Beispiel ab. Ich hätte gerne das die 30minuten wieder von vorne beginnen.

Dazu würde ich gerne in einen Dummy die Uhrzeit HH:MM:SS schreiben.
Hier für habe ich schon folgenden Dummy angelegt: 1OG.Haustuer.Schloss.Time_closed

Hier bekomme ich es aber nicht hin mit einem einfachen Notify die Zeit in den Dummy zu schreiben.
Ich habe TimeNow probiert aber alle meine Versuche sind gescheitert.

Kann mir das mit der Zeit in den Dummy schreiben jemand erklären?
Ich denke den anderen Code bekomme ich angepasst.
Gibt es auch eine Möglichkeit die Zeit direkt in das DOIF zu packen?

Danke und Gruß Robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

MarcelK

Schau Dir mal das Watchdog Modul an, das macht bereits genau das was Du machen willst.

Gruss Marcel

no_Legend

Ich hab mir mal den watchdog angeschaut. Glaube nicht dass er das kann was ich möchte.

Eventuell habe ich nicht falsch ausgedrückt.

Ich würde gern folgendes machen:
IstZeit beim schließen der Tür +X Minuten in eine dummy schreiben.

Kann mir dabei jemand helfen?
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

Wuppi68

noty auf Kontakt closed mit IF (automatik = on)  (define TürAbschliessen at +30:00 hier machst Du die Tür zu)

das Define macht noch eine FM wenn es "nachdefiniert" wird, dazu gibt es aber auch was im Forum
FHEM unter Proxmox als VM

MarcelK


Zitat von: no_Legend am 05 Juli 2015, 00:38:09
Ich würde gern folgendes machen:
IstZeit beim schließen der Tür +X Minuten in eine dummy schreiben.

Kann mir dabei jemand helfen?

Sorry,  aber wozu? Nur um den Watchdog nachzuimplementieren? Er macht genau das was Du willst, nämlich nach einem Event eine Zeit t zu warten und dann eine Aktion auszulösen. Kommt nochmal ein Event wird wieder von vorn gezählt. Und er kann die Zählung sogar abbrechen wenn für das Schloss ein Close Event registriert wurde. Das löst doch exakt Deinen Use-Case?

no_Legend

@marcel ich muss nicht nur den Türstatus abfragen. Ich hab noch ein paar dummies die auch geprüft werden sollen.

Den watchdog habe ich so verstanden, das er nur auf ein Event reagiert.
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

frank

ZitatDen watchdog habe ich so verstanden, das er nur auf ein Event reagiert.
das ist leider so. um das zu umschiffen, sammel ich alle events mit einem notify ein und setze damit entsprechend ein eigenes reading, dessen events dann der watchdog überwacht.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

no_Legend

Stimmt so könnte ich es auch machen. Das doif einfach den dummy schalten lassen mit den verschiedenen Statisten abgefragt werden und dann den watchdog den Befehl lock ans schloss schicken lassen.
Gibt der watchdog eigentlichen den die Zeit aus wie lange noch runter gezählt wird bis zum senden des Befehls?
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.