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 last edited by

      Da wollte ich das heute mal endlich umsetzen ... aber mir fehlt "weiß"

      Ich habe diese 5 Datenpunkte im IoT Adapter verknüpft:
      98e2c346-6e85-4a46-8a75-5ffc548e1fe4-image.png
      103163d4-d5f6-4d17-9d01-eb3d7a29a58d-image.png

      • Wenn ich "Alexa, schalte Test Keller aus" sage, geht der dimmer Wert auf 0, wenn ich "... ein" sage, dann auf den letzten Wert über 0 der vorher gesetzt war.
      • Wenn ich "Alexa, dimme Test Keller auf 75%"sage geht eben dieser dimmer Wert auf 75
        So weit, so gut.
        Jetzt die Farben:
      • Wenn ich "Alexa, setze Test Keller auf rot" sage, spring color-rgb auf #ff0000, bei "... blau" dann auf #0000ff, bei "... pink" auf `#ffbfcc'
      • Wenn ich "Alexa, setze Test Keller auf weiß" sage, passiert aber nichts. Auch bei "warmweiß" etc. passiert nichts

      Hat einer eine Idee?

      BananaJoe 1 Reply Last reply Reply Quote 0
      • 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

                                        564
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

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