FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: joginet am 25 Januar 2018, 21:57:55

Titel: knob per widgetOverride - Farbe mit ReadingsVal-Wert setzen?
Beitrag von: joginet am 25 Januar 2018, 21:57:55
Hallo Forum,
ich findes es nicht - vielleicht geht es auch gar nicht. Ich wollte meine Hue-Slider mal durch diese schicken Knöpfe ersetzen.
Per "widgetOverride" habe ich das auch hinbekommen:

attr HUEDevice6 widgetOverride hue:knob,min:0,max:65531

Soweit, so gut - das funktioniert. Jetzt würde ich den "fgcolor" gerne mit dem aktuellen "Hue-Wert" einfärben.

{ ReadingsVal("HUEDevice6","hue",0)}
liefert den korrekten Wert, aber kann ich den auch im widgetOverride verwenden? Und falls ja, wie kommt der Hashtag für den "fgcolor" in den Syntax?

Gruß, Jochen

Titel: Antw:knob per widgetOverride - Farbe mit ReadingsVal-Wert setzen?
Beitrag von: joginet am 28 Januar 2018, 12:22:22
Nach Stunden des Probierens bin ich leider keinen Schritt weiter.
Meine Versuche mit der Perl-Syntax im widgetOverride haben mehrfach dazu geführt,
das mein FHEM komplett die Hufe von sich gestreckt hat.

hue:knob,min:0,max:65531,fgColor:#00ff26 funktioniert, da müsste doch auch das Reading
z.B. des rgb-Wertes als Variable funktionieren?

Alternativ könnte ich auch sehr gut mit einen Knob-Design ala FTUI Widget Volume / css-class="hue-tick" leben.
Aber bekomme ich das auch außerhalb der Tablet-UI, also im FHEMWEB oder im floorplan hin ?

Nochmal Gruß, Jochen

PS: warum muß in meinem Fall bei fgColor das "C" groß geschrieben werden? In den meisten Beispielen finde ich das anders,
die sind aber vermutlich für FTUI
Titel: Antw:knob per widgetOverride - Farbe mit ReadingsVal-Wert setzen?
Beitrag von: rudolfkoenig am 28 Januar 2018, 12:39:55
Aus der commandref Doku:
Zitatknob,min:1,max:100,... - shows the jQuery knob widget. The parameters
      are a comma separated list of key:value pairs, where key does not have to
      contain the "data-" prefix. For details see the jQuery-knob
      definition.
Will sagen: fuer die Benamung der Prameter bitte die knob-Autoren fragen, ich habe nur eine duenne Huelle fuer FHEMWEB gebaut, siehe www/pgm2/fhemweb_knob.js. Diese Huelle aktualisiert nur den Wert, nicht die Farbe.
Titel: Antw:knob per widgetOverride - Farbe mit ReadingsVal-Wert setzen?
Beitrag von: joginet am 28 Januar 2018, 15:18:34
Danke für die Antwort.
Ich bin sowohl PERL als auch JS-Laie, daher meine Nachfrage:
Ich meine, dass meine Frage  evt. gar nicht so "knob-spezifisch" ist (oder ist sie das doch?) sondern evt. eine widgetOverride-Frage.
Die "dünne" Hülle funktioniert  ja perfekt mit manuell gesetztem Farbparameter, die Benamung entspricht der i.d. "jquery.knob.min.js" , also alles gut.

Die Frage ist, wie ich widgetOverride irgendwie eine Variable beibringen kann (anstelle des festen RGB-Parameters). Bzw. ob das überhaupt generell geht im widgetOverride oder ob das Widget-spezifisch ist.

Wie gesagt - da ich weder PERL noch Javascript beherrsche, mag mein Gedanke ja völlig falsch sein.
Kann evt. "Hashtag plus ReadingsVal" im widgetOverride als Wert benutzt werden?

Mein (evt. falscher) Gedanke ist, dass der Hashtag einfach falsch interpretiert wird (z.B. zum Auskommentieren) und ich habe keine Ahnung, wie ich Perl den Hashtag als Teil der Variable behandeln lasse. Ausklammern, Einklammern, Slash, wie auch immer. 

Der benötigte RGB-Wert ist ja "#00FF00" nicht "00FF00" (wie im rgb-Reading)   

Ich habe schon diverse Perl-Tuturials überflogen, da ist bisher leider nichts zielführendes bei rausgekommen.

Gruß, Jochen
Titel: Antw:knob per widgetOverride - Farbe mit ReadingsVal-Wert setzen?
Beitrag von: rudolfkoenig am 29 Januar 2018, 15:02:09
Die aktuelle FHEM-Huelle aendert bei Wertaenderung "nur" den Wert des knob-Widgets, nicht die Farbe.
Ob der knob-widget dynamisch die Farbe aendern kann, weiss ich nicht.

D.h. um deinen Wunsch zu erfuellen muss man zwei Aufgaben erledigen, und ich habe z.Zt. nicht vor, sowas einzubauen.
Titel: Antw:knob per widgetOverride - Farbe mit ReadingsVal-Wert setzen?
Beitrag von: joginet am 31 Januar 2018, 10:59:35
Ok - davon verstehe ich wie gesagt leider nichts. Ich habe mir jetzt eine "MacGyver" Lösung gebastelt:

Ich habe per widgetOverride den "knob" für mein HUEDevice gesetzt:

attr HUEDevice6 widgetOverride hue:knob,min:0,max:65531,fgColor:#40ff00,bgColor:#000000

Dann habe ich mir ein "RGB Color Wheel" mit transparentem Hintergrund aus dem Internet geklaut und mit der Stichsäge (= Gimp)
ein kreisrundes Loch in die Mitte gesägt.
Das Ganze hab' ich dann dem "Farbstell-Verhalten" des knobs entsprechend gedreht und mir in meine Floorplan-Hintergrundgrafik kopiert.
Dann den erstellten "knob" in die Mitte und fertig ist das Frickel-"Widget"  :)

Der "knob ist auf dem PC-Desktop und a.d. Tablets gut bedienbar.
Damit bin ich erstmal glücklich, einen erweiterten knob-Wrapper schreibe ich auf meine Wunschliste  :)

Gruß, Jochen