Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Phillips Hue Farbsteuerung über Vis

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Phillips Hue Farbsteuerung über Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Schlumpf last edited by

      Hallo liebe Leute,

      ich bin grade am verzweifeln und komme einfach nicht mehr weiter. Ich hoffe das ihr mir helfen könnt.

      Bin noch immer nicht gut was Java angeht und werde einige zusammenhänge wohl nie verstehen, also seid bitte geduldig mit mir. 😞

      Folgendes möchte ich gerne verwirklichen:

      Ich habe mir ein Blockly zusammen gestückelt was ich im Internet gefunden habe. Dies bewirkt ganz grob das 2 Lampen in einer definierten Farbe blinken.
      Dies möchte ich nun durch verschiedene dinge steuern. Also habe ich mir eigene Objekte erstellt: Rot, Grün, Blau, Level, Sättigung und eines zum ein- und ausschalten.

      Zusätzlich habe ich in meinem VIS ein Color-Rad eingebaut, welches mir die RGB-Objekte steuert und an dem ich die Farbe manuell einstellen kann (und über einen Button auch das blinken starten kann).

      Das ganze wollte ich nun über das Blockly auf meine beiden Lampen übertragen lassen, deides Phillips Hue. Hierzu steuere ich die Werte r, g, b, level, sat, on und alert gleichzeitig.

      Hier stieß ich auf das Problem (bzw. die Vermutung das es hier ein problem geben könnte), das nur 10 Befehle in 1 sec gesendet werden können. Um das ganze bei 2 Lampen zum laufen zu bekommen benötige ich aber min. 14.

      Also dachte ich mir, mach es doch über das command. Hier sollte (meiner logik nach) nur ein Befehl gesendet werden.

      Also Blockly umgebaut, aus den werten in den eigenen Objekten eine command Zeile erstellt und schon ein wenig stolz auf mich gewesen! Hat auch fast geklappt, bzw. anfangs hat es das auch. Bis ich versucht habe ein 0,0,255 Blau zu erzeugen (oder Rot oder Grün). Das bekommt Hue oder der Adapter scheinbar nicht hin. Das liegt daran das, warum auch immer, Hue nicht bis 255 im RGB geht, sondern nur bis 254. Gibt man 255 in eines der RGB-Felder einer Hue-Lampe ein springt er auf 254 zurück. Das wäre auch kein großes Problem, wenn er das auch machen würde wenn man den Befehl per command absetzt: tut er aber nicht! Hier scheint er es einfach nicht zu verstehen und macht halt einfach nix.

      Tja, also habe ich versucht das ganze auf andere weise zu lösen: leider finde ich werder für das Objekt hue, noch für xy eine möglichkeit diese von normalen RGB umzurechnen. Ja, es gibt eines was ich gefunden habe, aber das bekomme ich nicht vernünftig in ein Blockly hinein, so das er die Werte aus meinen Objekten nimmt und mir einen hue Wert ausspuckt (https://gist.github.com/mjackson/5311256).

      Das Problem bei dem ganzen ist, dass mir zwar mein Farb-Rad im Vis auch hue ausgeben kann, nur ich keine hue raus bekomme wenn ich aus einer anderen Quelle, etwa einem anderen Skript, Werte in die RGB-Objekte eintrage. Das Farb-Rad übernimmt zwar die Farben, wandelt diese aber nicht automatisch auch in hue um.

      Jetzt hoffe ich, dass ihr eine Idee habt, ich komme einfach nicht mehr weiter.

      Gruß
      Jan

      DJMarc75 paul53 3 Replies Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @Schlumpf last edited by

        @schlumpf said in Phillips Hue Farbsteuerung über Vis:

        Ich habe mir ein Blockly zusammen gestückelt

        Einfach mal zeigen damit wir die vielen, vielen Sätze auch visualisieren können.

        S 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Schlumpf last edited by

          @schlumpf sagte: steuere ich die Werte r, g, b, level, sat, on und alert gleichzeitig.

          RGB sollte Helligkeit, Farbe und Sättigung vollständig enthalten.

          1 Reply Last reply Reply Quote 0
          • S
            Schlumpf @DJMarc75 last edited by Schlumpf

            @djmarc75

            😄 Entschuldigt die vielen Sätze, ich bin immer unsicher ob ich verständlich machen kann was ich sagen will.

            Ein Bild, kommt sofort:

            Blinken 1.jpg

            Allerdings ist das nicht mal unbedingt das entscheidende Problem in meinem, zugegeben etwas langen, Text. Theoretisch funktioniert das Skript ganz gut (abgesehen davon das die beiden Lampen nicht ganz synchron sind).

            Das Problem ist, wie bekomme ich die RGB Farben in eine Variante die mit command funktioniert.

            Natürlich, wenn jemand eine ganz andere Lösung hat ware ich auch dafür dankbar.

            Schwierig wird es halt, wenn ich dann auch noch von 2 verschiedenen Quellen (Farb-Rad und bspw. andere Skripte) Werte bekomme. Gerne würde ich daher sozusagen RGB in ein sinnvolles Format umwandeln was der Hue Adapter / die Hue Bridge / die Hue Lampen lesen/verstehen können.

            Wenn ich es richtig verstanden habe ist ja auch generell die RGB Farben die man bei Hue einstellt nicht gleich der die man normal bei RGB raus bekommt, oder?

            P.S.: Ach ja, habe im Moment in dem Skript den sat Wert noch ausgeschaltet bzw. setze ihn manuell (immer gleich).

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Schlumpf last edited by paul53

              @schlumpf sagte: bekomme ich nicht vernünftig in ein Blockly hinein, so das er die Werte aus meinen Objekten nimmt und mir einen hue Wert ausspuckt

              Da ich keine Phillips Hue habe: Welche Wertebereiche haben hue und sat?

              S 1 Reply Last reply Reply Quote 0
              • S
                Schlumpf @paul53 last edited by

                @paul53

                hue: 0-360

                und sat meine ich 0-254

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Schlumpf last edited by

                  @schlumpf sagte: hue: 0-360
                  und sat meine ich 0-254

                  Dann könnte das Blockly zur Umrechnung so aussehen:

                  Bild_2022-05-13_140107682.png

                  wobei die Funktion rgb2hsv(r, g, b) folgenden Inhalt (aus dem von Dir verlinkten Skript) hat:

                    r /= 255, g /= 255, b /= 255;
                  
                    var max = Math.max(r, g, b), min = Math.min(r, g, b);
                    var h, s, v = max;
                  
                    var d = max - min;
                    s = max == 0 ? 0 : d / max;
                  
                    if (max == min) {
                      h = 0; // achromatic
                    } else {
                      switch (max) {
                        case r: h = (g - b) / d + (g < b ? 6 : 0); break;
                        case g: h = (b - r) / d + 2; break;
                        case b: h = (r - g) / d + 4; break;
                      }
                  
                      h /= 6;
                    }
                  
                    return [ h, s, v ];
                  
                  1 Reply Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 last edited by DJMarc75

                    @schlumpf said in Phillips Hue Farbsteuerung über Vis:

                    Zusätzlich habe ich in meinem VIS ein Color-Rad eingebaut, welches mir die RGB-Objekte steuert

                    Welches Widget in der VIS nutzt Du ? Würde es gerne mal bei mir simulieren.

                    EDIT:
                    Ich nutze den HUE-Extended Adapter. Der kann HEX und diese Datenpunkte werden aus meinen Blocklys mit den HEX-Werten gefüttert. Leider hat der Adapter keine einzelnen R/G/B Datenpunkte was aber für mich nicht so relevant ist. Dafür einen RGB Datenpunkt und es werden auch werte bis 255 akzeptiert.

                    Screenshot 2022-05-13 164816.png

                    1 Reply Last reply Reply Quote 0
                    • S
                      Schlumpf last edited by Schlumpf

                      @paul53

                      Scheinbar ist in den RGB Helligkeit und Sättigung nicht mit drin, habe ich zumindest beim eingeben manuell gemerkt.

                      Sobald ich Zeit habe probier ich die Sachen mal aus und gucke was bei raus kommt.

                      @DJMarc75

                      Adapter: Philips Hue-Bridge

                      Das Farb-Rad kommt vom color picker style Widget (vis-colorpicker).

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Schlumpf last edited by paul53

                        @schlumpf sagte: Das Farb-Rad kommt vom color picker style Widget (vis-colorpicker).

                        Dieses?

                        Bild_2022-05-13_190105519.png

                        @schlumpf sagte in Phillips Hue Farbsteuerung über Vis:

                        Scheinbar ist in den RGB Helligkeit und Sättigung nicht mit drin

                        Der Ring steuert die Farbe (hue), das Quadrat Helligkeit und Sättigung.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Schlumpf @paul53 last edited by

                          @paul53

                          Ja genau das meine ich. Bzw. habe ich im Moment das drin, was man antippt um dann eine Farbe auszuwählen, das das Rad in einigen Werten nicht funktioniert.

                          Ja, die Werte werden ausgegeben. Nur wird die, ich weiß nicht ganz genau, entweder als 0-100 oder 0-255 ausgegeben. Heißt umwandeln damit es von Hue akzeptiert wird (werd ist eigentlich auf die doofe Idee gekommen nur bis 254 zu gehen?).

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Schlumpf last edited by paul53

                            @schlumpf sagte: als 0-100 oder 0-255 ausgegeben.

                            Auf die drei Datenpunkte für R,G,B werden die Werte 0-255 ausgegeben.

                            Colorpicker.JPG

                            Das Blockly rechnet sie dann um.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Schlumpf @paul53 last edited by

                              @paul53

                              Hat, denke ich, funktioniert. Hab noch ne Rundung eingefügt um ganze Zahlen zu bekommen.

                              Vielen Dank.

                              P.S.: Kleine Frage, da Ihr scheinbar das Rad auch probiert habt: werden bei euch die Werte unter H.S.L. (HUE, Sättigung und Helligkeit) auch nicht geschrieben? Oder mache ich die ganze Zeit einfach nur irgendwas falsch?

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              874
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              3
                              13
                              503
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo