FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Stoffel84 am 23 Februar 2015, 19:40:19

Titel: Hochdimmen bei Dämmerung
Beitrag von: Stoffel84 am 23 Februar 2015, 19:40:19
Hallo zusammen,

ich möchte folgendes szenario realisieren:
Basierend auf dem Helligkeitswert, den mir mein Bewegungsmelder (HM-SEC-MDIR) liefert möchte ich eine Leuchte (HM-LC-Dim1TPBU-FM) langsam hochdimmen (je dunkler der Wert, desto heller die Leuchte).
Hat so etwas schon jemand realisiert? Ich habe leider kein Beispiel mit einem Bewegungsmelder gefunden.

Danke + Gruß

Steffen
Titel: Antw:Hochdimmen bei Dämmerung
Beitrag von: Mitch am 23 Februar 2015, 19:42:10
Ist wie bei allen "Bedingungen".
Wenn das eine das "sendet", soll das andere das machen.
Titel: Antw:Hochdimmen bei Dämmerung
Beitrag von: Stoffel84 am 26 Februar 2015, 20:41:44
Danke, Mitch. Habe gedacht da gibt es ggf. was trcikreicheres. Habe es jetzt so gelöst:

sub L3NotifyBewegungsmelderWZ($$$)
{
  my $brightness = ReadingsVal('L1BewegungsmelderWZ', 'brightness', "");

  if ($state eq 'motion')
  {
    if ($brightness < 35)
    {
      fhem("set DimmerWW pct 20 0 30");
    }
    elsif ($brightness < 45)
    {
      fhem("set DimmerWW pct 15 0 30");
    }
    elsif ($brightness < 55)
    {
      fhem("set DimmerWW pct 10 0 30");
    }
    elsif ($brightness < 65)
    {
      fhem("set DimmerWW pct 5 0 30");
    }
    elsif ($brightness > 90)
    {
      fhem("set DimmerWW pct 0 0 30");
    }
  }
}
Titel: Antw:Hochdimmen bei Dämmerung
Beitrag von: flurin am 26 Februar 2015, 21:43:54
Hi Stoffel84

Es gibt effektiv eine einfachere Lösung. Siehe lineare Funktion (Wikipedia):

http://de.wikipedia.org/wiki/Lineare_Funktion (http://de.wikipedia.org/wiki/Lineare_Funktion)

Die Steigung und der Achsenabschnitt lassen sich einfach berechnen.

Was wird der Sub übergeben ... ($$$) ?

Gruss
flurin
Titel: Antw:Hochdimmen bei Dämmerung
Beitrag von: Icinger am 27 Februar 2015, 08:18:35
Ich habe das bei mir mit einem DOIF gelöst:

define di_Schreibtisch DOIF
([WohnzimmerPC] eq "present" and [Umweltsensor_Innen:luminosity] < AttrVal("Umweltsensor_Innen","Dämmerung",undef))
     (set RGB1 Dim {(255-([Umweltsensor_Innen:luminosity]*(AttrVal("Umweltsensor_Innen","Dämmerung",undef)/255)))},attr di_SchreibtischLED do always)
DOELSE
     (set RGB1 cmd Aus,deleteattr di_SchreibtischLED do)


Umweltsensor_Innen ist einer von Dirk's HM-Sensoren.
Über das attr Dämmerung kann ich den Schwellenwert einstellen, ab dem die Schreibtischbeleuchtung hochgefahren wird.

lg, Ici