FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: choetzu am 22 Februar 2017, 00:00:00

Titel: Dim +10 mit push widget
Beitrag von: choetzu am 22 Februar 2017, 00:00:00
Hallo

Ich möchte via push-widget meine Lampe dimme . Und zwar soll bei jedem push der dimwert um 10 erhöht werden, egal wie der aktuelle dimwert ist..

Wie lautet da der Befehl? Set Lampe dim +10 geht leider nicht..

Danke für die Hilfe
Lg c
Titel: Antw:Dim +10 mit push widget
Beitrag von: setstate am 22 Februar 2017, 08:12:57
Mit dem Spinner Widget?

https://wiki.fhem.de/wiki/FTUI_Widget_Spinner
Titel: Antw:Dim +10 mit push widget
Beitrag von: sinus61 am 22 Februar 2017, 13:12:23
Kommt ja drauf an wie der Befehl in FHEM aussieht und was der Dimmer kann.

Bei HM Dimmern geht z.B.:

set Lampe up 10%
Titel: Antw:Dim +10 mit push widget
Beitrag von: Familienpapi am 22 Februar 2017, 16:37:14
oder ganz allgemein als push auf einen dummy, der dann innerhalb von notify via Perl den aktuellen Stand des gewünschten Dimmers abfrägt, um 10% erhöht und den neuen Stand via set schreibt.
Kostet zwei zusätzliche defines und ein kleines Perl-Script in der 99_myUtils.pm. Sollte aber immer funktionieren, egal was für einen Dimmer man dahinter hat.
Titel: Antw:Dim +10 mit push widget
Beitrag von: sinus61 am 22 Februar 2017, 16:54:08
Wenn der Dimmer den Wert liefert könnte man auch ein Userreading anlegen was immer den Wert+10 enthält und dann mit dem Push Widget auf den Wert des Userreadings setzen.
Titel: Antw:Dim +10 mit push widget
Beitrag von: Thyraz am 22 Februar 2017, 16:57:14
Nette Idee um einen Dummy+ Notify zu sparen. :)
Titel: Antw:Dim +10 mit push widget
Beitrag von: Familienpapi am 22 Februar 2017, 17:04:59
Zitat von: sinus61 am 22 Februar 2017, 16:54:08
Wenn der Dimmer den Wert liefert könnte man auch ein Userreading anlegen was immer den Wert+10 enthält und dann mit dem Push Widget auf den Wert des Userreadings setzen.
Super Idee! Danke.
Wie war das noch gleich mit dem Wald und den Bäumen?
Titel: Antw:Dim +10 mit push widget
Beitrag von: choetzu am 22 Februar 2017, 23:11:56
guten Abend, herzlichen Dank... Sehr gut!

Userreadings heisst das Zauberwort..;) Wenn man sich jedoch als Laie den Wiki-Eintrag und die Beispiele im Forum anschaut, braucht man ganz offensichtlich etwas Perl-Kenntnisse, was mir völlig ab geht...leider ..

Ich möchte ja das Userreading wie folgt gestalten:

Userreading DIM_PLUS_10= DIM_WERT + 10

Ist das eine komplizierte Geschichte?

danke für die Hilfe
Titel: Antw:Dim +10 mit push widget
Beitrag von: Thyraz am 23 Februar 2017, 08:05:12
Mal so ins Blaue geschossen, falls dein Reading wirklich "dim" heißt. Sonst eben durch "pct" oder was auch immer ersetzen.


attr myDeviceName userReadings dimUpVal:dim.* {ReadingsVal($name,"dim",0)+10}, dimDownVal:dim.* {ReadingsVal($name,"dim",0)-10}


dimUpVal wird nur aktualisiert, wenn ein Event des Readings hinter dem Doppelpunkt auftritt. Im Perl-Code wird dann eben mit ReadingsVal der aktuelle Wert geholt und 10 dazu addiert.

Die Variable "$name" verweist auf das aktuelle Device. Du könntest hier auch wieder "myDeviceName" schreiben, aber dann müsstest du das UserReading anpassen, falls du das Device mal umbenennst.
Titel: Antw:Dim +10 mit push widget
Beitrag von: Familienpapi am 23 Februar 2017, 08:18:00
Sollte man die 100% und 0% nicht abfangen? Sonst werden beim "push" 110% oder -10% gesetzt.
Titel: Antw:Dim +10 mit push widget
Beitrag von: Thyraz am 23 Februar 2017, 08:46:11
Stimmt,

aber würde erstmal testen ob es auch so geht (-10 setzt dennoch 0, 110 setzt dennoch 100).
Der Check ist evtl. auch schon im jeweiligen Modul vorhanden das die Hardware ansteuert, womit man sich eine weitere vorgelagerte Überprüfung sparen könnte.