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.
    • 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
                                    • B
                                      bigd-73 @Dutchman last edited by

                                      @dutchman sagte in [ESPHome] Beta release:

                                      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

                                      danke, hier eine kurze Zusammenfassung für RGBW:

                                      • State für Power funktioniert nicht, weder ein noch ausschalten ist möglich.
                                      • Eingaben in "colorHex" werden nicht richtig angenommen bzw. dargestellt. zB.: Eingabe von #ff0000 (rot) ---> Farbe wird gesetzt - State "colorHex" wechselt auf #010000
                                        oder Eingabe von #00ff00 (grün) ---> Farbe wird gesetzt - State "colorHex" wechselt auf #000000
                                        oder Eingabe von #0000ff (blau) ---> Farbe wird gesetzt - State "colorHex" wechselt auf #000101
                                      • State "white" bleibt immer auf 1. Der Weisskanal lässt sich somit nicht schalten
                                      • Die RGB Kanäle sind alle schaltbar. Hier sollte eventuell auf keine Kommastelle gerundet werden (max. 255). Der State "colorHex" nimmt den Wert wie oben beschrieben an.
                                      • Brightness funktioniert

                                      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:

                                        danke, hier eine kurze Zusammenfassung für RGBW:

                                        könntest du mir mal bitte deine yaml geben mit der ligt device ?
                                        Dan kan ich das hier mal nachspielen

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

                                          @dutchman sagte in [ESPHome] Beta release:

                                          könntest du mir mal bitte deine yaml geben mit der ligt device ?
                                          Dan kan ich das hier mal nachspielen

                                          natürlich ... hier mal für RGBW (4 Kanal):

                                          # #############        
                                          # output
                                          # #############      
                                          output:
                                            - platform: esp8266_pwm
                                              pin: 12
                                              frequency: 1000 Hz
                                              id: pwm_b
                                            - platform: esp8266_pwm
                                              pin: 13
                                              frequency: 1000 Hz
                                              id: pwm_g
                                            - platform: esp8266_pwm
                                              pin: 15
                                              frequency: 1000 Hz
                                              id: pwm_r
                                            - platform: esp8266_pwm
                                              pin: 14
                                              frequency: 1000 Hz
                                              id: pwm_cw
                                            - platform: esp8266_pwm
                                              pin: 16
                                              frequency: 1000 Hz
                                              id: pwm_ww
                                              
                                          # #############        
                                          # light
                                          # #############             
                                          light:
                                            - platform: rgbw
                                              name: "platform_rgbw"
                                              red: pwm_r
                                              green: pwm_g
                                              blue: pwm_b
                                              white: pwm_cw
                                          

                                          monochromatic (1 Kanal)

                                          # #############        
                                          # light
                                          # #############             
                                          light:
                                            - platform: monochromatic
                                              name: "platform_monochromatic"
                                              output: pwm_cw
                                          

                                          RGB (3 Kanal)

                                          # #############        
                                          # light
                                          # #############             
                                          light:
                                            - platform: rgb
                                              name: "platform_rgb"
                                              red: pwm_r
                                              green: pwm_g
                                              blue: pwm_b
                                          

                                          RGBWW (5 Kanal)

                                          # #############        
                                          # light
                                          # #############             
                                          light:
                                            - platform: rgbww
                                              name: "platform_rgbww"
                                              red: pwm_r
                                              green: pwm_g
                                              blue: pwm_b
                                              cold_white: pwm_cw
                                              warm_white: pwm_ww
                                              cold_white_color_temperature: 153 mireds
                                              warm_white_color_temperature: 500 mireds
                                          

                                          und noch CWWW (kaltweiss/warmweiss)

                                          # #############        
                                          # light
                                          # #############             
                                          light:
                                            - platform: cwww
                                              name: "platform_cwww"
                                              cold_white: pwm_cw
                                              warm_white: pwm_ww
                                              cold_white_color_temperature: 153 mireds
                                              warm_white_color_temperature: 500 mireds
                                          

                                          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:

                                            natürlich ... hier mal für RGBW (4 Kanal):

                                            super danke ! die RGB conversion konnte ich dadurch fixen, blind coden ist nicht immer praktisch 🙂

                                            mache mich gerade noch an die weis states dran und dan kommt ne neue version 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            892
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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