Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Alexa-Gerät in IoT mit variablen Funktionen

    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

    Alexa-Gerät in IoT mit variablen Funktionen

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

      @UdoG sagte in Alexa-Gerät in IoT mit variablen Funktionen:

      na z.B.: 'Alexa, schalte den Küchenfernseher auf Pro Sieben' oder 'Alexa, mach den Küchenfernseher leiser'.
      Mit dem Script klappt das auch, nur eben das 'Gemecker' von Alexa stört.

      Ich habe eine VU und regel das etwas anders. Ich prüfe nur welcher Echo angesprochen wurde und das Blockly schaltet dann den Sender am passenden Gerät, mit dem gleichen Befehl.

      Beispiel
      Bildschirmfoto 2020-07-17 um 09.57.49.png

      der erstellte Datenpunkt ist ein Button und das SmartGerät ein Switch (so gibt es im iot nur an, kein aus. Das erkennst Du auch am Symbol im iot, es gibt nur das an Symbol)

      Bildschirmfoto 2020-07-17 um 10.05.02.png

      Bildschirmfoto 2020-07-17 um 10.04.11.png

      Alexa, z. d. f. an (oder schalte z. d. f. an)

      Alexa ist im Kurzmodus eingestellt (dann kommt kein okay, nur ein kurzer Ton)
      Alexa, schalte Kurzmodus ein

      1 Reply Last reply Reply Quote 1
      • U
        UdoG last edited by

        für deine Situation eine clevere Idee. Ich hab allerdings eine offene Küche, also stehen der kleine Küchenfernseher und der große Wohnzimmerfernseher quasi im gleichen Raum, und werden vom gleichen Alexa (theoretisch über den Harmony-Skill) bedient. Dachte nur es gibt eine Möglichkeit ein IoT-Gerät zu erschaffen, dass wie ein Fernseher bedient werden kann, also neben An/Aus auch Kanal rauf/runter lauter/leiser usw.

        dslraser 2 Replies Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @UdoG last edited by dslraser

          @UdoG sagte in Alexa-Gerät in IoT mit variablen Funktionen:

          Dachte nur es gibt eine Möglichkeit ein IoT-Gerät zu erschaffen, dass wie ein Fernseher bedient werden kann, also neben An/Aus auch Kanal rauf/runter lauter/leiser usw.

          Ich glaube (bin mir aber nicht sicher) das ist ein iot/alexa Skill V3 Thema, das ist schon länger im Gespräch.

          Edit: siehe hier

          https://forum.iobroker.net/post/459461

          1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @UdoG last edited by dslraser

            @UdoG sagte in Alexa-Gerät in IoT mit variablen Funktionen:

            Ich hab allerdings eine offene Küche, also stehen der kleine Küchenfernseher und der große Wohnzimmerfernseher quasi im gleichen Raum

            wenn Dich beide ECHOS hören können wird es schwierig, bzw. wenn im gleichen Raum nur ein ECHO ist auch.
            Den Harmony Skill habe ich nicht aktiv, ich nutze den Harmony Adapter.
            Wenn Du zwei verschiedene Namen vergibst, müsste es doch auch funktionieren.

            Alexa, schalte z. d. f. am Küchenfernseher an (als SmartNamen z. d. f. am Küchenfernseher)

            und

            Alexa, schalte z. d. f. am Wohnzimmerfernseher an (als SmartNamen z. d. f. am Wohnzimmerfernseher)

            Jeweils dann auf den richtigen Datenpunkt vom Harmony Adapter ?

            Probiert habe ich das aber nicht, aber im Harmony Adapter kann man doch auch Kanäle an den Geräten schalten.

            Edit: im Harmony Adapter sind die einzelnen Geräte zu finden, also die, die Du selbst vergeben hast.

            Screenshot_20200717-132040_Chrome.jpg

            Und wenn Du im Harmony Adapter nur Kanalnummern schalten kannst, dann kann das ja ein Blockly/Script erledigen, oder ?

            1 Reply Last reply Reply Quote 0
            • U
              UdoG last edited by

              ich frage bei Änderung des summary-Datenpunktes von Alexa ab, ob einer der beiden Fernseher angesprochen wurde. Dann werte ich den Text weiter aus ob z.B. an/aus/ein/ab gesagt wurde, oder Lauter/leiser usw. Abhängig davon setze ich den Datenpunkt im Harmony-Adapter. Wie gesagt, funktioniert alles zuverlässig.
              Das mit dem IoT/Alexa V3 bzw. Device-Adapter hört sich gut an, und scheint ja in die Richtung zu gehen.
              Mein Problem wird sich aber wahrscheinlich zu Weihnachten erledigen, da es für das Wohnzimmer einen neuen OLED geben soll, und der kann dann selbst mit Alexa kommunizieren.

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @UdoG last edited by dslraser

                @UdoG sagte in Alexa-Gerät in IoT mit variablen Funktionen:

                ich frage bei Änderung des summary-Datenpunktes von Alexa ab, ob einer der beiden Fernseher angesprochen wurde. Dann werte ich den Text weiter aus ob z.B. an/aus/ein/ab gesagt wurde, oder Lauter/leiser usw.

                und genau das ist das Problem.
                Alexa selbst hat dann keinen Datenpunkt der geschaltet wird und gibt Dir dann blöde Fragen, wie kann ich nicht, oder gibt es nicht...., geschaltet wird aber trotzdem, weil das Dein Script macht.
                Dann solltest Du wenigstens einen Dummy in der Alexa App schalten lassen, dann kommt auch keine "blöde Rückfrage", aber dann könntest Du auch gleich einen richtigen Button schalten lassen.

                1 Reply Last reply Reply Quote 0
                • U
                  UdoG last edited by

                  Ja, ja, und genau dieser Dummy ist mein Problem! Der kann nämlich nur An/Aus. Dachte es gibt eine Trick, aber offensichtlich ja (noch) nicht.

                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @UdoG last edited by

                    @UdoG sagte in Alexa-Gerät in IoT mit variablen Funktionen:

                    Ja, ja, und genau dieser Dummy ist mein Problem! Der kann nämlich nur An/Aus. Dachte es gibt eine Trick, aber offensichtlich ja (noch) nicht.

                    ich habe Dir doch oben geschrieben wie man einen Button mit nur an erstellt...?

                    1 Reply Last reply Reply Quote 0
                    • U
                      UdoG last edited by

                      Das würde aber, soweit ich es verstehe, für jeden Fernseher, für jede erdenkliche Aktion ein IoT-Alexa-Gerät (Button) bedeuten. Macht bei 2 Fernsehern und 20 zu schaltenden Programmen plus An/Aus usw. ca 50 Geräte!

                      dslraser 2 Replies Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active @UdoG last edited by dslraser

                        @UdoG
                        jo, und ? Wenn die Namen eindeutig sind ist das doch Wurscht. Ich habe ca 250 iot Geräte.
                        Ich stelle gleich mal ein kurzes Beispiel rein. Damit könntest Du per Script die Datenpunkte erstellen. iot Geräte werden dann automatisch erzeugt.

                        1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @UdoG last edited by dslraser

                          @UdoG

                          Hier mal ein " nicht getesteter Vorschlag"

                          Bildschirmfoto 2020-07-17 um 14.48.27.png

                          Das wird erstellt

                          Bildschirmfoto 2020-07-17 um 14.25.43.png

                          Beispiel RAW

                          Bildschirmfoto 2020-07-17 um 14.43.24.png
                          In der Funktion Datenpunkte_erstellen in den Zeilen 132/133 siehst Du wie die Datenpunkte erstellt werden.

                          Für diese Funktion muss im Javascript Adapter der Haken bei setObject gesetzt sein.

                          Bildschirmfoto 2020-07-17 um 14.37.53.png

                          Edit: Export geändert am 17.07.2020 15:04 Uhr

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <variables>
                              <variable id="6.Ie+,O^_9;a+%t[+=66">Alexa_verwenden</variable>
                              <variable id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</variable>
                              <variable id="@dfi39Koz.GLoDlWKLpn">01_ARD_Kuche</variable>
                              <variable id="ru0(_Dim1wF4joGWSU1R">Alexa_SmartName_ard_Kueche</variable>
                              <variable id="{^xyc.S,O80nk39h+|Q@">01_ARD_Wohnzimmer</variable>
                              <variable id="K+xmJ]W]70ond6tKJDp7">Alexa_SmartName_ard_Wohnzimmer</variable>
                              <variable type="timeout" id="start">start</variable>
                            </variables>
                            <block type="procedures_defcustomnoreturn" id="D:0E=~0D8*EFnn8f|sd." x="13" y="13">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Datenpunkte_erstellen</field>
                              <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQ1MjkyMC9jb250aW51ZS1pbi1jdXJzb3ItZm9yZWFjaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGF0ZSBpcyBub3QgZXhpc3Rpbmcgb3IgZm9yY2UgPSB0cnVlLCBzbyB3ZSBhcmUgY29udGludWluZyB0byBjcmVhdGUgdGhlIHN0YXRlIHRocm91Z2ggc2V0T2JqZWN0KCkuCiAgICAgICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgICAgIG9iai5jb21tb24gPSBsb29wUGFyYW1bMV07CiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXTogJyArIGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJykKICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IGxvb3BQYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKGxvb3BQYXJhbVswXSwgaW5pdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0RhdGVucHVua3RlIGbDvHIgU2VuZGVyIGVyc3RlbGxlbiBtaXQgU21hcnROYW1lbiBmw7xyIGlvdAppZiAoQWxleGFfdmVyd2VuZGVuID09IHRydWUpewpsZXQgc3RhdGVzVG9DcmVhdGUgPSBbCiAgICBbJ1RWLlNlbmRlci4wMUFSRF9LdWVjaGUnLCB7J25hbWUnOidBUkQgS8O8Y2hlJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOididXR0b24nLCdkZWYnOnRydWUsInNtYXJ0TmFtZSI6IHsiZGUiOiBBbGV4YV9TbWFydE5hbWVfYXJkX0t1ZWNoZSwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydUVi5TZW5kZXIuMDFBUkRfV29obnppbW1lcicsIHsnbmFtZSc6J0FSRCBXb2huemltbWVyJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOididXR0b24nLCdkZWYnOnRydWUsInNtYXJ0TmFtZSI6IHsiZGUiOiBBbGV4YV9TbWFydE5hbWVfYXJkX1dvaG56aW1tZXIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKCl07CmNyZWF0ZVVzZXJTdGF0ZXMoYW5sZWdlbl9pbix0cnVlLCBzdGF0ZXNUb0NyZWF0ZSl9OwoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vRGF0ZW5wdW5rdGUgZsO8ciBTZW5kZXIgZXJzdGVsbGVuIG9obmUgU21hcnROYW1lbiBmw7xyIGlvdAppZiAoQWxleGFfdmVyd2VuZGVuID09IGZhbHNlKXsKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwogICAgWydUVi5TZW5kZXIuMDFBUkRfS3VlY2hlJywgeyduYW1lJzonQVJEIEvDvGNoZScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywnZGVmJzp0cnVlLCJzbWFydE5hbWUiOiBmYWxzZSB9XSwKICAgIFsnVFYuU2VuZGVyLjAxQVJEX1dvaG56aW1tZXInLCB7J25hbWUnOidBUkQgV29obnppbW1lcicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywnZGVmJzp0cnVlLCJzbWFydE5hbWUiOiBmYWxzZSB9XSwKCl07CmNyZWF0ZVVzZXJTdGF0ZXMoYW5sZWdlbl9pbix0cnVlLCBzdGF0ZXNUb0NyZWF0ZSl9OwoKCi8vRnVua3Rpb24gbWFpbiBtaXQgVmVyesO2Z2VydW5nIGF1ZnJ1ZmVuCnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKIC8vIG1haW4oKTsKfSwgNTAwMCk7Cm1haW4oKTsKCg==</field>
                              <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
                            </block>
                            <block type="variables_set" id="-}0zHt+l]S;,hHTbYxLo" x="13" y="62">
                              <field name="VAR" id="6.Ie+,O^_9;a+%t[+=66">Alexa_verwenden</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="bscLe5m#^~iX;Sg.p@or">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id=";?fMsQ~nMP,W:*R,z,hL">
                                  <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
                                  <value name="VALUE">
                                    <block type="text" id="TZDVFCHb+7p4,v#~lC!*">
                                      <field name="TEXT">javascript.0</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="C?p|h2cd|bu.3mh7lsvy">
                                      <field name="VAR" id="ru0(_Dim1wF4joGWSU1R">Alexa_SmartName_ard_Kueche</field>
                                      <value name="VALUE">
                                        <block type="text" id="7;plX_/D?sv1[teu5=]t">
                                          <field name="TEXT">a. r. d. am Küchenfernseher</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="ZPY[FBz1yhp}E/xe)uC/">
                                          <field name="VAR" id="K+xmJ]W]70ond6tKJDp7">Alexa_SmartName_ard_Wohnzimmer</field>
                                          <value name="VALUE">
                                            <block type="text" id="vn+BpXMs/e+e}Y#G+$F`">
                                              <field name="TEXT">a. r. d. am Wohnzimmerfernseher</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="timeouts_settimeout" id="8FQd(trxfKDt`(FG0(?=" collapsed="true">
                                              <field name="NAME">start</field>
                                              <field name="DELAY">1000</field>
                                              <field name="UNIT">ms</field>
                                              <statement name="STATEMENT">
                                                <block type="procedures_callcustomnoreturn" id="}{A#y;jy-Pl_)n6[of`b">
                                                  <mutation name="Datenpunkte_erstellen"></mutation>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                            <block type="procedures_defnoreturn" id="|r?w}:z)r=!T3O=4ydx]" x="12" y="212">
                              <field name="NAME">main</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                              <statement name="STACK">
                                <block type="variables_set" id="ag_bO7$^e3+#+uyJ/xIK">
                                  <field name="VAR" id="@dfi39Koz.GLoDlWKLpn">01_ARD_Kuche</field>
                                  <value name="VALUE">
                                    <block type="text_join" id="zX:u`t:el19#8Gx#I$/r">
                                      <mutation items="2"></mutation>
                                      <value name="ADD0">
                                        <block type="variables_get" id=";vF*ad+$QX1J9)W9Y{[x">
                                          <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text" id="gUZ[0$uF}}r+ZipH*rJ}">
                                          <field name="TEXT">.TV.Sender.01ARD_Kueche</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="^KbkF$2YZhdU`lGIJl-.">
                                      <field name="VAR" id="{^xyc.S,O80nk39h+|Q@">01_ARD_Wohnzimmer</field>
                                      <value name="VALUE">
                                        <block type="text_join" id=",afo:T.i?(F4=_mhXAxQ">
                                          <mutation items="2"></mutation>
                                          <value name="ADD0">
                                            <block type="variables_get" id="@J8Z}R|l_VVu%:|J0(6O">
                                              <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
                                            </block>
                                          </value>
                                          <value name="ADD1">
                                            <block type="text" id="7UO!,mpF;o98`PT=q0`$">
                                              <field name="TEXT">.TV.Sender.01ARD_Wohnzimmer</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="comment" id="nh{M%TItU-A5r@8tJYM5">
                                          <field name="COMMENT">hier werden dann die Sender geschaltet</field>
                                          <next>
                                            <block type="debug" id="4itSTAg7)iFi|9(v!I)l">
                                              <field name="Severity">log</field>
                                              <value name="TEXT">
                                                <shadow type="text" id="(2aP6ku-6Lr{p]cvmJ]y">
                                                  <field name="TEXT"></field>
                                                </shadow>
                                                <block type="text" id="@-T,wm%6r:E5EA]{*x,T">
                                                  <field name="TEXT"> Das Blockly ist jetzt in main.</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="on_ext" id="D?NcL*fH:ST$rbjpojqY">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                  <field name="CONDITION">any</field>
                                                  <field name="ACK_CONDITION"></field>
                                                  <value name="OID0">
                                                    <shadow type="field_oid" id="I9/DvVSEK]p:S.2Now{A">
                                                      <field name="oid">default</field>
                                                    </shadow>
                                                    <block type="variables_get" id="]H2Q!sbM6{v7N]@%/~B3">
                                                      <field name="VAR" id="@dfi39Koz.GLoDlWKLpn">01_ARD_Kuche</field>
                                                    </block>
                                                  </value>
                                                  <statement name="STATEMENT">
                                                    <block type="comment" id="L`}(D0/wD_2aSJTnv#jz">
                                                      <field name="COMMENT">hier die Harmony Aktion</field>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="on_ext" id="?fCu=$)Bj|4P$s(f,p}0">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                      <field name="CONDITION">any</field>
                                                      <field name="ACK_CONDITION"></field>
                                                      <value name="OID0">
                                                        <shadow type="field_oid" id="fi^ogu~$#Md0J/w4k9k{">
                                                          <field name="oid">default</field>
                                                        </shadow>
                                                        <block type="variables_get" id="N[+zST]p!UPv[$T*Su?N">
                                                          <field name="VAR" id="{^xyc.S,O80nk39h+|Q@">01_ARD_Wohnzimmer</field>
                                                        </block>
                                                      </value>
                                                      <statement name="STATEMENT">
                                                        <block type="comment" id="]Hb;XZ3Fb}Lp6$rt#Kr2">
                                                          <field name="COMMENT">hier die Harmony Aktion</field>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </xml>
                          

                          1 Reply Last reply Reply Quote 0
                          • U
                            UdoG last edited by

                            das ist mir etwas zu sehr 'von hinten durch die Brust ins Auge', wie man so schön sagt. Was machst du, wenn sich die Programmbelegung ändert?
                            Ich habe einen Datenpunkt 'TVProgramme', in dem schön durch Komma getrennt die Programmnamen und die dazugehörige Kanalnummer stehen. Diesen Datenpunkt benutze ich im Script. Sollte sich an der Programmbelegung was ändern, muss ich nur diesen einen Datenpunkt ändern.
                            Aber es gibt ja immer viele Wege …
                            Ich warte also auf V3, oder Weihnachten!
                            Trotzdem vielen Dank

                            Gruß Udo

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @UdoG last edited by

                              @UdoG sagte in Alexa-Gerät in IoT mit variablen Funktionen:

                              Was machst du, wenn sich die Programmbelegung ändert?

                              habe ich schon ewig nicht geändert. Und ich selbst schalte ja über die VU (ZAP reference)

                              Ich wollte Dir nur helfen und eine Lösung finden.
                              Alles Gut, wenn Du das so nicht willst ist das für mich auch okay.

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

                              Support us

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

                              473
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              alexa cloud iot
                              2
                              18
                              857
                              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