Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Yahka hue color nach hex convertieren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
90 Beiträge 28 Kommentatoren 23.1k Aufrufe 17 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Sinalco
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • W Offline
      W Offline
      Walkinlarge2010
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        CrazyCreator
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • E Offline
          E Offline
          eagleye
          schrieb am zuletzt editiert von
          #4

          ja, würde mich auch sehr interessieren.

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            CrazyCreator
            schrieb am zuletzt editiert von
            #5

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

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                CrazyCreator
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  hayholy
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    danw
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      danw
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        CrazyCreator
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • DutchmanD Online
                          DutchmanD Online
                          Dutchman
                          Developer Most Active Administrators
                          schrieb am zuletzt editiert von
                          #12

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

                          Sent from my iPhone using Tapatalk

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            CrazyCreator
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              danw
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                CrazyCreator
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  danw
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    CrazyCreator
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      danw
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • C Offline
                                        C Offline
                                        CrazyCreator
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          danw
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          402

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe