Homematic Klingelsensor sperre wenn zu oft geklingelt wird

Begonnen von ichbindas, 16 Oktober 2018, 18:25:52

Vorheriges Thema - Nächstes Thema

ichbindas

Hallo Gemeinde,

ich habe den Klingelsensor von Homematic im Einsatz (HM-Sen-DB-PCB)

Möchten abends nicht gestört werden und somit kann ich an meiner Sprechanlage manuell die Rassel abschalten. Damit ich dennoch mitbekomme, dass jemand klingelt, kommt der Klingelsensor ins Spiel.

Habe dafür ein notify eingerichtet, welches ein paar Aktionen steuert:

Auf dem TV im Wohnzimmer und Schlafzimmer soll die Meldung erscheinen, die Apple Geräte bekommen dies auch mit (ich bin zuhause ich bekomme die Info, ich bin nicht zuhause, dann interessiert mich das auch nicht) eine Lampe blinkt auch.
Wenn jetzt jemand zu oft klingelt, bekomme ich viele Meldungen die Lampe blinkt mir zu oft. Das möchte ich abfangen.


Klingelsensor:.* {
fhem("set Wohnzimmer_Receiver msg info 30 Es hat an der Haustür geklingelt");
fhem("set Schlafzimmer_Receiver msg info 30 Es hat an der Haustür geklingelt");
fhem("set Pushover msg 'Haustür' 'Es hat geklingelt' 'ipad' 1 ' '" );
if (Value ("Anwesenheit_Daniel") eq "on") {fhem "set Pushover msg 'Haustür' 'Es hat geklingelt' 'iphonedaniel' 1 ' '"};
if (Value ("Anwesenheit_Jacky") eq "on") {fhem "set Pushover msg 'Haustür' 'Es hat geklingelt' 'iphonejacky' 1 ' '"};
fhem ("set Durchgang_Lampe toggle; sleep 1; set Durchgang_Lampe toggle; sleep 1; set Durchgang_Lampe toggle; sleep 1; set Durchgang_Lampe toggle;)
}


Das ist mein bisheriger Code, der funktioniert perfekt. Ich habe jetzt eine Dummy Lampe definiert, und schalte diese auch mit dem notify:


Klingelsensor:.* {
fhem("set Wohnzimmer_Receiver msg info 30 Es hat an der Haustür geklingelt");
fhem("set Schlafzimmer_Receiver msg info 30 Es hat an der Haustür geklingelt");
fhem("set Pushover msg 'Haustür' 'Es hat geklingelt' 'ipad' 1 ' '" );
if (Value ("Anwesenheit_Daniel") eq "on") {fhem "set Pushover msg 'Haustür' 'Es hat geklingelt' 'iphonedaniel' 1 ' '"};
if (Value ("Anwesenheit_Jacky") eq "on") {fhem "set Pushover msg 'Haustür' 'Es hat geklingelt' 'iphonejacky' 1 ' '"};
if (Value ("ZuOftGeklingelt") eq "off") {fhem "set Durchgang_Lampe toggle; sleep 1; set Durchgang_Lampe toggle; sleep 1; set Durchgang_Lampe toggle; sleep 1; set Durchgang_Lampe toggle; set ZuOftGeklingelt on"};
fhem("define ZuOftGeklingelt_off at +00:00:10 set ZuOftGeklingelt off")
}


Ich bin aber nicht ganz zufrieden, denn manchmal wenn innerhalb der 10 sek noch einmal geklingelt wird, bleibt die Durchgang Lampe beim toggeln auf "on". Das finde ich nicht schön

Hat mir einer nen kleinen Tipp wie ich mein notify verbessern kann, damit dieses zuverlässiger tut als jetzt?

Würde mich über einen kleinen Schubs freuen.

Das ist noch der Code vom Dummy ZuOftGeklingelt:


defmod ZuOftGeklingelt dummy
attr ZuOftGeklingelt genericDeviceType switch
attr ZuOftGeklingelt room 10_Flur
attr ZuOftGeklingelt setList on off

peterk_de

#1
Setz mal bei dem Notify das Attribut disabledAfterTrigger auf 10 (Sekunden) oder länger. Die eigene ,,Sperre" wirfst du raus aus dem Code. Fertig - kein Dummy nötig, nach einmal Ausführen reagiert das Notify dann einfach für 10 Sekunden nicht mehr.

Noch mehr (zukünftige Erweiterungs-)Möglichkeiten würden sich ergeben, wenn du das Notify durch ein DOIF ersetzt und dort dann cmdpause setzt. So ,,entprelle" ich hier fast alle Schalter und oder auch - viel wichtiger - die Katzenklappe ;-)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

ichbindas

Ahhhh genau so wollte ich das!! Danke vielmals habe das attribut nicht gesehen... perfekt!!!


Gesendet von iPhone mit Tapatalk