Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Yahka hue color nach hex convertieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Yahka hue color nach hex convertieren

Scheduled Pinned Locked Moved Skripten / Logik
90 Posts 28 Posters 24.1k Views 17 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Sinalco
    wrote on last edited by
    #1

    So ich hab jetzt ca. zwei Tage gesucht und experimentiert, aber jetzt komm ich leider nicht weiter.

    Ich verwende den Zigbee Adapter mit dem CC2531 Stick, da wird aber leider der Farbcode nur in HEX, Helligkeit in Brightness und Farbtemperatur in colortemp angenommen um Lampen (Osram Lightify LED Band) zu steuern.

    Ich möchte das ganze aber gern mit HomeKit steuern, im Yahka Adapeter kann man Brightness, ColorTemperature, Hue und Saturation angeben.

    Dazu hab ich zwei Skripte die auch soweit erst mal funktionieren:

    HSVtoRGB

    // Initialisierung bei Skriptstart
    var h = getState("javascript.0.scriptEnabled.logic.Licht.hue").val / 360; 
    var s = getState("zigbee.0.7cb03eaa000024ef.colortemp").val / 100;
    var v = getState("zigbee.0.7cb03eaa000024ef.brightness").val / 100;
    
    function HSVtoRGB() {
        var r, g, b, i, f, p, q, t;
        i = Math.floor(h * 6);
        f = h * 6 - i;
        p = v * (1 - s);
        q = v * (1 - f * s);
        t = v * (1 - (1 - f) * s);
        switch (i % 6) {
            case 0: r = v, g = t, b = p; break;
            case 1: r = q, g = v, b = p; break;
            case 2: r = p, g = v, b = t; break;
            case 3: r = p, g = q, b = v; break;
            case 4: r = t, g = p, b = v; break;
            case 5: r = v, g = p, b = q; break;
        }
        setState ("javascript.0.scriptEnabled.logic.Licht.r1"/*r1*/, Math.round(255 * r));
        setState ("javascript.0.scriptEnabled.logic.Licht.g1"/*g1*/, Math.round(255 * g));
        setState ("javascript.0.scriptEnabled.logic.Licht.b1"/*b1*/, Math.round(255 * b));  
    
    } // Ende der Funktion
    
    HSVtoRGB();  // Aufruf bei Skriptstart 
    
    on("javascript.0.scriptEnabled.logic.Licht.hue", function(dp) {
       h = dp.state.val / 360;
       HSVtoRGB();  // Aufruf bei Änderung von hue
    });
    on("zigbee.0.7cb03eaa000024ef.colortemp", function(dp) {
       s = dp.state.val / 100;
       HSVtoRGB();  // Aufruf bei Änderung von saturation
    });
    on("zigbee.0.7cb03eaa000024ef.brightness", function(dp) { 
       v = dp.state.val / 100;
       HSVtoRGB();  // Aufruf bei Änderung von dimmer
    });
    

    RGBtoHEX:

    var R = getState('javascript.0.scriptEnabled.logic.Licht.r1').val;
    var G = getState('javascript.0.scriptEnabled.logic.Licht.g1').val;
    var B = getState('javascript.0.scriptEnabled.logic.Licht.b1').val;
    
    function toHex(number) {
        if (number < 0) number = 0xFFFFFFFF + number + 1;
        var n = number.toString(16).toUpperCase();
        if (n.length == 1) {
            n = '0' + n;
        }
        return n;
    }
    
    function calculateColor() {
    
        log('#' + toHex(R) + toHex(G) + toHex(B));
        setState('zigbee.0.7cb03eaa000024ef.color', '#' + toHex(R) + toHex(G) + toHex(B));
    }
    
    calculateColor(); // Skriptstart
    
    on('javascript.0.scriptEnabled.logic.Licht.r1', function(dp) {
       R = dp.state.val;
       calculateColor();
    });
    on('javascript.0.scriptEnabled.logic.Licht.g1', function(dp) {
       G = dp.state.val;
       calculateColor();
    });
    on('javascript.0.scriptEnabled.logic.Licht.b1', function(dp) {
       B = dp.state.val;
       calculateColor();
    });
    

    Damit kann ich die Farben steuern, leider funktioniert die Farbtemperatur nicht.

    Yahka setzt ColorTemp zwischen 140 und 500

    Zusätzlich ändert sich beim Dimmen auch noch der Farbwert (von RGB nur R).

    Kann mir jemand sagen was ich falsch mach?

    So sieht mein Yahka adapter aus:
    5718_unbenannt.png

    1 Reply Last reply
    0
    • W Offline
      W Offline
      Walkinlarge2010
      wrote on last edited by
      #2

      Ich habe bei mir bei dem Punkt Hue in der zweiten Zeile noch HUE ausgewählt. Bei saturation habe ich in der zweiten Zeile Level 255 drin. Vielleicht funktioniert es ja mit den Einstellungen besser. Wäre aber nur ein try & error [emoji6]

      Meine Hue Lampen laufen so sauber.

      Gesendet von iPhone mit Tapatalk

      1 Reply Last reply
      0
      • C Offline
        C Offline
        CrazyCreator
        wrote on last edited by
        #3

        Kann mir jemand verraten wie und wo diese beiden javascript's eingebunden/eingefügt werden müssen?

        Bin da leider noch zu neu in der Materie

        1 Reply Last reply
        0
        • E Offline
          E Offline
          eagleye
          wrote on last edited by
          #4

          ja, würde mich auch sehr interessieren.

          1 Reply Last reply
          0
          • C Offline
            C Offline
            CrazyCreator
            wrote on last edited by
            #5

            Bin gespannt ob uns vielleicht doch noch jemand auf die Sprünge helfen kann/wird.

            1 Reply Last reply
            0
            • paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #6

              @CrazyCreator:

              wie und wo diese beiden javascript's eingebunden/eingefügt werden müssen? `
              2 neue Skripte im http://www.iobroker.net/docu/?page_id=6818&lang=de#Bedienung.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • C Offline
                C Offline
                CrazyCreator
                wrote on last edited by
                #7

                Ok … Das ist schonmal ein Schritt vorwärts :) Danke dir.

                In den beiden Skripten muss ich natürlich die Pfade anpassen und dann die Einrichtung im yahka Adapter nachmachen, so wie im Screenshot.

                Da stellt sich dann aber die nächste Frage: Auf welches Script wird im yahka Adapter verlinkt?

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  hayholy
                  wrote on last edited by
                  #8

                  @CrazyCreator:

                  Da stellt sich dann aber die nächste Frage: Auf welches Script wird im yahka Adapter verlinkt? `

                  So wie ich es verstanden habe, wird im yahka-Adapter auf die angelegte Variable "hue" verlinkt.

                  Aber es funktioniert bei mir leider nicht… Bei mir kommen regelmäßig negative Werte für R G B raus. Ich habe die Einstellungen aus dem Screenshot übernommen + level255 bei Saturation und +hue bei hue (jeweils in der zweiten Zeile im yahka-Adapter).

                  Muss Saturation eigentlich aktiviert sein? Bei mir bietet der Zigbee-Adapter gar kein Saturation für die HUE-Lampen an.

                  Kann jemand mit funktionstüchtiger Lösung bitte noch mal detailliert ausführen, welche Grenzen gesetzt werden müssen und ob die Normierungen im Skript (z.B. /360 /100 /100) korrekt sind? Ich denke, dass eine Übersicht vielen Usern bei der Einrichtung helfen würde :idea: !

                  Zudem habe ich das Problem, dass die Lampe mehrmals die Farbe wechselt ehe sie bei einer (nicht der korrekten, da ja RGB-Werte falsch sind) Farbe stehen bleibt. Das kann aber auch an den fehlerhaften RGB-Werten liegen? Oder benötigt man noch eine Art Verzögerung im Skript?

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    danw
                    wrote on last edited by
                    #9

                    Yahka, also Apple, setzt ColorTemperature als Mired. Das Objekt (z.B. hue.0.zimmer.lampe.ct) erwartet Kelvin.

                    Ähnliches Problem bei hue.0.zimmer.lampe.hue. Selbst mit der ConversionFunction kommen bei mir nur sehr seltsame Werte raus (>60000).

                    Die Objekte (hue.0.zimmer.lampe.ct & hue.0.zimmer.lampe.hue) haben andere min/max definiert, als übergeben werden.

                    Werde aktuell auch noch nicht schlau daraus.

                    It's not a Bug, it's a Feature

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      danw
                      wrote on last edited by
                      #10

                      Okay, gefunden. Liegt an der Adapter Version 1.0.1.

                      Version 0.6.9 installiert, funktioniert. Bluefox hat da wohl was geändert, was "hue" und "ct" für Werte erwarten.

                      It's not a Bug, it's a Feature

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        CrazyCreator
                        wrote on last edited by
                        #11

                        @danw

                        Ich müsste also zurück auf yahka 0.6.9?

                        Und wenn ja, könntest du mal einen Screen von deinen Yahka Einstellungen posten damit man mal sieht wie es dann funktioniert?

                        @bluefox

                        Ist das so wie @danw es geschrieben hat? Ist es dann vielleicht nur ein bug, oder soll es doch ein feature sein und wir nutzen es nur falsch?

                        1 Reply Last reply
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          wrote on last edited by
                          #12

                          Mache dazu bitte ein issue auf github auf ist übersichtlicher :-)

                          Sent from my iPhone using Tapatalk

                          1 Reply Last reply
                          0
                          • C Offline
                            C Offline
                            CrazyCreator
                            wrote on last edited by
                            #13

                            @Dutchman:

                            Mache dazu bitte ein issue auf github auf ist übersichtlicher :-) `

                            Bei GitHub iobroker.yahka?

                            Da gibt es schon einen Eintrag:

                            https://github.com/jensweigele/ioBroker.yahka/issues/76

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              danw
                              wrote on last edited by
                              #14

                              Bei Yahka ist alles okay, mir ging es um Version 0.6.9 vom iobroker hue package.

                              Folgende Änderung wird das "Problem" verursachen.

                              Lösung wäre hier eine andere/angepasste Conversion Function im Yahka.

                              Mit der aktuellen neuen Version (ganz frisch von heute) kann man manuell Scripts hinzufügen, das muss ich mir noch anschauen.

                              https://github.com/ioBroker/ioBroker.hue

                              Changelog von Version 1.0.1

                              (bluefox) temperature changed from 153-cold, 500-warm to 2200-warm, 6500-cold

                              (bluefox) hue changed from 0-65535 to 0-360°

                              Apple übergibt den Wert als Einheit Mired (also das, was auch hue vorher erwartet hat und seit 1.0.1 aber Kelvin erwartet).

                              //edit: Wenn der OT tatsächlich RGB braucht, löst es sein Problem nicht.

                              It's not a Bug, it's a Feature

                              1 Reply Last reply
                              0
                              • C Offline
                                C Offline
                                CrazyCreator
                                wrote on last edited by
                                #15

                                Also ich habe den hue Adapter gar nicht installiert und betreibe auch keine Hue-Bridge … Bei mir gehen die Lichter über den ZigBee Stick.

                                Denn das gesetzte Ziel ist es ja die ganzen separaten Bridge's aus der Hausautomation verschwinden zu lassen, so das alles direkt über den ioBroker

                                gehändelt wird.

                                Was muss ich jetzt also tun ... Bin mittlerweile ein bisschen verwirrt.

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  danw
                                  wrote on last edited by
                                  #16

                                  Setz dich ein wenig näher mit dem Skript auseinander.

                                  Am Anfang wird die colortemp abgefragt, aber wenn ich mich nicht verschaue, auch nicht weiter im Script verwendet.

                                  It's not a Bug, it's a Feature

                                  1 Reply Last reply
                                  0
                                  • C Offline
                                    C Offline
                                    CrazyCreator
                                    wrote on last edited by
                                    #17

                                    Ich befürchte um so einen Code zu "lesen" fehlen mir die Kenntnisse.

                                    Ein HowTo für diese ganze Sache, die ja scheinbar nicht nur mich betrifft wäre eine coole Aktion.

                                    Ich persönlich verstehe vielleicht was du meinst oder mir sagen willst, aber dann ist auch schon Ende Gelände.

                                    Sorry … Dafür kann ich gut kochen ;) ... Aber das hilft hier nicht.

                                    1 Reply Last reply
                                    0
                                    • D Offline
                                      D Offline
                                      danw
                                      wrote on last edited by
                                      #18

                                      Ist halt auch schwierig dir zu helfen, wenn du ein Custom-Setup hast, was nur wenige haben und dann fertige Lösungen verlangst.

                                      Ich habe dein Setup nicht und kann es aus der Ferne kaum nachvollziehen.

                                      It's not a Bug, it's a Feature

                                      1 Reply Last reply
                                      0
                                      • C Offline
                                        C Offline
                                        CrazyCreator
                                        wrote on last edited by
                                        #19

                                        Oh nein … Bloß nicht.

                                        Ich verlange gar nichts ... Ehrlich nicht. Was ich mir wünsche ist natürlich eine andere Sache.

                                        Die EierlegendeWollMilchSau will ja jeder irgendwie.

                                        Dabei denke ich das mein Setup gar nicht so exotisch ist.

                                        Ich suche ja auch grundprinzipiell nur nach einer praktikablen Verbindung von ZigBeeDevice zu Yahka ... Thats all :)

                                        Nur mal für's Protokoll, damit ich richtig ansetze:

                                        Ich erstelle mir 2 Scripte, mit dem oben gepostetem Inhalt und passe die Pfade an?

                                        Wird die von die abgesprochene Variable: hue vom Script erzeugt, oder muss ich die selber anlegen?

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          danw
                                          wrote on last edited by
                                          #20

                                          Vielleicht etwas zur Verdeutlichung, was da passiert:

                                          Yahka macht da nicht viel, sofern du keine Conversion Function eingerichtet hast, mit den Werten die du per HomeKit eingibst.

                                          Soll es ja auch nicht.

                                          Das Apple nunmal den Wert in einer anderen Einheit/Berechnung übergibt, kann weder dein Lichtmodul (wie auch immer angeschlossen) oder Yahka (ohne Conversion Function) beeinflussen.

                                          Das "hue" und das "Colortemp" ist also nicht das, was Yahka vorgibt, sondern das, was du im HomeKit für eine Farbe und/oder Farbtemperatur einstellst. Der Rohwert.

                                          Soviel erstmal zur grundlegenden Erklärung.

                                          Die Verknüpfung zwischen beiden Werten muss nun, wo auch immer - ob nun im Yahka mit einer Conversion Function oder per Javascript -, passieren.

                                          Aus dem HSV Wert (also hue, saturation, brightness) wird der RGB (also Red,Green,Blue) errechnet, zwischendurch in temporäre Objekte geschrieben, und am Ende gesetzt.

                                          In deiner Yahka Config setzt du Colortemp und Brightness direkt auf das zigbee Objekt was korrekt ist, wenn Colortemp zwischen 140 und 500 sein muss und Brightness 0-100.

                                          Da Apple den hue Wert, also Color, in Mired übergibt (wie auch Colortemp zwischen 140 und 500 also) muss dieser dann genommen werden und in RGB umgerechnet werden.

                                          Anpassung von Colortemp und Brightness sollte also schon funktionieren.

                                          Jetzt muss halt einzeln geschaut werden, wo das Problem liegt.

                                          Das Script sieht nicht falsch aus. Deswegen füge doch mal bitte vor die Zeile

                                          setState ("javascript.0.scriptEnabled.logic.Licht.r1"/*r1*/, Math.round(255 * r));
                                          

                                          Die Zeilen````
                                          log(r + " " + Math.round(255 * r));
                                          log(g + " " + Math.round(255 * g));
                                          log(b + " " + Math.round(255 * b));

                                          hinzu.
                                          
                                          So können wir schauen, was die Variablen enthalten, bevor es dem temporären Objekt hinzugefügt wird.
                                          
                                          Das zweite Script reagiert auf eine Änderung von einer der drei temporären Objekte, rechnet es in RGB um und setzt es in das color Objekt vom zigbee.
                                          
                                          Da gibt es schon eine Logzeile ("log('#' + toHex(R) + toHex(G) + toHex(B));").
                                          
                                          Was gibt denn das alles aus, wenn du die Farbe anpasst?

                                          It's not a Bug, it's a Feature

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          629

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe