notify für Zeitraum x deaktivieren

Begonnen von Andre, 13 März 2015, 10:51:59

Vorheriges Thema - Nächstes Thema

Andre

Hallo,

ich steuere eine Lampe über einen HM Bewegungsmelder in Abhängigkeit von der Helligkeit im Raum. Da die gemeldete Helligkeit des Bewegungsmelders träge ist, geht die Lampe beispielsweise auch morgens an wenn die Rollade gerade hochgemacht wurde und es schon taghell in der Wohnung ist. Als Workaround würde ich gerne das notify für die Lampe für eine Stunde (oder einen anderen Zeitraum) deaktivieren.

Hat jemand eine einfache Lösung hierzu (oder gerne auch einen anderen Ansatz)?

Gruß
André

betateilchen

Zitat von: Andre am 13 März 2015, 10:51:59
Hat jemand eine einfache Lösung hierzu (oder gerne auch einen anderen Ansatz)?

ja, lies die Doku zum Modul. Dort ist unter anderem das Attribut "disabledForIntervals" beschrieben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Andre

Hallo betateilchen,

danke für den Hinweis! Bei mir ändern sich die Zeiten aber jeden Tag, daher suche ich eine Möglichkeit das relativ "on-demand" einzustellen (ab jetzt eine Stunde deaktivieren, ähnlich wie skip_next).

Gruß
André

btw. in der deutschen commandref ist disabledForIntervals für das Modul notify nicht dokumentiert (englisch schon, ja) - ich schau dann ab jetzt immer in beiden docs bevor ich dämliche Fragen stelle...


Puschel74

#3
Hallo,

ZitatBei mir ändern sich die Zeiten aber jeden Tag, daher suche ich eine Möglichkeit das relativ "on-demand" einzustellen
Und das geht wunderbar mit ein bischen Perl  ;)

Kompliziert habe ich das so gelöst:
Heizung_Boost.* {
  my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
  if ($hour < "10") {
    $hour="0".$hour;
  }
  if ($min < "10") {
    $min="0".$min;
  }
  my $Zeit_jetzt=$hour.":".$min;
  my $hour_1=$hour+1;
  my $Zeit_1=$hour_1.":".$min;
  if($EVENT eq "Wohnzimmer") {
    fhem("set EG_Wohnzimmer_Heizung desired-temp 25.0");
    fhem("attr n_Temp_WZ_hoch disabledForIntervals $Zeit_jetzt-$Zeit_1");
fhem("define attr_loesch at +01:00:10 deleteattr n_Temp_WZ_hoch disabledForIntervals");
  }

Nach einem beherzten Druck auf meinen Wohnzimmer_Boost (musste für meine Frau sein) wird der Zeitpunkt ermittelt und das Attribut
gesetzt und damit für 1 Stunde die Automatik ausser Betrieb gesetzt.

Geht sicher noch eleganter (und sollte eigentlich in die 99_myUtils) aber es funktioniert.

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.

flurin

Zitat von: Andre am 13 März 2015, 10:51:59
Hallo,

ich steuere eine Lampe über einen HM Bewegungsmelder in Abhängigkeit von der Helligkeit im Raum. Da die gemeldete Helligkeit des Bewegungsmelders träge ist, geht die Lampe beispielsweise auch morgens an wenn die Rollade gerade hochgemacht wurde und es schon taghell in der Wohnung ist. Als Workaround würde ich gerne das notify für die Lampe für eine Stunde (oder einen anderen Zeitraum) deaktivieren.

Hat jemand eine einfache Lösung hierzu (oder gerne auch einen anderen Ansatz)?

Gruß
André

Ich würde mit dem Modul Twilight probieren:

define local_Twilight Twilight <latitude> <longitude>


und z.B. mit einem DOIF den Tageslicht-Wert auswerten:

define di_lamp DOIF ([local_Twilight:light] <= x and [Bewegungsmelder] eq "was auch immer" ) (set lamp on)


x entsprechend setzen.

Gruss
flurin


Andre

Hi,

danke für die Tipps, damit komme ich weiter! Wäre es vielleicht eine Idee die Syntax für disabledForIntervals so anzupassen, dass sie mit relativen Angaben umgehen kann? Ich zumindest hätte da viele Anwendungsfälle für.

Gruß
André