Ankündigung

Einklappen
Keine Ankündigung bisher.

Beleuchtung Anfängerfrage: H S V in HSV

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

    Beleuchtung Anfängerfrage: H S V in HSV

    Hallo Forum,

    ich hoffe die Frage ist nicht zu blöd. Wenn ja, entschuldigt bitte.

    Ich versuche in Edomi beim Start per InitScan die aktuellen H, S und V-Werte abzurufen und dann in der Visu die aktuell hinterlegte Farbe anzuzeigen. Die Werte kann ich auch abfragen, aber wie bekomme ich denn nun den HSV-Wert aus den einzelnen H, S und V-Werten? Ich müsste doch irgendwie die "Hex-Werte" verbinden, oder bin ich auf dem Holzweg?

    Danke vorab. Grüße,
    Karin

    #2
    Willst du einfach die Werte hintereinander schreiben? HSV sind 3 Werte, H=0.360°, S und V = 0-100%
    Vermutlich willst du daraus einen RGB Wert machen (hex) und damit dann eine Farbe anzeigen?
    Gibt es dafür nicht sogar Werks-LBS, die ein HSV to RGB machen?

    Kommentar


      #3
      Ich habe einen LBS gefunden, der aus HSV RGB macht, aber ich sehe keinen Weg aus den 3 Einzelteilen H, S und V HSV oder RGB zu machen? Wenn ich HSV hätte, dann gibt es Standard-LBS dafür. Nur wie bekomme ich einen HSV-Wert aus den 3 Einzelteilen?

      Kommentar


        #4
        Manuelle Umrechnung wie hier beschrieben:
        https://de.wikipedia.org/wiki/HSV-Farbraum

        Hier eine andere Diskussion zum Thema:
        https://knx-user-forum.de/forum/projektforen/edomi/930609-rgb-hsv-und-hsv-rgb-bausteine

        Kommentar


          #5
          Zitat von karino Beitrag anzeigen
          Ich habe einen LBS gefunden, der aus HSV RGB macht
          Was genau erwartet denn dieser LBS am Eingang? D.h. wie ist der HSV Input Wert aufgebaut?

          Kommentar


            #6
            Zitat von jonofe Beitrag anzeigen

            Was genau erwartet denn dieser LBS am Eingang? D.h. wie ist der HSV Input Wert aufgebaut?
            Dieser LBS (aus dem Standardumfang 180000461) erwartet einen HSV-Wert im HEX-Format ("HHSSVV"). Daher frage ich mich wie ich aus den einzelnen 0-255er Werten einen HSV-Wert im HEX-Format bekommen kann?!

            Ich bekomme per GA alle drei Werte (H, S und V) als DPT5 (0 - 255) geliefert.

            Kommentar


              #7
              z.B. mit dem LBS 19000869 "Rechnet Dez-Werte in Hex-Werte um". 3 Instanzen davon mit den Ausgängen auf einen String-Verbinder-LBS und dann dessen Ausgang auf den HSV-to-RGB LBS.

              Kommentar


                #8
                Zitat von jonofe Beitrag anzeigen
                z.B. mit dem LBS 19000869 "Rechnet Dez-Werte in Hex-Werte um". 3 Instanzen davon mit den Ausgängen auf einen String-Verbinder-LBS und dann dessen Ausgang auf den HSV-to-RGB LBS.
                Danke für den Tipp. Das klingt schon mal gut. Beim ersten Test gerade hatte ich allerdings das Problem, dass er eine Null als "0" und nicht "00" weitergibt. Dann ist durch das Verbinden evtl. der 3fache Hex-Wert falsch, oder?

                Kommentar


                  #9
                  Ja das könnte sein. Ggf. kann das der Autor des LBS anpassen.
                  Du kannst es natürlich auch durch eine Logik machen (Vergleich mit 0, wenn wahr, dann 00)

                  Kommentar


                    #10
                    Zitat von jonofe Beitrag anzeigen
                    (Vergleich mit 0, wenn wahr, dann 00)
                    Was passiert denn bei 1-9? Wird das auch ohne führende Null zurückgegeben?
                    Wenn ja, dann ist es wohl besser das LBS zu korrigieren...

                    Kommentar


                      #11
                      Hi Sven

                      Zitat von SvenA Beitrag anzeigen
                      Was passiert denn bei 1-9? Wird das auch ohne führende Null zurückgegeben?
                      Auch nichts anderes als bei 0, den Fall kannst Du auf die gleiche Art und Weise handhaben.


                      Zitat von SvenA Beitrag anzeigen
                      Wenn ja, dann ist es wohl besser das LBS zu korrigieren...
                      Machbar ist das sicher, es lässt sich aber auch komplett mit Bordmitteln abbilden. Von daher eher eine gute Übung zum Einstieg?
                      Kind regards,
                      Yves

                      Kommentar


                        #12
                        Nimm den LBS 19000805 und an E2   strlen($E1)>1 ? $E1: "0".$E1; . dann bekommst Du bei einstelligen Zahlen an E2 auch eine führende Null.
                        Mfg Micha
                        Ich sage ja nicht, das wir alle dummen Menschen loswerden müssen, aber könnten wir nicht einfach alle Warnhinweise entfernen und den Dingen ihren Lauf lassen?

                        Kommentar

                        Lädt...
                        X