Hallo,
habe es mit IPCAM und einen DOIF so eingerichtet, dass ich auf Telegram ein Bild geschickt bekomme, wenn jemand an der Haustüre klingelt.
Das IPCAM ist so eingestellt, dass es drei Bilder im Abstand von 3 Sekunden macht. Das erste Bild wird nach einer Sekunde an Telegram geschicht, das zweite nach 12 Sekunden (Falls man auf dem ersten Bild nicht erkennen kann, wer vor der Türe steht).
Das Problem ist jetzt, dass ich sehr viele Bilder geschickt bekomme, wenn jemand mehrmals die Klingel betätigt.
Wie könnte ich dies pausieren lassen, dass z.B. das DOIF nur alle z.B. 60 Sekunden reagiert.
Mit dem Attribute "Wait" würde es nicht funktionieren, da es beim erneuten klingeln trotzdem wieder aktiv wird (falls ich das richtig verstanden habe).
Hier das list vom DoIF
Internals:
DEF ([HUESensor58:"closed"]) (get Eingang_Kamera image; set teleBot send Jemand hat in N unten geklingelt; sleep 2; set teleBot sendPhoto /opt/fhem/www/webcam/Eingang_Kamera/Eingang_Kamera_snapshot_1.jpg; sleep 12; set teleBot sendPhoto /opt/fhem/www/webcam/Eingang_Kamera/Eingang_Kamera_snapshot_2.jpg)
FUUID 60cf1807-f33f-f59f-4b08-7d25f47b28612dfa
MODEL FHEM
NAME KLINGELSENSOR_FOTO_UNTEN_dofi
NOTIFYDEV global,HUESensor58
NR 147
NTFY_ORDER 50-KLINGELSENSOR_FOTO_UNTEN_dofi
STATE cmd_2
TYPE DOIF
VERSION 27740 2023-07-10 09:31:11
eventCount 7
Helper:
DBLOG:
state:
DbLog:
TIME 1708532767.98229
VALUE cmd_2
READINGS:
2024-02-21 17:26:07 Device HUESensor58
2024-02-21 17:26:07 cmd 2
2024-02-21 17:26:07 cmd_event HUESensor58
2024-02-21 17:26:07 cmd_nr 2
2024-02-21 17:26:07 e_HUESensor58_events open
2024-02-21 15:08:17 mode enabled
2024-02-21 17:26:07 state cmd_2
Regex:
accu:
bar:
barAvg:
collect:
cond:
HUESensor58:
0:
&STATE ^HUESensor58$
attr:
cmdState:
wait:
waitdel:
condition:
0 ::EventDoIf('HUESensor58',$hash,'closed',1)
do:
0:
0 get Eingang_Kamera image; set teleBot send Jemand hat in N unten geklingelt; sleep 2; set teleBot sendPhoto /opt/fhem/www/webcam/Eingang_Kamera/Eingang_Kamera_snapshot_1.jpg; sleep 12; set teleBot sendPhoto /opt/fhem/www/webcam/Eingang_Kamera/Eingang_Kamera_snapshot_2.jpg
1:
helper:
NOTIFYDEV global,HUESensor58
event open
globalinit 1
last_timer 0
sleeptimer -1
timerdev HUESensor58
timerevent open
triggerDev HUESensor58
DOIF_eventa:
cmd_nr: 2
cmd: 2
cmd_event: HUESensor58
cmd_2
DOIF_eventas:
cmd_nr: 2
cmd: 2
cmd_event: HUESensor58
state: cmd_2
bm:
DOIF_Get:
cnt 1
dmx -1000
dtot 0
dtotcnt 0
mTS 21.02. 17:32:48
max 4.1961669921875e-05
tot 4.1961669921875e-05
mAr:
HASH(0x3f307f8)
KLINGELSENSOR_FOTO_UNTEN_dofi
?
DOIF_Notify:
cnt 8
dmx -1000
dtot 0
dtotcnt 0
mTS 21.02. 17:26:07
max 0.0278429985046387
tot 0.0810933113098145
mAr:
HASH(0x3f307f8)
HASH(0x3ed1d98)
DOIF_Set:
cnt 4
dmx -1000
dtot 0
dtotcnt 0
mTS 21.02. 17:32:48
max 0.000216007232666016
tot 0.000744104385375977
mAr:
HASH(0x3f307f8)
KLINGELSENSOR_FOTO_UNTEN_dofi
?
timerevents:
open
timereventsState:
state: open
triggerEvents:
open
triggerEventsState:
state: open
internals:
readings:
trigger:
all HUESensor58
uiState:
uiTable:
Attributes:
room Alarm
Vielen Dank
Viele Grüße
Ruggy
Statt DOIF ein notify und da dann disabledAfterTrigger setzen...
Gruß, Joachim
siehe https://fhem.de/commandref_DE.html#DOIF_cmdpause
Vielen Dank für die Antworten.
Werde es erst mal mit DOIF und cmdpause versuchen.
Falls es nicht klappt mit dem notify
Gruß
Ruggy