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.
    • 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

                            474
                            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