Ankündigung

Einklappen
Keine Ankündigung bisher.

RGBW Dimmer in der Visu

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

    #46
    Zitat von Matti87 Beitrag anzeigen
    könntest du hierzu eventuell mal Screenshots bzw. deine verwendeten LBS posten??
    Ne, leider nicht. Ich hatte das anfaenglich mit dem DPT3-LBS von woda und ein wenig Hin&Herrechnen mit "Firmen-LBS" geloest. Weil mir das allerdings irgendwann zu unuebersichtlich vorkam, habe ich einen eigenen LBS dafuer geschrieben.
    Aber das funktioniert prinzipiell auch ganz toll mit dem genannten DPT3-LBS: Als min/max Werte die waermste/kaelteste Farbtemperatur deiner LEDs vorgeben, Schrittweite anpassen und dann faellt am Ausgang die absolute Farbtemperatur raus.

    Kommentar


      #47
      gaert Hallo Christian,

      da es in 2.02 noch nicht gefixt war, ist es vermutlich im Frühjahr "durchgerutscht": Darf ich Dich bitten zu prüfen, ob meine oder eine ähnliche Korrektur Eingang finden kann in Dein Original des 18000060? Ohne die Änderung gibt es wegen des konstruktiven Rundungsfehlers nach jedem Update für alle meine RGB mit Colopicker immer einen automatische "Rotverschiebung"...

      Danke und viele Grüße,
      Carsten

      Zitat von saegefisch Beitrag anzeigen
      gaert :

      Hallo Christian,
      Ich habe mal im Detail nach der Ursache geforscht. Es lieht mE an der Verwendung von IntVal() in den LBS, der einem trunc() gleich kommt. Die restliche Verarbeitung in LBS und vor allem in den beiden Convert-Funktionen arbeitet aber mit /255 und *255, die als mathematisches round() wirken.

      Am Beispiel des Hue =Hex "1F" = liefert der 1. Convert Dezimal "31" -> / 255 = 0.12156862745098
      Auf dem Weg zurück im zweiten LBS liefert die Convert-Funktion faktisch 0.12104283054004 * 255 = 30.86592178771

      -> Allerdings führt IntVal(30.86592178771) zu "30", nicht zu "31" - dem Ausgangswert und mathematisch auch viel näher.

      Eine Lösung in 18000060 könnte über ein round() führen
      Code:
      ...
      $hsv=convertRGBtoHSV($r,$g,$b);
      if ($hsv!==false) {
      $hsvhex=(intval([COLOR=#c0392b]round([/COLOR]$hsv[0][COLOR=#c0392b])[/COLOR])*256*256) + (intval($hsv[1])*256) + intval($hsv[2]);
      logic_setOutput($id,2,sprintf("%06X",$hsvhex));
      logic_setOutput($id,6,intVal([COLOR=#c0392b]round([/COLOR]$hsv[0][COLOR=#c0392b])[/COLOR]));
      logic_setOutput($id,7,intVal($hsv[1]));
      logic_setOutput($id,8,intVal($hsv[2]));
      }
      ...
      Ob es sinnvoll ist, bei jeder Verwendung von IntVal in diesem LBS und ggf. auch in vielen anderen LBS dies zu ergänzen, vermag ich hinsichtlich der Folgen ad hoc nicht abzuschätzen - aber es lohnt vielleicht eine Erwägung. Möglicherweise gibt es weitere solcher Fälle.

      hsv1.JPG hsv2.JPG

      Screenshot vor (rot) und nach (blau) Korrektur des LBS 18000060.
      Bitte schau mal kritisch über meine Analyse und den Lösungsvorschlag. Es wäre prima, wenn die Änderung (oder eine andere dazu) in die nächste Version einfließen könnte.

      Danke und viele Grüße,
      Carsten
      Zuletzt geändert von saegefisch; 03.07.2020, 09:05.

      Kommentar


        #48
        Hallo zusammen,

        brauche bitte eure Unterstützung.
        Bin gerade dabei meine RGBW Lampen zu visualisieren, haut auch bisher alles soweit hin, bis auf das ich es nicht hinbekomme, dass ich ein Rechteck habe möchte in dem mir die aktuelle Farbe angezeigt wird.
        Auch möchte ich ähnlich wie twi127 Rechtecke erstellen die bei Betätigung die Farbe einstellen. Ich habe schon so viel versucht, habe aber keinen Erfolg.
        Was muss ich im Visuelement einstellen, bzw. welche Schritte sind hierfür erforderlich.

        Vielen Dank

        Kommentar


          #49
          Hallo zusammen,
          hat keiner eine Antwort auf meine Frage?
          Geht das vielleicht gar nicht was ich umsetzen möchte??

          Kommentar


            #50
            vielleicht formulierst Du Dein Wunsch/Ziel klarer = mundgerecht oder zumindest mit Screenshot oder verlinkt auf alte Beiträge, damit man das, was Du möchtest nicht als Leser versuchen muss, aus alten Beiträgen selber heraus suchen und erahnen zu müssen...

            Kommentar


              #51
              Hallo saegefisch ,

              Danke für Deine Rückmeldung, ich habe deinen Wink mit dem Zaunpfahl verstanden!
              Also nochmal von vorne, ich möchte gerne wie es in #17 von twi127 zu sehen ist.
              Unbenannt.PNG
              Ein Feld integrieren in dem die aktuell angewählte Farbe dargestellt wird zu sehen in der Mitte des Colorpickers , auch wäre es schön wenn ich ähnlich wie auch auf dem Bild zu sehen ist, Farbige Felder 1. 2.... in denen festgelegt Farben an das Dali Gateway als HSV Wert übergeben werden.
              Vielleicht geht es auch noch, wenn eine Farbe manuell vorgewählt wurde, diese dann in die Farbigen Felder abgespeichert werden könnten.

              Anbei habe ich mal meine Logik beigefügt, und einen Screenshot.
              Die Logik hat aber aktuell noch keine Inhalte von den oben beschrieben Punkten, da es schon in der Visu Oberfläche scheitert was ich für ein Visuelemet (Universalelement)??? anlegen muss.

              Angehängte Dateien
              Zuletzt geändert von BadWicky; 27.09.2020, 21:30.

              Kommentar


                #52
                Hallo saegefisch

                Habe gerade gesehen Du hast es ebenfalls ja schon umgesetzt #35
                Kannst Du mir dies vielleicht näherbringen wie du Dies umgesetzt hast.
                saege.PNG

                Kommentar


                  #53
                  Zitat von saegefisch Beitrag anzeigen
                  Daher stelle ich meinen Vorschlag vor - vielleicht hilft es jemandem und gerne auch zur Diskussion.

                  rgb2.JPG
                  Hi,
                  ich hab da 2 kleine Verständnisfragen:

                  1: du füllst doch die Eingänge deines 3xDec2DPT232 mit den gleichen iKOs, die an den einzelnen H/S/V Werten des LBS18000061 (ID38) ausgegeben werden. Hättest du dann nicht statt des 3xDec2DPT232 einfach den LBS 18000060 nehmen können und den Ausgang A1? Müsste doch im Ergebnis das Gleiche sein?!

                  2: jetzt aber die wirklich wichtige Frage für mich. Dein iKO 1261 auf dem SBC ist doch die Ausgabe aus dem Colorpicker (Primärauswahl)? Und die 3 Gruppenadressen an dem LBS 18000060 (ID236) sind die Statusrückmeldungen des Autors für die R/G/B Kanäle? An welcher Stelle übergibst du aber die Werte an den Aktor? an der letzten Ausgangsbox kommt ja ein HEX Wert an, kann der von deinem Aktor verarbeitet werden? Ich hätte eher mit einem HSV Wert bzw. DPT232.600 gerechnet (alá "227255178").

                  Ich bin gedanklich bei einem MDT LED Controller der solch einen Wert erwartet als 3Byte Objekt erwartet.

                  Freue mich auf ein Denkanstoß zu meinem Logikfehler (im Kopf)
                  Gruß David

                  Kommentar


                    #54
                    DPT232.600 sind ja 3 HEX Werte (RGB), Du musst nur die einzelnen 0-255 jeweils in HEX wandeln und zusammensetzen. Das erklärt dann bestimmt auch Deine Frage im anderen Thread.

                    Kommentar


                      #55
                      Also wird vom Aktor auf dem entsprechenden Objekt für HSV doch ein 6stelligen Hexwert erwartet (welcher aus den 3 einzelnen R/G/B oder H/S/V Werten im jeweils 2stelligen Format besteht).

                      dank dir. Hab ich so direkt nicht rauslesen können und erklärt natürlich einiges
                      Gruß David

                      Kommentar


                        #56
                        ich verzweifle gerade am Thema Colorpicker und Individualsteuerung über Einzelwerte von H/S/V

                        Kann mir jemand mal kurz auf die Sprünge helfen warum ich, wenn ich bei einem Farbauswahlelement (Modus HSV-Wert setzen) in einen grünen Bereich klicke als Ausgabe den HexCode 54fdf8 erhalte, was ja wiederum eher ein Hellblau/türkis ist?

                        Wenn ich das Ganze dann weiter verarbeite/aufteile und wieder zusammenführe bekomme ich einen völlig falschen Wert.
                        Ich vermute es hängt mit dem Baustein LBS 18000060 (ID1670) zusammen, da dieser ein R/G/B erwarten und dann entsprechend zusammenführt.
                        Bildschirmfoto 2020-11-05 um 14.00.33.png

                        Wenn ich es den Modus RGB-Wert setzen umstelle und die Logik etwas umstelle passt es passt es mit der "Grundfarbe".
                        Allerdings ändert sich dann bei manueller Änderung des H Wertes die Farbe nicht vollständig, sprich bei 0 die Farbe rot und bei 255 die Farbe rot und dazwischen alle Anderen sondern lediglich ein Bereich zwischen grün und Blau. Auch mit den S und V Werten passt es nicht so wie ich es mir vorstelle. HSV arbeitet ja eigentlich auch mit °/%/% Angaben, also z.B. 290°/100%/100%

                        Ich blick da einfach nicht durch

                        Mein eigentliches Ziel:

                        (H) Grundfarbe einstellen
                        (S) manuell die Sättigung ändern
                        (V) manuell den Dunkelwert/Hellwert ändern
                        Gruß David

                        Kommentar


                          #57
                          Zitat von BadWicky Beitrag anzeigen
                          Ein Feld integrieren in dem die aktuell angewählte Farbe dargestellt wird zu sehen in der Mitte des Colorpickers
                          1. Hierzu einfach ein UniversalElement nehmen. Bei KO1: Steuerung ein iKO (z.B. "Übergabe HSV") eintragen welches den Hexwert erhält, den auch an dein Dali Gateway übermittelt bekommt. Anschließend unter Design eine dynamische Hintergrundfarbe auswählen, bzw. erstellen. Bei Farb-Definition trägst du einfach "#{#}" ein. Das wars schon

                          Zitat von BadWicky Beitrag anzeigen
                          auch wäre es schön wenn ich ähnlich wie auch auf dem Bild zu sehen ist, Farbige Felder 1. 2.... in denen festgelegt Farben an das Dali Gateway als HSV Wert übergeben werden.
                          2. Hier ebenfalls UEs anlegen. Als Hintergrundfarbe dann hier die gewünschte Farben auswählen und unter Befehle "KO Wert zuweisen" auswählen und dem iKO "Übergabe HSV" (s.oben) den fixen Hexwert zuweisen. Das entsprechend für jede Farbe wiederholen.

                          Zitat von BadWicky Beitrag anzeigen
                          Vielleicht geht es auch noch, wenn eine Farbe manuell vorgewählt wurde, diese dann in die Farbigen Felder abgespeichert werden könnten.
                          3. Hier müsstest du ein paar mehr iKOs anlegen
                          Ein Beispiel für eine dynamischen Farbauswahl:

                          - Du könntest bei dem UE (aus 2.) den LangKlick aktivieren und "KO2 setzen" auswählen
                          - Dann legst du ein iKO an z.B. "Farbauswahl1". Das hinterlegst du im UE bei KO1: Steuerung
                          - Dann ein weiteres iKO z.B. "Farbe1-temp setzen" bei "KO2: Wert setzen" hinterlegen
                          - Als Hintergrundfarbe, nimmst du wieder die dynamische Hintergrundfarbe aus 1.
                          - Bei den Befehlen trägst du dann ein "KO: Wert eines anderen KOs zuweisen" und hier bei KO "Übergabe HSV" und bei zu übergebenden KO "Farbauswahl1"

                          Weiterhin musst du eine Logik erstellen.

                          Bildschirmfoto 2020-11-06 um 14.09.55.png

                          Bedeutet bei KurzKlick wird die aktuell gespeicherte Farbe aus dem Feld1 an Dali übergeben.
                          Bei einem LangKlick wird die zuvor ausgewählte Farbe vom Colorpicker an die Farbauswahl1 weitergegeben und durch den dynamischen Hintergrund im Feld1 angezeigt

                          Für weitere Felder einfach weitere iKOs anlegen mit *1, *3, *4, etc

                          Sollte eigentlich klappen





                          Gruß David

                          Kommentar


                            #58
                            shortyle
                            danke für deine Antworten! Kann sie leider aktuell nicht probieren da ich zeitlich ziemlich viel zu tun habe.
                            ich habe dir zu deiner oben genannten Frage ein Screenshot von meiner Logik gemacht.
                            die Einstellung über Schieberegler funktionieren bei mir auch bereits wenn du diese benötigst kann ich sie dir auch gerne einen Screenshot senden.
                            Angehängte Dateien
                            Zuletzt geändert von BadWicky; 06.11.2020, 15:21.

                            Kommentar


                              #59
                              BadWicky

                              Dank dir. Was mich direkt verwundet ist, dass ich andere Werte ausgegeben bekomme als du.

                              Bildschirmfoto 2020-11-06 um 19.51.16.png

                              Gruß David

                              Kommentar


                                #60
                                Schau mal jetzt und Vergleich die Werte
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X