Dimmer in Smartvisu

Begonnen von Knurb, 07 März 2016, 15:23:34

Vorheriges Thema - Nächstes Thema

Knurb

Hallo zusammen, ich beschäftige mich jetzt seit ein paar Wochen mit dem Thema Fhem, Smartvisu in Kombination mit Homematic.
Der Umbau eines Hauses steht in den nächsten Monaten an und da möchte ich mich im Vorfeld schon einmal ein bisschen in das Thema einarbeiten.
Ich habe mir einen kleinen Teststand gebaut, im Moment besteht dieser aus einem Wlan Konfigurationsadapter , einem Unterputz Schalter (2fach) und einem Unterputz Dimmer (alles Homematic).
einen Fhem Server inkl Smartvisu habe ich auch schon am laufen. Soweit funktioniert auch alles fast wie es soll, sprich ich kann über Smartvisu sowohl den Schaltaktor als auch den Dimmer bedienen.
Ich kann mit Smartvisu den Dimmer ein und aus schalten, leider läuft es mit der Dimmfunktion ein bisschen unrund.

Evtl. hat jemand ja eine Idee was ich falsch mache.

in Smartvisu ist der Dimmer wie folgt definiert:
{{ device.dimmer('Esstischlampe', 'Esstischlampe', 'Esstischlampe.sw', 'Esstischlampe.sl', 1, 100) }}

in Fhem finde ich nun die beiden GADs 'Esstischlampe.sw und Esstischlampe.sl

Esstischlampe.sw (als Switch zum direkten an/aus schalten) :

mode :item
device : Dimmer1
reading :state
converter :OnOff
cmd set: state
Permissions read and write

Esstischlampe.sw (als Slider zum Dimmen) :

mode :idem
device : Dimmer1
reading :pct
converter :Direct
cmd set: pct
Permissions read and write

Soweit so gut, allerdings kann ich in Smartvisu den Slider jetzt nicht hin und her bewegen, sondern nur auf irgend eine Position klicken. Dann dimmt der Dimmer zwar auf den richtigen Wert und der Slider steht nach 1-2 Sekunden auch optisch auf der richtigen Position, aber das ist doch so sicherlich nicht gedacht....

Wenn ich für Esstischlampe.sw nun unter "cmd set: pct:Slider,0,1,100" eintrage (so wie es unter Fhem auch vorgeschlagen wird) kann ich den Slider zwar schön hin und her bewegen, der Wert wird aber nicht weiter gegeben, sprich der Dimmer dimmt nicht.

Die Frage ist, was habe ich übersehen?

Vielen Dank

Knurb

dev0

Zitat von: Knurb am 07 März 2016, 15:23:34
aber das ist doch so sicherlich nicht gedacht....
Nö, aber an Deinen Einstellungen, die Du gepostet hast, liegt es nicht.

ZitatEsstischlampe.sw (als Slider zum Dimmen) :
mode :idem
device : Dimmer1
reading :pct
converter :Direct
cmd set: pct
Permissions read and write
Esstischlampe.sw soll bestimmt Esstischlampe.sl heißen, aber die Einstellungen sind ok. Selbst wenn nicht, würde es das Verhalten nicht erklären. Schon mal einen anderen Browser getestet?

Knurb

Hi,

natürlich Esstischlampe.sl, da habe ich mich vertippt. Aber schon einmal gut zu wissen, dass es so klappen sollte...
Wenn ich wieder zu Hause bin, dann werde ich das mal testen und mich noch einmal melden.

Vielen Dank

Knurb

Knurb

#3
Ich bin jetzt endlich mal dazu gekommen mich weiter mit Fhem und Smartvisu zu beschäftigen.
Ich habe mittlerweile alles noch einmal neu installiert, leider bin ich jetzt weider an dem Punkt, dass der Dimmer in Smartvisu nur sehr "stockend" funktioniert.
Das ganze habe ich nun auf diversen Geräten und Browsern ausprobiert, ich habe immer das gleiche Problem.
Ich habe mal kurz ein Video hochgeladen, ein Bild sagt bekanntlich mehr als 1000 Worte.

https://youtu.be/fwWDMs4Mabo

Ich denke, das Problem liegt da dran, dass der aktuelle Wert des Dimmers gefühlt jede halbe Sekunde abgefragt wird und der Slider dann immer zu dem aktuellen Wert zurückspringt. Gibt es eine Möglichkeit die Aktualisierungrate des IST-Zustandes des Dimmers zu ändern?

Edit:

Das hier habe ich soeben im Wiki gefunden. Da warte ich dann einfach mal bis diese Funktion fertig ist, dann sollte das Problem auch behoben sein :)

NumDelayed
NumDelayed ist noch in Arbeit.

Ein bidirektionaler numerischer Converter mit einstellbarer Verzögerung.

Bietet bei der Ansteuerung mechanischer Aktoren (Markise, Jalousie) Vorteile gegenüber NumDirect. Als Beispiel sei die Steuerung einer Jalousie über einen Slider genannt. Da Slider ihre Werte kontinuierlich an FHEM übermitteln, würde bei der Verwendung anderer Converter dem entsprechenden Aktor (z.B. HM-BP), während der Benutzer den Slider bedient, mehrfach der vermeindliche Sollwert übermittelt werden. Gleichzeitig beginnt der Aktor seine Fahrt und übermittelt dem Slider seine aktuelle ist Position. Das führt zu einem springen des Sliders und einer "unschönen" Bedienung.

NumDelayed nimmt daher die Signale des Sliders entgegen, wartet jedoch mit der Weitergabe solange, bis sich der Slider (xxx ms, konfigurierbar) nicht mehr bewegt. In Gegenrichtung wird ebenso verfahren, erst wenn der Aktor seine Endposition erreicht, wird der Slider im Frontend aktualisiert. In diesem Beispiel würde das bedeuten das der Slider im Normalfall ohnehin so steht (Soll) wie vom Aktor gemeldet (Ist). Natürlich könnte der Benutzer oder ein Hindernis die Fahrt auch unterbrochen haben, dann würde der Slider auf die gemeldete Position aktualisiert.




Knurb

wilkens

Hallo,

ich habe gerade das selbe Problem.
Ich bin mir recht sicher, dass es an der Ramp-Time des Dimmers liegt. Die Lampe wird beim loslassen des Sliders zu dem Wert bewegt, bei dem du den Slider losgelassen hast.
Wenn die Lampe nun eine Ramp-Time vom 2 Sekunden eingestellt hat, also den gewünschten Wert erst in zwei Sekunden erreicht, kann SmartVisu dies ja auch erst nach der Zeit richtig anzeigen.

Wenn ich über FHEM die Helligkeit direkt einstelle z.B. so:
set EG.ez.DI.LichtDecke.Schalter.1 pct 60
habe ich das Problem in SmartVisu auch.

Gebe ich allerdings die Rampzeit 0 mit, sprichgt der Dimmer sofort zur gewünschten Helligkeit und die Anzeige in Smartvisu passt auch sofort.
set EG.ez.DI.LichtDecke.Schalter.1 pct 60 86400 0
Nun schaffe ich es allerdings nicht die Rampzeit über Smartvisu mitzugeben.

Hast du hier eine Lösung gefunden?
Bzw. weiß jemand, wie ich die Zeile "cmd set" in der zur Zeit nur "pct" steht, anpassen kann? Sodass zusätzlich immer "86400 0" gesendet wird?
Dies hier wir vorgeschlagen: "pct:slider,0,1,100"
Aber so richtig etwas mit anfangen kann ich nicht.