Hallo,
ich habe ein Dummy Device angelegt, bei dem ich Werte zwischen 0 und 100 per Slider einstellen kann.
Jetzt möchte ich über notify -> at nach z.B. 2h vom eingestellten Wert bis auf 0 runterfahren. Allerdings nicht sofort auf 0 sondern "runterdimmen"
Gibt es da bereits eine Funktion, die ich dafür verwenden kann?
Grüße
Klaus
Bei FS20, was anderes habe ich nicht, kannst du dem dim Befehl einen 2. Parameter angebe. Der zielwert wird dann in der zielzeit angefahren.
bei homematic können die dimmer das auch.
gruss
andre
lässt sich diese Funktion von FS20 oder Homematic auch für Dummy devices nutzen?
Mein Dimmer ist direkt über I2C am Raspberry angeschlossen und wird derzeit über notify bedient.
Hallo,
was hindert dich daran einen "Pseudo-FS20-Dimmer" zu definieren und diesen auf dein notify los zu lassen?
Du musst ja keinen realen FS20-Dimmer besitzen um die Funktion nutzen zu können aber wenn ein Dummy kein Dimm-in-Zeit x beherrscht ... ;-)
Grüße
Hallo Puschel,
danke für den Tip, scheint aber leider nicht zu funktionieren. Es gibt bei FS20 zwar auch einen DummyDimmer, aber auch bei dem führt beispielsweise der Befehl "set dim1 ramp-off-time 50" nicht dazu, das der state Wert langsam reduziert wird. Stattdessen wird "ramp-off-time 110" als state Wert eingetragen. Also muss ich mir auch in diesem Fall etwas selbst zusammenklöppeln.
Grüße
Klaus
Hallo,
ZitatEs gibt bei FS20 zwar auch einen DummyDimmer,
Ich hab auch keinen DummyDimmer gemeint sondern einen echten Dimmer ;-)
define Dimmer_nicht_da FS20 <HC> <Adresse>
attr Dimmer_nicht_da model fs20di
Nur um einen Dimmer zu definieren musst du diesen ja nicht zwangsläufig besitzen.
Es geht dir ja nur um die Funktion des Dimmers um diese per notify weiter zu verarbeiten.
Grüße
P.S.: Den Namen kannst du natürlich anpassen :-)
sooo, jetzt habe ich mal den fs20di verwendet. Aber irgendwie stehe ich noch auch dem Schlauch.
Je nachdem welchen Wert ich mit dem Slider auswähle steht in der State Variable dimxx%.
Diesen kann ich per notify auswerten.
In meinem jugendlichen Leichtsinn habe ich vermutet, das wenn ich jetzt z.B. mit "set meinDimmer ramp-off-time 30" dem Dimmer zum runterdimmen animieren will auch diese State Variable runterzählt.
Stattdessen steht aber "ramp-off-time 30" direkt in der State Variable drin.
Ich fürchte, das ich das zeitgesteuerte runterdimmen von Hand im notify programmieren muss, also auch den alten Dimmwert speichern usw.
Oder habe ich irgendwas übersehen?
Grüße
ja. ich denke du musst es selber machen.
die ganzen ansätze ein nicht vorhandenes device dafür zu verwenden gehen nicht weil das dimmen tatsächlich von der device firmware gemacht wird und nicht von fhem.
gruss
andre
Hallo,
Zitatgehen nicht weil das dimmen tatsächlich von der device firmware gemacht wird und nicht von fhem.
Genau das habe ich mir heute auf dem Weg zur Arbeit auch gedacht.
Sorry, aber so klappt das leider natürlich nicht mit dem Dimmer :-(
Grüße
ja, das hatte ich mir dann auch gedacht
Ich baue mir gerade ein eigenes Modul für das I2C DimmIC zusammen.
Allerdings ist mir noch nicht klar, wie ich das mit dem dimmen in einer gewissen Zeit löse.
An sich funktioniert es, aber es blockiert das ganze System, bis der Vorgang abgeschlossen ist.
Wie ich den Prozess forken kann habe ich noch nicht verstanden
warum musst du denn forken? wie schnell soll das runter dimmen den passieren?
wie waere es per timer oder notify in regelmäßigen abständen eine stufe dunkler zu schalten. da sollte nichts blockieren.
gruss
andre
Zitatwie schnell soll das runter dimmen den passieren?
Naja, vom Sekundenbereich bis Minuten.
Wenn es um Minuten geht, habe ich den InternalTimer() probiert, aber der war für das runterdimmen in ein paar Sekunden zu langsam. Dann habe ich mal usleep() in einer For-Schleife versucht, aber das blockiert logischerweise, bis die Schleife fertig ist.