offset über fhem webseite einlesen

Begonnen von lechez, 17 September 2013, 20:44:03

Vorheriges Thema - Nächstes Thema

lechez

Hallo,

ich habe hier im Forum schon sehr lange nach einer Lösung gesucht. Vielleicht weiss einer von euch eine Lösung.

Ich benutze die Funktion sunrise und sunset.
Funktioniert super!

Meine Frau sagt mir jetzt geht es zu früh runter.. dann zu spät.

Möchte jetzt gerne über die FHEM oberfläche Zahlenwerte einlesen und damit den Wert an offset (sunrise und sunset) setzen,

damit meine Frau dieses selber setzen kann.

Hat vielleicht jemand eine idee damit der WAF (Woman acceptance Factor) für meine Automatisierung nicht sinkt?

Gruß
lechez

rudolfkoenig

Als Wegweiser:
- dummy anlegen, und es mit einem silder versehen:
define dummyX dummy
attr dummyX setList state:slider,-120,10,120
attr dummyX webCmd state

- notify bauen, der auf dummyX reagiert, und ein modify auf das at durchfuehrt. Hier ist ein bisschen perl Formatierung notwendig.
- Alternative: statt sunrise+offset direkt Zeiten eingeben, dazu wird dummyX mit time statt mit slider betrieben.

roedert

Ich hatte meine Lichtsteuerung auch mit sunrise realisiert .... aber durch Bewölkung, Regen etc. ist es manchmal schon so dunkel obwohl die Sonne noch lange nicht untergegangen ist.
Habe mir nun also einen Temperatursensor HMS100TF besorgt und  den Temperaturfühler gegen einen Fotowiderstand ausgetauscht ... ein Widerstand in Reihe und einer parallel um halbwegs im ursprünglichen Wertebereich des Temperatursensors zu landen.

Nun habe ich meine eigenen Helligkeitswerte (zwar in °C - aber das soll mir egal sein) und kann damit arbeiten.  

Ein fertiger Helligkeitssensor der kontinuierlich Helligkeitswerte liefert statt nur 2 Schaltpunkte zu haben ist mir leider nicht bekannt.

rudolfkoenig

> Helligkeitswerte (zwar in °C - aber das soll mir egal sein)

Das sollte mit stateFormat leicht zu aendern sein, allerdings hat man auch das Problem des Eichens.

Koenntest Du eine Anleitung fuer elektrotechnisch weniger versierte hier reinstellen?

roedert

...einfach den Temperaturfühler durch diese kleine Schaltung ersetzen - Bauteilkosten liegen deutlich unter 1€.

Wenn ich Zeit habe muss ich nochmal die Werte der Bauteile raussuchen die ich genommen habe.
Dei beiden Widerstände sind nur zum "Eichen" - d.h. den kompletten Helligkeitsbereich des Fotowiederstands in den ursprünglichen Temperaturbereich von -30 ... +70 °C abzubilden.

Von Eichen kann aber keine Rede sein - ich denke die Kennlinien vom Temperaturfühler und Fotowiderstand sind da zu unterschiedlich. ES wird also kein Messgerät werden wo man absolute Helligkeitswerte ablesen kann ... aber zum Definieren von Schaltschwellen bei bestimmten Helligkeiten reicht es aus.

lechez

Hallo,

habe es installiert, danke. Jetzt sagt meine Frau es ist doch toll so wie es war.. na ja jetzt hat sie es....

vielleicht will es ja auch noch einer:
Hab erst mal mit " und ' noch lange rumprobiert bei sunrise sunset.

Vielen Dank für die schnelle Hilfe!!


Mein Code:

define Rollade_slider_dummy dummy
attr Rollade_slider_dummy setList state:slider,-120,1,120
attr Rollade_slider_dummy webCmd state
attr Rollade_slider_dummy room Rolladen

define Rollade_slider_notify notify Rollade_slider_dummy {Rolladen_timer($we,"%")}

sub Rolladen_timer($$)
{
        my $we=$_[0];
        my $offset=$_[1]*60;
        fhem("delete Rollade_timer.*");

        fhem("define Rollade_timer_Wohnz_hinten_hochfahren at *{sunrise(0,'6:31','8:01')} set Rollade_Wohnz_hinten up");
        fhem("attr Rollade_timer_Wohnz_hinten_hochfahren room Rolladen");
        fhem("define Rollade_timer_Wohnz_hinten_unten_runterfahren at *{sunset($offset,'17:31','22:01')} set Rollade_Wohnz_hinten down");
        fhem("attr Rollade_timer_Wohnz_hinten_unten_runterfahren room Rolladen");
}