FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Stargazer am 22 September 2016, 19:38:38

Titel: Pushover-Nachricht nur in einem bestimmten Zeitabschnitt versenden
Beitrag von: Stargazer am 22 September 2016, 19:38:38
Hallo zusammen,

da ich ja nun meinen dummy über die "Clear-Sky Steuerung" geschaltet bekomme, weiß ich so planungstechnisch nicht so richtig weiter.
Ich möchte gerne am Abend per Push-Nachricht über einen klearen Himmel informiert werden.
Ausgangspunkt wäre wieder, wie in diesem Thread https://forum.fhem.de/index.php/topic,57980.0.html (https://forum.fhem.de/index.php/topic,57980.0.html), der "Regenkontakt:Long als Triggerwert.
Der kommt, wenn es klar ist, alle 30min. für etwas 1 Sekunde. Ist es Bewölkt, bleibt der Wert des Dämmerungsschalters bei Long stehen. Das wäre vom Prinzip schlecht. Also würde ich mich an den Watchdog-gesteuerten dummy orientieren.

Jetzt möchte ich aber, wenn der Dummy auf "on" geschaltet wird, dass nur eine Meldung ans Handy geschickt wird. Nicht das da so eine Batterie von Messages abgesendet wird. Das ganze soll aber nur im Zeitraum von 16 - 21 Uhr passieren.

Habt ihr da einen Vorschlag ? Mir raucht da derzeit der Kopf... .

Viele Grüße...

André
Titel: Antw:Pushover-Nachricht nur in einem bestimmten Zeitabschnitt versenden
Beitrag von: Brice am 23 September 2016, 08:20:55
Ich denke, das wäre etwas für ein DOIF, damit kenne ich mich aber nicht aus.

Denkbar wäre, die Funktion http://www.fhemwiki.de/wiki/E-Mail_per_notify_nach_Zeitablauf_erneut_senden (http://www.fhemwiki.de/wiki/E-Mail_per_notify_nach_Zeitablauf_erneut_senden) zu missbrauchen, um das Notify nicht permanent zu triggern. Einmal innerhalb der 5 Stunden würde ja reichen.

#Clear-Sky definieren
define RegenalarmAn notify Regenkontakt:Long.* {
if (time > $main::NewMailtime)
{ fhem ("set Regenalarm on")}
$main::NewMailtime = time + <Zeitraum in Sekunden eintragen, evt 18000>
}
attr RegenalarmAn disabledForIntervals 21:00-24:00 00:00-15:59


Notify und Watchdog kennen das attr disabledForInterval.
define CS_alarmAn watchdog Regenalarm:on.* 00:01:30 Regenalarm:off.* set Regenalarm off;; trigger CS_alarmAn opened
attr CS_alarmAn disabledForIntervals 21:00-24:00 00:00-15:59
Titel: Antw:Pushover-Nachricht nur in einem bestimmten Zeitabschnitt versenden
Beitrag von: Ellert am 23 September 2016, 10:33:11
ZitatJetzt möchte ich aber, wenn der Dummy auf "on" geschaltet wird, dass nur eine Meldung ans Handy geschickt wird. Nicht das da so eine Batterie von Messages abgesendet wird. Das ganze soll aber nur im Zeitraum von 16 - 21 Uhr passieren.

Mit DOIF etwa so:
([?16:00-21:00] and [Dummy] eq "on") (set msg ...)
Titel: Antw:Pushover-Nachricht nur in einem bestimmten Zeitabschnitt versenden
Beitrag von: Stargazer am 25 September 2016, 22:00:29
Hallo zusammen,

vielen Dank für den Tipp mit DOIF.

Habe da jetzt etwas gebastelt, was anscheinend funktioniert. Eines ist nur komisch. Ich bekomme im Moment noch Push-Nachrichten aufs Handy.
Eigentlich sollte ja ab 21 Uhr Schluß damit sein. Ich hatte das Fragezeichen vor dem 16 Uhr vergessen und habe die vorhin mal nachgelegt.
Könnte das auch ein Grund sein ?

Viele Grüße und vielen Dank

André
Titel: Antw:Pushover-Nachricht nur in einem bestimmten Zeitabschnitt versenden
Beitrag von: KernSani am 25 September 2016, 22:09:23
Zitat von: Stargazer am 25 September 2016, 22:00:29
Könnte das auch ein Grund sein ?
Eigentlich nicht... Das ? sorgt nur dafür, dass der in [] stehende Ausdruck kein Trigger ist... Kannst du mal das komplette DOIF posten?


Titel: Antw:Pushover-Nachricht nur in einem bestimmten Zeitabschnitt versenden
Beitrag von: Stargazer am 25 September 2016, 22:56:10
Hi KernSani,

hier mal das Stück Code:

#DOIF-Bedingung für die CS-Pushovernachrichten
define CS_Nachrichten DOIF ([?16:00-21:00] and [Regenalarm:on]) (set CS_PushoverDummy on) DOELSE (set CS_PushoverDummy off)
attr CS_Nachrichten room Rolldachhütte


Den Dummy Regenalarm:on greift er als Bedingung ab. Daraufhin aktiviert er einen zweiten Dummy, der auch das Pushover auslöst. Dieser dummy ist nur für eine Sekunde auf "on", damit er mich nicht mit Meldungen zubombt. Da das mein erstes DOIF ist, gibt es doch die Möglichkeit, Messages direkt draus versenden zu können, oder ?

Viele Grüße und besten Dank

André