Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Skriptsammlung für den neuen ALEXA2.0 Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Skriptsammlung für den neuen ALEXA2.0 Adapter

Scheduled Pinned Locked Moved Skripten / Logik
184 Posts 45 Posters 45.5k Views 19 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • haselchenH Offline
    haselchenH Offline
    haselchen
    Most Active
    wrote on last edited by
    #1

    Hallo Jungs und Mädels,

    damit man nicht immer den ganzen Adapter Thread zu Alexa durchlesen muss, wäre meine Idee, hier alle Skripte zu teilen, die in Verbindung mit dem neuen Alexa Adapter 2.0. von Apollon77 stehen.

    Also Feuer frei….. :D

    Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

    1 Reply Last reply
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      wrote on last edited by
      #2

      Angepasstes "LichtAn"-Skript: viewtopic.php?f=37&t=15547&start=260#p165337

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Reply Last reply
      0
      • MicM Offline
        MicM Offline
        Mic
        Developer
        wrote on last edited by
        #3

        Skript, um alle Alexa-Geräte auf Pause zu setzen, z.B. wenn man das Haus verlässt. Funktion iteriert durch die einzelnen Geräte und setzt sie auf Pause. Angepasst auf die aktualisierten States des Adapters.

        Aufrufen z.B. über einen Datenpunkt, der dann über "on({id:" überwacht wird und das Skript auslöst.

        /**
         * Setzt alle Alexa-Geräte auf Pause (Alexa2-Adapter)
         */
        
        function G_AlexaAllPause() {
            // Gibt State-IDs zurück für Pause, z.B. alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXXXX.Player.controlPause
            // Siehe auch Doku zu Selector: https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#---selector
            var mSelector = $('[id=^alexa2.0.Echo-Devices.*.Player.controlPause]');
            mSelector.each(function(id, i) {
                // Nun haben wir mit "id" die State-ID, z.B. alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXXXX.Player.controlPause
        
                // Name des Gerätes abfragen
                var deviceID = id.substring(0,id.length-20); // get Device by removing last 20 chars (.Player.controlPause)
                var deviceName = getObject(deviceID).common.name;
        
                // Jetzt können wir alle auf Pause schalten
                setState(id, true);
                log('Alexa: ' + deviceName + ' auf Pause gesetzt.');
        
            });
        
        }
        
        1 Reply Last reply
        0
        • ChaotC Offline
          ChaotC Offline
          Chaot
          wrote on last edited by
          #4

          Anruferansage über TR064 Adapter

          on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            setStateDelayed("alexa2.0.Echo-Devices.G2A0P3077****LLE.Commands.speak"/*speak*/, (String('Anruf von ') + String(getState("tr-064.0.callmonitor.inbound.callerName").val)), 2000, false);
          });
          

          ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

          1 Reply Last reply
          1
          • ChaotC Offline
            ChaotC Offline
            Chaot
            wrote on last edited by
            #5

            Türklingel über Sonoff und TR064

            on({id: 'sonoff.0.Eingang.Switch2', val: false, ack: true}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              setState("alexa2.0.Echo-Devices.G2A0P3077****LLE.Commands.speak"/*speak*/, 'Mach die scheisse Tür auf!');
            });
            
            

            Lässt sich auch zum Melden von irgendwelchen Zuständen verwenden.

            Beispielsweise über die Anwesenheitskontrolle eine Begrüßung auszulösen.

            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

            1 Reply Last reply
            0
            • J Offline
              J Offline
              jf62
              wrote on last edited by
              #6

              @Chaot:

              Anruferansage über TR064 Adapter

              on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                setStateDelayed("alexa2.0.Echo-Devices.G2A0P3077****LLE.Commands.speak"/*speak*/, (String('Anruf von ') + String(getState("tr-064.0.callmonitor.inbound.callerName").val)), 2000, false);
              });
              ```` `  
              

              Das funktioniert leider nur bedingt. Hatte es auch versucht, aber der "tr-064.0.callmonitor.inbound.callerName" liefert leider den Eintrag des letzten Anrufs und nicht des aktuellen. So klappt das leider nicht.

              1 Reply Last reply
              0
              • khgK Offline
                khgK Offline
                khg
                wrote on last edited by
                #7

                egal was man da an Verzögerungen oder Pollings in dem Fritzbox und tr-064 Adapter eingestellt, es bleibt bei dem Fehler.

                Schade!

                1 Reply Last reply
                0
                • MicM Offline
                  MicM Offline
                  Mic
                  Developer
                  wrote on last edited by
                  #8

                  TuneIn-Station setzen: Wenn man nur den State "…Player.TuneIn-Direct" setzt, dann startet TuneIn nicht (immer), falls vorher auf Pause gesetzt wurde (controlPause) oder dieselbe TuneIn-ID bereits im State stand. Konnte ich noch nicht genau nachvollziehen.

                  Workaround, damit es immer geht: folgende States setzen:

                  strStationID = 'hier die StationID eintragen';
                  setState('alexa2.0.Echo-Devices.XXX.Player.controlPause', false);
                  setState('alexa2.0.Echo-Devices.XXX.Player.TuneIn-Direct', strStationID);
                  setState('alexa2.0.Echo-Devices.XXX.Player.controlPlay', true);
                  
                  1 Reply Last reply
                  0
                  • ChaotC Offline
                    ChaotC Offline
                    Chaot
                    wrote on last edited by
                    #9

                    Ich habe das mit den letzten 5 Anrufen immer korrekt angesagt bekommen.

                    Es steht auch immer der aktuelle Anrufer drin.

                    Bist du wirklich auf "Inbound" und nicht irrtümlich auf "LastCall"?

                    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                    1 Reply Last reply
                    0
                    • arteckA Offline
                      arteckA Offline
                      arteck
                      Developer Most Active
                      wrote on last edited by
                      #10

                      @khg:

                      egal was man da an Verzögerungen oder Pollings in dem Fritzbox und tr-064 Adapter eingestellt, es bleibt bei dem Fehler.

                      Schade! `

                      nein Bbeibt es nicht.. achte auf den Adapter und das Objekt tr-064.0.callmonitor.inbound.callerName..ich lasse mir diesen in der Visu darstellen seit Monaten… uns und es geht..

                      zigbee hab ich, zwave auch, nuc's genauso und HA auch

                      1 Reply Last reply
                      0
                      • khgK Offline
                        khgK Offline
                        khg
                        wrote on last edited by
                        #11

                        @arteck:

                        nein Bbeibt es nicht.. achte auf den Adapter und das Objekt tr-064.0.callmonitor.inbound.callerName..ich lasse mir diesen in der Visu darstellen seit Monaten… uns und es geht.. `

                        danke für deine Antwort. Darauf hin musste ich es doch nochmal versuchen und es funktioniert nun. Das Beispiel in der Scriptsammlung (Script von Chaot) macht den Fehler:

                        setStateDelayed("alexa2.0.Echo-Devices.90F008xxxxxxx.Commands.speak"/speak/, (String('Es ist ein Anruf von ') + String(getState("tr-064.0.callmonitor.inbound.callerName").val)), 4000****, false****);

                        false entfernen und dann wird der aktuelle Name auch angesagt.

                        1 Reply Last reply
                        0
                        • MicM Offline
                          MicM Offline
                          Mic
                          Developer
                          wrote on last edited by
                          #12

                          Mit diesem Skript kann per Button durch eine TuneIn-Senderliste geschaltet werden, es wird immer der nächste Sender gewählt (z.B. Button "nächster Radiosender"). Falls der letzte Sender gewählt ist, wird wieder von vorne angefangen.

                          Dazu die TuneIn-Stations in die Variable myStations eintragen.

                          Ihr könnt dies dann einfach über einen Datenpunkt und "on({id: " umsetzen.

                          var myStations = ['s17494', 's100198', 's259245', 's2212']
                          log(getNextOrPreviousValue(myStations, 's2212', true));
                          
                          /**
                           * Returns the next or previous element of an array for a given element.
                           * Use case is to easily switch through an array of elements...
                           * If it is the last element of the array, it will return the first one, if bNext is true.
                           * If it is the first element of the array, it will return the last one, if bNext is false.
                           * If not found, it will ALWAYS return the first element.
                           *
                           * @param {array}   inputArray  Array
                           * @param {string}  strElement  for this String we want to get the next/previous array element
                           * @return {string} The next or previous element from the array
                           * @param {boolean} bNext       next element if true, previous element if false
                           */
                          function getNextOrPreviousValue(inputArray, strElement, bNext) {
                              var iLength = inputArray.length; // Number of elements in the Array
                              var iPosition = inputArray.indexOf(strElement) + 1; // Current position. We add 1 since first element is in position 0
                              var iPositionNext = iPosition + 1;
                              var iPositionPrevious = iPosition - 1;
                          
                              if (bNext) {
                                  // if not found, it will return the first element...
                                  if (iPositionNext > iLength) iPositionNext = 1;
                                  return inputArray[iPositionNext - 1];
                              } else {
                                  if (iPosition === 0) { // will be zero if not found
                                      return inputArray[0]; // return the first element, if not found
                                  } else {
                                      if (iPositionPrevious < 1) iPositionPrevious = iLength;
                                      return inputArray[iPositionPrevious - 1];
                                  }
                              }
                          }
                          
                          1 Reply Last reply
                          0
                          • liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            wrote on last edited by
                            #13

                            mit node-red und dem alexa adapter einen ical-eintrag (bei mir google kalender) ausgeben lassen - durch den ical adapter mußte man auch noch filtern können

                            fühle mich besser mit node-red bei der verarbeitung der ical daten - für js profis geht das sicher auch anders!

                            in diesem beispiel wir noch durch hand angetriggert - es wird der nächste termin direkt an alexa übergeben: alexa sagt:"morgen 14:00 test"

                            falls interesse besteht mehr info - hier ein export der node-red nodes (müssen natürlich etwa geändert werden)

                            ! [
                            ! {
                            ! "id": "e34c90e5.32d4a",
                            ! "type": "change",
                            ! "z": "f804a58f.395c58",
                            ! "name": "change1",
                            ! "rules": [
                            ! {
                            ! "t": "change",
                            ! "p": "payload",
                            ! "pt": "msg",
                            ! "from": "-\d\d:\d\d",
                            ! "fromt": "re",
                            ! "to": " ",
                            ! "tot": "str"
                            ! }
                            ! ],
                            ! "action": "",
                            ! "property": "",
                            ! "from": "",
                            ! "to": "",
                            ! "reg": false,
                            ! "x": 819.563606262207,
                            ! "y": 759.4909553527832,
                            ! "wires": [
                            ! [
                            ! "52b4b804.352c08",
                            ! "5e6e991a.fdebb8"
                            ! ]
                            ! ]
                            ! },
                            ! {
                            ! "id": "36a3fb0b.2a6354",
                            ! "type": "change",
                            ! "z": "f804a58f.395c58",
                            ! "name": "change1",
                            ! "rules": [
                            ! {
                            ! "t": "set",
                            ! "p": "payload",
                            ! "pt": "msg",
                            ! "to": "payload.val.0.date",
                            ! "tot": "msg"
                            ! }
                            ! ],
                            ! "action": "",
                            ! "property": "",
                            ! "from": "",
                            ! "to": "",
                            ! "reg": false,
                            ! "x": 480.99998474121094,
                            ! "y": 739.9999761581421,
                            ! "wires": [
                            ! [
                            ! "c42b9be5.0fe208"
                            ! ]
                            ! ]
                            ! },
                            ! {
                            ! "id": "c3e68758.4e9ca8",
                            ! "type": "ioBroker get",
                            ! "z": "f804a58f.395c58",
                            ! "name": "JS iCal table",
                            ! "topic": "ical.0.data.table",
                            ! "attrname": "payload",
                            ! "payloadType": "object",
                            ! "x": 296.43634033203125,
                            ! "y": 762.1272487640381,
                            ! "wires": [
                            ! [
                            ! "36a3fb0b.2a6354",
                            ! "75b8861c.9cdc38"
                            ! ]
                            ! ]
                            ! },
                            ! {
                            ! "id": "52b4b804.352c08",
                            ! "type": "debug",
                            ! "z": "f804a58f.395c58",
                            ! "name": "",
                            ! "active": true,
                            ! "tosidebar": true,
                            ! "console": false,
                            ! "tostatus": false,
                            ! "complete": "payload",
                            ! "x": 996.9999618530273,
                            ! "y": 706.9999771118164,
                            ! "wires": []
                            ! },
                            ! {
                            ! "id": "8f9958a4.04b018",
                            ! "type": "inject",
                            ! "z": "f804a58f.395c58",
                            ! "name": "",
                            ! "topic": "",
                            ! "payload": "true",
                            ! "payloadType": "bool",
                            ! "repeat": "",
                            ! "crontab": "",
                            ! "once": false,
                            ! "onceDelay": 0.1,
                            ! "x": 111.43635559082031,
                            ! "y": 761.4545288085938,
                            ! "wires": [
                            ! [
                            ! "c3e68758.4e9ca8"
                            ! ]
                            ! ]
                            ! },
                            ! {
                            ! "id": "75b8861c.9cdc38",
                            ! "type": "change",
                            ! "z": "f804a58f.395c58",
                            ! "name": "change1",
                            ! "rules": [
                            ! {
                            ! "t": "set",
                            ! "p": "payload",
                            ! "pt": "msg",
                            ! "to": "payload.val.0.event",
                            ! "tot": "msg"
                            ! }
                            ! ],
                            ! "action": "",
                            ! "property": "",
                            ! "from": "",
                            ! "to": "",
                            ! "reg": false,
                            ! "x": 481.99998474121094,
                            ! "y": 781.9999752044678,
                            ! "wires": [
                            ! [
                            ! "c42b9be5.0fe208"
                            ! ]
                            ! ]
                            ! },
                            ! {
                            ! "id": "c42b9be5.0fe208",
                            ! "type": "join",
                            ! "z": "f804a58f.395c58",
                            ! "name": "",
                            ! "mode": "custom",
                            ! "build": "string",
                            ! "property": "payload",
                            ! "propertyType": "msg",
                            ! "key": "topic",
                            ! "joiner": " ",
                            ! "joinerType": "str",
                            ! "accumulate": false,
                            ! "timeout": "",
                            ! "count": "2",
                            ! "reduceRight": false,
                            ! "reduceExp": "",
                            ! "reduceInit": "",
                            ! "reduceInitType": "",
                            ! "reduceFixup": "",
                            ! "x": 652.4363403320312,
                            ! "y": 759.1272487640381,
                            ! "wires": [
                            ! [
                            ! "e34c90e5.32d4a"
                            ! ]
                            ! ]
                            ! },
                            ! {
                            ! "id": "5e6e991a.fdebb8",
                            ! "type": "ioBroker out",
                            ! "z": "f804a58f.395c58",
                            ! "name": "Speak Alexa Echozimmer",
                            ! "topic": "alexa2.0.Echo-Devices.G090LF1072270E5V.Commands.speak",
                            ! "ack": "false",
                            ! "autoCreate": "false",
                            ! "x": 1171.9999694824219,
                            ! "y": 758.9999771118164,
                            ! "wires": []
                            ! }
                            ! ]
                            4447_sprich.png

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Reply Last reply
                            0
                            • OstfrieseUnterwegsO Offline
                              OstfrieseUnterwegsO Offline
                              OstfrieseUnterwegs
                              wrote on last edited by
                              #14

                              Anruferansage mit FritzBox tr-064. Klappt bei mir einwandfrei.

                              Ich habe noch eingebaut, dass bei Anrufen ohne EIntrag im Telefonbuch die Nummer angesagt wird.

                              Außerdem wird nur angesagt, falls jemand daheim ist.

                              Ich habe aber noch ein Problem:

                              Wie kann ich die Laustärke genau dann wieder anpassen, wenn die Ansage vorbei ist. Meine 5sek sind bei Namen OK, bei Nummern natürlich nicht.

                              on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                              
                                var idEcho = "alexa2.0.Echo-Devices.GxxxxxxxxxxxxxQ";
                              
                                var volume = getState(idEcho+".Player.volume"/*volume*/).val;
                              
                                var Anrufer = String(getState("tr-064.0.callmonitor.inbound.callerName").val);
                                var Nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val);
                              
                                // Wenn keiner da ist, dann brauchen wir auch keine Ansage
                                if (getState("javascript.0.Anwesenheitssteuerung.Userlist.JemandDa").val == false ){
                              		return;
                                }
                              
                                if (Anrufer.length === 0){  // Gibt es einen Namen im Adressbuch oder nur eine Nummer
                                    log("kein name");
                              	  Anrufer = NummerInText(Nummer);
                                }
                                setStateDelayed(idEcho+".Player.volume"/*volume*/,70, 1700, false);
                                setStateDelayed(idEcho+".Commands.speak"/*speak*/, (String('Anruf von ') + Anrufer), 2000, false);
                                setStateDelayed(idEcho+".Player.volume"/*volume*/,volume, 5000, false);
                              
                              });
                              
                              function NummerInText(Nummer){
                              
                                  var text = "unbekannt ";
                                  var einzeln = Array("null","eins","zwei","drei","vier","fuenf","sechs","sieben","acht","neun");
                              	for (var i = 0; i <nummer.length; i++){/text/+="einzeln[parseInt(Nummer.substr(i,1))]" "/";/}/return/text;/<e=""></nummer.length;>
                              
                              M 1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                smarti2015
                                wrote on last edited by
                                #15

                                @Mic:

                                TuneIn-Station setzen: Wenn man nur den State "…Player.TuneIn-Direct" setzt, dann startet TuneIn nicht (immer), falls vorher auf Pause gesetzt wurde (controlPause) oder dieselbe TuneIn-ID bereits im State stand. Konnte ich noch nicht genau nachvollziehen.

                                Workaround, damit es immer geht: folgende States setzen:

                                strStationID = 'hier die StationID eintragen';
                                setState('alexa2.0.Echo-Devices.XXX.Player.controlPause', false);
                                setState('alexa2.0.Echo-Devices.XXX.Player.TuneIn-Direct', strStationID);
                                setState('alexa2.0.Echo-Devices.XXX.Player.controlPlay', true);
                                ```` `  
                                

                                Wo findet man eigentlich die StationID raus?

                                GEEKOM AS 6

                                1 Reply Last reply
                                0
                                • MicM Offline
                                  MicM Offline
                                  Mic
                                  Developer
                                  wrote on last edited by
                                  #16

                                  @smarti2015:

                                  Wo findet man eigentlich die StationID raus? `

                                  tunein.com im Browser aufrufen, nach gewünschtem Radiosender suchen und auswählen. Dann aus der URL herauskopieren, im Beispiel "s73208".
                                  6940_tunein-station.png

                                  1 Reply Last reply
                                  0
                                  • ChaotC Offline
                                    ChaotC Offline
                                    Chaot
                                    wrote on last edited by
                                    #17

                                    @OstfrieseUnterwegs:

                                    Ich habe aber noch ein Problem:

                                    Wie kann ich die Laustärke genau dann wieder anpassen, wenn die Ansage vorbei ist. Meine 5sek sind bei Namen OK, bei Nummern natürlich nicht. `

                                    So wie ich das sehe nimmst du den Wert Volume den du dann später mit dem Wert 70 überschreibst und versuchst dann den Wert wieder einzuspielen.

                                    Ich denke mal wenn der Ursprungswert in eine Variable geschrieben wird (LastVolume) und dann zurückgeschrieben sollte es klappen.

                                    Bei mir wird allerdings immer die 0 Angezeigt. Ich muss erst noch suchen woran das liegen kann.

                                    Im Zweifelsfall muss ich eben versuchen zuerst den Wert aktiv abzufragen und in die neue Varialble einzutragen.

                                    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                    1 Reply Last reply
                                    0
                                    • apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      wrote on last edited by
                                      #18

                                      Die lautstärke ist so ein Thema. Die wird nicht immer übermittelt. Es muss einmal was an Musik gelaufen sein damit die initial mitkommt.

                                      Gesendet vom Handy …

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      1 Reply Last reply
                                      0
                                      • ChaotC Offline
                                        ChaotC Offline
                                        Chaot
                                        wrote on last edited by
                                        #19

                                        Danke für die Info.

                                        Ich war schon am Verzweifeln weil ich immer nur die 0 drin hatte.

                                        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                                        1 Reply Last reply
                                        0
                                        • dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          wrote on last edited by
                                          #20

                                          Also dann hier weiter. Im Alexa2 Adapter Beitrag kam der Hinweis Scripte und Anwendungsmöglichkeiten hier zu posten. Ich antworte hier jetzt nur auf eine Frage aus dem anderen Beitrag.

                                          viewtopic.php?p=167951#p167951

                                          Beim ersten Scriptstart werden erst Objekte angelegt. Am Besten danach mal kurz den JS Adapter mal aktualisieren/anhalten -neu starten, das klappt bei mir immer am Besten.

                                          Licht prüfen Script

                                          ! ````
                                          //Lichter Status
                                          var logging = true;
                                          ! var idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
                                          idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
                                          idText = 'javascript.0.Status.Lichter.Text',
                                          idRaum = 'javascript.0.Status.Lichter.Raum',
                                          idAnsage = 'javascript.0.Status.Lichter.Ansage';
                                          ! // Ab hier nix mehr ändern
                                          createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                                          type: 'number',
                                          name: 'Anzahl aller Lichter',
                                          min: 0,
                                          def: 0,
                                          role: 'value'
                                          });
                                          createState(idAnzahlEin, { // Anzahl der Lichter, die an sind als Variable unter Javascript.0 anlegen
                                          type: 'number',
                                          name: 'Anzahl der eingeschalteten Lichter',
                                          min: 0,
                                          def: 0,
                                          role: 'value'
                                          });
                                          createState(idText, { // Anzahl der eingeschalteten Lichter und deren Namen als Variable unter Javascript.0 anlegen
                                          type: 'string',
                                          name: 'Eingeschaltete Lichter',
                                          desc: 'Namen der eingeschalteten Lichter',
                                          def: ' ',
                                          role: 'value'
                                          });
                                          createState(idAnsage, {
                                          type: 'string',
                                          name: 'Eingeschaltete Lichter (Ansage)',
                                          desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
                                          def: ' ',
                                          role: 'value'
                                          });
                                          createState(idRaum, { // Räume, in denen Lichter brennen
                                          type: 'string',
                                          name: 'Räume mit eingeschalteten Lichter',
                                          desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
                                          def: ' ',
                                          role: 'value'
                                          });
                                          ! var cacheSelectorState = $('channelstate.id=*.state'); // Gewerk Licht
                                          var cacheSelectorLevel = $('channelstate.id=*.level');
                                          ! function checkDevices(obj) {
                                          // Setzt die Zähler vor dem Durchlauf aller Elemente *.state im Gewerk Licht auf 0
                                          var anzahlLichterAn = 0;
                                          var anzahlLichter = 0;
                                          var textLichterAn = [];
                                          var textRaum = [];
                                          if (logging) {
                                          log('++++++ Lichter Anzahl ++++ ');
                                          log('#### SCHALTER ##### ');
                                          }
                                          cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.state im Gewerk Licht
                                          var obj = getObject(id);
                                          var name = getObject(id).common.name;
                                          var status = getState(id).val; // Zustand *.state abfragen (jedes Element)
                                          var devicename = name.substring(0, name.indexOf(".state")); //.state aus Text entfernen
                                          var raumname = getObject(id, "rooms");
                                          ! // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                          //if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) {
                                          if (logging) {
                                          log('-------');
                                          log('Kanal: ' + name);
                                          log('Status: ' + status);
                                          }
                                          if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
                                          ++anzahlLichterAn;
                                          textLichterAn.push(devicename); // Zu Array hinzufügen
                                          textRaum.push(raumname.enumNames);
                                          }
                                          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                          // } // ENDE VK-Abfrage
                                          });
                                          ! if (logging) log('#### DIMMER ##### ');
                                          cacheSelectorLevel.each(function (id, i) { // Schleife für jedes gefundenen Element *.level im Gewerk Licht
                                          var obj = getObject(id);
                                          var name = getObject(id).common.name;
                                          var status = getState(id).val; // Zustand *.level abfragen (jedes Element)
                                          var devicename = name.substring(0, name.indexOf(".level")); //.level aus Text entfernen
                                          var raumname = getObject(id, "rooms");
                                          ! //########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                          if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
                                          ! if (logging) {
                                          log('-------');
                                          log('Kanal: ' + name);
                                          log('Status: ' + status + '%');
                                          }
                                          if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                                          ++anzahlLichterAn;
                                          textLichterAn.push(devicename); // Zu Array hinzufügen
                                          textRaum.push(raumname.enumNames);
                                          }
                                          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                          } // Ende Abfrage VK
                                          });
                                          ! // Array mit Lichternamen sortieren
                                          textLichterAn.sort();
                                          textRaum.sort();
                                          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                                          if (logging) log("Text: " + textLichterAn);
                                          if (logging) log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
                                          // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                                          setState(idText, textLichterAn.join(', und ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                                          setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
                                          setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
                                          //setState(idRaum, textRaum.join(',
                                          ')); // Räume, in denen Licht brennt
                                          setState(idRaum, textRaum.join(', und ')); // Räume, in denen Licht brennt
                                          }
                                          ! // Trigger
                                          cacheSelectorState.on(function(obj) { // bei Zustandänderung *.state im Gewerk Licht
                                          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                          checkDevices();
                                          });
                                          cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.level im Gewerk Licht
                                          if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                          checkDevices();
                                          });
                                          ! function main() {
                                          setTimeout(function(){
                                          if (logging) log('Auslöser Skriptstart');
                                          checkDevices();
                                          }, 2000);
                                          }
                                          ! main(); // Skriptstart-Auslöser
                                          ! // Aufbereitung für Ansage
                                          //function strip_tags(data) {
                                          //var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
                                          //return(rueckgabe);
                                          //}
                                          ! on(idText, function (obj) {
                                          var text = obj.state.val;
                                          text = (text.length > 1) ? '' + text : 'alle Lampen ausgeschaltet';
                                          setState(idAnsage, text);
                                          });

                                          
                                          PS: das Licht-Script wird im Cloud Adapter als "Smart Gerät" hinzu gefügt.
                                          
                                          Blockly Export Ausgabe Ansage über speak:
                                          
                                          >! ````
                                           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="control" id="@J7@ob/rsR9OCYN+!hI7" x="-187" y="-162"><mutation delay_input="false"></mutation>
                                              <field name="OID">alexa2.0.History.#trigger</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="oI]KS-#7{`Lh(W#]MB7C"><field name="BOOL">TRUE</field></block></value> 
                                              <next><block type="controls_if" id="{_JT|3Mpv*tSOVWD3Pz6"><value name="IF0"><block type="logic_compare" id="D?,*QGBBwauCm,Qte=Q-"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="]irLwLWGul].x{m`.#.@"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Status.Lichter.Anzahl_ein</field></block></value> 
                                                      <value name="B"><block type="math_number" id="5LL6xi4F_7}-aEi^jHY@"><field name="NUM">0</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="variables_set" id="5VFfHYTB!S7A^A*?SicA"><field name="VAR">Ausgabetext</field>
                                                      <value name="VALUE"><block type="text_join" id="4?k[0reCRn.mjkxHg41~"><mutation items="2"></mutation>
                                                          <value name="ADD0"><block type="text" id="75Z)Wn`YF@;38~bIM;pA"><field name="TEXT">aktuell sind</field></block></value> 
                                                          <value name="ADD1"><block type="get_value" id="Vh/8rxU]yD!3mT}0y[eC"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Status.Lichter.Ansage</field></block></value></block></value> 
                                                      <next><block type="timeouts_settimeout" id="xA_MJ^@=AB=-WtDTe(3}"><field name="NAME">timeout</field>
                                                          <field name="DELAY">500</field>
                                                          <field name="UNIT">ms</field>
                                                          <statement name="STATEMENT"><block type="comment" id="s30b2{fSQ:a0uC3`+QWU"><field name="COMMENT">Wohnzimmer</field>
                                                              <next><block type="controls_if" id="l(E24=q]l]b,GJDj4dSj"><value name="IF0"><block type="logic_compare" id="MKwJn0C!O]xc!~.9|B`*"><field name="OP">EQ</field>
                                                                      <value name="A"><block type="get_value" id="p-SHbJ5Dmwr6djxg2ohH"><field name="ATTR">val</field>
                                                                          <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                      <value name="B"><block type="text" id="?}A;8(IyMF%F@(t]Kc~+"><field name="TEXT">Wohnzimmer</field></block></value></block></value> 
                                                                  <statement name="DO0"><block type="control" id=")M^jLcZ!hCpj,X={-`nV"><mutation delay_input="false"></mutation>
                                                                      <field name="OID">alexa2.0.Echo-Devices.XXX.Commands.speak</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE"><block type="variables_get" id="p)bNOdcZFVoq1e^M5V-."><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                  <next><block type="comment" id="As,dG(xO[B@wIYcyAG?h"><field name="COMMENT">Küche</field>
                                                                      <next><block type="controls_if" id="wrH-}P(84mn7Y/rg8A[."><value name="IF0"><block type="logic_compare" id="kg.QKB751NaS#Ihk1Vlg"><field name="OP">EQ</field>
                                                                              <value name="A"><block type="get_value" id="qnTz1Oe31sq:NXjmbxIJ"><field name="ATTR">val</field>
                                                                                  <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                              <value name="B"><block type="text" id="3=W.?c8BZN+QrGX4xL}h"><field name="TEXT">Küche</field></block></value></block></value> 
                                                                          <statement name="DO0"><block type="control" id="}?dK++*V.7JQcjG{3uhB"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">alexa2.0.Echo-Devices.XXXXXX.Commands.speak</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="variables_get" id="qHoN]~u1FI@iDQs*2C2v"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                          <next><block type="comment" id="_amxz6B=9F}_2uEGsK}`"><field name="COMMENT">Badezimmer</field>
                                                                              <next><block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B"><value name="IF0"><block type="logic_compare" id="I-@9%{Ng!%}9rE#IESc;"><field name="OP">EQ</field>
                                                                                      <value name="A"><block type="get_value" id="c?dSeG!fu]W8UO@?D4I3"><field name="ATTR">val</field>
                                                                                          <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                      <value name="B"><block type="text" id="MivGV@*kt)3rY9COKpKA"><field name="TEXT">Badezimmer</field></block></value></block></value> 
                                                                                  <statement name="DO0"><block type="control" id="zTwXc~r8Ldt0u-5TNcVn"><mutation delay_input="false"></mutation>
                                                                                      <field name="OID">alexa2.0.Echo-Devices.XXXXX.Commands.speak</field>
                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                      <value name="VALUE"><block type="variables_get" id="*X*~qQG3]~[NC{WMMndW"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                  <next><block type="comment" id="CJNG59[?CJ|U-=Bf]c)z"><field name="COMMENT">Gästezimmer</field>
                                                                                      <next><block type="controls_if" id="OC]k1_}iDlExQPVc=(ib"><value name="IF0"><block type="logic_compare" id="OBIXw6hJ@]2Xr`HBIz5h"><field name="OP">EQ</field>
                                                                                              <value name="A"><block type="get_value" id="=x~5W)ns/VV;c|RFqQcE"><field name="ATTR">val</field>
                                                                                                  <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                              <value name="B"><block type="text" id="IxW:hplIvDQm1ax=@X+M"><field name="TEXT">Gästezimmer</field></block></value></block></value> 
                                                                                          <statement name="DO0"><block type="control" id="g+2]wvsrhR8vxv7c,kJ_"><mutation delay_input="false"></mutation>
                                                                                              <field name="OID">alexa2.0.Echo-Devices.XXXXXX.Commands.speak</field>
                                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                                              <value name="VALUE"><block type="variables_get" id="5q6/z~S`0DeJ6sYrWhj1"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                          <next><block type="comment" id="C6,wSh?BEZ,G:B9Tl@#w"><field name="COMMENT">Flur</field>
                                                                                              <next><block type="controls_if" id="l/g@UNw6pzeQ6_698R:-"><value name="IF0"><block type="logic_compare" id="=Z)D6qrCzY2oU/fVV93A"><field name="OP">EQ</field>
                                                                                                      <value name="A"><block type="get_value" id="StsaG2CB;*5f5wIvH,kE"><field name="ATTR">val</field>
                                                                                                          <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                      <value name="B"><block type="text" id="7N;yy7cC=tE`}MYOFfF6"><field name="TEXT">Flur</field></block></value></block></value> 
                                                                                                  <statement name="DO0"><block type="control" id="5#-V887QhCCSAzI+twok"><mutation delay_input="false"></mutation>
                                                                                                      <field name="OID">alexa2.0.Echo-Devices.XXXXX.Commands.speak</field>
                                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                                      <value name="VALUE"><block type="variables_get" id="NurE:%K_z!^Vlj(fn5qI"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                                  <next><block type="comment" id="qKD3bDxHV;NBtuFFs|e."><field name="COMMENT">Schlafzimmer</field>
                                                                                                      <next><block type="controls_if" id="iMz(H}c1#NO@KVNnhnlQ"><value name="IF0"><block type="logic_compare" id="z`vyyAWvaYdxt8YZt,0O"><field name="OP">EQ</field>
                                                                                                              <value name="A"><block type="get_value" id="mEF)naqwJ#xLCe1NeKO:"><field name="ATTR">val</field>
                                                                                                                  <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                              <value name="B"><block type="text" id="F7::fb4cokeJJD:fk~pV"><field name="TEXT">Schlafzimmer</field></block></value></block></value> 
                                                                                                          <statement name="DO0"><block type="control" id="{2s/h/xpkm]F+1ik-f4m"><mutation delay_input="false"></mutation>
                                                                                                              <field name="OID">alexa2.0.Echo-Devices.XXXXXXX.Commands.speak</field>
                                                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                                                              <value name="VALUE"><block type="variables_get" id="ft7Uf33@IB1zu_xdTAxn"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                                          <next><block type="comment" id="wIYZ1bLOSjFi=NxT9WcM"><field name="COMMENT">Keller-Flur</field>
                                                                                                              <next><block type="controls_if" id="%EEK(pKJ%lGo)32cR7qF"><value name="IF0"><block type="logic_compare" id="7Mb(anM]kR9056)gxqnW"><field name="OP">EQ</field>
                                                                                                                      <value name="A"><block type="get_value" id="xF~b7`{fV||4n}zB-}.u"><field name="ATTR">val</field>
                                                                                                                          <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                                      <value name="B"><block type="text" id="VH^2CJsPGOd!6hGoqdK4"><field name="TEXT">Keller-Flur</field></block></value></block></value> 
                                                                                                                  <statement name="DO0"><block type="control" id="F_[xezXeyr~*(A=q.YFJ"><mutation delay_input="false"></mutation>
                                                                                                                      <field name="OID">alexa2.0.Echo-Devices.XXXXXXXX.Commands.speak</field>
                                                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                                                      <value name="VALUE"><block type="variables_get" id="SjtrIJ?gA20oj88N|srb"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                                                  <next><block type="comment" id="E#D1a/,rcH`dm3?Nx^:q"><field name="COMMENT">Werkstatt</field>
                                                                                                                      <next><block type="controls_if" id="=s~d:-WIg1#TE`^zf9[4"><value name="IF0"><block type="logic_compare" id="*:X%VM^+2MoYl-:u!WK`"><field name="OP">EQ</field>
                                                                                                                              <value name="A"><block type="get_value" id="6fnRWyK0;P(.x;H{)22T"><field name="ATTR">val</field>
                                                                                                                                  <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                                              <value name="B"><block type="text" id="S:#keRENw1gGjHWLUD!-"><field name="TEXT">Werkstatt</field></block></value></block></value> 
                                                                                                                          <statement name="DO0"><block type="control" id="ql@`4(PNtjS_AM0bEqD+"><mutation delay_input="false"></mutation>
                                                                                                                              <field name="OID">alexa2.0.Echo-Devices.XXXXXXXXX.Commands.speak</field>
                                                                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                                                                              <value name="VALUE"><block type="variables_get" id="P[ojMqQDVRouu#vN~{[%"><field name="VAR">Ausgabetext</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement> 
                                                  <next><block type="controls_if" id="N+F+/fYbDeMZL#(HaEo|"><value name="IF0"><block type="logic_compare" id="T+)nZ(]w4LgDY/|?p56g"><field name="OP">NEQ</field>
                                                          <value name="A"><block type="get_value" id="k=BXdEuQo7?Mo%bdfdng"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Status.Lichter.Anzahl_ein</field></block></value> 
                                                          <value name="B"><block type="math_number" id="j-blGyC;V4jTLHKvikXr"><field name="NUM">0</field></block></value></block></value> 
                                                      <statement name="DO0"><block type="variables_set" id="mk,--n%8x}e1WshOCBc."><field name="VAR">Ausgabetext</field>
                                                          <value name="VALUE"><block type="text_join" id="Ew3VTw7qG|Fx:}vq3hIR"><mutation items="3"></mutation>
                                                              <value name="ADD0"><block type="text" id="Lo0@rGsN^gt1iZ#@~A/7"><field name="TEXT">Im Moment sind im</field></block></value> 
                                                              <value name="ADD1"><block type="get_value" id="i?[Ze,W23|M`_S5@d?;q"><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Status.Lichter.Raum</field></block></value> 
                                                              <value name="ADD2"><block type="text" id="NqEob9;8UT11wT`dCQi#"><field name="TEXT">eingeschaltete Lampen</field></block></value></block></value> 
                                                          <next><block type="timeouts_settimeout" id="^c,bQ)^![(HGz2QrWw/u"><field name="NAME">timeout2</field>
                                                              <field name="DELAY">500</field>
                                                              <field name="UNIT">ms</field>
                                                              <statement name="STATEMENT"><block type="comment" id="3e5[cR-lQ2P@g3-V]T.*"><field name="COMMENT">Wohnzimmer</field>
                                                                  <next><block type="controls_if" id="KauxWUEJAP2sp)D%Cdm9"><value name="IF0"><block type="logic_compare" id="F4MK(fbY8WU[yWO)@Z~O"><field name="OP">EQ</field>
                                                                          <value name="A"><block type="get_value" id="Oe@)VM+1Y`_1YJn?6xyl"><field name="ATTR">val</field>
                                                                              <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                          <value name="B"><block type="text" id="Q8@T8q|P]D*WR6aG#*j0"><field name="TEXT">Wohnzimmer</field></block></value></block></value> 
                                                                      <statement name="DO0"><block type="control" id="r|w?GKF2R8A%WSX@AP[|"><mutation delay_input="false"></mutation>
                                                                          <field name="OID">alexa2.0.Echo-Devices.XXX.Commands.speak</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE"><block type="variables_get" id="HTcKd2V9F)=k:Ae4mS}F"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                      <next><block type="comment" id="Lg@:ha-a2x,0rfhC.]_="><field name="COMMENT">Küche</field>
                                                                          <next><block type="controls_if" id="DTWD3KK_f2CmowWl}Dw+"><value name="IF0"><block type="logic_compare" id="*r~k%Po!vzUQHybU`)sv"><field name="OP">EQ</field>
                                                                                  <value name="A"><block type="get_value" id="285L,qT@eWkZS(#hgXnl"><field name="ATTR">val</field>
                                                                                      <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                  <value name="B"><block type="text" id="w!HtM,nb,KI1aqaOeI36"><field name="TEXT">Küche</field></block></value></block></value> 
                                                                              <statement name="DO0"><block type="control" id="_H{%k4b|sj!:P^rDu%};"><mutation delay_input="false"></mutation>
                                                                                  <field name="OID">alexa2.0.Echo-Devices.XXXXXX.Commands.speak</field>
                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                  <value name="VALUE"><block type="variables_get" id="~51B8(3{stq1BpR1J~p%"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                              <next><block type="comment" id="0Y;8c=RG%f;qqP2yyjbm"><field name="COMMENT">Badezimmer</field>
                                                                                  <next><block type="controls_if" id="JS`zfpqZ~NiBhWxa_;gH"><value name="IF0"><block type="logic_compare" id="-7AVWpsa42LalJseqzv{"><field name="OP">EQ</field>
                                                                                          <value name="A"><block type="get_value" id="cm6sMr|*pCsxx{9uCMrm"><field name="ATTR">val</field>
                                                                                              <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                          <value name="B"><block type="text" id="7+szyIbBBP!dtC~D1h)O"><field name="TEXT">Badezimmer</field></block></value></block></value> 
                                                                                      <statement name="DO0"><block type="control" id="Hg;Dq%gJEXg{SLV;t6{6"><mutation delay_input="false"></mutation>
                                                                                          <field name="OID">alexa2.0.Echo-Devices.XXXXXXXXXX.Commands.speak</field>
                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                          <value name="VALUE"><block type="variables_get" id="*lX{ZM`VBTc}A`1!gM9H"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                      <next><block type="comment" id=":Ka+W*uwIV:h(pjzq_h,"><field name="COMMENT">Gästezimmer</field>
                                                                                          <next><block type="controls_if" id="Ug#8mH1FI!icK/)QEYjQ"><value name="IF0"><block type="logic_compare" id=")@76q4MZ/}oCH_mLKWO4"><field name="OP">EQ</field>
                                                                                                  <value name="A"><block type="get_value" id="iI-HkvUXFC@;;_+[TcRP"><field name="ATTR">val</field>
                                                                                                      <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                  <value name="B"><block type="text" id="#:=Dp]Dt1gil*WOPj/h{"><field name="TEXT">Gästezimmer</field></block></value></block></value> 
                                                                                              <statement name="DO0"><block type="control" id="yoHnz^WG58=+X)|S-u8#"><mutation delay_input="false"></mutation>
                                                                                                  <field name="OID">alexa2.0.Echo-Devices.XXXXXXXXXX.Commands.speak</field>
                                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                                  <value name="VALUE"><block type="variables_get" id="Y8LHCPPH..OnEJN^sjFQ"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                              <next><block type="comment" id="!40Mmgu)T0A3-qPaF9yO"><field name="COMMENT">Flur</field>
                                                                                                  <next><block type="controls_if" id="b/SgE1YjT,ld[nn}{%RH"><value name="IF0"><block type="logic_compare" id="c)SjW;jeX|#Fh/Cha,,3"><field name="OP">EQ</field>
                                                                                                          <value name="A"><block type="get_value" id="H9=}F/!XKY9UBnnbr~D/"><field name="ATTR">val</field>
                                                                                                              <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                          <value name="B"><block type="text" id="r^EgI!FQ;-DPWFF_D!C1"><field name="TEXT">Flur</field></block></value></block></value> 
                                                                                                      <statement name="DO0"><block type="control" id=";7jyou9f+V(`5**;CDV?"><mutation delay_input="false"></mutation>
                                                                                                          <field name="OID">alexa2.0.Echo-Devices.XXXXX.Commands.speak</field>
                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                          <value name="VALUE"><block type="variables_get" id="Q_k9kSJVNP5e%a8((xhe"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                                      <next><block type="comment" id="`?k8YL[;!mE5;-NddVTc"><field name="COMMENT">Schlafzimmer</field>
                                                                                                          <next><block type="controls_if" id="zyeAn3wMc!;hYZDhK)hy"><value name="IF0"><block type="logic_compare" id="bq=B-rG}sw}7gG1{/Y-."><field name="OP">EQ</field>
                                                                                                                  <value name="A"><block type="get_value" id="Zr`S-l8E!}8.4{,qM9*i"><field name="ATTR">val</field>
                                                                                                                      <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                                  <value name="B"><block type="text" id="te+gSwhWiVR4,scYV%ca"><field name="TEXT">Schlafzimmer</field></block></value></block></value> 
                                                                                                              <statement name="DO0"><block type="control" id="grH6#whY1.N-q[pLM5X."><mutation delay_input="false"></mutation>
                                                                                                                  <field name="OID">alexa2.0.Echo-Devices.XXXXXXXXXX.Commands.speak</field>
                                                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                                                  <value name="VALUE"><block type="variables_get" id="[hMf^;p|,CaZVyd+qTm~"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                                              <next><block type="comment" id="N3@K2BRC7C5N9daBycv_"><field name="COMMENT">Keller-Flur</field>
                                                                                                                  <next><block type="controls_if" id="HPxOdxs4N%j2umWTfUNG"><value name="IF0"><block type="logic_compare" id="DX=kCQ/,E6kqYsQ}/=[e"><field name="OP">EQ</field>
                                                                                                                          <value name="A"><block type="get_value" id="XionPRa91nQ16NK(N9+."><field name="ATTR">val</field>
                                                                                                                              <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                                          <value name="B"><block type="text" id="ZB}mEWERKZ/fb~*Lwd1A"><field name="TEXT">Keller-Flur</field></block></value></block></value> 
                                                                                                                      <statement name="DO0"><block type="control" id="kPLG+9decg*iGUm87`-2"><mutation delay_input="false"></mutation>
                                                                                                                          <field name="OID">alexa2.0.Echo-Devices.XXXXXXXXXXX.Commands.speak</field>
                                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                                          <value name="VALUE"><block type="variables_get" id="}.I+7-Frw4fjj1-N[AeP"><field name="VAR">Ausgabetext</field></block></value></block></statement> 
                                                                                                                      <next><block type="comment" id="C~L9w[G_b.Hb*%7oT~aE"><field name="COMMENT">Werkstatt</field>
                                                                                                                          <next><block type="controls_if" id="`;ot|i:*)I|EwW@zS,B2"><value name="IF0"><block type="logic_compare" id="H!ldSYtR|C|^VcqxS;Xt"><field name="OP">EQ</field>
                                                                                                                                  <value name="A"><block type="get_value" id="I)o6A2U2(,A7e|4.8lo."><field name="ATTR">val</field>
                                                                                                                                      <field name="OID">alexa2.0.History.name</field></block></value> 
                                                                                                                                  <value name="B"><block type="text" id="s4owS.Ww){6ayek?VzFb"><field name="TEXT">Werkstatt</field></block></value></block></value> 
                                                                                                                              <statement name="DO0"><block type="control" id="5Gh*aVl-x(IPCnF@5,5/"><mutation delay_input="false"></mutation>
                                                                                                                                  <field name="OID">alexa2.0.Echo-Devices.XXXXXXXXXXX.Commands.speak</field>
                                                                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                                                                  <value name="VALUE"><block type="variables_get" id="dmO{yR;|g@(rZJE,HX4k"><field name="VAR">Ausgabetext</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block></xml> 
                                          

                                          Hier die Screenshots.

                                          ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... a3e8af.jpg">https://uploads.tapatalk-cdn.com/20180808/8fe613e45921b7d1948e632673a3e8af.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 6e9f0c.jpg">https://uploads.tapatalk-cdn.com/20180808/e817673faf4bc0a3eb3b3cab126e9f0c.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 001f6c.jpg">https://uploads.tapatalk-cdn.com/20180808/d401fdf4111d917fc06571cc69001f6c.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... a6d340.jpg">https://uploads.tapatalk-cdn.com/20180808/175a9cd21f2229a0e498048370a6d340.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... e9d61c.jpg">https://uploads.tapatalk-cdn.com/20180808/fb3c4035264d02d3ea415ada64e9d61c.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... f7ee1c.jpg">https://uploads.tapatalk-cdn.com/20180808/e4bcdbf976bf7b62c3c48b634df7ee1c.jpg</link_text>" />

                                          ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201808 ... 100647.jpg">https://uploads.tapatalk-cdn.com/20180808/d578a8d41d7256bd5df1611d3a100647.jpg</link_text>" />~~~~~~~~~~~~

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          833

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe