Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. State-Datenpunkt über Alexa steuern?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    State-Datenpunkt über Alexa steuern?

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sichreid @dslraser last edited by

      @dslraser Danke.
      Ja, ich habe einen Datenpunkt beim iot für Alexa-Geräte eingebracht. Dieser hat mehrere States. Siehe weiter unten.

      Meine Frage wäre, was ich nun zu alexa sagen muss, dass sie den state ändern kann. Vielleicht habe ich auch das Problem, dass ich bisher Schlüsselwörter verwende? (Programmwahl, Sender, etc. )

      {
        "common": {
          "name": "programmwahl",
          "role": "state",
          "type": "state",
          "write": true,
          "read": true,
          "states": {
            "0": "ARD",
            "1": "DASERSTE",
            "2": "ZDF",
            "3": "BR",
            "4": "BR2",
            "5": "ARDALPHA",
            "6": "ORF",
            "7": "ORF2",
            "8": "ORF3",
            "9": "NTV",
            "10": "WELT",
            "11": "TAGESSCHAU",
            "12": "RTL",
            "13": "DMAX",
            "14": "NICKELODEON",
            "15": "SAT1",
            "16": "RTL2",
            "17": "PROSIEBEN",
            "18": "KABELEINS",
            "19": "TELE5",
            "20": "ATV",
            "21": "ATV2",
            "22": "SERVUSTV",
            "23": "DISNEY",
            "24": "VOX",
            "25": "SIXX",
            "26": "SUPERRTL",
            "27": "3SAT",
            "28": "ZDFINFO",
            "29": "ZDFNEO",
            "30": "ARTE",
            "31": "KIKA",
            "32": "HR",
            "33": "ONE",
            "34": "MDR",
            "35": "SWR",
            "36": "NDR",
            "37": "Phoenix"
          },
          "smartName": {
            "de": "programmwahl"
          }
        },
        "native": {},
        "type": "state",
        "_id": "javascript.0.TV.Umschalten",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1628264645717
      }
      
      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @sichreid last edited by dslraser

        @sichreid
        Ob Deine Variante funktioniert kann ich nicht sagen, aber eigentlich wird nur das was unter SmartName steht mit Alexa geschaltet.
        Ich habe es schon sehr lange so :

        {
          "type": "state",
          "native": {},
          "common": {
            "name": "02ARD",
            "type": "boolean",
            "read": false,
            "write": true,
            "role": "button",
            "def": true,
            "smartName": {
              "de": "kanal zwei, a. r. d. ",
              "smartType": "SWITCH"
            }
          },
          "from": "system.adapter.javascript.0",
          "user": "system.user.admin",
          "ts": 1627740712047,
          "_id": "0_userdata.0.TV_System_mit_Alexa.VU.Sender.02ARD",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        

        Dahinter werkelt dann noch ein Blockly und überprüft welcher ECHO angesprochen wurde und schaltet dann den passenden SAT Reciever (VU+) in diesem Raum auf diesen Sender.

        Alexa, a. r. d. an.

        Oder

        Aexa, Kanal zwei an.

        Manchmal muss ich auch

        Alexa, schalte a. r. d. an

        sagen, aber meistens geht es auch ohne das Wort schalte.

        Edit: die Punkte und Leerzeichen bei z.B. a. r. d. sind übrigens wichtig, damit werden dann einzelne Buchstaben erkannt. SmartNamen kannst Du mehrere verwenden, einfach durch ein Komma trennen. Ich habe für jeden Sender einen Datenpunkt.

        S 2 Replies Last reply Reply Quote 0
        • S
          sichreid @dslraser last edited by

          @dslraser
          Danke soweit.
          D.h. du hast für jeden einzelnen Sender einen eigenen State?

          Ich hatte das anfangs auch mal, doch ich bekam mit einigen Sendernamen Probleme, die Alexa nie verstanden hatte. Ich habe auch eine VU+ und rufe dann alle Sender mit Webzugriff auf.

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

            @sichreid
            Ich nutze den Enigma2 Adapter.

            Das Blockly sieht so in etwa aus (Ausschnitt)

            Screenshot_20210806-211903_Chrome.jpg

            S 1 Reply Last reply Reply Quote 0
            • S
              sichreid @dslraser last edited by sichreid

              @dslraser
              Der machte bei mir immer wieder Probleme. Vor ein paar Tagen habe ich alles auf Webzugriff umgestellt, da ich nicht viele Kommandos benötige.

              Nochmal zu den Sendern, hast du jeden Sender als eigenen State mit Smart-Name etc? für jeden einzelnen State schaltest du dann den entsprechenden Sender.

              edit:
              OK, also einzelne states, die du abfrägst. Aber warum prüfst du noch auf zwei instanzen, wenn du letztendlich doch das gleiche machst?

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

                @sichreid sagte in State-Datenpunkt über Alexa steuern?:

                OK, also einzelne states, die du abfrägst. Aber warum prüfst du noch auf zwei instanzen, wenn du letztendlich doch das gleiche machst?

                Weil ich eine VU im Wohnzimmer habe und eine im Schlafzimmer. Der ECHO im Wohnzimmer soll auch nur die VU im Wohnzimmer schalten, genauso ist es im Schlafzimmer. Somit geht dann mit dem gleichen Smartnamen bzw. ALEXA Befehl
                in beiden Räumen der Datenpunkt zu schalten. Im Wohnzimmer ist HD und im Schlafzimmer nicht. Deshalb zum Teil andere Service Referencen. (und ja, ich weiß das ich streamen könnte....)

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

                  @sichreid sagte in State-Datenpunkt über Alexa steuern?:

                  Ich hatte das anfangs auch mal, doch ich bekam mit einigen Sendernamen Probleme, die Alexa nie verstanden hatte.

                  Dann schau mal im Alexa2 Adapter in der Histoty was die Dame verstanden hat und auch wie es dort geschrieben steht.

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    sichreid @dslraser last edited by

                    @dslraser
                    OK, danke soweit. werde wohl das nochmal versuchen!

                    1 Reply Last reply Reply Quote 0
                    • S
                      sichreid @dslraser last edited by sichreid

                      @dslraser
                      Hast du die smartName Einträge dann bei der Übergabe in den iot-Adapter festgelegt oder kann man die irgendwie beim "createState" definieren, so dass diese dann automatisch erkannt werden?

                      Ich habe im Script diese so definiert:

                      createState('TV.ARD', false, false, {
                          smartName:{"de": "das erste, ard, a r d, a. r. d" }, 
                          type: 'switch'});
                      

                      Habe ich da einen Fehler, denn wenn ich diesen in den iot-Adapter hinzufüge, dann schlägt er in obigem Beispiel "Tv ard" vor!?

                      überschreibt der iot-Adapter den smartName?

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

                        @sichreid
                        Ich erstelle die Datenpunkte per Script (Blockly Funktion) Diese Datenpunkte werden dann automatisch in iot eingefügt. Ich kann Dir später mal mein Blockly exportieren, das müßtest Du dann für Dich anpassen. Im Moment bin ich noch unterwegs und nur am Handy.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          sichreid @dslraser last edited by

                          @dslraser
                          Bitte, das wäre super.
                          Kein Stress! Danke!

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

                            @sichreid sagte in State-Datenpunkt über Alexa steuern?:

                            @dslraser
                            Bitte, das wäre super.
                            Kein Stress! Danke!

                            Hier erstmal der Blockly Export. Bitte Datei runter laden und entpacken, danach mit einem Editor öffnen (nicht mit dem Browser) und dann den Inhalt der Textdatei in die Zwischenablage kopieren und dann das Blockly importieren.

                            Export.zip

                            Ich schreibe gleich noch was dazu wie das Blockly funktioniert (war bisher nur für mich gedacht und müsste auf Deine Wünsche, wie z.B. Senderreihenfolge oder SmartNamen usw. angepasst werden.)

                            In dieser Funktion (rechts auf die drei Punkte klicken) findest Du die Einstellungen zu den Datenpunkten.

                            Das grün angezeigte sind Variablen

                            Bildschirmfoto 2021-08-07 um 18.20.44.png

                            Bildschirmfoto 2021-08-07 um 18.21.00.png

                            Die Variablen stammen von hier:

                            Bildschirmfoto 2021-08-07 um 18.23.14.png

                            und hier

                            Bildschirmfoto 2021-08-07 um 18.23.28.png

                                [Pfad_Sender_Datenunkte+'.02ARD', {'name':'02ARD', 'type':'boolean', 'read':false, 'write':true, 'role':'button','def':true,"smartName": {"de": Alexa_SmartName_ard,"smartType": "SWITCH"} }],
                            
                            

                            Das was hier steht: (02ARD) (mit Punkt vorn)
                            Bildschirmfoto 2021-08-07 um 18.25.44.png
                            muss dann auch hier im letzten Textfeld wieder stehen (ohne Punkt) Das ist quasi der Bezug zum Datenpunkt.
                            Bildschirmfoto 2021-08-07 um 18.26.15.png

                            Diesen Namen kannst/musst Du Dir dann passend umbenennen
                            Bildschirmfoto 2021-08-07 um 18.28.08.png

                            Die erstellte Datenpunktstruktur sieht dann so aus

                            Bildschirmfoto 2021-08-07 um 18.30.23.png

                            Bildschirmfoto 2021-08-07 um 18.31.03.png

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              sichreid @dslraser last edited by

                              @dslraser

                              Hi, hm, das ist ein xml im txt. müsste das nicht ein json sein, um es zu ex/importieren?
                              Einkopiert in ein javascript funktioniert es nicht, oder?

                              Kannst du ein Bild vom Blockly von der state definition zeigen? und wie das im Javascript aussieht?

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

                                @sichreid sagte in State-Datenpunkt über Alexa steuern?:

                                @dslraser

                                Hi, hm, das ist ein xml im txt. müsste das nicht ein json sein, um es zu ex/importieren?
                                Einkopiert in ein javascript funktioniert es nicht, oder?

                                Kannst du ein Bild vom Blockly von der state definition zeigen? und wie das im Javascript aussieht?

                                Neues leeres Blockly erstellen, dann da drauf klicken (oben rechts auf den Pfeil)

                                Bildschirmfoto 2021-08-07 um 18.39.43.png

                                und da den Inhalt der Textdatei einfügen und unten rechts auf IMPORT klicken.

                                Bildschirmfoto 2021-08-07 um 18.39.50.png

                                EDIT:

                                und wie das im Javascript aussieht?

                                var my_01_Eingangskamera, anlegen_in, my_02_ARD, Pfad_Sender_Datenunkte, my_03_ZDF, Pfad_Menue_Datenunkte, my_04_SAT1, Pfad_Lautstaerke_Datenunkte, my_05_RTL, my_06_RTL2, ECHO_fuer_VU_Instanz_0, my_07_PRO7, ECHO_fuer_VU_Instanz_1, my_08_VOX, my_09_PHOENIX, my_10_SUPER_RTL, Alexa_SmartName_eingangskamera, my_11_KABEL_EINS, Alexa_SmartName_ard, my_12_KABEL_EINS_DOKU, Alexa_SmartName_zdf, my_13_WELT, Alexa_SmartName_sat1, my_14_N24_DOKU, Alexa_SmartName_rtl, my_15_NTV, Alexa_SmartName_rtl2, my_16_3SAT, Alexa_SmartName_pro7, my_17_ARTE, Alexa_SmartName_vox, my_18_SIXX, Alexa_SmartName_phoenix, my_19_DMAX, Alexa_SmartName_super_rtl, my_20_MDR, Alexa_SmartName_kabel_eins, my_21_HR, Alexa_SmartName_kabel_eins_doku, my_22_SPORT1, Alexa_SmartName_welt, my_23_NITRO, Alexa_SmartName_N24_DOKU, my_24_SAT1_GOLD, Alexa_SmartName_NTV, my_25_PRO7_MAXX, Alexa_SmartName_3sat, my_26_TELE5, Alexa_SmartName_arte, my_27_EUROSPORT1, Alexa_SmartName_sixx, my_28_EUROSPORT1_DE, Alexa_SmartName_dmax, my_29_NICKELODEON, Alexa_SmartName_mdr, my_30_SERVUS_TV, Alexa_SmartName_hr, Alexa_SmartName_sport1, my_01_MENUE_AUFNAHMEN, Alexa_SmartName_nitro, my_02_MENUE_EXIT, Alexa_SmartName_sat1_gold, my_03_MENUE_KANAL_ZURUECK, Alexa_SmartName_pro7_maxx, my_04_MENUE_VU_MUTE, Alexa_SmartName_tele5, my_05_MENUE_NAECHSTER_KANAL, Alexa_SmartName_eurosport1, my_06_MENUE_OKAY, Alexa_SmartName_eurosport1_de, my_07_MENUE_UEBERSICHT_AN, Alexa_SmartName_nickelodeon, my_01_MENUE_MACH_LAUTER, Alexa_SmartName_servustv, my_02_MENUE_MACH_LEISER, Alexa_SmartName_aufnahmen, Alexa_SmartName_exit, Alexa_SmartName_kanal_zurueck, Alexa_SmartName_vu_mute, Alexa_SmartName_naechster_kanal, Alexa_SmartName_okay_druecken, Alexa_SmartName_uebersicht_an, Alexa_SmartName_mach_lauter, Alexa_SmartName_mach_leiser, denon_volume_neu, vu_wz_volume_neu, vu_sz_volume_neu;
                                
                                // Datenpunkte erstellen
                                async function Datenpunkte_erstellen() {
                                   async function createUserStates(where, statesToCreate) {
                                      let dp, idKey;
                                      for(let key of statesToCreate){
                                      	idKey = where + '.' + key[0];
                                          dp = key[1];
                                      	if (!(await existsStateAsync(idKey))) {
                                      		await createStateAsync(idKey, dp);
                                      	}
                                      }
                                   }
                                
                                   //####################################################################################
                                
                                   //Datenpunkte für Sender erstellen mit SmartNamen für iot
                                   let statesToCreate = [
                                       [Pfad_Sender_Datenunkte+'.01Kamera', {'name':'01Eingangskamera', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_eingangskamera,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.02ARD', {'name':'02ARD', 'type':'boolean', 'read':false, 'write':true, 'role':'button','def':true,"smartName": {"de": Alexa_SmartName_ard,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.03ZDF', {'name':'03ZDF', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_zdf,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.04SAT1', {'name':'04SAT1', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_sat1,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.05RTL', {'name':'05RTL', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_rtl,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.06RTLII', {'name':'06RTLII', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_rtl2,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.07Pro7', {'name':'07Pro7', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_pro7,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.08VOX', {'name':'08VOX', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_vox,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.09PHOENIX', {'name':'09PHOENIX', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_phoenix,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.10SuperRTL', {'name':'10SuperRTL', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_super_rtl,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.11KabelEins', {'name':'11KabelEins', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_kabel_eins,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.12KabelEinsDoku', {'name':'12KabelEinsDoku', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_kabel_eins_doku,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.13Welt', {'name':'13Welt', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_welt,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.14N24Doku', {'name':'14N24Doku', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_N24_DOKU,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.15NTV', {'name':'15NTV', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_NTV,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.16DreiSAT', {'name':'16DreiSAT', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_3sat,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.17Arte', {'name':'17Arte', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_3sat,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.18Sixx', {'name':'18Sixx', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_sixx,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.19DMax', {'name':'19DMax', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_dmax,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.20MDR', {'name':'20MDR', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_mdr,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.21HR', {'name':'21HR', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_hr,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.22Sport1', {'name':'22Sport1', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_sport1,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.23Nitro', {'name':'23Nitro', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_nitro,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.24Sat1Gold', {'name':'24Sat1Gold', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_sat1_gold,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.25Pro7Maxx', {'name':'25Pro7Maxx', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_pro7_maxx,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.26Tele5', {'name':'26Tele5', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_tele5,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.27Eurosport1', {'name':'27Eurosport1', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_eurosport1,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.28EurosportDE', {'name':'28EurosportDE', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_eurosport1_de,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.29Nick', {'name':'29Nick', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_nickelodeon,"smartType": "SWITCH"} }],
                                       [Pfad_Sender_Datenunkte+'.30ServusTV', {'name':'30ServusTV', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_servustv,"smartType": "SWITCH"} }],
                                   // Ab hier Menü Befehle für die VU
                                       [Pfad_Menue_Datenunkte+'.01Aufnahmen', {'name':'01Aufnahmen', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_aufnahmen,"smartType": "SWITCH"} }],
                                       [Pfad_Menue_Datenunkte+'.02Exit', {'name':'02Exit', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_exit,"smartType": "SWITCH"} }],
                                       [Pfad_Menue_Datenunkte+'.03Kanalzurueck', {'name':'03Kanalzurueck', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_kanal_zurueck,"smartType": "SWITCH"} }],
                                       [Pfad_Menue_Datenunkte+'.04Mute', {'name':'04Mute', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_vu_mute,"smartType": "SWITCH"} }],
                                       [Pfad_Menue_Datenunkte+'.05naechsterKanal', {'name':'05naechsterKanal', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_naechster_kanal,"smartType": "SWITCH"} }],
                                       [Pfad_Menue_Datenunkte+'.06Okay', {'name':'06Okay', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_okay_druecken,"smartType": "SWITCH"} }],
                                       [Pfad_Menue_Datenunkte+'.07Ubersicht', {'name':'07Ubersicht', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_uebersicht_an,"smartType": "SWITCH"} }],
                                   //Lautstärke VU oder DENON
                                       [Pfad_Lautstaerke_Datenunkte+'.lauter', {'name':'lauter', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_mach_lauter,"smartType": "SWITCH"} }],
                                       [Pfad_Lautstaerke_Datenunkte+'.leiser', {'name':'leiser', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": {"de": Alexa_SmartName_mach_leiser,"smartType": "SWITCH"} }],
                                
                                   ];
                                   await createUserStates(anlegen_in, statesToCreate);
                                
                                   main()
                                
                                   //####################################################################################
                                   /*
                                   //Datenpunkte für Sender erstellen ohne SmartNamen für iot
                                   if (Alexa_verwenden == false){
                                   let statesToCreate = [
                                       [Pfad_Sender_Datenunkte+'.01Kamera', {'name':'01Eingangskamera', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.02ARD', {'name':'02ARD', 'type':'boolean', 'read':false, 'write':true, 'role':'button','def':true,"smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.03ZDF', {'name':'03ZDF', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.04SAT1', {'name':'04SAT1', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.05RTL', {'name':'05RTL', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.06RTLII', {'name':'06RTLII', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.07Pro7', {'name':'07Pro7', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.08VOX', {'name':'08VOX', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.09PHOENIX', {'name':'09PHOENIX', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.10SuperRTL', {'name':'10SuperRTL', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.11KabelEins', {'name':'11KabelEins', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.12KabelEinsDoku', {'name':'12KabelEinsDoku', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.13Welt', {'name':'13Welt', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.14N24Doku', {'name':'14N24Doku', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.15NTV', {'name':'15NTV', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.16DreiSAT', {'name':'16DreiSAT', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.17Arte', {'name':'17Arte', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.18Sixx', {'name':'18Sixx', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.19DMax', {'name':'19DMax', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.20MDR', {'name':'20MDR', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.21HR', {'name':'21HR', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.22Sport1', {'name':'22Sport1', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.23Nitro', {'name':'23Nitro', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.24Sat1Gold', {'name':'24Sat1Gold', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.25Pro7Maxx', {'name':'25Pro7Maxx', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.26Tele5', {'name':'26Tele5', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.27Eurosport1', {'name':'27Eurosport1', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.28EurosportDE', {'name':'28EurosportDE', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.29Nick', {'name':'29Nick', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Sender_Datenunkte+'.30ServusTV', {'name':'30ServusTV', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                   // Ab hier Menü Befehle für die VU
                                       [Pfad_Menue_Datenunkte+'.01Aufnahmen', {'name':'01Aufnahmen', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Menue_Datenunkte+'.02Exit', {'name':'02Exit', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Menue_Datenunkte+'.03Kanalzurueck', {'name':'03Kanalzurueck', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Menue_Datenunkte+'.04Mute', {'name':'04Mute', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Menue_Datenunkte+'.05naechsterKanal', {'name':'05naechsterKanal', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Menue_Datenunkte+'.06Okay', {'name':'06Okay', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Menue_Datenunkte+'.07Ubersicht', {'name':'07Ubersicht', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                   //Lautstärke VU oder DENON
                                       [Pfad_Lautstaerke_Datenunkte+'.lauter', {'name':'lauter', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                       [Pfad_Lautstaerke_Datenunkte+'.leiser', {'name':'leiser', 'type':'boolean', 'read':false, 'write':true, 'role':'button', 'def':true, "smartName": false }],
                                
                                   ];
                                   await createUserStates(anlegen_in, statesToCreate);
                                
                                   main()
                                   */
                                
                                
                                
                                }
                                
                                // Beschreibe diese Funktion …
                                async function main() {
                                 my_01_Eingangskamera = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','01Kamera'].join('');
                                 my_02_ARD = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','02ARD'].join('');
                                 my_03_ZDF = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','03ZDF'].join('');
                                 my_04_SAT1 = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','04SAT1'].join('');
                                 my_05_RTL = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','05RTL'].join('');
                                 my_06_RTL2 = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','06RTLII'].join('');
                                 my_07_PRO7 = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','07Pro7'].join('');
                                 my_08_VOX = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','08VOX'].join('');
                                 my_09_PHOENIX = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','09PHOENIX'].join('');
                                 my_10_SUPER_RTL = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','10SuperRTL'].join('');
                                 my_11_KABEL_EINS = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','11KabelEins'].join('');
                                 my_12_KABEL_EINS_DOKU = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','12KabelEinsDoku'].join('');
                                 my_13_WELT = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','13Welt'].join('');
                                 my_14_N24_DOKU = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','14N24Doku'].join('');
                                 my_15_NTV = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','15NTV'].join('');
                                 my_16_3SAT = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','16DreiSAT'].join('');
                                 my_17_ARTE = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','17Arte'].join('');
                                 my_18_SIXX = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','18Sixx'].join('');
                                 my_19_DMAX = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','19DMax'].join('');
                                 my_20_MDR = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','20MDR'].join('');
                                 my_21_HR = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','21HR'].join('');
                                 my_22_SPORT1 = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','22Sport1'].join('');
                                 my_23_NITRO = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','23Nitro'].join('');
                                 my_24_SAT1_GOLD = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','24Sat1Gold'].join('');
                                 my_25_PRO7_MAXX = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','25Pro7Maxx'].join('');
                                 my_26_TELE5 = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','26Tele5'].join('');
                                 my_27_EUROSPORT1 = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','27Eurosport1'].join('');
                                 my_28_EUROSPORT1_DE = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','28EurosportDE'].join('');
                                 my_29_NICKELODEON = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','29Nick'].join('');
                                 my_30_SERVUS_TV = [anlegen_in,'.',Pfad_Sender_Datenunkte,'.','30ServusTV'].join('');
                                 // Menü VU
                                 my_01_MENUE_AUFNAHMEN = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','01Aufnahmen'].join('');
                                 my_02_MENUE_EXIT = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','02Exit'].join('');
                                 my_03_MENUE_KANAL_ZURUECK = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','03Kanalzurueck'].join('');
                                 my_04_MENUE_VU_MUTE = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','04Mute'].join('');
                                 my_05_MENUE_NAECHSTER_KANAL = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','05naechsterKanal'].join('');
                                 my_06_MENUE_OKAY = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','06Okay'].join('');
                                 my_07_MENUE_UEBERSICHT_AN = [anlegen_in,'.',Pfad_Menue_Datenunkte,'.','07Ubersicht'].join('');
                                 my_01_MENUE_MACH_LAUTER = [anlegen_in,'.',Pfad_Lautstaerke_Datenunkte,'.','lauter'].join('');
                                 my_02_MENUE_MACH_LEISER = [anlegen_in,'.',Pfad_Lautstaerke_Datenunkte,'.','leiser'].join('');
                                 // ab hier Button schalten
                                 on({id: my_01_Eingangskamera, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=2').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=2').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_02_ARD, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:283D:3FB:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:283D:3FB:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_03_ZDF, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2B66:3F3:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2B66:3F3:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_04_SAT1, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF74:3F9:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:445C:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_05_RTL, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF10:421:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:2EE3:441:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_06_RTL2, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF15:421:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:2EF4:441:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_07_PRO7, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF75:3F9:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:445D:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_08_VOX, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF11:421:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:2F1C:441:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_09_PHOENIX, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, ' 1:0:19:285B:401:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:285B:401:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_10_SUPER_RTL, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2E9B:411:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:2F08:441:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_11_KABEL_EINS, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF76:3F9:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:445E:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_12_KABEL_EINS_DOKU, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:1:4465:453:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:4465:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_13_WELT, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:5274:41D:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:445F:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_14_N24_DOKU, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:1:30:5:85:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:30:5:85:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_15_NTV, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF14:421:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:2F3A:441:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_16_3SAT, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2B8E:3F2:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2B8E:3F2:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_17_ARTE, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:283E:3FB:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:283E:3FB:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_18_SIXX, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF77:3F9:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:308:5:85:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_19_DMAX, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:151A:455:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:3F:21:85:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_20_MDR, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2871:425:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2873:425:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_21_HR, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2873:425:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:384:21:85:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_22_SPORT1, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:1581:41F:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:2F1D:441:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_23_NITRO, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:2EAF:411:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:4460:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_24_SAT1_GOLD, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:30D4:413:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:4461:453:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_25_PRO7_MAXX, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:EF78:3F9:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:33:21:85:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_26_TELE5, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:1519:455:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:79E0:443:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_27_EUROSPORT1, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:30D6:413:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:7008:436:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_28_EUROSPORT1_DE, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:1:79E0:443:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:1332:3EF:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_29_NICKELODEON, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:1:7008:436:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:1:701:5:85:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_30_SERVUS_TV, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     setState("enigma2.0.command.ZAP"/*Zap with Servicereference*/, '1:0:19:1332:3EF:1:C00000:0:0:0:');
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     setState("enigma2.1.command.ZAP"/*Zap with Servicereference*/, '1:0:19:526C:41D:1:C00000:0:0:0:');
                                   }
                                 });
                                 on({id: my_01_MENUE_AUFNAHMEN, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=393').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=393').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_02_MENUE_EXIT, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=174').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=174').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_03_MENUE_KANAL_ZURUECK, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=105').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=105').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_04_MENUE_VU_MUTE, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=113').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=113').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_05_MENUE_NAECHSTER_KANAL, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=106').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=106').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_06_MENUE_OKAY, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=352').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=352').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_07_MENUE_UEBERSICHT_AN, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   // VU Wohnzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && !getState("enigma2.0.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.53/web/remotecontrol?command=108').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                   // VU Schlafzimmer
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && !getState("enigma2.1.enigma2.STANDBY").val) {
                                     try {
                                       require("request")('http://192.168.1.52/web/remotecontrol?command=108').on("error", function (e) {console.error(e);});
                                     } catch (e) { console.error(e); }
                                   }
                                 });
                                 on({id: my_01_MENUE_MACH_LAUTER, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && getState("denon.0.zoneMain.powerZone").val == true && getState("enigma2.0.enigma2.STANDBY").val == false) {
                                     denon_volume_neu = Math.round(getState("denon.0.zoneMain.volume").val + 5);
                                     setState("denon.0.zoneMain.volume"/*Main Volume*/, denon_volume_neu);
                                   } else if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && getState("denon.0.zoneMain.powerZone").val == false && getState("enigma2.0.enigma2.STANDBY").val == false) {
                                     vu_wz_volume_neu = Math.round(getState("enigma2.0.enigma2.VOLUME").val + 5);
                                     setState("enigma2.0.command.SET_VOLUME"/*SET VOLUME*/, vu_wz_volume_neu);
                                   } else if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && getState("denon.0.zoneMain.powerZone").val == true && getState("enigma2.0.enigma2.STANDBY").val == true) {
                                     denon_volume_neu = Math.round(getState("denon.0.zoneMain.volume").val + 5);
                                     setState("denon.0.zoneMain.volume"/*Main Volume*/, denon_volume_neu);
                                   } else if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && getState("enigma2.1.enigma2.STANDBY").val == false) {
                                     vu_sz_volume_neu = Math.round(getState("enigma2.1.enigma2.VOLUME").val + 5);
                                     setState("enigma2.1.command.SET_VOLUME"/*SET VOLUME*/, vu_sz_volume_neu);
                                   }
                                 });
                                 on({id: my_02_MENUE_MACH_LEISER, change: "any"}, async function (obj) {
                                   var value = obj.state.val;
                                   var oldValue = obj.oldState.val;
                                   if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && getState("denon.0.zoneMain.powerZone").val == true && getState("enigma2.0.enigma2.STANDBY").val == false) {
                                     denon_volume_neu = Math.round(getState("denon.0.zoneMain.volume").val - 5);
                                     setState("denon.0.zoneMain.volume"/*Main Volume*/, denon_volume_neu);
                                   } else if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && getState("denon.0.zoneMain.powerZone").val == false && getState("enigma2.0.enigma2.STANDBY").val == false) {
                                     vu_wz_volume_neu = Math.round(getState("enigma2.0.enigma2.VOLUME").val - 5);
                                     setState("enigma2.0.command.SET_VOLUME"/*SET VOLUME*/, vu_wz_volume_neu);
                                   } else if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_0 && getState("denon.0.zoneMain.powerZone").val == true && getState("enigma2.0.enigma2.STANDBY").val == true) {
                                     denon_volume_neu = Math.round(getState("denon.0.zoneMain.volume").val - 5);
                                     setState("denon.0.zoneMain.volume"/*Main Volume*/, denon_volume_neu);
                                   } else if (getState("alexa2.0.History.name").val == ECHO_fuer_VU_Instanz_1 && getState("enigma2.1.enigma2.STANDBY").val == false) {
                                     vu_sz_volume_neu = Math.round(getState("enigma2.1.enigma2.VOLUME").val - 5);
                                     setState("enigma2.1.command.SET_VOLUME"/*SET VOLUME*/, vu_sz_volume_neu);
                                   }
                                 });
                                }
                                
                                
                                // javascript.x oder 0_userdata.0
                                anlegen_in = 'javascript.0';
                                Pfad_Sender_Datenunkte = 'TV_System_mit_Alexa.VU.Sender';
                                Pfad_Menue_Datenunkte = 'TV_System_mit_Alexa.VU.Menue';
                                Pfad_Lautstaerke_Datenunkte = 'TV_System_mit_Alexa.VU.Lautstaerke';
                                // Name des ECHO
                                ECHO_fuer_VU_Instanz_0 = 'Wohnzimmer';
                                ECHO_fuer_VU_Instanz_1 = 'Schlafzimmer';
                                // ab hier SmartNamen für iot
                                // mehrere durch Komma getrennt
                                Alexa_SmartName_eingangskamera = 'kanal einz, Kanal eins, Eingangskamera ';
                                Alexa_SmartName_ard = 'kanal zwei, a. r. d. ';
                                Alexa_SmartName_zdf = 'kanal drei, z. d. f. ';
                                Alexa_SmartName_sat1 = 'kanal vier, satt eins';
                                Alexa_SmartName_rtl = 'kanal fünf, r. t. l. ';
                                Alexa_SmartName_rtl2 = 'kanal sechs, r. t. l. zwei ';
                                Alexa_SmartName_pro7 = 'kanal sieben , pro sieben';
                                Alexa_SmartName_vox = 'kanal acht , vox , wochs';
                                Alexa_SmartName_phoenix = 'kanal neun , fönix , phoenix , phönix';
                                Alexa_SmartName_super_rtl = 'kanal zehn , super r. t. l. ';
                                Alexa_SmartName_kabel_eins = 'kanal elf , kabel eins ';
                                Alexa_SmartName_kabel_eins_doku = 'kanal zwölf , kabel eins doku , kabel einz doku ';
                                Alexa_SmartName_welt = 'kanal dreizehn , kanal drei zehn , welt';
                                Alexa_SmartName_N24_DOKU = 'kanal vierzehn , kanal vier zehn , n. vier und zwanzig doku , en vier und zwanzig doku , n vier und zwanzig doku';
                                Alexa_SmartName_NTV = 'kanal fünfzehn , n. t. v. ';
                                Alexa_SmartName_3sat = 'kanal sechzehn , drei sat , kanal sechs zehn ';
                                Alexa_SmartName_arte = 'kanal siebzehn , arte ';
                                Alexa_SmartName_sixx = 'kanal achtzehn , six ';
                                Alexa_SmartName_dmax = 'kanal neunzehn , d. max ';
                                Alexa_SmartName_mdr = 'kanal zwanzig , m. d. r. ';
                                Alexa_SmartName_hr = 'kanal ein und zwanzig , h. r. ';
                                Alexa_SmartName_sport1 = 'kanal zweiundzwanzig , kanal zwei und zwanzig , sport eins';
                                Alexa_SmartName_nitro = 'kanal dreiundzwanzig , kanal drei und zwanzig , nitro ';
                                Alexa_SmartName_sat1_gold = 'kanal vierundzwanzig , kanal vier und zwanzig , satt eins gold ';
                                Alexa_SmartName_pro7_maxx = 'kanal fünfundzwanzig , kanal fünf und zwanzig , pro sieben max ';
                                Alexa_SmartName_tele5 = 'kanal sechsundzwanzig , kanal sechs und zwanzig , tele fünf ';
                                Alexa_SmartName_eurosport1 = 'kanal siebenundzwanzig , kanal sieben und zwanzig , eurosport eins ';
                                Alexa_SmartName_eurosport1_de = 'kanal achtundzwanzig , kanal acht und zwanzig , eurosport eins deutschland';
                                Alexa_SmartName_nickelodeon = 'kanal neunundzwanzig , kanal neun und zwanzig , nick';
                                Alexa_SmartName_servustv = 'kanal dreissig , servus t. v. ';
                                // Menü VU
                                Alexa_SmartName_aufnahmen = 'Aufnahmen';
                                Alexa_SmartName_exit = 'exit drücken';
                                Alexa_SmartName_kanal_zurueck = 'kanal zurück';
                                Alexa_SmartName_vu_mute = 'vu mute';
                                Alexa_SmartName_naechster_kanal = 'nächster kanal';
                                Alexa_SmartName_okay_druecken = 'kanal';
                                Alexa_SmartName_uebersicht_an = 'übersicht';
                                Alexa_SmartName_mach_lauter = '13mach_lauter';
                                Alexa_SmartName_mach_leiser = '14mach_leiser';
                                await Datenpunkte_erstellen();
                                

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

                                  @sichreid

                                  damit kannst Du auch Datenpunkte erstellen.

                                  Bildschirmfoto 2021-08-07 um 19.06.37.png

                                  JS-Ansicht vom Blockly

                                  createState("0_userdata.0.Datenpunkte_erstellen.Button.Testbutton", true, JSON.parse('{"name":"Testbutton","type":"boolean","read":false,"write":true,"role":"button","def":true,"smartName": {"de": "a. r. d. ","smartType": "SWITCH"}}'), async function () {
                                    // Tasten (Boolscher Wert, nur Schreiben)
                                    // common.type = boolean, common.write = true, common.read = false
                                  });
                                  

                                  Blockly Export

                                  <block xmlns="https://developers.google.com/blockly/xml" type="create" id="*bW5N?BH~L|VbVBa3L*X" x="-2188" y="2263">
                                    <field name="NAME">0_userdata.0.Datenpunkte_erstellen.Button.Testbutton</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="vaVH-lS5e@.bZyqxQ))L">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                    <value name="COMMON">
                                      <block type="text" id="xAhK+2KmB]Up}qfc/}+!">
                                        <field name="TEXT">{"name":"Testbutton","type":"boolean","read":false,"write":true,"role":"button","def":true,"smartName": {"de": "a. r. d. ","smartType": "SWITCH"}}</field>
                                      </block>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="comment" id="qa?~BsR4oTlmTtwy_PB/">
                                        <field name="COMMENT">Tasten (Boolscher Wert, nur Schreiben)</field>
                                        <next>
                                          <block type="comment" id="L]aptP.6it7*Qq!D^8I}">
                                            <field name="COMMENT">common.type = boolean, common.write = true, common.read = false</field>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    sichreid @dslraser last edited by

                                    @dslraser
                                    Vielen Dank! beeindruckend. Ich bin ja eigentlich kein Fan vom Blockly aber da hast ganz schön was erstellt.
                                    Ich habe mir den (Javascript)-Code bezüglich deiner Liste der zu erstellenden Datenpunkte kopiert und für den ersten Eintrag dies verwendet. Alles andere blieb gleich.
                                    Bei dem Eintrag haben sich eigentlich nur ein paar Hochkommas etc. geändert und ich hatte den Eintrag "'def': true" nicht. Was bewirkt dieser?

                                    Ich bin nun jedoch maximal verwirrt. Wenn ich das Skript speichere (/kompiliere) werden nicht nur die Datenpunkte erzeugt, sondern alle auch noch automatisch in den iot eingetragen!? Woher kommt das?
                                    Vorher musste ich diese mit + in die Alexa-Geräte hinzufügen und der smartName war falsch und nun funktioniert es sogar vollautomatisch in den iot!?

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

                                      @sichreid sagte in State-Datenpunkt über Alexa steuern?:

                                      hatte den Eintrag "'def': true" nicht. Was bewirkt dieser?

                                      damit wird der Button mit true initialisiert. Beim Button vielleicht nicht so ganz wichtig, aber bei anderen Sachen kannst Du den initialen Wert, den der Datenpunkt nach dem erstellen haben soll, festlegen.

                                      werden nicht nur die Datenpunkte erzeugt, sondern alle auch noch automatisch in den iot eingetragen!? Woher kommt das?

                                      Wenn Du über das + den SmartNamen bzw. das SmartGerät in iot erstellst und Dir dann den RAW von dem Datenpunkt ansiehst, dann sieht der genau so aus. Ich mache es also nur umgedreht und erstelle den Datenpunkt gleich so wie er sein soll, also auch gleich mit SmartName und dem passenden smartType in der passenden Sprache ("de") Wenn Du diesen DP anschließend wieder aus iot löscht, dann steht da"smartName": false.

                                      Nach dem erstellen der Datenpunkte ist es wichtig einmal den iot Adapter zu öffnen und auf die ALEXA GERÄTE zu wechseln, dann kannst Du iot wieder schliessen. Wenn man das nicht macht, dann werden die Datenpunkte nicht von/bei der Suche in der Amazon App gefunden.

                                      Die Sender schalte ich alle über den vergebenen SmartNamen. Beim Menü oder Lautstärke, habe ich teilweise Routinen.

                                      z.B. Alexa, mach lauter (als Routine) Das Blockly schaltet dan in meinem Fall Volume um 5 hoch, je nach dem was an ist, entweder meinen Denon Receiver oder die passende VU.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        sichreid @dslraser last edited by

                                        @dslraser said in State-Datenpunkt über Alexa steuern?:

                                        Wenn Du über das + den SmartNamen bzw. das SmartGerät in iot erstellst und Dir dann den RAW von dem Datenpunkt ansiehst, dann sieht der genau so aus. Ich mache es also nur umgedreht und erstelle den Datenpunkt gleich so wie er sein soll, also auch gleich mit SmartName und dem passenden smartType in der passenden Sprache ("de") Wenn Du diesen DP anschließend wieder löscht, dann steht da"smartName": false.

                                        Ja, eben das war auch mein Ziel, dass dies automatisch im Skript abgedeckt ist und man im Fall der Fälle, dass man mal alles neu aufsetzen muss, nicht bei jedem Punkt den smartNamen wieder neu eintragen muss. Wie gesagt war der vorher auch gegeben, doch beim Hinzufügen zum iot wurde dieser nicht verwendet.
                                        Nun sind diese nicht nur mit den richtigen smartNamen versehen sondern ich muss diese nicht mal mit + hinzufügen sondern sind gleich automatisch da drinnen. Das verwirrte mich etwas.

                                        Also nun funktionieren meine Sender soweit, habe jetzt mal alle durchprobiert! 👍
                                        Vielen Dank! (Auch wenn es nun nicht die Lösung ist, wie ich es mir anfangs dachte. 😁 )

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

                                          @sichreid sagte in State-Datenpunkt über Alexa steuern?:

                                          Ja, eben das war auch mein Ziel, dass dies automatisch im Skript abgedeckt ist und man im Fall der Fälle, dass man mal alles neu aufsetzen muss, nicht bei jedem Punkt den smartNamen wieder neu eintragen muss. Wie gesagt war der vorher auch gegeben, doch beim Hinzufügen zum iot wurde dieser nicht verwendet.
                                          Nun sind diese nicht nur mit den richtigen smartNamen versehen sondern ich muss diese nicht mal mit + hinzufügen sondern sind gleich automatisch da drinnen.

                                          Ich habe mir diesen Weg angewöhnt. In jedem Blockly oder Script, wo ich eigene Datenpunkte verwende, diese dann gleich mit erstellen zu lassen. Dieser Weg hat auch den Vorteil schnell mal einen anderen "Installationsort" zu vergeben.
                                          Ich nutze normalerweise 0_userdata.0 , aber zum testen dann auch mal javascript.0. Das kann man im Blockly ja schnell umstellen.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          834
                                          Online

                                          31.7k
                                          Users

                                          79.6k
                                          Topics

                                          1.3m
                                          Posts

                                          2
                                          21
                                          889
                                          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