Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.1k

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

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

Skriptsammlung für den neuen ALEXA2.0 Adapter

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
184 Beiträge 45 Kommentatoren 45.2k Aufrufe 19 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • modmaxM Offline
    modmaxM Offline
    modmax
    schrieb am zuletzt editiert von
    #158

    Schon mal so versucht?

    on({id: '"hm-rpc.1.NEQxxxxx1.PRESS_SHORT"/', val: true}, function (obj) {
      log("Sprich Alexa, sprich!");
      setState("alexa2.0.Echo-Devices.XXX.Commands.speak"/*speak*/, 'Mach die scheisse Tür auf!');
    });
    
    

    Hinzugefügt habe ich nur val=true, da das immer auf true gesetzt wird; dafür change gelöscht.

    Log-Ausgabe nur um zu sehen, ob der Trigger greift.

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      HoffmannOs
      schrieb am zuletzt editiert von
      #159

      @modmax:

      Schon mal so versucht?

      on({id: '"hm-rpc.1.NEQxxxxx1.PRESS_SHORT"/', val: true}, function (obj) {
        log("Sprich Alexa, sprich!");
        setState("alexa2.0.Echo-Devices.XXX.Commands.speak"/*speak*/, 'Mach die scheisse Tür auf!');
      });
      
      

      Hinzugefügt habe ich nur val=true, da das immer auf true gesetzt wird; dafür change gelöscht.

      Log-Ausgabe nur um zu sehen, ob der Trigger greift. ` Vielen Dank, hab den Fehler gefunden! Funzt!

      Gesendet von meinem SM-G965F mit Tapatalk

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Sprite01
        schrieb am zuletzt editiert von
        #160

        Ich hatte ja mal von diesem Thread das Lichtscript verwendet und mir daraus das Fensterscript gebastelt.

        Haben auch beide funktioniert. Nun habe ich mit dem Fensterstatus ein Problem, bei alles geschlossen

        bleibt das Objekt Ansage leer. Dort sollte ja dann eigentlich "Alle Fenster geschlossen" stehen.
        137_fenster.jpg
        Der berühmte Spruch: Ich habe nichts geändert - ist mir zwar peinlich, aber stimmt. 🙂

        Außer Updates habe ich hier nichts verändert.

        Kann mal jemand darüber schauen warum das Objekt Fenster Ansage dann leer bleibt ?

        Das von 19 Fenstern 0 offen sind wird ja richtig gezählt.

        ! ````
        // Status Zahl Fenster
        ! var logging = true;
        ! var idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf',
        idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
        idText = 'javascript.0.Status.Fenster.Text',
        idRaum = 'javascript.0.Status.Fenster.Raum',
        idAnsage = 'javascript.0.Status.Fenster.Ansage';
        ! // Ab hier nix mehr ändern
        createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Fenster
        type: 'number',
        name: 'Anzahl aller Fenster',
        min: 0,
        def: 0,
        role: 'value'
        });
        createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
        type: 'number',
        name: 'Anzahl der geoeffneten Fenster',
        min: 0,
        def: 0,
        role: 'value'
        });
        createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen als Variable unter Javascript.0 anlegen
        type: 'string',
        name: 'geoeffnete Fenster',
        desc: 'Namen der geoeffneten Fenster',
        def: ' ',
        role: 'value'
        });
        createState(idAnsage, {
        type: 'string',
        name: 'geoeffnete Fenster (Ansage)',
        desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)',
        def: ' ',
        role: 'value'
        });
        createState(idRaum, { // Räume, in denen Fenster geoeffnet sind
        type: 'string',
        name: 'Räume mit geoeffneten Fenster',
        desc: 'Namen der Räume, in denen Fenster geoeffnet sind',
        def: ' ',
        role: 'value'
        });
        ! var cacheSelectorState = $('channelstate.id=*.STATE'); // Gewerk Fenster
        ! function checkDevices(obj) {
        // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
        var anzahlFensterAuf = 0;
        var anzahlFenster = 0;
        var textFensterAuf = [];
        var textRaum = [];
        if (logging) {
        log('++++++ Fenster Anzahl ++++ ');
        log('#### SCHALTER ##### ');
        }
        cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
        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");
        ! if (logging) {
        log('-------');
        log('Kanal: ' + name);
        log('Status: ' + status);
        }
        if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
        ++anzahlFensterAuf;
        textFensterAuf.push(devicename); // Zu Array hinzufügen
        textRaum.push(raumname.enumNames); //
        }
        ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
        });

        textRaum = deleteDuplicates(textRaum);

        // Array mit Fensternamen sortieren
        textFensterAuf.sort();
        textRaum.sort();
        // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben
        if (logging) log("Text: " + textFensterAuf);
        if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf);
        // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
        setState(idText, textFensterAuf.join(', und ')); // Schreibt die aktuelle Namen der geoeffneten Fenster
        setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster
        setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
        // setState(idRaum, textRaum.join(',
        

        ')); // Räume, in denen Fenster geoeffnet sind
        setState(idRaum, textRaum.join(', und ')); // Räume, in denen Fenster geoeffnet sind
        }

        ! // Trigger
        cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Fenster
        if (logging) log('Auslösender Schalter: ' + 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 = (getState(idAnzahl).val > 0) ? '' + strip_tags(text) : 'Alle Fenster geschlossen';
        setState(idAnsage, text);
        });

        Gruß

        Dirk

        http://www.DessauWetter.de

        (ioBroker auf IntelNuc und Proxmox)

        1 Antwort Letzte Antwort
        0
        • dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #161

          @Sprite01:

          Ich hatte ja mal von diesem Thread das Lichtscript verwendet und mir daraus das Fensterscript gebastelt.

          Haben auch beide funktioniert. Nun habe ich mit dem Fensterstatus ein Problem, bei alles geschlossen

          bleibt das Objekt Ansage leer. Dort sollte ja dann eigentlich "Alle Fenster geschlossen" stehen.
          filename="fenster.JPG" index="0">~~
          Der berühmte Spruch: Ich habe nichts geändert - ist mir zwar peinlich, aber stimmt. 🙂

          Außer Updates habe ich hier nichts verändert.

          Kann mal jemand darüber schauen warum das Objekt Fenster Ansage dann leer bleibt ?

          Das von 19 Fenstern 0 offen sind wird ja richtig gezählt.

          ! ````
          // Status Zahl Fenster
          ! var logging = true;
          ! var idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf',
          idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
          idText = 'javascript.0.Status.Fenster.Text',
          idRaum = 'javascript.0.Status.Fenster.Raum',
          idAnsage = 'javascript.0.Status.Fenster.Ansage';
          ! // Ab hier nix mehr ändern
          createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Fenster
          type: 'number',
          name: 'Anzahl aller Fenster',
          min: 0,
          def: 0,
          role: 'value'
          });
          createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
          type: 'number',
          name: 'Anzahl der geoeffneten Fenster',
          min: 0,
          def: 0,
          role: 'value'
          });
          createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen als Variable unter Javascript.0 anlegen
          type: 'string',
          name: 'geoeffnete Fenster',
          desc: 'Namen der geoeffneten Fenster',
          def: ' ',
          role: 'value'
          });
          createState(idAnsage, {
          type: 'string',
          name: 'geoeffnete Fenster (Ansage)',
          desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)',
          def: ' ',
          role: 'value'
          });
          createState(idRaum, { // Räume, in denen Fenster geoeffnet sind
          type: 'string',
          name: 'Räume mit geoeffneten Fenster',
          desc: 'Namen der Räume, in denen Fenster geoeffnet sind',
          def: ' ',
          role: 'value'
          });
          ! var cacheSelectorState = $('channelstate.id=*.STATE'); // Gewerk Fenster
          ! function checkDevices(obj) {
          // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
          var anzahlFensterAuf = 0;
          var anzahlFenster = 0;
          var textFensterAuf = [];
          var textRaum = [];
          if (logging) {
          log('++++++ Fenster Anzahl ++++ ');
          log('#### SCHALTER ##### ');
          }
          cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
          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");
          ! if (logging) {
          log('-------');
          log('Kanal: ' + name);
          log('Status: ' + status);
          }
          if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
          ++anzahlFensterAuf;
          textFensterAuf.push(devicename); // Zu Array hinzufügen
          textRaum.push(raumname.enumNames); //
          }
          ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
          });

          textRaum = deleteDuplicates(textRaum);

          // Array mit Fensternamen sortieren
          textFensterAuf.sort();
          textRaum.sort();
          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben
          if (logging) log("Text: " + textFensterAuf);
          if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf);
          // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
          setState(idText, textFensterAuf.join(', und ')); // Schreibt die aktuelle Namen der geoeffneten Fenster
          setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster
          setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
          // setState(idRaum, textRaum.join(',
          

          ')); // Räume, in denen Fenster geoeffnet sind
          setState(idRaum, textRaum.join(', und ')); // Räume, in denen Fenster geoeffnet sind
          }

          ! // Trigger
          cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Fenster
          if (logging) log('Auslösender Schalter: ' + 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 = (getState(idAnzahl).val > 0) ? '' + strip_tags(text) : 'Alle Fenster geschlossen';
          setState(idAnsage, text);
          });
          ```` ` starte mal den JavaScript Adapter neu und probiere noch mal.

          1 Antwort Letzte Antwort
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #162

            Unten im Script habe ich das bei mir auch mal geändert

            on(idText, function(obj) {
                var text = obj.state.val;
                text = (text.length > 1) ? ' ' + strip_tags(text) : 'Alle Fenster geschlossen';
                setState(idAnsage, text);
            });
            
            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Sprite01
              schrieb am zuletzt editiert von
              #163

              dslraser, ich habe den unteren Teil mal geändert. Leider mit gleichem Ergebnis.

              (Könntest du dein komplettes Script hier bitte noch mal zur Verfügung stellen ?)

              PS:

              Kommando zurück, Neustart Javascript und reales öffnen/schließen eines Fensters hat geholfen.

              Das Programm im Script neu aufzurufen (hatte ich vorher probiert) brachte noch nicht das Ergebnis.

              Gruß

              Dirk

              http://www.DessauWetter.de

              (ioBroker auf IntelNuc und Proxmox)

              1 Antwort Letzte Antwort
              0
              • dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #164

                prima, mit geädertem Scriptteil, oder so wie es war ?

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Sprite01
                  schrieb am zuletzt editiert von
                  #165

                  Öffnen/Schließen habe ich nur mit dem neuen Teil probiert.

                  Daher kann ich dir nicht sagen ob es auch mit dem alten Teil funktioniert hätte.

                  Da hatte ich nur Javascript neu gestartet und Script neu geladen, ohne positivem Ergebnis.

                  Gruß

                  Dirk

                  http://www.DessauWetter.de

                  (ioBroker auf IntelNuc und Proxmox)

                  1 Antwort Letzte Antwort
                  0
                  • totocotonioT Offline
                    totocotonioT Offline
                    totocotonio
                    schrieb am zuletzt editiert von
                    #166

                    @Chaot:

                    @Blackeye

                    Türklingel über Sonoff?

                    War eigentlich ganz einfach.

                    • Einen schönen Taster ausgesucht:

                    https://www.amazon.de/gp/product/B00YS9 … UTF8&psc=1

                    • Am Eingangsbereich einen Sonoff Basic installiert.

                    • Am Sonoff DHT22 und Taster angeschlossen

                    • Zusätzlich die Ausßenbeleuchtung aufgeklemmt und dazu ebenfalls Taster am Sonoff angeschlossen

                    • Im ioBroker den Taster des Sonoff (GPIO 14) auslesen und per TR064 Adapter am Hasutelefon klingeln lassen.

                    • Dazu noch an Alexa2 Adapter senden um die Klingel noch Ansagen zu lassen.

                    Was ich noch vergessen habe, aber in den nächsten Tagen ändern werde ist die Steuerung der Außenbeleuchtung.

                    Ich werde zusätzlich zur bisherigen Steuerung (bei Dämmerung an bis 23 Uhr und ab 5 Uhr bis Sonnenaufgang) noch eine Funktion einbauen die die Außenbeleuchtung für 5 Minuten Einschaltet (nur Nachts) wenn die Klingel betätigt wird.

                    Ist zwar bisschen Bastelarbeit, aber ich bin der Meinung das sich das echt gelohnt hat. Mein Vorteil ist das ich neben der Eingangstür eine Unterverteilung habe in der ich den ganzen Kram verstauen konnte.

                    Der Basic ist jetzt allerdings auch komplett ausgereizt.

                    GPIO 14 - Klingeltaster

                    GPIO 1 - DHT 22

                    GPIO 3 - Taster für Außenleuchte

                    Das Gehäuse des Sonoff musste dran glauben und ich habe das Ganze in eine Schalterdose verbaut. `

                    Hi,

                    das hört sich interassant an.

                    Hast du das über ein blockly gemacht?

                    Wie kann man den das Telefon über den TR64 ansteuern, wie oft klingelt es denn, nur wenn der Taster gedrückt wird.

                    Gruß Totocotonio

                    Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                    1 Antwort Letzte Antwort
                    0
                    • ChaotC Offline
                      ChaotC Offline
                      Chaot
                      schrieb am zuletzt editiert von
                      #167

                      @ totocotonio

                      Das Script ist in JS geschrieben:

                      var sperre = false;
                      
                      on({id: 'sonoff.0.Eingang.POWER2', change: "any"}, function (obj) {
                        if(!sperre) {
                          sperre = true;
                          setState("tr-064.0.states.ring"/*ring*/, '**610, 15');
                          sendTo("pushover", "send", {
                             message: 'Klingel',
                             sound: ""
                          });
                          setState("alexa2.0.Echo-Devices.G2A0P30XXXXXXLLE.Commands.speak"/*speak*/, 'Mach ma Tür auf');
                          setTimeout(function() {
                             sperre = false;
                          }, 5000); 
                        }  
                      });
                      

                      Der Teil "Sperre" wird benötigt, da der erste der geklingelt hat ein kleiner Nachbarsjunge war. Der hat dann mehrfach schnell hintereinander auf den Taster gedrückt und dadurch das Klingeln gestoppt.

                      Der Bereich :````
                      */, '**610, 15');

                      
                      Weiter unten ist dann noch Pushover integriert das mir eine Meldung aufs Smartphone zaubert wenn ich nicht zu Hause bin.
                      
                      Zu guter Letzt ist dann noch die Sprachausgabe über Alexa realisiert die mit beliebigen Text gefüttert werden kann.
                      
                      Den Originaltext: "Mach mal de scheiße Tür auf" musste ich nach kleineren Diskussionen mit meiner Frau dann doch ändern :(
                      
                      Dabei war der eigentlich gut: [https://www.youtube.com/watch?v=-kxXSk7nqcw](https://www.youtube.com/watch?v=-kxXSk7nqcw)

                      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 Antwort Letzte Antwort
                      0
                      • totocotonioT Offline
                        totocotonioT Offline
                        totocotonio
                        schrieb am zuletzt editiert von
                        #168

                        Sau gut :lol: :lol: :lol:

                        Danke für die Info´s.

                        Welchen sonoff hast du den da gewählt?

                        Die Sperre ist das eine variable?

                        Ich versuche das morgen mal umzusetzen

                        Gruß Totocotonio

                        Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

                        1 Antwort Letzte Antwort
                        0
                        • ChaotC Offline
                          ChaotC Offline
                          Chaot
                          schrieb am zuletzt editiert von
                          #169

                          Der Sonoff ist ein Basic über den noch zusätzlich verschiedene andere Sachen laufen:

                          Relais schaltet Außenlicht

                          GPIO 1 und 3 sind mit einem BMP 280 verbunden für Außen-Temperatur, -Druck und - Feuchte

                          GPIO 14 ist der Taster für die Klingel.

                          Die Sperre wird gesetzt solange das Script abgearbeitet wird.

                          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 Antwort Letzte Antwort
                          0
                          • N Offline
                            N Offline
                            noleck123
                            schrieb am zuletzt editiert von
                            #170

                            Hallo ich habe das Fenster / Zählen Script und das Lichter Zählen Script Installiert.. Funktioniert soweit ganz gut, nur wird die Eingeschaltete Lichter / Fenster Variable nicht richtig angezeigt bzw ausgewertet.. 2453_io.jpg

                            ! /* Status Zahl Lichter
                            ! zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
                            ! Daten kommen vom Gewerk "licht"
                            ! erstellt: 17.06.2015 nach diesem Vorbild: viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564
                            ! 23.06.2015 globale Variablendefinition zählen_Lichter.textLichterAn fehlte und wurde hinzugefügt
                            ! Log Ausgabe auskommentiert
                            ! 05.08.2015 STATE aus der Ausgabe entfernt nach Idee von stephan61 http://forum.iobroker.org/viewtopic.php … t=20#p9267
                            ! 24.03.2016 keine Anzeigen von virtuellen Kanälen mehr (in Abhängigkeit der Abfrage des Namens)
                            ! 06.05.2016 Datenpunkt für Ansagen zugefügt
                            ! 02.07.2016 abgeschaltet, da Fehler
                            ! 03.07.2016 Zähl-Funktion getrennt nach Schalter und Dimmer
                            ! search statt indexOf und RegEx für Suche nach Virtuellen Kanälen
                            ! 27.11.2016 Verschoben in Status
                            ! Code optimiert
                            ! 23.12.2016 Räume eingebaut
                            ! */
                            ! 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', // <---- NEU
                            ! 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 auf sind als Variable unter Javascript.0 anlegen
                            ! type: 'number',
                            ! name: 'Anzahl der eingeschalteten Lichter',
                            ! min: 0,
                            ! def: 0,
                            ! role: 'value'
                            ! });
                            ! createState(idText, { // Anzahl der brennenden 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 // <---- NEU
                            ! 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');
                            ! var cacheSelectorPOWER = $('channelstate.id=*.POWER'); // Sonoff Lampen (müssen im Gewerk Licht sein)
                            ! 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"); // <–-- NEU
                            ! // ########## 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); // <---- NEU
                            ! }
                            ! ++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")); //.state aus Text entfernen
                            ! var raumname = getObject(id, "rooms"); // <---- NEU
                            ! // ########## 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); // <---- NEU
                            ! }
                            ! ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                            ! // } // Ende Abfrage VK
                            ! });
                            ! if (logging) {
                            ! log('++++++ Lichter Anzahl ++++ ');
                            ! log('#### SCHALTER ##### ');
                            ! }
                            ! cacheSelectorPOWER.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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("POWER")); //.state aus Text entfernen
                            ! var raumname = getObject(id, "rooms"); // <---- NEU
                            ! // ########## 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); // <---- NEU
                            ! }
                            ! ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                            ! // } // ENDE VK-Abfrage
                            ! });
                            ! // Array mit Lichternamen sortieren
                            ! textLichterAn.sort();
                            ! textRaum.sort(); // <---- NEU
                            ! // 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(',
                            ')); // 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 // <---- NEU
                            ! setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
                            ! }
                            ! // 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();
                            ! });
                            ! cacheSelectorPOWER.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();
                            ! });
                            ! 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 = (getState(idAnzahl).val > 0 ) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter sind ausgeschaltet';
                            ! setState(idAnsage, text);
                            ! });

                            ! // Status Fenster. Das Script zählt alle Fenster im Gewerk Fenster (Aufzählungen-Funktion)
                            ! // Telegramnachricht bei Abwesenheit wenn sich der Fensterstatus ändert. Bei Anwesenheit in der Homezone keine Nachricht senden.
                            ! // Anwesenheit Datenpunkte separat erstellt und durch die Adapter google-sharedlocation und Places geschaltet
                            ! var logging = true;
                            ! var
                            ! idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf',
                            ! idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
                            ! idText = 'javascript.0.Status.Fenster.Text',
                            ! idRaum = 'javascript.0.Status.Fenster.Raum',
                            ! idAnsage = 'javascript.0.Status.Fenster.Ansage';
                            ! // Ab hier nix mehr ändern
                            ! createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Fenster
                            ! type: 'number',
                            ! name: 'Anzahl aller Fenster',
                            ! min: 0,
                            ! def: 0,
                            ! role: 'value'
                            ! });
                            ! createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
                            ! type: 'number',
                            ! name: 'Anzahl der geoeffneten Fenster',
                            ! min: 0,
                            ! def: 0,
                            ! role: 'value'
                            ! });
                            ! createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen als Variable unter Javascript.0 anlegen
                            ! type: 'string',
                            ! name: 'geoeffnete Fenster',
                            ! desc: 'Namen der geoeffneten Fenster',
                            ! def: ' ',
                            ! role: 'value'
                            ! });
                            ! createState(idAnsage, {
                            ! type: 'string',
                            ! name: 'geoeffnete Fenster (Ansage)',
                            ! desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)',
                            ! def: ' ',
                            ! role: 'value'
                            ! });
                            ! createState(idRaum, { // Räume, in denen Fenster geoeffnet sind
                            ! type: 'string',
                            ! name: 'Räume mit geoeffneten Fenster',
                            ! desc: 'Namen der Räume, in denen Fenster geoeffnet sind',
                            ! def: ' ',
                            ! role: 'value'
                            ! });
                            ! var cacheSelectorState = $('channelstate.id=*.STATE'); // Gewerk Fenster
                            ! function checkDevices(obj) {
                            ! // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
                            ! var anzahlFensterAuf = 0;
                            ! var anzahlFenster = 0;
                            ! var textFensterAuf = [];
                            ! var textRaum = [];
                            ! if (logging) {
                            ! log('++++++ Fenster Anzahl ++++ ');
                            ! log('#### SCHALTER ##### ');
                            ! }
                            ! cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
                            ! 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");
                            ! if (logging) {
                            ! log('–-----');
                            ! log('Kanal: ' + name);
                            ! log('Status: ' + status);
                            ! }
                            ! if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                            ! ++anzahlFensterAuf;
                            ! textFensterAuf.push(devicename); // Zu Array hinzufügen
                            ! textRaum.push(raumname.enumNames); //
                            ! }
                            ! ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
                            ! });
                            ! textRaum = deleteDuplicates(textRaum);
                            ! // Array mit Fensternamen sortieren
                            ! textFensterAuf.sort();
                            ! textRaum.sort();
                            ! // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben
                            ! if (logging) log("Text: " + textFensterAuf);
                            ! if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf);
                            ! // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                            ! setState(idText, textFensterAuf.join(',\nund\n')); // Schreibt die aktuelle Namen der geoeffneten Fenster
                            ! setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster
                            ! setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
                            ! // setState(idRaum, textRaum.join(',
                            ')); // Räume, in denen Fenster geoeffnet sind
                            ! setState(idRaum, textRaum.join(',\nund\n')); // Räume, in denen Fenster geoeffnet sind
                            ! }
                            ! // Trigger
                            ! cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Fenster
                            ! if (logging) log('Auslösender Schalter: ' + 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) ? ' ' + strip_tags(text) : 'Alle Fenster geschlossen';
                            ! setState(idAnsage, text);
                            ! });
                            ! // Bei Anwesenheit zu Hause keine Telegramnachricht–-Bei Abwesenheit sendet Telegram eine Nachricht
                            ! // on({id: 'javascript.0.Status.Fenster.Ansage', change: "ne"}, function (obj) {
                            ! // var value = obj.state.val;
                            ! // var oldValue = obj.oldState.val;
                            ! // if (getState("javascript.0.Anwesenheit.Heiko.Home.Heiko_Home").val === false) {
                            ! // sendTo("telegram", "send", {
                            ! // text: getState("javascript.0.Status.Fenster.Ansage").val,
                            ! // disable_notification: true // ohne Ton am Handy
                            ! //});
                            ! //}
                            ! //});

                            1 Antwort Letzte Antwort
                            0
                            • StM47S Offline
                              StM47S Offline
                              StM47
                              schrieb am zuletzt editiert von
                              #171

                              Ich habe ein Script aus einem YouTube Video nachgebastelt.

                              Hierbei wird auch der Status der offenen Fenster und Türen abgefragt.

                              9039_bildschirmfoto_2019-01-20_um_14.42.16.png

                              ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                              ! <block type="on_ext" id="K;bmqNo6Lb~VU03-c0O" x="-1087" y="-87"><mutation items="11"></mutation> ! <field name="CONDITION">ne</field> ! <value name="OID0"><shadow type="field_oid" id="EUGRQt0^0=,T/{nU:R?*"><field name="oid">lupusec.0.devices.RF:03039a10.status_ex</field></shadow></value> ! <value name="OID1"><shadow type="field_oid" id="%LH-+B9.zpsxC0{zQo^!"><field name="oid">lupusec.0.devices.RF:03141610.status_ex</field></shadow></value> ! <value name="OID2"><shadow type="field_oid" id="=.NCmu#@tq?i2ulPOkNi"><field name="oid">lupusec.0.devices.RF:0322d810.status_ex</field></shadow></value> ! <value name="OID3"><shadow type="field_oid" id="ZGZRsr%J2j(vGCzouz_"><field name="oid">lupusec.0.devices.RF:03044c10.status_ex</field></shadow></value>
                              ! <value name="OID4"><shadow type="field_oid" id="tyIzwcivSq=Ks#!8e_jg"><field name="oid">lupusec.0.devices.RF:030bb810.status_ex</field></shadow></value>
                              ! <value name="OID5"><shadow type="field_oid" id="Ob3QJI(PBtg.gopijJp"><field name="oid">lupusec.0.devices.RF:03c08510.status_ex</field></shadow></value>
                              ! <value name="OID6"><shadow type="field_oid" id=",R_0gag}.U[KG:!uVuSt"><field name="oid">lupusec.0.devices.RF:03879610.status_ex</field></shadow></value>
                              ! <value name="OID7"><shadow type="field_oid" id="I/^n~iE*Wu(|)f|l^6@}"><field name="oid">lupusec.0.devices.RF:030fa710.status_ex</field></shadow></value>
                              ! <value name="OID8"><shadow type="field_oid" id="KJtvXoo^m[O,~ksX:P/4"><field name="oid">lupusec.0.devices.RF:0387df10.status_ex</field></shadow></value>
                              ! <value name="OID9"><shadow type="field_oid" id="xA386|eU7|N/d**E/u8
                              "><field name="oid">lupusec.0.devices.RF:0319ac10.status_ex</field></shadow></value>
                              ! <value name="OID10"><shadow type="field_oid" id="(;C2C2w,CCB8-rPAFc^"><field name="oid">lupusec.0.devices.RF:0324a610.status_ex</field></shadow></value> ! <statement name="STATEMENT"><block type="controls_if" id="W:zWwagz/As5a8b#9OzP"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_operation" id="p^([UcjTOP1|ut5IOjXR"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="0ge-Vs+r8E;35~Lqffn"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="/m=n2X%[vYY!tx!NKP2Z"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03039a10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="]wZtUa~@kF|.-b/iCNmA"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_operation" id=",Z*/u5u]9AAGv_ZQXX9B"><field name="OP">AND</field>
                              ! <value name="A"><block type="logic_compare" id="w0XCE~moK6!N|~b~2DHi"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="Lu*)}gw=06EFCPFNm}Y="><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03141610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="2lF;Ebc.0PW2b+jTx/-]"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_operation" id="oD05sh#q!K1m9sv-U^b"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="/33nhjK%{!5B_YW|FD}R"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="0.GEO{<EMAIL email=" x@m.mejgve"="">X@M.meJGvE]!aV"> ! <field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:0322d810.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="^|SZF#M/?{W#Ijf^.+_n"><field name="BOOL">FALSE</field></block></value></block></value> ! <value name="B"><block type="logic_operation" id="OP?UzpLr=OJMT{IKiHtv"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="QS~7|dA/=,bsA#;~KNWv"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="@O5z^zwP|vo#_A[0O49o"><field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:03044c10.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="jKVKy?bcvBw)2rK^V/ED"><field name="BOOL">FALSE</field></block></value></block></value> ! <value name="B"><block type="logic_operation" id="fea~1z3F(re|,,+<EMAIL email=" 7@y.w"="">7@y.W"> ! <field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id=")ak6oVTn8g3.DBn1;Tfz"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="xn!0mijmQ~ppc#z2b*sJ"><field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:030bb810.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="gdTQWzgPxAWqx03;4l(M"><field name="BOOL">FALSE</field></block></value></block></value> ! <value name="B"><block type="logic_operation" id="H|dL~Y2#T!b_j+txXv,{"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="sobtSak5+wHb~bLYQX^"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id=",8N?@.-YjS[BQA:,t|u"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03c08510.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="N4(Lz1d{WwSjuY0/BJ:#"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_operation" id="RgQdm``QM@uBKHTN6bz^"><field name="OP">AND</field>
                              ! <value name="A"><block type="logic_compare" id="KEX,qIcEarbmh)xI|jnO"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="+UG1A,Iz5sF41oAnU-sX"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03879610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="wHqfFfyN6p7pQ]Ex]QEg"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_operation" id="zrkqQHb;-;Sr9a47wpE|"><field name="OP">AND</field>
                              ! <value name="A"><block type="logic_compare" id="q:2Gm%5c+L+C~j,e|@4-"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="Mym?3e9ZCBB/.L~XDM"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:030fa710.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="!.,H(e831jM/tDcLvaFN"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_operation" id="IWs,;5WWF[PwvNi#=u]"><field name="OP">AND</field>
                              ! <value name="A"><block type="logic_compare" id="(KjkFX?);@|5xts/kBZy"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="8?}|S|Ih)UX:mQZ|,aKx"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0387df10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="(B-?DNy81ju;pxZnilsa"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_operation" id="iqUSGR)=%?@Wxc)cXj="><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="e.oXNHLj/zB!()R5Ttn"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="Bu/~xr6H;fqp
                              )|Ji+9R"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0319ac10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="64l^d?2
                              |W5QVrVWtRU+"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <value name="B"><block type="logic_compare" id="^zr^Ac:Sjx(w+8iIMl2L"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="4E7..LjQq)WU27bSi/?S"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0324a610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="gr(PYK)wcZeR2b!yQo~"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value></block></value></block></value></block></value></block></value></block></value></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="9xdLRL8Et~8!{BaOR2b?"><field name="VAR">gesamt</field> ! <value name="VALUE"><block type="text" id="-jnh{ah9#XOYTQLaHICQ"><field name="TEXT">Es sind keine Fenster geöffnet!</field></block></value></block></statement> ! <statement name="ELSE"><block type="variables_set" id="V@+W*p}Jlu8(#vAC-1Ji"><field name="VAR">gesamt</field> ! <value name="VALUE"></value></block></statement> ! <next><block type="controls_if" id="e[[V7l}(@l;:rQSnE+@"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="y|.2=KF9RGsp!nv:?W;z"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="wnUBpdD(tr,(7~m,i:_0"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03039a10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id=")DE;e#Dt~sS@-ym|H[a"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="2]YC;)PU?~o-eAvhLpKf"><field name="VAR">Terassenthüre_links</field>
                              ! <value name="VALUE"><block type="text" id=")Od]Z1GTK^Fr/GJCij*"><field name="TEXT">die Terrassentüre links,</field></block></value></block></statement> ! <value name="IF1"><block type="logic_compare" id="K#CX/CmT#yso._#Dp.T}"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="L{!{-=#UJgg,39:@5+i"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03039a10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="Xq-gC*S=*Ut##jLqylls"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="UgTTC||un~A?O%l8[bpo"><field name="VAR">Terassenthüre_links</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="OOiaV0zk@LW7!NFhPCfh"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id=":NRHmz
                              %V~Ox1ZGX?j%m"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="TMFH0wjqz|eUZTRJ2[!"><field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:03141610.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="r{fb77NLLHJkt|(z4KmI"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="!7diN?b=1wv9o}lG5_[Q"><field name="VAR">Terrassentüre_rechts</field> ! <value name="VALUE"><block type="text" id="-e}qmaJ=#,%p#12gsB^S"><field name="TEXT">die Terrassenrüre rechts,</field></block></value></block></statement> ! <value name="IF1"><block type="logic_compare" id="%l^E1wDP{zK+yH=%:H"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="Gs9cW4:B^QteMnKohm[O"><field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:03141610.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="]W2ktaRp|!.A1;bo/M##"><field name="BOOL">FALSE</field></block></value></block></value> ! <statement name="DO1"><block type="variables_set" id="/oxH#o{d9]A!)m/7Q9jR"><field name="VAR">Terrassentüre_rechts</field> ! <value name="VALUE"></value></block></statement> ! <next><block type="controls_if" id="^.A64YYuZUOgfO)Z9JLF"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="k[Mu@oxI1W*1dg(v%wyi"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id=":KT(^/DWA#u-u*Y//lmq"><field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:0322d810.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="=Y#N5)-]AYy#Y80:}?1H"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="FQzRxZ=bk9N/s?0O%jyT"><field name="VAR">Küchenfenster</field> ! <value name="VALUE"><block type="text" id="vi+(]AsSK[z=0p;w18"><field name="TEXT">das Küchenfenster,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="RS1dRE*t-+Fd|Oqx}B7u"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="c6Rc!hME
                              ;+IqN:2QpB}"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0322d810.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id=")Bld5n8%NX6PV}T{XU}"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="EXq|aOl__u?Ly6P!?0E"><field name="VAR">Küchenfenster</field> ! <value name="VALUE"></value></block></statement> ! <next><block type="controls_if" id="qoGXR]VdK={[Xtr2hcSy"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="j@2O]00v@^he(c.X]haE"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="_wN^u0/RD:4=,Htht[:|"><field name="ATTR">val</field> ! <field name="OID">lupusec.0.devices.RF:03044c10.status_ex</field></block></value> ! <value name="B"><block type="logic_boolean" id="k#5|+M@np!F=4QVs=xQ"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="B/Y3G9wrRu0B,XCscy"><field name="VAR">Kaminfenster</field> ! <value name="VALUE"><block type="text" id="q*Wc{byBs{wWj;us~ht,"><field name="TEXT">das Kaminfenster,</field></block></value></block></statement> ! <value name="IF1"><block type="logic_compare" id="fDn1/6|m(Ik,Aw7W.aI"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="hkULKMuKuOfJ:mbxbL;b"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03044c10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="Wk!tzIcw}IKGCaSAwlBI"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="UkRx1n(s{D5PPaqU8;_Z"><field name="VAR">Kaminfenster</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="4k=^nYuS;mqOHib!.%qL"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="DSh2Fi!V^p4M=]3p^h)W"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="IYTq-H(ON4U@va{79gry"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:030bb810.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="9ZJM=AT-CjJU)c#RKi}"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="o|)UadWT|X2@6D:T]V"><field name="VAR">Haustüre</field>
                              ! <value name="VALUE"><block type="text" id="8PZHj:gqY;R+=27cM@7Q"><field name="TEXT">die Haustüre,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="eEV
                              #/?bkp)E//[?}z9"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="j9w[[:kORK_@Ilv^!04"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:030bb810.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="#+#nNxXrw+iD#Zf;Ai5Q"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="<EMAIL email=" 5ltzg@x7.jlq"="">5LTZg@X7.JLQ_Fy4QFxN">
                              ! <field name="VAR">Haustüre</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="H?Mzn#eINY_suEg5
                              #FL"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="o.,J83fk6g0|f,]4M%W2"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="S9%c5i9E3nFEw.#o]@3."><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03c08510.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id=",Bkf8A=}89i9J^sE3]U]"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="Xu|F)}@sMrA7B0!Y6@.B"><field name="VAR">Bad</field>
                              ! <value name="VALUE"><block type="text" id="8x2:|)Ml%Ocdi9k?b.Da"><field name="TEXT">Im Badezimmer,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="lyRo86Iak+U@]v6sX40)"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="NzHU!cp~ZwFB~{l^%oq"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03c08510.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id=";Cqvyx3Q``N
                              tkI3GUsu"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="%;2kWxV84lws3E@?[^8s"><field name="VAR">Bad</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="DfRYgl2H2tV`Sx`JwPaB"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="?=|/C,5GTc-s[h)MJda9"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="-,y2H!Va:o8OW^(%sNZ["><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03879610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="V3.Eg]:3mkq}n@~3%Q@8"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="d)Z7g/gm6piJkOlmU~)d"><field name="VAR">Josephine</field>
                              ! <value name="VALUE"><block type="text" id="To8ViRs#AuOAV=q?ZMH"><field name="TEXT">bei Josephine,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="`aV{j5qiqJ{OdJbxG]zK"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="4N49k5O_Gn,K-YLpgU32"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:03879610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="QTi/UhA+;L^cW%l`iFa+"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="[Qy}LlNu[5CY#(j4P5
                              C"><field name="VAR">Josephine</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="d.y-3~7fa4wTiAvfZisk"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="z:Z7L3~L025`=8GWHe8D"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="O]ci8^Z0IYh{tg6}GnX"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:030fa710.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="1Bzrn.{:5FF`{h`J%U?n"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="de-!{[Z
                              ?,xS%bBSR0n!"><field name="VAR">Nicklas</field>
                              ! <value name="VALUE"><block type="text" id="4)4Rm!bAZc,OM~eHce|@"><field name="TEXT">bei Nicklas,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="9C)VspT*#K4Mf}ne#%H)"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="J),AK%V(L_7yFu~`TTnZ"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:030fa710.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="%ksI{#}}XvuZY`MM4@w{"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="IgqCuN2Go{`OUG7W+|+M"><field name="VAR">Nicklas</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="8Vy7EXECH[eqh6g0veV]"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="H;[6?lH)DWO%./FRmF;["><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="a7p1;
                              =d{~N-{^?g=fl/"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0387df10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="RmVr+C@AZ9:uqt8a,LAe"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="AS{]3.+%xsRXDKh18|=a"><field name="VAR">Schlafzimmer</field>
                              ! <value name="VALUE"><block type="text" id="Lu=K?O(}npUS,nrLDZ"><field name="TEXT">im Schlafzimmer,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="PqOTSbU{YbI;5HgnNZvx"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="`t}=%_u93=YlutT-:um"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0387df10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="YYh#w
                              y6gIil7(HW21XY"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="Hj{~G3EDk[t3dC_hvj8A"><field name="VAR">Schlafzimmer</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="NaV9+V,?!|2LN!dvCf~t"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="fo}mjiOCc3Zd)#mnsX(A"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="|V),)tDVvSXFS9JT`}"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0319ac10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="[N86xkA2b7I:ktpe1Q!H"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="u:m]blE+#zsmSXXceeg]"><field name="VAR">Kellerfenster</field>
                              ! <value name="VALUE"><block type="text" id="x?GY`pNN?]H;[DanT;2"><field name="TEXT">das Kellerfenster,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id=";fvV!_y:Ni6IVQ#A2#ew"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="K(E~s=Ud6GFJ+C!4@R?r"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0319ac10.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="|[Zw{HQyxyPGZViAhEAW"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="A805k^zhyz;/]#.wmA+"><field name="VAR">Kellerfenster</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="controls_if" id="m0sQj07=)O@s1xhaKa7V"><mutation elseif="1"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="b6qO|,+Tem(/J%r=?T8H"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="HX[#YkKO})-L+,EQYr6G"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0324a610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="ngD2IeIVz1G_T7:YWg9w"><field name="BOOL">TRUE</field></block></value></block></value>
                              ! <statement name="DO0"><block type="variables_set" id="Zv0M6XhA9m[~rU-RaIC:"><field name="VAR">Kellertüre</field>
                              ! <value name="VALUE"><block type="text" id="a7s}X?X+{+BZHCBW,,[l"><field name="TEXT">die Kellertüre,</field></block></value></block></statement>
                              ! <value name="IF1"><block type="logic_compare" id="PO2,W()(!5=mLqSI`?k5"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="QGu.Vo/y?TWl=Qdm))W4"><field name="ATTR">val</field>
                              ! <field name="OID">lupusec.0.devices.RF:0324a610.status_ex</field></block></value>
                              ! <value name="B"><block type="logic_boolean" id="Z+fV,6Jjc?6lbhEorVSF"><field name="BOOL">FALSE</field></block></value></block></value>
                              ! <statement name="DO1"><block type="variables_set" id="H,vdV@UyP
                              ;B1Uvp1YN)"><field name="VAR">Kellertüre</field>
                              ! <value name="VALUE"></value></block></statement>
                              ! <next><block type="control" id="NTv?kI9rF+=Y)TkJ:~ZB"><mutation delay_input="false"></mutation>
                              ! <field name="OID">zuhause.0.fenster_status</field>
                              ! <field name="WITH_DELAY">FALSE</field>
                              ! <value name="VALUE"><block type="text_join" id="J9?J_6
                              H;07)%yInKWj1"><mutation items="12"></mutation>
                              ! <value name="ADD0"><block type="variables_get" id="VY;2/DK(EC=NS=g@@](F"><field name="VAR">gesamt</field></block></value>
                              ! <value name="ADD1"><block type="variables_get" id=";MeRT;a{h{p1((B-j!pJ"><field name="VAR">Terassenthüre_links</field></block></value>
                              ! <value name="ADD2"><block type="variables_get" id=".^)|PRX9AX/5WgGPGOz@"><field name="VAR">Terrassentüre_rechts</field></block></value>
                              ! <value name="ADD3"><block type="variables_get" id="M*oRXr@dF^`x-vf#VsI["><field name="VAR">Küchenfenster</field></block></value>
                              ! <value name="ADD4"><block type="variables_get" id="[U7?[xu^o`UPDE^zd]!9"><field name="VAR">Kaminfenster</field></block></value>
                              ! <value name="ADD5"><block type="variables_get" id="KwLsXj%:vCV4BY%^?lzV"><field name="VAR">Haustüre</field></block></value>
                              ! <value name="ADD6"><block type="variables_get" id="JfgI~8S~C(Swm=zE:{B"><field name="VAR">Bad</field></block></value>
                              ! <value name="ADD7"><block type="variables_get" id="Mgk+)!0;k9~@M[sHh]ql"><field name="VAR">Josephine</field></block></value>
                              ! <value name="ADD8"><block type="variables_get" id="s7U38qTS]pe:y,.#GF0u"><field name="VAR">Nicklas</field></block></value>
                              ! <value name="ADD9"><block type="variables_get" id="H|t8Gq6.1f-;^dM(@2^~"><field name="VAR">Schlafzimmer</field></block></value>
                              ! <value name="ADD10"><block type="variables_get" id="{9cH
                              4X,0VXf[|?vBXqT"><field name="VAR">Kellerfenster</field></block></value>
                              ! <value name="ADD11"><block type="variables_get" id="nKkYBD!KZ/`:DcJ+9Wr:"><field name="VAR">Kellertüre</field></block></value></block></value></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></xml> /spoiler]

                              ioBroker im Docker auf Synology DiskStation DS 716+II mit DSM 6.2.1

                              • Lightmanager Air / Lupusec XT2 Plus mit div. Fenster- u. Türkontakten, Rauch- u. Bewegungsmelder / Harmony Hub / Fritzbox 7590 OS7
                              • schaltbare Steckdosen / Alexa Echo Dot 3 / Zigbee USB Stick / diverse Xiaomi Produkte / Xiaomi Yeelight Birnen
                              1 Antwort Letzte Antwort
                              0
                              • StM47S Offline
                                StM47S Offline
                                StM47
                                schrieb am zuletzt editiert von
                                #172

                                Ist es eigentlich möglich Alexa automatisch sprechen zu lassen?

                                Ich lasse mit einem Script die offenen Fenster überwachen.

                                Das heißt, wenn Fenster geöffnet wird, dann prüfe, ob es draußen kälter als 20°C ist.

                                Wenn ja, starte einen Timer von 10 Minuten. Nach 10 Minuten prüfe, ob Fenster immer noch geöffnet ist. Wenn ja, sende eine Pushover an die Bewohner.

                                Ist es möglich, dass ich zusätzlich Alexa automatisch sagen lassen kann, dass noch ein Fenster geöffnet ist?

                                ioBroker im Docker auf Synology DiskStation DS 716+II mit DSM 6.2.1

                                • Lightmanager Air / Lupusec XT2 Plus mit div. Fenster- u. Türkontakten, Rauch- u. Bewegungsmelder / Harmony Hub / Fritzbox 7590 OS7
                                • schaltbare Steckdosen / Alexa Echo Dot 3 / Zigbee USB Stick / diverse Xiaomi Produkte / Xiaomi Yeelight Birnen
                                1 Antwort Letzte Antwort
                                0
                                • DiginixD Offline
                                  DiginixD Offline
                                  Diginix
                                  schrieb am zuletzt editiert von
                                  #173

                                  Na klar.

                                  Einfach statt oder parallel zu deinem Push… den Datenpunkt "speak" im Commands Knoten des jeweiligen Echo Devices mit einem Text füllen.

                                  ..:: So long! Tom ::..

                                  NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                  1 Antwort Letzte Antwort
                                  0
                                  • StM47S Offline
                                    StM47S Offline
                                    StM47
                                    schrieb am zuletzt editiert von
                                    #174

                                    Echt, das wäre ja super.

                                    Kannst du mir zeigen ,wie ich das machen muss?

                                    Edit, Habe es selber hinbemkommen.

                                    Vielen Dank trotzdem!

                                    ioBroker im Docker auf Synology DiskStation DS 716+II mit DSM 6.2.1

                                    • Lightmanager Air / Lupusec XT2 Plus mit div. Fenster- u. Türkontakten, Rauch- u. Bewegungsmelder / Harmony Hub / Fritzbox 7590 OS7
                                    • schaltbare Steckdosen / Alexa Echo Dot 3 / Zigbee USB Stick / diverse Xiaomi Produkte / Xiaomi Yeelight Birnen
                                    1 Antwort Letzte Antwort
                                    0
                                    • Beliar_666B Offline
                                      Beliar_666B Offline
                                      Beliar_666
                                      schrieb am zuletzt editiert von
                                      #175

                                      @Blackeye:

                                      Hi,

                                      hier nochmal die Anruferansage mit Blockly und dem tre064 Adapter.

                                      Hier wird zusätzlich die aktuelle Lautstärke der Geräte vorher ausgelesen und nach der Ansage wieder auf den ursprünglichen Wert gesetzt:

                                       <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="EzngFtDf/j0zTSANQN7=" x="-862" y="-337"><mutation items="1"></mutation>
                                          <field name="CONDITION">ne</field>
                                          
                                          <value name="OID0"><shadow type="field_oid" id="6i/pNayPyVE~lI#c)+5s"><field name="oid">tr-064.0.callmonitor.ringing</field></shadow></value> 
                                          <statement name="STATEMENT"><block type="controls_if" id="@;OueA1}3ZkAhpm8_j+L"><value name="IF0"><block type="logic_operation" id="d}963/U9T|Jh@aoJI/9y"><field name="OP">AND</field>
                                                  <value name="A"><block type="get_value" id="40P2`Ean^F(8W,`C6b5h"><field name="ATTR">val</field>
                                                      <field name="OID">tr-064.0.callmonitor.ringing</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="xVL)BPe/4n+*mVGh)F5-"><field name="BOOL">TRUE</field></block></value></block></value> 
                                              <statement name="DO0"><block type="variables_set" id="8_z8_`(aMbJP3I`J,9{4"><field name="VAR">Lautstärke_Wohnzimer</field>
                                                  <value name="VALUE"><block type="field_oid" id="o/i:Ma_TL%rusP[;wQ?["><field name="oid">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field></block></value> 
                                                  <next><block type="variables_set" id="2J.Lh8h_b6tpIF@~lA8W"><field name="VAR">Lautstärke_Küche</field>
                                                      <value name="VALUE"><block type="field_oid" id="9f.7,c4p)xn(~C/Mdz0w"><field name="oid">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field></block></value> 
                                                      <next><block type="variables_set" id="k(}b%tB~rLOe`*Wx:^/4"><field name="VAR">Lautstärke_Lars</field>
                                                          <value name="VALUE"><block type="field_oid" id="{VjwRLugSgSn{7=nyzv("><field name="oid">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field></block></value> 
                                                          <next><block type="timeouts_settimeout" id="0FzXDtgmZ*oyI!44h+_="><field name="NAME">timeout4</field>
                                                              <field name="DELAY">500</field>
                                                              <field name="UNIT">ms</field>
                                                              <statement name="STATEMENT"><block type="controls_if" id="ca)+E=xHBC%/NE:9}a)7"><value name="IF0"><block type="logic_compare" id="a{)8dM/s5*P5VUW2/)gE"><field name="OP">NEQ</field>
                                                                      <value name="A"><block type="get_value" id="++y#P+H,mT^Fhj4Fok9t"><field name="ATTR">val</field>
                                                                          <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> 
                                                                      <value name="B"></value></block></value> 
                                                                  <statement name="DO0"><block type="variables_set" id="j~m5nJy~6[=^U_~G(w/~"><field name="VAR">Ausgabetext</field>
                                                                      <value name="VALUE"><block type="text_join" id="(6p7BX#~~2P}xj7Wn1@;"><mutation items="3"></mutation>
                                                                          <value name="ADD0"><block type="text" id="M76-)zYehBG]!LdyeY5q"><field name="TEXT">Hallo,</field></block></value> 
                                                                          <value name="ADD1"><block type="get_value" id="+23FeR%/`)Vy3Ni[(7za"><field name="ATTR">val</field>
                                                                              <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> 
                                                                          <value name="ADD2"><block type="text" id="h3zw.w5%hhgoy1:0?AYT"><field name="TEXT">ruft gerade an</field></block></value></block></value></block></statement> 
                                                                  <next><block type="controls_if" id="O5wH)1^NlMW*dqhHD`A,"><value name="IF0"><block type="logic_compare" id="C55@Vus4XJOJY6[+ziLN"><field name="OP">EQ</field>
                                                                          <value name="A"><block type="get_value" id="dFipC!^bmP=*.kydV?vo"><field name="ATTR">val</field>
                                                                              <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> 
                                                                          <value name="B"></value></block></value> 
                                                                      <statement name="DO0"><block type="variables_set" id="fUa!*mqwos!-oUi?6hh["><field name="VAR">Ausgabetext</field>
                                                                          <value name="VALUE"><block type="text_join" id="I/pf!JOkvITbMuQj4LuJ"><mutation items="3"></mutation>
                                                                              <value name="ADD0"><block type="text" id="-7ysPHsGv%hc=fRGgaDW"><field name="TEXT">Hallo,</field></block></value> 
                                                                              <value name="ADD1"><block type="text" id="r;}O}7DeY5hGfB,m`63|"><field name="TEXT">unbekannter Teilnehmer</field></block></value> 
                                                                              <value name="ADD2"><block type="text" id="P]x}F2Sd;(bXS4,#3SHG"><field name="TEXT">ruft gerade an</field></block></value></block></value></block></statement></block></next></block></statement> 
                                                              <next><block type="timeouts_settimeout" id="7;^i~IH^-RjbQ@?gSza2"><field name="NAME">timeout</field>
                                                                  <field name="DELAY">500</field>
                                                                  <field name="UNIT">ms</field>
                                                                  <statement name="STATEMENT"><block type="update" id="W1FD}K5:+!TMEle6OEo@"><mutation delay_input="false"></mutation>
                                                                      <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE"><block type="math_number" id="mJ!3g6sg5MmrWZ|iH%dh"><field name="NUM">90</field></block></value> 
                                                                      <next><block type="update" id="-.JH(M;Qvc`)o1^aH;Ns"><mutation delay_input="false"></mutation>
                                                                          <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE"><block type="math_number" id="eSnV9(6i3-b=2IwZg.7M"><field name="NUM">90</field></block></value> 
                                                                          <next><block type="update" id="8.aqlJD|4|xV+HPD[9PS"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="math_number" id="N9dz9is@i0?juv_MIrUK"><field name="NUM">90</field></block></value></block></next></block></next></block></statement> 
                                                                  <next><block type="timeouts_settimeout" id="5h04#8}5%_uL=vb=c(kE"><field name="NAME">timeout2</field>
                                                                      <field name="DELAY">1000</field>
                                                                      <field name="UNIT">ms</field>
                                                                      <statement name="STATEMENT"><block type="control" id="?WB3cxnc1VW;,;wpT7.m"><mutation delay_input="false"></mutation>
                                                                          <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Commands.speak</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE"><block type="variables_get" id="52KT0A^kpeOw^bUV^uk{"><field name="VAR">Ausgabetext</field></block></value> 
                                                                          <next><block type="control" id="CW9DJb~mu;7mJb{JP;#S"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Commands.speak</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="variables_get" id="c:WC*^n{Q~|Wu*!)t1Xz"><field name="VAR">Ausgabetext</field></block></value> 
                                                                              <next><block type="control" id="Da6Tn}r_jOGFs/9S0DXX"><mutation delay_input="false"></mutation>
                                                                                  <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Commands.speak</field>
                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                  <value name="VALUE"><block type="variables_get" id="BDRNI_Wg?t9~/{8^-nL,"><field name="VAR">Ausgabetext</field></block></value></block></next></block></next></block></statement> 
                                                                      <next><block type="timeouts_settimeout" id="U6CR:r_U/E43(F)p`HdL"><field name="NAME">timeout3</field>
                                                                          <field name="DELAY">1500</field>
                                                                          <field name="UNIT">ms</field>
                                                                          <statement name="STATEMENT"><block type="update" id="r9LIyUmTAYS1a@Xf!EOx"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="variables_get" id="og(G2:a.RKTJc8Tr8(Qa"><field name="VAR">Lautstärke_Küche</field></block></value> 
                                                                              <next><block type="update" id="~UErQJ69MiBL#]`uzr%V"><mutation delay_input="false"></mutation>
                                                                                  <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                  <value name="VALUE"><block type="variables_get" id="!#WKN`#7o4F7h#rdjV`-"><field name="VAR">Lautstärke_Lars</field></block></value> 
                                                                                  <next><block type="update" id="U8?*Ed.Pn@H6zVRe)#yi"><mutation delay_input="false"></mutation>
                                                                                      <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                      <value name="VALUE"><block type="variables_get" id="8~(Tv]99;IeR_00L-N3S"><field name="VAR">Lautstärke_Wohnzimer</field></block></value></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></xml> 
                                      ```` `  
                                      

                                      Könnte man das nicht einfacher über Speak-Volume lösen?

                                      1 Antwort Letzte Antwort
                                      0
                                      • E Offline
                                        E Offline
                                        excalibur270
                                        schrieb am zuletzt editiert von
                                        #176

                                        @Beliar_666:

                                        @Blackeye:

                                        Hi,

                                        hier nochmal die Anruferansage mit Blockly und dem tre064 Adapter.

                                        Hier wird zusätzlich die aktuelle Lautstärke der Geräte vorher ausgelesen und nach der Ansage wieder auf den ursprünglichen Wert gesetzt:

                                         <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="EzngFtDf/j0zTSANQN7=" x="-862" y="-337"><mutation items="1"></mutation>
                                            <field name="CONDITION">ne</field>
                                            
                                            <value name="OID0"><shadow type="field_oid" id="6i/pNayPyVE~lI#c)+5s"><field name="oid">tr-064.0.callmonitor.ringing</field></shadow></value> 
                                            <statement name="STATEMENT"><block type="controls_if" id="@;OueA1}3ZkAhpm8_j+L"><value name="IF0"><block type="logic_operation" id="d}963/U9T|Jh@aoJI/9y"><field name="OP">AND</field>
                                                    <value name="A"><block type="get_value" id="40P2`Ean^F(8W,`C6b5h"><field name="ATTR">val</field>
                                                        <field name="OID">tr-064.0.callmonitor.ringing</field></block></value> 
                                                    <value name="B"><block type="logic_boolean" id="xVL)BPe/4n+*mVGh)F5-"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                <statement name="DO0"><block type="variables_set" id="8_z8_`(aMbJP3I`J,9{4"><field name="VAR">Lautstärke_Wohnzimer</field>
                                                    <value name="VALUE"><block type="field_oid" id="o/i:Ma_TL%rusP[;wQ?["><field name="oid">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field></block></value> 
                                                    <next><block type="variables_set" id="2J.Lh8h_b6tpIF@~lA8W"><field name="VAR">Lautstärke_Küche</field>
                                                        <value name="VALUE"><block type="field_oid" id="9f.7,c4p)xn(~C/Mdz0w"><field name="oid">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field></block></value> 
                                                        <next><block type="variables_set" id="k(}b%tB~rLOe`*Wx:^/4"><field name="VAR">Lautstärke_Lars</field>
                                                            <value name="VALUE"><block type="field_oid" id="{VjwRLugSgSn{7=nyzv("><field name="oid">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field></block></value> 
                                                            <next><block type="timeouts_settimeout" id="0FzXDtgmZ*oyI!44h+_="><field name="NAME">timeout4</field>
                                                                <field name="DELAY">500</field>
                                                                <field name="UNIT">ms</field>
                                                                <statement name="STATEMENT"><block type="controls_if" id="ca)+E=xHBC%/NE:9}a)7"><value name="IF0"><block type="logic_compare" id="a{)8dM/s5*P5VUW2/)gE"><field name="OP">NEQ</field>
                                                                        <value name="A"><block type="get_value" id="++y#P+H,mT^Fhj4Fok9t"><field name="ATTR">val</field>
                                                                            <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> 
                                                                        <value name="B"></value></block></value> 
                                                                    <statement name="DO0"><block type="variables_set" id="j~m5nJy~6[=^U_~G(w/~"><field name="VAR">Ausgabetext</field>
                                                                        <value name="VALUE"><block type="text_join" id="(6p7BX#~~2P}xj7Wn1@;"><mutation items="3"></mutation>
                                                                            <value name="ADD0"><block type="text" id="M76-)zYehBG]!LdyeY5q"><field name="TEXT">Hallo,</field></block></value> 
                                                                            <value name="ADD1"><block type="get_value" id="+23FeR%/`)Vy3Ni[(7za"><field name="ATTR">val</field>
                                                                                <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> 
                                                                            <value name="ADD2"><block type="text" id="h3zw.w5%hhgoy1:0?AYT"><field name="TEXT">ruft gerade an</field></block></value></block></value></block></statement> 
                                                                    <next><block type="controls_if" id="O5wH)1^NlMW*dqhHD`A,"><value name="IF0"><block type="logic_compare" id="C55@Vus4XJOJY6[+ziLN"><field name="OP">EQ</field>
                                                                            <value name="A"><block type="get_value" id="dFipC!^bmP=*.kydV?vo"><field name="ATTR">val</field>
                                                                                <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> 
                                                                            <value name="B"></value></block></value> 
                                                                        <statement name="DO0"><block type="variables_set" id="fUa!*mqwos!-oUi?6hh["><field name="VAR">Ausgabetext</field>
                                                                            <value name="VALUE"><block type="text_join" id="I/pf!JOkvITbMuQj4LuJ"><mutation items="3"></mutation>
                                                                                <value name="ADD0"><block type="text" id="-7ysPHsGv%hc=fRGgaDW"><field name="TEXT">Hallo,</field></block></value> 
                                                                                <value name="ADD1"><block type="text" id="r;}O}7DeY5hGfB,m`63|"><field name="TEXT">unbekannter Teilnehmer</field></block></value> 
                                                                                <value name="ADD2"><block type="text" id="P]x}F2Sd;(bXS4,#3SHG"><field name="TEXT">ruft gerade an</field></block></value></block></value></block></statement></block></next></block></statement> 
                                                                <next><block type="timeouts_settimeout" id="7;^i~IH^-RjbQ@?gSza2"><field name="NAME">timeout</field>
                                                                    <field name="DELAY">500</field>
                                                                    <field name="UNIT">ms</field>
                                                                    <statement name="STATEMENT"><block type="update" id="W1FD}K5:+!TMEle6OEo@"><mutation delay_input="false"></mutation>
                                                                        <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE"><block type="math_number" id="mJ!3g6sg5MmrWZ|iH%dh"><field name="NUM">90</field></block></value> 
                                                                        <next><block type="update" id="-.JH(M;Qvc`)o1^aH;Ns"><mutation delay_input="false"></mutation>
                                                                            <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE"><block type="math_number" id="eSnV9(6i3-b=2IwZg.7M"><field name="NUM">90</field></block></value> 
                                                                            <next><block type="update" id="8.aqlJD|4|xV+HPD[9PS"><mutation delay_input="false"></mutation>
                                                                                <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE"><block type="math_number" id="N9dz9is@i0?juv_MIrUK"><field name="NUM">90</field></block></value></block></next></block></next></block></statement> 
                                                                    <next><block type="timeouts_settimeout" id="5h04#8}5%_uL=vb=c(kE"><field name="NAME">timeout2</field>
                                                                        <field name="DELAY">1000</field>
                                                                        <field name="UNIT">ms</field>
                                                                        <statement name="STATEMENT"><block type="control" id="?WB3cxnc1VW;,;wpT7.m"><mutation delay_input="false"></mutation>
                                                                            <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Commands.speak</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE"><block type="variables_get" id="52KT0A^kpeOw^bUV^uk{"><field name="VAR">Ausgabetext</field></block></value> 
                                                                            <next><block type="control" id="CW9DJb~mu;7mJb{JP;#S"><mutation delay_input="false"></mutation>
                                                                                <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Commands.speak</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE"><block type="variables_get" id="c:WC*^n{Q~|Wu*!)t1Xz"><field name="VAR">Ausgabetext</field></block></value> 
                                                                                <next><block type="control" id="Da6Tn}r_jOGFs/9S0DXX"><mutation delay_input="false"></mutation>
                                                                                    <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Commands.speak</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE"><block type="variables_get" id="BDRNI_Wg?t9~/{8^-nL,"><field name="VAR">Ausgabetext</field></block></value></block></next></block></next></block></statement> 
                                                                        <next><block type="timeouts_settimeout" id="U6CR:r_U/E43(F)p`HdL"><field name="NAME">timeout3</field>
                                                                            <field name="DELAY">1500</field>
                                                                            <field name="UNIT">ms</field>
                                                                            <statement name="STATEMENT"><block type="update" id="r9LIyUmTAYS1a@Xf!EOx"><mutation delay_input="false"></mutation>
                                                                                <field name="OID">alexa2.0.Echo-Devices.G000MW0773420FA7.Player.volume</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE"><block type="variables_get" id="og(G2:a.RKTJc8Tr8(Qa"><field name="VAR">Lautstärke_Küche</field></block></value> 
                                                                                <next><block type="update" id="~UErQJ69MiBL#]`uzr%V"><mutation delay_input="false"></mutation>
                                                                                    <field name="OID">alexa2.0.Echo-Devices.G070RQ118097068H.Player.volume</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE"><block type="variables_get" id="!#WKN`#7o4F7h#rdjV`-"><field name="VAR">Lautstärke_Lars</field></block></value> 
                                                                                    <next><block type="update" id="U8?*Ed.Pn@H6zVRe)#yi"><mutation delay_input="false"></mutation>
                                                                                        <field name="OID">alexa2.0.Echo-Devices.G090LB097414030P.Player.volume</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE"><block type="variables_get" id="8~(Tv]99;IeR_00L-N3S"><field name="VAR">Lautstärke_Wohnzimer</field></block></value></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></xml> 
                                        ```` `  
                                        

                                        Könnte man das nicht einfacher über Speak-Volume lösen? `
                                        Habe ich mit speak volume gelöst. Anders kam nichts aus dem Echo.

                                        1 Antwort Letzte Antwort
                                        0
                                        • NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von
                                          #177

                                          @dslraser:

                                          genau so habe ich gestern angefangen alles bei mir umzustellen. (ich wußte es vorher auch nicht besser)

                                          Dann fährt auch der Staubsauger oder Rasenmäher (oder eben alle anderen geschalteten Geräte) nicht selbst los. `

                                          Anfängerfrage von mir 😉

                                          Das hat aber nur mit den Geräten zu tun, die ich über Alexa steuere?

                                          Oder hat dies mit allen Scripten zu tun, die etwas schalten können?

                                          zB Zeitschaltuhr oder zB das Telegram Menü?

                                          ° Node.js: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          713

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe