Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. [gelöst] IoT Adapter - Alexa Lampe - wie Farbe angeben?

    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

    [gelöst] IoT Adapter - Alexa Lampe - wie Farbe angeben?

    This topic has been deleted. Only users with topic management privileges can see it.
    • BananaJoe
      BananaJoe Most Active @BananaJoe last edited by

      @bananajoe und nun kann ich mir selbst antworten, bin aber noch nicht ganz am Ziel (oder doch)
      Der Datenpunkt color-temperature ändert sich.

      • 250 ist weiß
      • 370 ist warmweiß
      • 143ist kaltweiß

      Der Datenpunkt ändert sich aber aber nur wenn der Weiß-Wert sich ändert. Wenn ich die Lampe auf rot schalte und dann wieder auf weiß, ändert der Wert sich aber nicht.

      Ich habe aber gerade entdeckt, das wenn ich den Wert auf bestätigt setzte, er dann wieder unbestätigt ist.
      Also doch ein Weg das zu erkenne.

      D 1 Reply Last reply Reply Quote 0
      • D
        docsnyder7 @BananaJoe last edited by

        @bananajoe hätte gedacht es liegt am RGB Datenpunkt... den hab ich gar nicht im iot , dafür den hue, den Du ja auch in den Objekten hast

        BananaJoe 1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @docsnyder7 last edited by BananaJoe

          @docsnyder7 es kommt darauf an. Soweit ich feststellen konnte kann man entweder level.color.hue angeben, dann kommen Farbänderungen hier an und der switch funktioniert.

          Oder man gibt level.color.rgb an, dann hat man obiges verhalten.

          Um HUE in RGB umzurechnen habe ich aber nicht genügend Daten. level.color.saturation hat sich jedenfalls noch nie geändert.
          Und dafür würde ich ja den HUE-Wert, Saturation und die Helligkeit brauchen

          Edit: ich sehe gerade das es in deinem Screenshot level.brightness gibt, mal testen

          BananaJoe 1 Reply Last reply Reply Quote 1
          • BananaJoe
            BananaJoe Most Active @BananaJoe last edited by

            @bananajoe sagte in [gelöst] IoT Adapter - Alexa Lampe - wie Farbe angeben?:

            Edit: ich sehe gerade das es in deinem Screenshot level.brightness gibt, mal testen

            nope, geht auch nicht. Und den Switch bekomme ich auch nicht mehr zum laufen, egal ob mit HUE oder RGB

            1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active last edited by BananaJoe

              @docsnyder7 du wolltest ja mein Skript ... ich habe einen Stand fertig, aber es ist eskaliert ...
              Für vollständige Screenshots ist das alles etwas viel, ganz unten ist das ganze Skript, nachfolgend ein paar Erklärungen dazu.

              Also, ich habe diese 4 Datenpunkte angelegt:
              7177c26a-b4b8-4cb7-b576-66227f898257-image.png
              und per IoT Adapter veröffentlicht:
              e1263c2c-a28e-4eb6-a0fd-7f11e1f320d0-image.png

              Wobei der power Datenpunkt von Seiten IoT ohne Funktion ist, die Sprachbefehle ändern nur die 3 anderen Datenpunkte:

              • dimmer aka level.dimmer Regelt die Helligkeit und schaltet. Ist der Wert 0 ist die Lampe aus, jeder andere Wert ist die Lampe an
              • color-rgb aka level.color.rgb regelt die Farbe, aber nur wenn die Lampe im colour Modus ist, dieser Datenpunkt ist bei der Farbe weiß ohne funktion
              • color-temperature aka level.color.temperature ist nur für weiß zuständig, ich habe 3 mögliche Werte ermittelt: 250 = weiß, 370 = warmweiß und 143 = kaltweiß

              Die Datenpunkte bzw. den Stamm dazu habe ich in einer Variablen:
              978d981e-da87-432f-abfa-1b18c4480a49-image.png

              Ich will 2 Lampen als Gruppe schalten, diese habe ich auch per Variable definiert:
              44f3203e-086f-46b6-9541-0c9ccb1b0cb5-image.png
              Die Lampen haben folgende Datenpunkte:
              67a901f0-c9c9-4707-a943-a54d028b03cd-image.png

              Mein Skript setzt also die Alexa-Datenpunkte auf diese Lampendatenpunkte um.

              Auf Dimmer reagieren:
              0c398bfb-4109-4a17-9431-846f23737673-image.png

              Setzt den Power Datenpunkt passend zum Dimmer Status, bei Wertänderung wird die Helligkeit an die Tuya-Lampen durchgegeben.
              Bei Helligkeitsänderungen prüft es vorher in welchen Modus die Lampen sind. Bei Weiß wird direkt geändert, bei Farbig wird der RGB-Wert genommen und auf den passenden, dunkleren Wert heruntergerechnet.

              39f9bcc4-2d4a-4ae2-a355-dcd75dec7700-image.png
              reagiert auf den Power-Datenpunkt und schaltet die Tuya-Lampen ggf. ein oder aus

              ecfd99fe-054f-42d2-9c37-ddf36d91012c-image.png
              reagiert auf den color-temperature Datenpunkt (jemand hat weiß gesagt!) und schaltet entsprechend um

              c2eff77b-9d69-4ce1-a750-8534064c95d1-image.png
              reagiert auf den RGB Datenpunkt und schaltet auf diesen um.

              Dazu ein Menge Funktionen:
              ce1994e5-a964-451d-8467-242110c5015f-image.png
              Schaltet die Lampen an oder aus

              3121b861-92c6-4563-b402-7d1fe8348a4b-image.png
              dimmt die Lampen (wenn Modus weiß)

              a55bd630-9417-457e-999c-299176bef904-image.png
              schaltet um vom Colour-Modus auf den Weuß-Modus

              e21bbdb4-bbaf-429a-ab18-dd1751353d89-image.png
              schaltet um in den Farbmodus

              Die nächsten 3 brauche ich falls die Lampen im Farbmodus sind und jemand dimmt:
              0c308ace-523c-4005-88ba-c3be78b1ba4c-image.png
              Die machen aus einem #ff0000 RGB Wert bei 50% Helligkeit ein #7f0000 weil im Farbmodus darüber die Helligkeit gesteuert wird.

              a7d85fe1-d8a6-4e5a-9b1f-151d0de25387-image.png
              ist die eigentliche Funktion die Schaltet.

              Das ganze Skript als Blockly Export:

              im nächsten Beitrag
              

              Edit: Export ist zu lang, mehr als 100.000 Zeichen ...

              sten-tor 1 Reply Last reply Reply Quote 1
              • BananaJoe
                BananaJoe Most Active last edited by

                Hier bei Paste.bin: https://pastebin.com/a4xWBrPf

                D 1 Reply Last reply Reply Quote 1
                • D
                  docsnyder7 @BananaJoe last edited by

                  @bananajoe
                  brauchst du das Script, um aus den Datenpunkten, die dir die verschieden Lampen zurückgeben, eine entsprechende Vis zu kreieren? seh ich das soweit richtig?

                  BananaJoe 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @docsnyder7 last edited by

                    @docsnyder7 Nein.

                    Ich brauche das Skript um in Summe 6 Tuya-Lampen über Alexa steuerbar zu machen. Jeweils 2 sollen eine Gruppe bilden, sprich wenn mein Sohn sagt "Licht aus" sollen beide ausgehen, wenn meine Tochter sagt "setze fenster auf rot" sollen beiden Lampen auf rot springen.

                    Dazu simuliere ich nun jeweils 1 Gerät das dann 2 Geräte steuert.
                    Ja, ich könnte auch Tuya mit Alexa verbinden ... dann habe ich aber ganz viele Geräte da drin die ich gar nicht haben will.

                    D 1 Reply Last reply Reply Quote 1
                    • D
                      docsnyder7 @BananaJoe last edited by

                      @bananajoe

                      Alles Klaro!

                      1 Reply Last reply Reply Quote 0
                      • sten-tor
                        sten-tor @BananaJoe last edited by

                        @bananajoe sagte

                        • color-temperature aka level.color.temperature ist nur für weiß zuständig, ich habe 3 mögliche Werte ermittelt: 250 = weiß, 370 = warmweiß und 143 = kaltweiß

                        Deine LED arbeitet bei der Farbtemperatur mit der Einheit Mired - was der Kehrwert von Kelvin ist. Die Umrechnungsformel dafür lautet Mired = 1.000.000/K.

                        Das könntest du also direkt im Skript oder mit der Alias-Konvertierung umrechnen.

                        BananaJoe 1 Reply Last reply Reply Quote 0
                        • BananaJoe
                          BananaJoe Most Active @sten-tor last edited by

                          @sten-tor sagte in [gelöst] IoT Adapter - Alexa Lampe - wie Farbe angeben?:

                          @bananajoe sagte

                          • color-temperature aka level.color.temperature ist nur für weiß zuständig, ich habe 3 mögliche Werte ermittelt: 250 = weiß, 370 = warmweiß und 143 = kaltweiß

                          Deine LED arbeitet bei der Farbtemperatur mit der Einheit Mired - was der Kehrwert von Kelvin ist. Die Umrechnungsformel dafür lautet Mired = 1.000.000/K.

                          Das könntest du also direkt im Skript oder mit der Alias-Konvertierung umrechnen.

                          Fast richtig: Das ist das was von Alexa zurück kommt wenn ich "warmweiß" etc. setze. Meine LED hat für die Farbtemperatur einen Bereich von 0 bis 1000% (Warum auch immer steht da % hinter)

                          sten-tor 1 Reply Last reply Reply Quote 0
                          • sten-tor
                            sten-tor @BananaJoe last edited by

                            @bananajoe sagte in [gelöst] IoT Adapter - Alexa Lampe - wie Farbe angeben?:

                            xa zurück kommt wenn ich "warmweiß" etc. setze. M

                            oha, das überrascht mich aber. Bei mir liefert der iot-Adapter über Alexa gesteuert nur Kelvin-Werte. Rolle ist level.color.temperature - bei dir auch?

                            2013b929-782c-4cf8-bd84-22aa38867011-image.png ("warmes Weiß", "Warmweiß", "Kaltweiß")

                            BananaJoe 1 Reply Last reply Reply Quote 0
                            • BananaJoe
                              BananaJoe Most Active @sten-tor last edited by

                              @sten-tor
                              Ja, Rolle ist level.color.temperature
                              Magst du mal die ganze Definition deiner Fake-Lampe zeigen?
                              Ich nutze die RGB-Variante.

                              Der IoT sollte doch nur auf die Rolle schielen, nicht auf den Namen, oder?
                              Funktioniert bei dir der Switch?

                              sten-tor 1 Reply Last reply Reply Quote 0
                              • sten-tor
                                sten-tor @BananaJoe last edited by

                                @bananajoe sieht bei mir so aus:
                                21a07825-0367-4a7f-8b0d-34034dda56e3-image.png

                                Hab auch nochmal in die Amazon developers Doku geschaut: da steht auch explizit drin, dass der ColorTemperatureController mit einem absoluten Kelvin-Wert arbeitet: https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-colortemperaturecontroller.html

                                BananaJoe 1 Reply Last reply Reply Quote 0
                                • BananaJoe
                                  BananaJoe Most Active @sten-tor last edited by

                                  @sten-tor Der Link ist interessant. Wobei ich nicht ganz die Übersetzung sehe, der IoT übersetzt level.color.temperature in?

                                  sten-tor 1 Reply Last reply Reply Quote 0
                                  • sten-tor
                                    sten-tor @BananaJoe last edited by sten-tor

                                    @bananajoe hab mir mal den iot sourcecode angeschaut. Wenn ich dort richtig lese, wird von Alexa ein Kelvin-Wert zwischen 1000 und 10000 angeliefert. Dieser wird auf 2200...7000 begrenzt und abhängig von der Einheit des Datenpunktes (obj.common.unit) in Mired (=1e6/K) oder Prozent umgerechnet.
                                    e6e156ca-16c6-47c4-aca6-c6932db88f72-image.png
                                    f23346fe-7948-4b9a-82c6-662a0e78ad05-image.png
                                    EDIT: @BananaJoe du könntest also theoretisch die Unit deines Alias' auf "%" setzen und dann mit dem Faktor 10 deinen 0...1000-Datenpunkt schreiben.

                                    BananaJoe 1 Reply Last reply Reply Quote 0
                                    • BananaJoe
                                      BananaJoe Most Active @sten-tor last edited by

                                      @sten-tor Argh, Unit wird also auch ausgewertet. Das wird wieder ein Abend voller Experimente.
                                      Aber gute Idee in den Quellcode zu schauen.
                                      Schön wäre eine Stelle wo dann alles zusammengetragen ist. In der Beschreibung vom IoT Adapter steht zwar einiges, brachte mich bei meinen Projekt im ersten Moment auch nicht weiter.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      903
                                      Online

                                      31.8k
                                      Users

                                      80.0k
                                      Topics

                                      1.3m
                                      Posts

                                      6
                                      39
                                      9785
                                      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