Ankündigung

Einklappen
Keine Ankündigung bisher.

Unterstützung von HSL Farbmodell

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Featurewunsch] Unterstützung von HSL Farbmodell

    Hallo zusammen,

    bislang untersützt smartVISU, nach meinem Wissen, nur das RGB Farbmodell. Allerdings gibt es einige Beleuchtungssysteme, allen voran Philips HUE, die auf dem HSL Farbmodell aufbauen. Deshalb muss man in den unterlegten Systemen, in meinem Fall smarthomeNG, die Umwandlung RGB nach HSL bzw. HSL nach RGB mit Skripten durchführen. Ich weiß nicht, wie "der Rest der Welt" dazu steht, aber ich würde mich über eine native HSL Unterstützung in smartVISU freuen.

    Gruß, Daniel

    PS: ich weiß, dass das HUE Plugin in smarthomeNG die Umrechung macht, allerdings gibt es Fälle, wo man das nicht OOTB nutzen kann. Ich möchte in diesem Thread daher die Lösung in smartVISU diskutieren, nicht in den unterliegenden Systemen.

    #2
    Sprichst du von den Widgets basic.rgb und basic.colordisc?
    Für die kommende Version werden die eh durch ein neues basic.color abgelöst. Da liesse sich wohl auch noch ein Parameter einbauen, welcher das Farbmodell bestimmt.

    Bei einer kurzen Recherche habe ich aber gesehen, dass hue anscheinend nicht direkt HSL nutzt sondern nochmal was anderes: https://developers.meethue.com/conte...cript-language
    Weiss dazu jemand genaueres, ohne dass ich mich stundenlang damit beschäftigen muss?

    Kommentar


      #3
      Jub, genau die hatte ich im Sinne. Aber falls das Farbmodell an anderer Stelle noch eine Rolle spielen sollten, meine ich die natürlich auch :-). Einen Parameter für das Farbmodell wäre perfekt :-D. Und wenn diese beiden Wigets durch das basic.color abgelöst werden, wäre es auch der perfekte Zeitpunkt das einzuführen!

      Wie ich den zitierten Thread intrepretiere, geht es dort auch um nur um die Umrechnung RGB nach HSL. Das HUE Farbmodell scheint nur eine auf int normierte Variante des HSL Modells zu sein:
      • H 0-360° => 0 - 65535
      • S: 0-1 => 0-255
      • L: 0-1 => 0-255
      Gruß, Daniel

      Kommentar


        #4
        Aber da sind noch die gamma correction sowie die "wide gamut conversion D65". Ausserdem werden nur zwei Werte zurückgegeben (X und Y).

        Kommentar


          #5
          Stimmt, Thread nicht zu Ende gelesen... Das CIE-Farbsystem kannte ich auch noch nicht. Das wäre dann ggf. ein drittes Farbsystem... Das zur Konvertieren notwendige Skript ist in dem Thread ja direkt verlinkt...

          Vielleicht kann Michel bzgl. HUE und Farbraum seine Erfahrungen einbringen - Licht ins Dunkel bringen, sozusagen :-)

          Für das smarthomeNG HUE-Plugin würde HSL Unterstüzung ausreichen - CIE wird dort wohl nicht verwendet (zumindest nicht auf Attribut-Ebene).

          Gruß, Daniel

          Kommentar


            #6
            Der Code von Orions Plugin ist ja schonmal spannend, da ist auch die XY/RGB-Umrechnung drin:
            https://github.com/mworion/hue/blob/..._.py#L176-L188

            Nun stellt sich aber für mich die Frage, wozu du HSL brauchst, wenn das Plugin ja RGB kann/will und Hue nativ dieses XY?

            Kommentar


              #7
              Das wäre die Backend-Diskussion, um die es ja nicht gehen sollte. Aber bitteschön: Ich arbeite persönlich lieber mit dem HSL modell, da es besser zum KNX passt - z.B. über DPT 3 die Helligkeit verstellen. Das ist dann auch analog zu "normal" dimmbaren Lampen. Mit einem zweiten Taster an der Wand kann man dann (via DPT 3) die Farbe ändern. Zudem ist es einfacher, nachts die Helligkeit (zentral) auf einen bestimmten Wert runterzuregeln - egal welcher Lampentyp verbaut ist. Bei mir geschieht das nicht direkt auf den HUE-Items, sondern auf zentral angelegten Helligkeits-Items, die die HUE-Items dann wieder einlesen. Das RGB schleppe ich nur wegen der VISU mit...

              Gruß, Daniel

              Kommentar


                #8
                Dann ist's was anderes, weil es eigentlich nur indirekt mit Philips Hue zu tun hat.

                Wie bereits vorher erwähnt, sehe ich eigentlich keine Probleme an einem zusätzlichen Parameter und einer HSL- sowie auch gleich einer HSV-Konvertierung.
                HSV zu RGB gibt es sogar bereits, weil die Color Picker intern mit HSV aufgebaut werden.

                Das werde ich einbauen.

                Das Hue oder CIE oder XY oder wie-auch-immer System werde ich wohl erstmal aussen vor lassen, weil ich es nicht kenne und mich erst einlesen müsste.

                Kommentar


                  #9
                  Zuletzt geändert von smai; 23.02.2017, 15:38. Grund: Doppelpost wegen DB-Fehlermeldung

                  Kommentar


                    #10
                    Cool, super vielen Dank schonmal im Voraus :-)

                    Gruß, Daniel

                    Kommentar


                      #11
                      Cool wäre natürlich auch die Unterstützung von weiteren Farbmodellen bei den Plots. Highcharts sagt z.B. dazu:

                      You can use any CSS-compatible colour, like rgb(178, 55, 233) or hsl(132, 94%, 39%).
                      Ein Aufruf

                      Code:
                      {{ plot.period('plot3', 'ventilation.thermal_energy.efficiency', 'avg', '24h', '', 60, 100, '', 'Effizienz', 'hsla(321,0.42,0.35,0.5)', 'area', '', '15i') }}
                      liefert aber leider nur eine schwarze Fläche. Hab da vor einiger Zeit herumprobiert, aber irgendwie kommt HSL bei Highcharts nicht an (oder ich stelle mich zu dusselig an). Für eine leicht transparente Chartfläche hinter bunten Plot-Linien hätte ich sofort ein paar use cases.

                      /tom
                      Zuletzt geändert von Tom Bombadil; 23.02.2017, 19:28.

                      Kommentar


                        #12
                        Ich denke es liegt daran, wie Listen in den Items serialisiert werden. Diese werden nämlich einfach in einen String mit Kommas umgewandelt. Und die Series-Farbe ist ja eine Liste.

                        Dies ist mir schon länger ein Dorn im Auge und ich hatte bereits vermutet, dass dies früher oder später Probleme macht.
                        Allerdings habe ich mich bisher nicht getraut, dies zu ändern. Ich weiss nämlich nicht, ob dies überall durch die entsprechenden Funktionen gemacht wird oder teilweise parallel implementiert wurde.

                        Kommentar


                          #13
                          Der Parameter zur Auswahl des Farbmodells (rgb, hsl, hsv) ist in develop committed.
                          Gleichzeitig habe ich noch die Möglichkeit geschaffen, die Werte in einem einzelnen Item vom Typ List zu übergeben anstatt in 3 separaten Items.

                          Kommentar


                            #14
                            Hallo,

                            das klingt schon mal ganz gut, HSV brauche ich auch

                            eine Frage, könnte man noch 3 Schieber zur Fabernauswahl einzubauen?
                            Ähnlich wie hier "HSV/HSB" Beispiel: http://colorizer.org/
                            Also mit Hintergrundfarbeänderung und co. Weil 3 Standardschieber sind ja einfach, aber ohne Farbe nutzlos...

                            Gruß
                            Eugen

                            Kommentar


                              #15
                              Wow, das ging schnell! Vielen Dank! Ich versuche mein Testsystem auf die neueste Develp hochzuziehen und gebe Rückmeldung, falls mir etwas auffällt.

                              Daniel

                              Kommentar

                              Lädt...
                              X