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. JavaScript
  5. Regenbogen Script

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Regenbogen Script

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 2 Kommentatoren 1.0k Aufrufe 2 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.
  • leovandavartL leovandavart

    ich hab hier zwei kleine Scripte wo einmal alle Lampen/Gruppe zeigleich die Farbewechselt und dann noch ein wo 3 Leuchten im Kreis nach einander die Farbe wechselt

    alle Lampen

    function HSVtoRGB(h, s, v) {
      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;
      }
    
      return {
        r: Math.round(r * 255),
        g: Math.round(g * 255),
        b: Math.round(b * 255)
      };
    }
    
    function componentToHex(c) {
      var hex = c.toString(16);
      return hex.length == 1 ? "0" + hex : hex;
    }
    
    function rgbToHex(r, g, b) {
      return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
    }
    
    function sleep(ms) {
      return new Promise((fnResolve) => {
        setTimeout(() => fnResolve(), ms);
      });
    }
    
    var speed = 100;
    var refreshRate = 1500; //new color every 10ms
    var i = 0;
    
    var loop = async function() {
        while (getState('0_userdata.0.Regenbogen').val == true) {
        await sleep(refreshRate);
        var color = HSVtoRGB(i, 1, 1);
        var hexColor = rgbToHex(color.r, color.g, color.b);
    
        setState('zigbee.0.group_4.color', hexColor) ;
    
        i += 1 / 10000 * speed;
        if (i > 1) {
          i = 0;
        }
      }
    };
    
    loop();
    

    und hier wo man 3 Leuchten hat

    function HSVtoRGB(h, s, v) {
      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;
      }
    
      return {
        r: Math.round(r * 255),
        g: Math.round(g * 255),
        b: Math.round(b * 255)
      };
    }
    
    function componentToHex(c) {
      var hex = c.toString(16);
      return hex.length == 1 ? "0" + hex : hex;
    }
    
    function rgbToHex(r, g, b) {
      return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
    }
    
    function sleep(ms) {
      return new Promise((fnResolve) => {
        setTimeout(() => fnResolve(), ms);
      });
    }
    
    var speed = 150;
    var refreshRate = 2000; //new color every 10ms
    var i1 = 0;
    var i2 = 0.2;
    var i3 = 0.4;
    
    var loop = async function() {
        while (getState('0_userdata.0.Regenbogen').val == true) {
        await sleep(refreshRate);
        var color1 = HSVtoRGB(i1, 1, 1);
        var hexColor1 = rgbToHex(color1.r, color1.g, color1.b);
    
    var color2 = HSVtoRGB(i2, 1, 1);
        var hexColor2 = rgbToHex(color2.r, color2.g, color2.b);
    
    var color3 = HSVtoRGB(i3, 1, 1);
        var hexColor3 = rgbToHex(color3.r, color3.g, color3.b);
        setState('zigbee.0.b40ecfd053650000.color', hexColor1) ;
    
        setState('zigbee.0.b40ecfd139860000.color', hexColor2) ;
    
        setState('zigbee.0.b40ecfd080ef0000.color', hexColor3) ;
    
        i1 += 1 / 10000 * speed;
        if (i1 > 1) {
          i1 = 0;
        }
    
     i2 += 1 / 10000 * speed;
        if (i2 > 1) {
          i2 = 0;
        }
     i3 += 1 / 10000 * speed;
        if (i3 > 1) {
          i3 = 0;
        }
      }
    };
    
    loop();
    
    AsgothianA Offline
    AsgothianA Offline
    Asgothian
    Developer
    schrieb am zuletzt editiert von
    #2

    @leovandavart zumindest bei den meisten Zigbee-Leuchten (leider aktuell nicht bei den Gruppen) geht das ganze viel einfacher:
    Es gibt den Datenpunkt hue_move. Wenn man hier eine Zahl (<>0) einträgt dann gibt die Zahl die Geschwindigkeit vor mit der die Farbe gewechselt wird. Das gilt natürlich nur für Geräte die auch per hue/sat eingestellt werden können - das sollten inzwischen aber die meisten sein.

    Zum anhalten einfach den Wert 0 eintragen.

    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

    leovandavartL 2 Antworten Letzte Antwort
    2
    • AsgothianA Asgothian

      @leovandavart zumindest bei den meisten Zigbee-Leuchten (leider aktuell nicht bei den Gruppen) geht das ganze viel einfacher:
      Es gibt den Datenpunkt hue_move. Wenn man hier eine Zahl (<>0) einträgt dann gibt die Zahl die Geschwindigkeit vor mit der die Farbe gewechselt wird. Das gilt natürlich nur für Geräte die auch per hue/sat eingestellt werden können - das sollten inzwischen aber die meisten sein.

      Zum anhalten einfach den Wert 0 eintragen.

      leovandavartL Offline
      leovandavartL Offline
      leovandavart
      schrieb am zuletzt editiert von
      #3

      @asgothian meine haben das halt nicht und das ist daraus geworden

      1 Antwort Letzte Antwort
      0
      • AsgothianA Asgothian

        @leovandavart zumindest bei den meisten Zigbee-Leuchten (leider aktuell nicht bei den Gruppen) geht das ganze viel einfacher:
        Es gibt den Datenpunkt hue_move. Wenn man hier eine Zahl (<>0) einträgt dann gibt die Zahl die Geschwindigkeit vor mit der die Farbe gewechselt wird. Das gilt natürlich nur für Geräte die auch per hue/sat eingestellt werden können - das sollten inzwischen aber die meisten sein.

        Zum anhalten einfach den Wert 0 eintragen.

        leovandavartL Offline
        leovandavartL Offline
        leovandavart
        schrieb am zuletzt editiert von
        #4

        @asgothian ich habe mal nachgeforscht nach dem hue/sat wert angeblich haben die das aber der zigbee adapter hat die leuchten falsch erkannt

        kein plan wie ich ich das richtig hinbekomme oder wie ich das anders programieren kann

        AsgothianA 1 Antwort Letzte Antwort
        0
        • leovandavartL leovandavart

          @asgothian ich habe mal nachgeforscht nach dem hue/sat wert angeblich haben die das aber der zigbee adapter hat die leuchten falsch erkannt

          kein plan wie ich ich das richtig hinbekomme oder wie ich das anders programieren kann

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von
          #5

          @leovandavart sagte in Regenbogen Script:

          @asgothian ich habe mal nachgeforscht nach dem hue/sat wert angeblich haben die das aber der zigbee adapter hat die leuchten falsch erkannt

          kein plan wie ich ich das richtig hinbekomme oder wie ich das anders programieren kann

          Du kannst die Lampen in die ausschlussliste eintragen - (eigene Seite in der Adapter Konfiguration), danach den Adapter neu starten und einen ‘State cleanup’ durchführen.

          Danach solltest Du die passenden datenpunkte haben.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          leovandavartL 1 Antwort Letzte Antwort
          0
          • AsgothianA Asgothian

            @leovandavart sagte in Regenbogen Script:

            @asgothian ich habe mal nachgeforscht nach dem hue/sat wert angeblich haben die das aber der zigbee adapter hat die leuchten falsch erkannt

            kein plan wie ich ich das richtig hinbekomme oder wie ich das anders programieren kann

            Du kannst die Lampen in die ausschlussliste eintragen - (eigene Seite in der Adapter Konfiguration), danach den Adapter neu starten und einen ‘State cleanup’ durchführen.

            Danach solltest Du die passenden datenpunkte haben.

            A.

            leovandavartL Offline
            leovandavartL Offline
            leovandavart
            schrieb am zuletzt editiert von
            #6

            @asgothian hat nix gebracht werden immer noch mit der falschen lampe erkannt

            laut zigbee adapter eine e27 leuchtmittel aber es ist eine gu10

            AsgothianA 1 Antwort Letzte Antwort
            0
            • leovandavartL leovandavart

              @asgothian hat nix gebracht werden immer noch mit der falschen lampe erkannt

              laut zigbee adapter eine e27 leuchtmittel aber es ist eine gu10

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #7

              @leovandavart poste mal die Details zu dem Gerät. (Bezeichnung, zigbee-Model usw.)

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              leovandavartL 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @leovandavart poste mal die Details zu dem Gerät. (Bezeichnung, zigbee-Model usw.)

                A.

                leovandavartL Offline
                leovandavartL Offline
                leovandavart
                schrieb am zuletzt editiert von leovandavart
                #8

                @asgothian dies wird erkannt in zigbee p1.png

                es ist eine ewlink gu10 smart

                und eigendlich sollte es diese sein https://www.zigbee2mqtt.io/devices/GL-S-007Z.html

                kann man nicht probieren eine payload zu senden ? ich muss sagen ich hab davon leider null plan

                AsgothianA 1 Antwort Letzte Antwort
                0
                • leovandavartL leovandavart

                  @asgothian dies wird erkannt in zigbee p1.png

                  es ist eine ewlink gu10 smart

                  und eigendlich sollte es diese sein https://www.zigbee2mqtt.io/devices/GL-S-007Z.html

                  kann man nicht probieren eine payload zu senden ? ich muss sagen ich hab davon leider null plan

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von Asgothian
                  #9

                  @leovandavart sagte in Regenbogen Script:

                  @asgothian dies wird erkannt in zigbee p1.png

                  es ist eine ewlink gu10 smart

                  und eigendlich sollte es diese sein https://www.zigbee2mqtt.io/devices/GL-S-007Z.html

                  Lt. Der Daten die die Leuchte schickt ist die Zuordnung im Adapter korrekt. Eine Gledopto Leuchte ist es sicher nicht - das sagt auch schon der Hersteller den die Leuchte meldet (eWeLink)

                  kann man nicht probieren eine payload zu senden ? ich muss sagen ich hab davon leider null plan

                  Das kannst du auf verschiedene Arten versuchen. Zunächst solltest du schauen ob die Leuchte Hue überhaupt unterstützt:
                  0b2f672b-688e-4f03-88b1-52305903e90c-image.png

                  Zunächst musst du die Leuchte auf Farbe einstellen. Dann kannst du die folgenden Schritte versuchen.

                  Dazu öffnest du die Konfiguration des Zigbee Adapters (nicht den Tab), und wechselst auf die Entwickler Ansicht.

                  An Stelle des gelben im Screenshot musst du deine Leuchte auswählen.
                  An Stelle des roten gehört 1 rein - der Endpunkt der den Cluster unterstützen soll
                  Dann auf ausführen flicken und 30 s warten ob es im schwarzen Feld eine Meldung gibt.

                  Diese mal posten. Wenn da success steht kannst du versuchen den currentHue auch zu beschreiben (umstellen auf Write, needs value auswählen, wert angeben (0<x<350) und schauen ob du die Farbe anpassen kannst.

                  Mit dem Ergebnis können wir dann weiter schauen.

                  A.
                  P.s. Willkommen im Wahnsinn von TuYa. Gleiche Dinge melden sich unterschiedlich, und unterschiedliche Dinge melden sich gleich.
                  Nachtrag; TuYa und ich werden keine Freunde, da viele TuYa Geräte Support von zigbee clustern melden, diesen aber unvollständig implementieren und statt dessen am Standard vorbei einen sonder weg gehen. Insbesondere bei leuchten ist das doof.
                  A.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  leovandavartL 1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

                    @leovandavart sagte in Regenbogen Script:

                    @asgothian dies wird erkannt in zigbee p1.png

                    es ist eine ewlink gu10 smart

                    und eigendlich sollte es diese sein https://www.zigbee2mqtt.io/devices/GL-S-007Z.html

                    Lt. Der Daten die die Leuchte schickt ist die Zuordnung im Adapter korrekt. Eine Gledopto Leuchte ist es sicher nicht - das sagt auch schon der Hersteller den die Leuchte meldet (eWeLink)

                    kann man nicht probieren eine payload zu senden ? ich muss sagen ich hab davon leider null plan

                    Das kannst du auf verschiedene Arten versuchen. Zunächst solltest du schauen ob die Leuchte Hue überhaupt unterstützt:
                    0b2f672b-688e-4f03-88b1-52305903e90c-image.png

                    Zunächst musst du die Leuchte auf Farbe einstellen. Dann kannst du die folgenden Schritte versuchen.

                    Dazu öffnest du die Konfiguration des Zigbee Adapters (nicht den Tab), und wechselst auf die Entwickler Ansicht.

                    An Stelle des gelben im Screenshot musst du deine Leuchte auswählen.
                    An Stelle des roten gehört 1 rein - der Endpunkt der den Cluster unterstützen soll
                    Dann auf ausführen flicken und 30 s warten ob es im schwarzen Feld eine Meldung gibt.

                    Diese mal posten. Wenn da success steht kannst du versuchen den currentHue auch zu beschreiben (umstellen auf Write, needs value auswählen, wert angeben (0<x<350) und schauen ob du die Farbe anpassen kannst.

                    Mit dem Ergebnis können wir dann weiter schauen.

                    A.
                    P.s. Willkommen im Wahnsinn von TuYa. Gleiche Dinge melden sich unterschiedlich, und unterschiedliche Dinge melden sich gleich.
                    Nachtrag; TuYa und ich werden keine Freunde, da viele TuYa Geräte Support von zigbee clustern melden, diesen aber unvollständig implementieren und statt dessen am Standard vorbei einen sonder weg gehen. Insbesondere bei leuchten ist das doof.
                    A.

                    leovandavartL Offline
                    leovandavartL Offline
                    leovandavart
                    schrieb am zuletzt editiert von
                    #10

                    @asgothian leider kommt immer

                    undefined "attributes.map is not a function"

                    aber die meldung kommt auch bei hue lampen die das untersützen

                    AsgothianA 1 Antwort Letzte Antwort
                    0
                    • leovandavartL leovandavart

                      @asgothian leider kommt immer

                      undefined "attributes.map is not a function"

                      aber die meldung kommt auch bei hue lampen die das untersützen

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von Asgothian
                      #11

                      @leovandavart sagte in Regenbogen Script:

                      @asgothian leider kommt immer

                      undefined "attributes.map is not a function"

                      aber die meldung kommt auch bei hue lampen die das untersützen

                      Mist. Das muss ich mir im Code anschauen - das kann ich aber in den nächsten 6 Wochen wahrscheinlich nicht.

                      Wie schon oben geschrieben gehe ich davon aus das die Leuchte zwar von außen wie die gledopto als sieht, aber im inneren genau die zigbee Steuereinheit verbaut hat wie die Erwerber Leuchte.

                      A.
                      Nachtrag: ein Issue auf github ist erstellt.

                      A.

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      leovandavartL 1 Antwort Letzte Antwort
                      0
                      • AsgothianA Asgothian

                        @leovandavart sagte in Regenbogen Script:

                        @asgothian leider kommt immer

                        undefined "attributes.map is not a function"

                        aber die meldung kommt auch bei hue lampen die das untersützen

                        Mist. Das muss ich mir im Code anschauen - das kann ich aber in den nächsten 6 Wochen wahrscheinlich nicht.

                        Wie schon oben geschrieben gehe ich davon aus das die Leuchte zwar von außen wie die gledopto als sieht, aber im inneren genau die zigbee Steuereinheit verbaut hat wie die Erwerber Leuchte.

                        A.
                        Nachtrag: ein Issue auf github ist erstellt.

                        A.

                        leovandavartL Offline
                        leovandavartL Offline
                        leovandavart
                        schrieb am zuletzt editiert von
                        #12

                        @asgothian okay weiß ich erst mal bescheid

                        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

                        559

                        Online

                        32.6k

                        Benutzer

                        82.1k

                        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