Aktion einmalig Ausführen

Begonnen von nocomment, 03 Februar 2014, 16:38:16

Vorheriges Thema - Nächstes Thema

nocomment

Ich möchte das nach einer Zeit ein Befehl ausgeführt wird.


Wenn das Fenster offen ist (also notify) dann sende nach 300 sec eine Pushnachricht.

wenn ich "at" oder "sleep" benutze, sendet fhem alle 300 sec eine Nachricht aber leider nicht einmalig.

:/


Liebe Grüße :D


Wuppi68

Ins noty vom öffnen
Define TempPush at 00:05:00 <Dein befehl>
FHEM unter Proxmox als VM

nocomment

Ahhh ich hatte davor:

Define TempPush at +00:05:00 <Dein befehl>

Wuppi68

tja, so ist das wenn man im Zug mit dem iphone das ganze tippert ...

bei mir sieht es so aus:

define TempRollade at +00:30:00 set hm.rollade.1 off

also mit dem PLUS
FHEM unter Proxmox als VM

Puschel74

Hallo,

klar mit +
Sonst wird das at einmalig um 00:05 ausgeführt.
Es soll aber ja 5 Minuten später ausgeführt werden - so hab ich das zumindest gelesen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

hexenmeister

Wäre nicht besser nur dann eine Nachricht zu senden, wenn nach 5 Minuten das Fenster _immer_noch_offen_ ist? ;)
Das hier tut das in jedem Fall, auch wenn das Fenster längst zu ist.

brmpfl

:)
Hajo

nocomment

Ja,

es soll nach 5 Minuten eine Nachricht geschickt werden. Aber nur einmal, auch wenn das Fenster länger offen ist. Wenn das Fenster innerhalb von 5 Minuten wieder zu gemacht wird oder
nach der Nachricht zu gemacht wird soll natürlich auch keine Nachricht (mehr) gesendet werden

Habe bis jetzt:

define FensterHeizungSZOpen notify CUL_FHTTK_10b623:.*Window:.Open.* { fhem("define Nach5Minuten at +00:05:00 set iPhonePush msg 'Fenster Offen' 'Das Fenster ist seit 5 Minuten offen' '' 0 'siren' 30 3600 ")}


lg (:

hexenmeister

ZitatWenn das Fenster innerhalb von 5 Minuten wieder zu gemacht wird oder
nach der Nachricht zu gemacht wird soll natürlich auch keine Nachricht (mehr) gesendet werden

eben dies sehe ich im code nicht...
Die Definition von at für 5 Min später ist schon ok, dort sollte jedoch noch mal geprüft werden, ob das Fenster (noch) offen ist.


nocomment

Das Fenster kann ja noch länger offen sein.
Es sollt ja quasi nur ein ein Hinweis sein.

Das Problem ist, das er es alle 5 Minuten sendet. Weil der Status vom *Window:.Open.* nicht geändert wird.

Ich hab leider keine Ahnung wie ich das mache..

If, else ?
Aber was frage ich ab ?

justme1968

wie oben schon geschrieben: schau dir watchdog an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Hallmackenreuther

#11
Hallo zusammen,

ich habe ein ähnliches Problem, das ich zunächst auch mit notify zu lösen versucht habe, allerdings bekam ich da im Minutentakt den Status von jedem Kontakt.

Nach dem Rat von justme1968 bin ich jetzt so weit, dass ich wunschgemäß nur einmal benachrichtigt werde... WENN ich benachrichtigt werde.
Gibt es eine elegantere Lösung oder eine Veränderung an meiner Konfiguration, mit der man zuverlässig unmittelbar und einmalig über ein solches Ereignis informiert werden kann?

define Eingang_watchdog watchdog Eingang.opened 00:00:00 Eingang.closed set Telegram message -----Eingang wurde geoeffnet-----;; trigger Eingang_watchdog
FHEM 6.0 auf Raspi 5, Raspberry Pi OS Bookworm | MAX! Cube a-culfw MAX: Heizkörperthermostate,  Fensterkontakte, Wandthermostat, Zwischenstecker BC-TS-Sw-Pl |2. MAX! Cube a-culfw HM: Rollos HM-LC-BI1PBU-FM, Licht HM-LC-Sw2PBU-FM | 3. MAX! Cube a-culfw SlowRF: Thermometer TX29-IT

AET_FHEM

Hallo,

ich hab das auch mit WatchDog gelöst
define WD_Fenster_offen_10 watchdog 25_Bad_FK:open.* 00:10 25_Bad_FK:close.* {\
fhem ("set Push msg 'Fenster' 'Fenster Bad geöffnet 10 min!!' '---' 0 'siren' 2 3600")}


zurückgesetzt wir es beim schließen des Fensters setstate WD_Fenster_offen_10 defined

Aber man kann sich auch mal DOIF anschauen finde ich auch praktisch für solche aufgaben
define DI_TorOffen DOIF ([09_GaragenTor] eq "opened")(set teleBot message Garagentor ist noch offen)

Außerdem sollte am Kontakt eingestellt werden
=> event-on-change-reading .*

CoolTux

Ich würde Dir da mal das hier an Herz legen. Mit watchdog wird das so einfach nicht gehen, da Du ja auf alle Fenster mit einer RegEx triggern willst.

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

AET_FHEM

@CoolTux auf alle Fenster mit einem Befehl  :o? Hab ich was überlesen, wer will das ?