Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [ESPHome] Beta release

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [ESPHome] Beta release

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bigd-73 @Dutchman last edited by

      @dutchman Danke für die Einbindung. Die Licht Komponente konnte ich schon mal testen.

      In den Objekten erscheint ein "state". Dieser nimmt den richtigen Wert des Stripes an, true oder false (ein/aus).
      Allerdings nur wenn ich den Stripes von der ESPHome Weboberfläche schalte. Der State selber ist in den Objekten
      nicht "setzbar/schreibbar". Einen State für die Farbe, Helligkeit und Farbtemperatur konnte ich noch nicht finden.

      Light 01.PNG

      SG
      Mario

      Dutchman 1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators @bigd-73 last edited by

        @bigd-73 sagte in [ESPHome] Beta release:

        Einen State für die Farbe, Helligkeit und Farbtemperatur konnte ich noch nicht finden.

        danke ! Tippfehler, bitte nochmal neu von git ziehen jetzt sollte alles kommen 🙂

        B 1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators @Dutchman last edited by

          @dutchman sagte in [ESPHome] Beta release:

          @markus_ sagte in [ESPHome] Beta release:

          Ich kann das Problem Bestätigen. Bei mir werden auch 2 Amazon Geräte gefunden

          ok thanks kan es reproduzieren und beheben

          ist jetzt auch behoben 😉

          1 Reply Last reply Reply Quote 0
          • B
            bigd-73 @Dutchman last edited by bigd-73

            @dutchman Alle States erscheinen jetzt in den Objekten, sehr gut.

            Light 02.PNG

            Kurz zusammengefasst:

            • state (true/false - Ein/Aus) - funktioniert
            • brightness - es kann nur der Wert 0 und 1 eingegeben werden, sollte aber 0 bis 255 sein
            • blue - es kann nur der Wert 0 und 1 eingegeben werden, sollte aber 0 bis 255 sein
            • green - es kann nur der Wert 0 und 1 eingegeben werden, sollte aber 0 bis 255 sein
            • red - es kann nur der Wert 0 und 1 eingegeben werden, sollte aber 0 bis 255 sein
            • colorTemperature - es kann nur der Wert 0 und 1 eingegeben werden, sollte aber 153 bis 500 sein (Mired)

            Ich sehe gerade Kommawerte funktionieren (0 bis 0.99). Allerdings ist diese Eingabe eher untypisch bei Helligkeits- und Farbangaben, denke ich zumindest.

            Optimal wäre noch ein zusätzlicher State der Hex Werte entgegen nimmt, also z.B. #00ff00. Eine Funktion im Adapter zerlegt den Wert in die RGB Werte und gibt es an ESPHome weiter. Ich habe das bis jetzt immer extern mit einem Skript gelöst.

            function hexToRgb(hex) {
              // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
              var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
              hex = hex.replace(shorthandRegex, function(m, r, g, b) {
                return r + r + g + g + b + b;
              });
            
              var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
              return result ? {
                r: parseInt(result[1], 16),
                g: parseInt(result[2], 16),
                b: parseInt(result[3], 16)
              } : null;
            }
            
            return (hexToRgb(hex).r) + "," + (hexToRgb(hex).g) + "," + (hexToRgb(hex).b);
            

            Vielen Dank nochmal ...

            SG
            Mario

            Dutchman 3 Replies Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators @bigd-73 last edited by Dutchman

              @bigd-73 sagte in [ESPHome] Beta release:

              @dutchman Alle States erscheinen jetzt in den Objekten, sehr gut.

              cool ! dan hab ich ja doch nicht al zuviel mist gebaut im framework 🙂

              @bigd-73 sagte in [ESPHome] Beta release:

              Ich sehe gerade Kommawerte funktionieren (0 bis 0.99). Allerdings ist diese Eingabe eher untypisch bei Helligkeits- und Farbangaben, denke ich zumindest.

              hmm ok ich muss mal sehe wie das reinkommt, kannste mal bitte den adapter auf debug stellen.
              Ich brauche dan fuer die device alles hinter log Eintrag "entityStateData".

              Vermute mal muss einfach die Sachen * 100 machen, wen du 0.5 einstellst geht zb die brightness auch auf 50% ?

              @bigd-73 sagte in [ESPHome] Beta release:

              Optimal wäre noch ein zusätzlicher State der Hex Werte entgegen nimmt, also z.B. #00ff00. Eine Funktion im Adapter zerlegt den Wert in die RGB Werte und gibt es an ESPHome weiter. Ich habe das bis jetzt immer extern mit einem Skript gelöst.

              Ich habe etwas vergleichbares im WLED adapter drin, ist bissl komplizierte dafuer bitte git issue 🙂

              B 2 Replies Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators @bigd-73 last edited by Dutchman

                @bigd-73 sagte in [ESPHome] Beta release:

                Optimal wäre noch ein zusätzlicher State der Hex Werte entgegen nimmt, also z.B. #00ff00. Eine Funktion im Adapter zerlegt den Wert in die RGB Werte und gibt es an ESPHome weiter. Ich habe das bis jetzt immer extern mit einem Skript gelöst.

                hast du die function zufällig auch andersrum, RGB to hex ?

                Edit : hab schon das war ja noch einfacher :/, baue ich heut abend ein 🙂

                function rgbToHex(r, g, b) {
                  return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
                }
                
                B 1 Reply Last reply Reply Quote 0
                • B
                  bigd-73 @Dutchman last edited by

                  @dutchman jetzt warst du schneller 😁

                  das hätte ich gefunden ...

                  function componentToHex(c) {
                  var hex = c.toString(16);
                  return hex.length == 1 ? "0" + hex : hex;
                  }
                   
                  return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
                  

                  SG
                  Mario

                  Dutchman 1 Reply Last reply Reply Quote 1
                  • B
                    bigd-73 @Dutchman last edited by bigd-73

                    @dutchman sagte in [ESPHome] Beta release:

                    hmm ok ich muss mal sehe wie das reinkommt, kannste mal bitte den adapter auf debug stellen.
                    Ich brauche dan fuer die device alles hinter log Eintrag "entityStateData".

                    Diesen Befehl sende ich via mqtt (so löste/löse ich die Sache bevor du begonnen hast den Adapter zu entwickeln)
                    Stripe ein, Helligkeit 100% (255), Farbe grün, kein Effekt

                    {"effect":"None","state":"ON","brightness":255,"color":{"r":0,"g":255,"b":0},"white_value":0}
                    

                    Das kommt im Log rein

                    [entityStateData] {"key":801952849,"state":true,"brightness":1,"red":0,"green":1,"blue":0,"white":0,"colorTemperature":0,"effect":"None"}
                    

                    weiteres Beispiel (mqtt):
                    Stripe ein, Helligkeit ca. 50% (127), Farbe lila, kein Effekt

                    {"effect":"None","state":"ON","brightness":127,"color":{"r":136,"g":0,"b":255},"white_value":0}
                    

                    Das kommt im Log rein

                    [entityStateData] {"key":801952849,"state":true,"brightness":0.49803921580314636,"red":0.5333333611488342,"green":0,"blue":1,"white":0,"colorTemperature":0,"effect":"None"}
                    

                    SG
                    Mario

                    1 Reply Last reply Reply Quote 0
                    • B
                      bigd-73 @Dutchman last edited by bigd-73

                      @dutchman sagte in [ESPHome] Beta release:

                      Vermute mal muss einfach die Sachen * 100 machen, wen du 0.5 einstellst geht zb die brightness auch auf 50% ?

                      genau ...

                      EDIT:
                      ich denke die Umrechnung lautet so: Value (Dezimalwert für ESPHome = x (Hex Value für eine Grundfarbe)/255 ---> zB.: 136/255 = 0.5333333611488342 (für obiges Beispiel aus dem Log)
                      Gilt natürlich auch für die Helligkeit ...

                      SG
                      Mario

                      1 Reply Last reply Reply Quote 0
                      • B
                        bigd-73 last edited by bigd-73

                        @dutchman ... weil ich gerade beim Wünschen bin 😀

                        Optimal wäre dann noch eine weitere Funktion bzw. Abfrage im Adapter. Falls via Hex Value #ffffff (weiss) bzw. RGB Value jeweils 255 (weiss) eingegeben wird, automatisch der White Channel (State "white" in den Objekten) auf 1 geht und RGB jeweils auf 0. Das ganze natürlich auch umgekehrt. Wird eine Farbe eingegeben (nicht weiss), soll der White Channel wieder auf 0 und die RGB bzw. Hex Werte gesetzt werden.

                        Hintergrund ---> Ein "weiss" mit den drei Grundfarben gemischt ist nie ein richtig sauberes "weiss", sondern eher blaustichig. Diese Funktion sollte vielleicht über einen State in den Objekten Ein/Aus geschaltet werden können. Dann kann jeder die Farbmischung lösen wie er möchte. Hab das bisher extern über ein Script gelöst.

                        So jetzt ist schluss, zumindest vorerst ... 😇

                        Danke

                        SG
                        Mario

                        Dutchman 2 Replies Last reply Reply Quote 1
                        • Dutchman
                          Dutchman Developer Most Active Administrators @bigd-73 last edited by

                          @bigd-73 sagte in [ESPHome] Beta release:

                          @dutchman ... weil ich gerade beim Wünschen bin
                          Optimal wäre dann noch eine weitere Funktion bzw. Abfrage im Adapter. Falls via Hex Value #ffffff (weiss) bzw. RGB Value jeweils 255 (weiss) eingegeben wird, automatisch der White Channel (State "white" in den Objekten) auf 1 geht und RGB jeweils auf 0. Das ganze natürlich auch umgekehrt. Wird eine Farbe eingegeben (nicht weiss), soll der White Channel wieder auf 0 und die RGB bzw. Hex Werte gesetzt werden

                          Sollte möglich sein auch dafür bitte ein GIT issue

                          1 Reply Last reply Reply Quote 0
                          • FredF
                            FredF Most Active Forum Testing @Dutchman last edited by

                            @dutchman Die aktuellste Version 0.1.2 gerade nochmal probiert und siehe da, nun ging es. Das soll einer verstehen...

                            1 Reply Last reply Reply Quote 1
                            • Dutchman
                              Dutchman Developer Most Active Administrators @bigd-73 last edited by

                              @bigd-73 sagte in [ESPHome] Beta release:

                              Ich sehe gerade Kommawerte funktionieren (0 bis 0.99). Allerdings ist diese Eingabe eher untypisch bei Helligkeits- und Farbangaben, denke ich zumindest.

                              probier mal 0.1.3 bitte

                              B 1 Reply Last reply Reply Quote 0
                              • Dutchman
                                Dutchman Developer Most Active Administrators @bigd-73 last edited by

                                @bigd-73 sagte in [ESPHome] Beta release:

                                Optimal wäre dann noch eine weitere Funktion bzw. Abfrage im Adapter. Falls via Hex Value #ffffff (weiss) bzw. RGB Value jeweils 255 (weiss) eingegeben wird, automatisch der White Channel (State "white" in den Objekten) auf 1 geht und RGB jeweils auf 0. Das ganze natürlich auch umgekehrt. Wird eine Farbe eingegeben (nicht weiss), soll der White Channel wieder auf 0 und die RGB bzw. Hex Werte gesetzt werden.

                                hmm ja kan man machen, aber was wuerde passieren wen man nur RGB hat geht ESPHome da dan richtig mit um ?
                                Den wen ich bei RGB (nicht RGBW) den RGB auf 0 mache geht alles aus ?

                                B 1 Reply Last reply Reply Quote 0
                                • Dutchman
                                  Dutchman Developer Most Active Administrators @bigd-73 last edited by Dutchman

                                  @bigd-73 sagte in [ESPHome] Beta release:

                                  @dutchman jetzt warst du schneller 😁

                                  das hätte ich gefunden ...

                                  Mario

                                  falls es mal jemand gebrauchen kan, RGB > HEX und HEX > RGB :
                                  (baue es morgen im adapter ein....)

                                  function hexToRgb(hex) {
                                      const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
                                      hex = hex.replace(shorthandRegex, function (m, r, g, b) {
                                          return r + r + g + g + b + b;
                                      });
                                  
                                      const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
                                      return result ? {
                                          red: parseInt(result[1], 16),
                                          green: parseInt(result[2], 16),
                                          blue: parseInt(result[3], 16)
                                      } : null;
                                  }
                                  
                                  function rgbToHex(r, g, b) {
                                      function componentToHex(color) {
                                          const hex = color.toString(16);
                                          return hex.length == 1 ? '0' + hex : hex;
                                      }
                                      const hex = '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);
                                      return hex;
                                  }
                                  
                                  const rgb = hexToRgb(`ff4000`) 
                                  console.log(rgb)
                                  
                                  const hex = rgbToHex(rgb.red,rgb.blue,rgb.green) 
                                  console.log(hex)
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bigd-73 @Dutchman last edited by

                                    @dutchman sagte in [ESPHome] Beta release:

                                    @bigd-73 sagte in [ESPHome] Beta release:

                                    Optimal wäre dann noch eine weitere Funktion bzw. Abfrage im Adapter. Falls via Hex Value #ffffff (weiss) bzw. RGB Value jeweils 255 (weiss) eingegeben wird, automatisch der White Channel (State "white" in den Objekten) auf 1 geht und RGB jeweils auf 0. Das ganze natürlich auch umgekehrt. Wird eine Farbe eingegeben (nicht weiss), soll der White Channel wieder auf 0 und die RGB bzw. Hex Werte gesetzt werden.

                                    hmm ja kan man machen, aber was wuerde passieren wen man nur RGB hat geht ESPHome da dan richtig mit um ?
                                    Den wen ich bei RGB (nicht RGBW) den RGB auf 0 mache geht alles aus ?

                                    Guten Morgen, in der Regel wird die Anzahl der Kanäle in ESPHome in der Light Komponente definiert. Über die Config Objekte in den States könnte man den Typ abfangen. Bei RGBW müsste dann false stehen. In diesen Fall müsste man die Funktion deaktivieren. Komme leider erst heute Abend zum Testen. Screenshots reiche ich dann nach ...

                                    SG
                                    Mario

                                    Dutchman 1 Reply Last reply Reply Quote 0
                                    • Dutchman
                                      Dutchman Developer Most Active Administrators @bigd-73 last edited by

                                      @bigd-73 sagte in [ESPHome] Beta release:

                                      Guten Morgen, in der Regel wird die Anzahl der Kanäle in ESPHome in der Light Komponente definiert. Über die Config Objekte in den States könnte man den Typ abfangen. Bei RGBW müsste dann false stehen. In diesen Fall müsste man die Funktion deaktivieren. Komme leider erst heute Abend zum Testen. Screenshots reiche ich dann nach ...

                                      Moin!

                                      Super danke dir genau was ich brauche dafür!
                                      Ich habe nicht alle Typen in Betrieb da hilft es sehr die Infos zu bekommen man kan nicht alles selber testen 😂👍

                                      B 1 Reply Last reply Reply Quote 0
                                      • B
                                        bigd-73 @Dutchman last edited by bigd-73

                                        @dutchman Hier mal die verschiedenen Licht Plattformen ...

                                        monochromatic (1 Kanal - Welche Funktionen unterstützt werden sieht man schön in den Config States)

                                        light_monochromatic.PNG

                                        cwww ( 2 Kanal - Hier ist die ColorTemperature und Brightness relevant, keine RGB Farben, mireds --> 153 ww --> 500 cw)

                                        light_cwww.PNG

                                        rgb (3 Kanal - Welche Funktionen unterstützt werden sieht man schön in den Config States)

                                        light_rgb.PNG

                                        rgbw (4 Kanal - Welche Funktionen unterstützt werden sieht man schön in den Config States)

                                        light_rgbw.PNG

                                        rgbww (5 Kanal - Welche Funktionen unterstützt werden sieht man schön in den Config States)

                                        light_rgbww.PNG

                                        Es gäbe dann noch Neopixel. Aber da verwenden wir ja WLED 😀

                                        Die neue Version wird heute Abend getestet, danke.

                                        SG
                                        Mario

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bigd-73 @Dutchman last edited by bigd-73

                                          @dutchman sagte in [ESPHome] Beta release:

                                          probier mal 0.1.3 bitte

                                          ... doch früher dazu gekommen ...

                                          Zusammenfassung (Ich teste mit einem RGBW Stripe, also colorTemperature nicht relevant, ersichtlich in den Config States):

                                          • In dieser Version ist die Value Range 0-100? Ich denke 0-255 wäre besser, weil weiter verbreitet und hex kompatibel.
                                          • Egal welche Werte ich bei RGB setze, der Stripe bleibt immer auf weiss. Also alle 3 Farben voll ein.
                                          • Der "white" State funktioniert, zumindest für Ein/Aus also 0/1
                                          • Brightness reagiert nicht. Weder bei "RGB", noch bei "white", keine Veränderung.
                                          • Schalte ich den Power "state" auf false, geht der Stripe aus. Beim einschalten gehen alle Werte auf 100. Die letzte Einstellung wird also nicht gespeichert.

                                          Nachtrag:
                                          Egal welchen State ich ändere, im Log kommt folgender Fehler ...

                                          [onStateChange] ReferenceError: writevalue is not defined
                                          

                                          SG
                                          Mario

                                          Dutchman 1 Reply Last reply Reply Quote 0
                                          • Dutchman
                                            Dutchman Developer Most Active Administrators @bigd-73 last edited by Dutchman

                                            @bigd-73 sagte in [ESPHome] Beta release:

                                            • In dieser Version ist die Value Range 0-100? Ich denke 0-255 wäre besser, weil weiter verbreitet und hex kompatibel.
                                            • Egal welche Werte ich bei RGB setze, der Stripe bleibt immer auf weiss. Also alle 3 Farben voll ein.
                                            • Brightness reagiert nicht. Weder bei "RGB", noch bei "white", keine Veränderung.
                                            • Schalte ich den Power "state" auf false, geht der Stripe aus. Beim einschalten gehen alle Werte auf 100. Die letzte Einstellung wird also nicht gespeichert.

                                            Nachtrag:
                                            Egal welchen State ich ändere, im Log kommt folgender Fehler ...

                                            [onStateChange] ReferenceError: writevalue is not defined
                                            

                                            danke, probier mall bitte v0.1.4-1, da sollte das Schreiben von brightness und RGB auch gehen (hatte nen typo im code) und die werte sind auf scale 0-255 anstatt 0-100

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            663
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            48
                                            591
                                            113529
                                            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