Skip to content
  • Home
  • 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

Community Forum

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

NEWS

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

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

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

Skriptsammlung für den neuen ALEXA2.0 Adapter

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
184 Beiträge 45 Kommentatoren 45.4k 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.
  • haselchenH Offline
    haselchenH Offline
    haselchen
    Most Active
    schrieb am zuletzt editiert von
    #67

    Hi dslraser

    Ich krieg das Fensterscript auch nicht zum Laufen.

    Mein Gewerk heisst Verschluss. An welchen Stellen im Script muss ich das eintragen?

    Da ich nur 1 Echo habe habe ich das Blockly schrumpfen müssen.

    Objekte werden angelegt, komischerweise steht bei Ansage : Alle Fenster sind geschlossen. Aber unten zählt der die Offenen auf.
    3723_unbenannt8.png

    Und so sieht mein Blockly aus.
    3723_unbenannt9.png

    bei speak und device name habe ich die entsprechenden Datenpunkte ausgewählt.

    Du hast noch ein Script das sich Alexa antwortet Fensterabfrage nennt…..

    Fehlt das bei deinen Auflistungen hier?

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

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

      @haselchen:

      Hi dslraser

      Ich krieg das Fensterscript auch nicht zum Laufen.

      Mein Gewerk heisst Verschluss. An welchen Stellen im Script muss ich das eintragen?

      Da ich nur 1 Echo habe habe ich das Blockly schrumpfen müssen.

      Objekte werden angelegt, komischerweise steht bei Ansage : Alle Fenster sind geschlossen. Aber unten zählt der die Offenen auf.

      Unbenannt8.PNG

      Und so sieht mein Blockly aus.

      Unbenannt9.PNG

      bei speak und device name habe ich die entsprechenden Datenpunkte ausgewählt.

      Du hast noch ein Script das sich Alexa antwortet Fensterabfrage nennt…..

      Fehlt das bei deinen Auflistungen hier? `

      Ich habe den Fehler bei mir auch erst gestern bemerkt, ich habe das Script nochmal etwas abgeändert.

      //  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 = $('channel[state.id=*.STATE](functions="Fenster")'); // 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
      //});
      //}
      //});
      

      So passt es bei mir.
      3822_fenster.jpg

      Anpassen für Verschluss ist diese Zeile (bei mir steht da Fenster, Zeile 51)

      var cacheSelectorState = $('channel[state.id=*.STATE](functions="Verschluss")'); // Gewerk Verschluss
      

      und eventuell mußt Du schauen ob bei Dir .STATE groß oder klein geschrieben werden muss, oder da sogar was anderes hin muss. (steht in den Objekten–-in der RAW Ansicht)

      Zum entfernen doppelter Raumnamen habe ich dieses Script unter global

      // Funktion: Doppelte Einträge aus Array entfernen (für Räume) www.okco.de (c) codemaster
      function deleteDuplicates(arr) { 
          var temp = {}; 
          for (var i = 0; i < arr.length; i++) temp[arr[i]] = true; 
          var r = []; 
          for (var k in temp) r.push(k); 
          return r;
      }
      

      Alexa antwortet ist das Blockly.

      Wenn die Änderungen nicht laufen, dann starte mal den JS Adapter neu…

      Sage mal Bescheid ob das so bei Dir funktioniert. In Deinem Screenshot werden doch in den Datenpunkten schon Fenster angezeigt ? (oder hast Du zwei Gewerke, Fenster und Verschluss ?)

      1 Antwort Letzte Antwort
      0
      • haselchenH Offline
        haselchenH Offline
        haselchen
        Most Active
        schrieb am zuletzt editiert von
        #69

        Danke für deine Antwort.

        Die Ansage hat sich jetzt aktualisiert.
        3723_unbenannt7.png

        Aber nach Moment ich schaue mal nach kommt nix mehr.

        Ist denn das Blockly richtig was ich abgebildet habe?

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

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

          Dein Blockly sieht richtig aus, wie sieht Deine Routine in der App aus ?

          Welche Alexa2 Version hast Du installiert ?

          da liegt bei mir das Blockly (Alexa antwortet)
          3822_js.jpg
          3822_blockly.jpg

          und das dann in den Cloudadapter
          3822_cloud.jpg

          Dann neue Geräte bei Alexa suchen und das Gerät (Script) zur Routine hinzufügen.

          ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 5080c2.jpg">https://uploads.tapatalk-cdn.com/20180907/d0595679b09d8d69bab509a0415080c2.jpg</link_text>" />

          1 Antwort Letzte Antwort
          0
          • haselchenH Offline
            haselchenH Offline
            haselchen
            Most Active
            schrieb am zuletzt editiert von
            #71

            Hab es durch Zufall jetzt gepackt.

            Und zwar habe ich beim Blocky den Punkt Räume mit geöffneten Fenstern genommen aus den Objekten.

            Voreingestellt war geöffnete Fenster (Ansage).

            3723_unbenannt3.png

            Mag sein, dass das doppelt gemoppelt oder mega umständlich ist, aber so sagt sie mir alle offenen Fenster an.

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

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

              @haselchen:

              Hab es durch Zufall jetzt gepackt.

              Und zwar habe ich beim Blocky den Punkt Räume mit geöffneten Fenstern genommen aus den Objekten.

              Voreingestellt war geöffnete Fenster (Ansage).

              filename="Unbenannt3.PNG" index="0">~~

              Mag sein, dass das doppelt gemoppelt oder mega umständlich ist, aber so sagt sie mir alle offenen Fenster an. ` In dem Script formatiere ich gleich den Text für mich, weil ich es auch für Telegram nutze. Da ist dann das und mit Zeilenumbruch \n für Telegram drinn.

              Deshalb habe ich nach Deiner Alexa2 Adapter Version gefragt…(aber keine Antwort bekommen) Vielleicht liegt es an Deiner Version ?

              In der aktuellen Version hat Apollon77 da noch was gefixt, das Speak auch damit klar kommt.

              Ich lasse mir auch nur Raumnamen ansagen, weil, wenn zu viele Fenster auf sind wurde bei mir das 250 Zeichen Limit gesprengt, aber auch da gäbe es jetzt eine Möglichkeit im aktuellen Alexa2 Adapter.

              Telegram sieht dann so aus wie im Anhang und die Ansage von Alexa hat mir so besser gefallen...

              ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... bb62a8.jpg">https://uploads.tapatalk-cdn.com/20180907/630d3a17cb348963f148ae966fbb62a8.jpg</link_text>" />

              1 Antwort Letzte Antwort
              0
              • haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                schrieb am zuletzt editiert von
                #73

                Hab auf die Version 1.0.0 upgedatet vorhin.

                Mag sein , dass es deswegen jetzt funktioniert :D

                Was sind denn so Gründe , warum Alexa einfach so mal die offenen Fenster ansagt, ohne gefragt zu werden?

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

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

                  @haselchen:

                  Hab auf die Version 1.0.0 upgedatet vorhin.

                  Mag sein , dass es deswegen jetzt funktioniert :D

                  Was sind denn so Gründe , warum Alexa einfach so mal die offenen Fenster ansagt, ohne gefragt zu werden? `

                  Hat sie bei mir noch nie gemacht…..........

                  PS: vielleicht beim Neustart vom JS Adapter oder wenn Du das Script aktualiesierst...

                  1 Antwort Letzte Antwort
                  0
                  • haselchenH Offline
                    haselchenH Offline
                    haselchen
                    Most Active
                    schrieb am zuletzt editiert von
                    #75

                    Tatsächlich hat Iobroker manchmal Probleme mit der Alexa Einkaufsliste.

                    Dann kommt sowas:

                    javascript.0	2018-09-07 20:00:01.542	error	uncaught exception: Unexpected token I in JSON at position 0
                    

                    Das war dann auch der Grund für den Adapter Neustart.

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

                    1 Antwort Letzte Antwort
                    0
                    • sissiwupS Offline
                      sissiwupS Offline
                      sissiwup
                      schrieb am zuletzt editiert von
                      #76

                      @haselchen:

                      Hab auf die Version 1.0.0 upgedatet vorhin.

                      Mag sein , dass es deswegen jetzt funktioniert :D

                      Was sind denn so Gründe , warum Alexa einfach so mal die offenen Fenster ansagt, ohne gefragt zu werden? `

                      Hallo,

                      ich habe das auch. Die einzige Variante (die ich gefunden habe) das zu umgehen ist eine Variable dazwischen zu schalten.

                      D.h. Alexa setzt die Variable Trigger… auf an und das Skript lauscht auf Änderungen an der Variablen.

                      Ansonsten erzählt die andauern etwas und wenn du wirklich etwas damit steuerst wird es doof.

                      Ich meine jedes Skript starte beim Neustart des Adapters und beim Speichern neu.

                      MfG

                      Sissi

                      –-----------------------------------------

                      1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                      1 Antwort Letzte Antwort
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von
                        #77

                        @haselchen:

                        Tatsächlich hat Iobroker manchmal Probleme mit der Alexa Einkaufsliste.

                        Dann kommt sowas:

                        javascript.0	2018-09-07 20:00:01.542	error	uncaught exception: Unexpected token I in JSON at position 0
                        

                        Das war dann auch der Grund für den Adapter Neustart. `
                        Vollständige Fehlermeldung bitte … auf Basis der 1.0.0!

                        Gesendet vom Handy ...

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

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Antwort Letzte Antwort
                        0
                        • sissiwupS Offline
                          sissiwupS Offline
                          sissiwup
                          schrieb am zuletzt editiert von
                          #78

                          Hallo,

                          anbei ein Skript der die letzten Anrufe vorliest inkl. Uhrzeit. Es werden nur Anrufe vom aktuellen Datum berücksichtigt.

                           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id=";azz=uCTGBXNyd/0SAEt" x="-688" y="-87"><mutation items="1"></mutation>
                              <field name="CONDITION">any</field>
                          
                              <value name="OID0"><shadow type="field_oid" id="sW!}aU3Gi9+ka~_!Wa99"><field name="oid">javascript.0.vAlexaSagAnrufListe</field></shadow></value> 
                              <statement name="STATEMENT"><block type="variables_set" id="H^Wy%qAv/BmW;sE/nZ;k"><field name="VAR">alexatext</field>
                                  <value name="VALUE"></value> 
                                  <next><block type="variables_set" id="Gx/mw:m_izOpYx{@Lk)p"><field name="VAR">anz</field>
                                      <value name="VALUE"><block type="math_number" id="}+UH7L;^VthYU]z=g0*F"><field name="NUM">0</field></block></value> 
                                      <next><block type="controls_forEach" id="xR/0#,CUOGLHQK=!Q-w4"><field name="VAR">i</field>
                                          <value name="LIST"><block type="convert_json2object" id="@C6w/;8o)*%oxJ@UT,8_"><value name="VALUE"><block type="get_value" id="/qU/gkpQm,.]-YY_L1(X"><field name="ATTR">val</field>
                                                  <field name="OID">tr-064.0.calllists.all.json</field></block></value></block></value> 
                                          <statement name="DO"><block type="variables_set" id="Otd~Mlm|z]3g8Q0p^`=s"><field name="VAR">pos</field>
                                              <value name="VALUE"><block type="math_number" id="*FRuMmk(T8;v+VQc3DM~"><field name="NUM">0</field></block></value> 
                                              <next><block type="variables_set" id="%]9yo5qM?m^}^74-D/oY"><field name="VAR">anrufer</field>
                                                  <value name="VALUE"><block type="text" id=")-o_KuQG)qLQ_:,)m_OG"><field name="TEXT">unbekannt</field></block></value> 
                                                  <next><block type="variables_set" id="fAU|Ej;;bY3%?[4T%.yR"><field name="VAR">anrufdatum</field>
                                                      <value name="VALUE"></value> 
                                                      <next><block type="controls_forEach" id="orz4mSV=gNl%mayt{k=}"><field name="VAR">j</field>
                                                          <value name="LIST"><block type="variables_get" id="-@5CcHPA:B{WFGD?9}QI"><field name="VAR">i</field></block></value> 
                                                          <statement name="DO"><block type="controls_if" id="[=SFT;CG~Z!}Qv_6!%~e"><value name="IF0"><block type="logic_operation" id="nE-NMM;w9-939EBoh[^/"><field name="OP">AND</field>
                                                                  <value name="A"><block type="logic_compare" id="EXHXJkT)K*3D%y[V8/Ax"><field name="OP">EQ</field>
                                                                      <value name="A"><block type="variables_get" id="3J;!g!2(]ul{N2+L{CU;"><field name="VAR">pos</field></block></value> 
                                                                      <value name="B"><block type="math_number" id=",^J=^x]oT1BuIuccep(u"><field name="NUM">1</field></block></value></block></value> 
                                                                  <value name="B"><block type="logic_compare" id="5ffi|wi3RT^.P{H`@L@/"><field name="OP">NEQ</field>
                                                                      <value name="A"><block type="variables_get" id=":%j4u:bAtqB{.d=-/d.r"><field name="VAR">j</field></block></value> 
                                                                      <value name="B"></value></block></value></block></value> 
                                                              <statement name="DO0"><block type="variables_set" id="j1HH[{w}==ujX:swZf=K"><field name="VAR">typ</field>
                                                                  <value name="VALUE"><block type="variables_get" id="iZm34~7lg:`~-|Qj+XL7"><field name="VAR">j</field></block></value></block></statement> 
                                                              <next><block type="controls_if" id="yU_?RKy~M]Byp+z20m;1"><value name="IF0"><block type="logic_operation" id="w1CkK4,G=~U2PSI5};L0"><field name="OP">AND</field>
                                                                      <value name="A"><block type="logic_compare" id="}Ic~-io[2ya;!`#Dt-XB"><field name="OP">EQ</field>
                                                                          <value name="A"><block type="variables_get" id="mT}DaeA?j-]w@jqhR;yp"><field name="VAR">pos</field></block></value> 
                                                                          <value name="B"><block type="math_number" id="g9=0@+{xcO#s-zQp0nHe"><field name="NUM">2</field></block></value></block></value> 
                                                                      <value name="B"><block type="logic_compare" id="Ok)G~.gN_S@?4Z{-VP+P"><field name="OP">NEQ</field>
                                                                          <value name="A"><block type="variables_get" id="pgmkX`^RjBM;Vss.ka;9"><field name="VAR">j</field></block></value> 
                                                                          <value name="B"></value></block></value></block></value> 
                                                                  <statement name="DO0"><block type="variables_set" id="D-(}L)F;.KF!P4.6XKcK"><field name="VAR">anrufer</field>
                                                                      <value name="VALUE"><block type="variables_get" id=",[sZ/c2H:,)#VSe9-OgI"><field name="VAR">j</field></block></value></block></statement> 
                                                                  <next><block type="controls_if" id="SS`Ca]=@Q!%UKD%=SQHm"><value name="IF0"><block type="logic_operation" id="S9LFfiQG/g/-J(~uA!/e"><field name="OP">AND</field>
                                                                          <value name="A"><block type="logic_compare" id="DCfM=V|@1#9pRWH779nh"><field name="OP">EQ</field>
                                                                              <value name="A"><block type="variables_get" id="E/c3a1-%;H{hy9If!HL%"><field name="VAR">pos</field></block></value> 
                                                                              <value name="B"><block type="math_number" id="H@+MR5PLO_STRYHR/(B+"><field name="NUM">5</field></block></value></block></value> 
                                                                          <value name="B"><block type="logic_compare" id="w*s!SSWTdc-svcQ)MsGy"><field name="OP">NEQ</field>
                                                                              <value name="A"><block type="variables_get" id="DJ~z`c`lBy4A5(}3)i_*"><field name="VAR">j</field></block></value> 
                                                                              <value name="B"></value></block></value></block></value> 
                                                                      <statement name="DO0"><block type="variables_set" id="FqA%[#fq/LyMm+;I*RRP"><field name="VAR">anrufer</field>
                                                                          <value name="VALUE"><block type="variables_get" id="jKU-Ur+A(gzJH=Xx:JXe"><field name="VAR">j</field></block></value></block></statement> 
                                                                      <next><block type="controls_if" id="_w?7*llOp[6)e)o5jO,w"><value name="IF0"><block type="logic_compare" id=":hBS5;Nx4%_14RC:eGx3"><field name="OP">EQ</field>
                                                                              <value name="A"><block type="variables_get" id="0Gy{gheR5u}iF!6)cMxz"><field name="VAR">pos</field></block></value> 
                                                                              <value name="B"><block type="math_number" id="eVEtOt#W=Qs?L?j?p(i#"><field name="NUM">9</field></block></value></block></value> 
                                                                          <statement name="DO0"><block type="variables_set" id="+V98jJzLkcjdwxve][aa"><field name="VAR">anrufdatum</field>
                                                                              <value name="VALUE"><block type="variables_get" id="u6S]DGC|xjW,5;;IAR%."><field name="VAR">j</field></block></value> 
                                                                              <next><block type="controls_flow_statements" id="eJd]I^WE;L3x`;N1=svx"><field name="FLOW">BREAK</field></block></next></block></statement> 
                                                                          <next><block type="math_change" id="SOSx!Tp,ww0F=Ipoxq84"><field name="VAR">pos</field>
                                                                              <value name="DELTA"><shadow type="math_number" id=",`a^zzH0LZcBY@M8;uJC"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></next></block></statement> 
                                                          <next><block type="comment" id="mI7wi{z/b;#{OB.TkXq+"><field name="COMMENT">Typ 1 = angenommen, Typ 2 = missed (Typ 1 auch AB!)</field>
                                                              <next><block type="controls_if" id="HnqX;*3~~sS;v[o8*Zb5"><value name="IF0"><block type="logic_compare" id=")uo92MC7.#C9_=1@Pd+2"><field name="OP">LTE</field>
                                                                      <value name="A"><block type="variables_get" id="_Cv6!Q9ZD8`VVr0g#]0L"><field name="VAR">typ</field></block></value> 
                                                                      <value name="B"><block type="math_number" id="}aCLu#a2rc=|kgv|+{sI"><field name="NUM">2</field></block></value></block></value> 
                                                                  <statement name="DO0"><block type="controls_if" id="k|!G/Xj?oA`b(/Kc-|1R"><value name="IF0"><block type="logic_compare" id="uHRur!#y`^X?vc3mNKW*"><field name="OP">EQ</field>
                                                                          <value name="A"><block type="convert_tostring" id="psi^4GjR6xXmU9rLPUAy"><value name="VALUE"><block type="time_get" id="NYBw`pidAU~K#eutu?zY"><mutation format="false" language="false"></mutation>
                                                                                  <field name="OPTION">DD.MM.YY</field></block></value></block></value> 
                                                                          <value name="B"><block type="text_getSubstring" id="!|(mm1/Xp?y3`k2=W+@."><mutation at1="true" at2="true"></mutation>
                                                                              <field name="WHERE1">FROM_START</field>
                                                                              <field name="WHERE2">FROM_START</field>
                                                                              <value name="STRING"><block type="variables_get" id=";-^a@}aIM5mKBWNjtX:m"><field name="VAR">anrufdatum</field></block></value> 
                                                                              <value name="AT1"><block type="math_number" id="=I;t4NntB/E_jilatK*{"><field name="NUM">1</field></block></value> 
                                                                              <value name="AT2"><block type="math_number" id="z#ll|XhXTWf*X2st=hK+"><field name="NUM">8</field></block></value></block></value></block></value> 
                                                                      <statement name="DO0"><block type="variables_set" id="4MqQA#su!5x*fg`QEaR2"><field name="VAR">tmp</field>
                                                                          <value name="VALUE"><block type="text_join" id="_{fO%DcZHDv(YjqN|+.U"><mutation items="6"></mutation>
                                                                              <value name="ADD0"><block type="variables_get" id="~|0|%^ZzX~%[oOm5;!%J"><field name="VAR">anrufer</field></block></value> 
                                                                              <value name="ADD1"><block type="text" id="?YhfYv}KVbo|5CRZywXf"><field name="TEXT">hat um</field></block></value> 
                                                                              <value name="ADD2"><block type="text_getSubstring" id="{L:3[y{3D}ibA]mMtGc="><mutation at1="true" at2="true"></mutation>
                                                                                  <field name="WHERE1">FROM_START</field>
                                                                                  <field name="WHERE2">FROM_START</field>
                                                                                  <value name="STRING"><block type="variables_get" id="5|yY+vuWW}:_0i%xYqQ#"><field name="VAR">anrufdatum</field></block></value> 
                                                                                  <value name="AT1"><block type="math_number" id="]v/aOee-W1K_lHC[wD:o"><field name="NUM">10</field></block></value> 
                                                                                  <value name="AT2"><block type="math_number" id="Cv?R*(FV#bD6s,bQXAR;"><field name="NUM">11</field></block></value></block></value> 
                                                                              <value name="ADD3"><block type="text" id="u5fZHU#/xM|I/zXzT.W_"><field name="TEXT">Uhr und</field></block></value> 
                                                                              <value name="ADD4"><block type="text_getSubstring" id="csz?P)@/[_=osgekZdNE"><mutation at1="true" at2="true"></mutation>
                                                                                  <field name="WHERE1">FROM_START</field>
                                                                                  <field name="WHERE2">FROM_START</field>
                                                                                  <value name="STRING"><block type="variables_get" id="8Qr2nQ]7V1.D/B5rKFFj"><field name="VAR">anrufdatum</field></block></value> 
                                                                                  <value name="AT1"><block type="math_number" id="`kMkBT[35quqk~N3H}A}"><field name="NUM">13</field></block></value> 
                                                                                  <value name="AT2"><block type="math_number" id="3gRaKyCY^^O,j9LaaatH"><field name="NUM">14</field></block></value></block></value> 
                                                                              <value name="ADD5"><block type="text" id="RvwRh)|Wf*z|odx6hXqT"><field name="TEXT"> Minuten angerufen</field></block></value></block></value> 
                                                                          <next><block type="variables_set" id="Re~~rNq{gaD7SF0MM]-T"><field name="VAR">alexatext</field>
                                                                              <value name="VALUE"><block type="logic_ternary" id="1!5a5vst3!y`Wl{IFTt-"><value name="IF"><block type="logic_compare" id="myxaS.9u5t`8ZwV;3pK2"><field name="OP">EQ</field>
                                                                                      <value name="A"><block type="variables_get" id="R8GYMX}F`g!ZBo{D+k]_"><field name="VAR">anz</field></block></value> 
                                                                                      <value name="B"><block type="math_number" id="tSW1iA{d5EVQHN[Z+-tV"><field name="NUM">0</field></block></value></block></value> 
                                                                                  <value name="THEN"><block type="variables_get" id=":t%z[.];H-|t/WU%FE^)"><field name="VAR">tmp</field></block></value> 
                                                                                  <value name="ELSE"><block type="text_join" id="`1mJO@vgR)fU#CsbTy-m"><mutation items="3"></mutation>
                                                                                      <value name="ADD0"><block type="variables_get" id="!k^RkI_Tp+tQLrJb~clx"><field name="VAR">alexatext</field></block></value> 
                                                                                      <value name="ADD1"><block type="text" id="9FXixkB1O.uj=W!zWhUc"><field name="TEXT">;</field></block></value> 
                                                                                      <value name="ADD2"><block type="variables_get" id="O7*;5,?x_]UOIEkj7OV0"><field name="VAR">tmp</field></block></value></block></value></block></value> 
                                                                              <next><block type="math_change" id="BXCqiU7*0-%cE]@0M]!q"><field name="VAR">anz</field>
                                                                                  <value name="DELTA"><shadow type="math_number" id="[kq,k~/SLxO,g_:DMu}r"><field name="NUM">1</field></shadow></value> 
                                                                                  <next><block type="controls_if" id="~Yq8]Xgt4y+k+(7IUKd!"><value name="IF0"><block type="logic_compare" id="42859)|d|Y6bHZG2}o?7"><field name="OP">EQ</field>
                                                                                          <value name="A"><block type="variables_get" id="a7~!mlyA)h1A6ODLFLDJ"><field name="VAR">anz</field></block></value> 
                                                                                          <value name="B"><block type="math_number" id="08yPn#v84mn0=0q)[r]R"><field name="NUM">5</field></block></value></block></value> 
                                                                                      <statement name="DO0"><block type="controls_flow_statements" id="tBE}?*}^gMtd;1q`ApNS"><field name="FLOW">BREAK</field></block></statement></block></next></block></next></block></next></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement> 
                                          <next><block type="control" id="`Qg!CDbvO0.dV/`|!D3d"><mutation delay_input="false"></mutation>
                                              <field name="OID">alexa2.0.Echo-Devices.G090LF1174832X09.Commands.speak</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="variables_get" id="mjJFF5P]=q46l?dg`Tj~"><field name="VAR">alexatext</field></block></value> 
                                              <next><block type="debug" id="Ns0b*WC0f!TpiS%JQ^[d"><field name="Severity">log</field>
                                                  <value name="TEXT"><shadow type="text" id="2JciUzD(4a1E=jF@1vyY"><field name="TEXT">test</field></shadow> 
                                                    <block type="variables_get" id="#6H6rD3{_zs~oG}dO4S^"><field name="VAR">alexatext</field></block></value></block></next></block></next></block></next></block></next></block></statement></block></xml> 
                          

                          609_bildschirmfoto_2018-09-08_um_00.31.01.png

                          MfG

                          Sissi

                          –-----------------------------------------

                          1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                          M 1 Antwort Letzte Antwort
                          0
                          • haselchenH Offline
                            haselchenH Offline
                            haselchen
                            Most Active
                            schrieb am zuletzt editiert von
                            #79

                            @sissiwup

                            Wie sieht Dein Tipp praktisch aus?

                            Ich weiss nämlich nicht wo ich ansetzen soll.

                            Ganz unterschiedlich bekomme ich diesen Error , der vermutlich von der Alexa Einkaufsliste stammt. Jedenfalls startet der Adapter dann neu und Alexa fängt jetzt an dann die Fenster aufzuzählen.

                            Kann leider kein Log schicken, weil der letzte Fehler-Neustart von heute morgen ist und der steht nicht mehr im Log.

                            Alle 4minuten startet das Einkaufslisten Skript.

                            Und irgendwann im Laufe des Tages kommt mal ein Fehler bei der Ausführung und dann ist es wieder auf unbestimmte Zeit gut.

                            So sieht es aus, wenn alles gut ist:
                            3723_unbenannt2.png

                            In einem der Einkaufsskripts habe ich 1 gelbes Warndreieck. Eventuell ist das der Fehler? :?:

                            Was müsste ich da korrigieren in der Zeile?

                            3723_unbenannt3.png

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

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

                              Log sollte auch von gestern da sein.

                              LOG herunter laden anklicken.![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 042fc2.jpg">https://uploads.tapatalk-cdn.com/20180908/2d92fb62bd6cfc6793164cac2b042fc2.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 51f066.jpg">https://uploads.tapatalk-cdn.com/20180908/7e42e66a27e98e116b374b3d1151f066.jpg</link_text>" />

                              PS: das Warndreieck kannst Du auch anklicken oder mit der Maus drüber fahren, da steht dann der Fehlerhinweis.~~~~

                              1 Antwort Letzte Antwort
                              0
                              • haselchenH Offline
                                haselchenH Offline
                                haselchen
                                Most Active
                                schrieb am zuletzt editiert von
                                #81

                                Wenn es Dich nicht gäbe dslraser….klasse support :)

                                3723_unbenannt1.png

                                "Dont make functions within a loop" ist die Meldung.

                                Ich muss leider alles erfragen,weil ich davon keinen Plan habe :cry:

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

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

                                  @haselchen:

                                  Wenn es Dich nicht gäbe dslraser….klasse support :)

                                  filename="Unbenannt1.PNG" index="0">~~

                                  "Dont make functions within a loop" ist die Meldung.

                                  Ich muss leider alles erfragen,weil ich davon keinen Plan habe :cry: ` Das Log wäre dann für den Adapterentwickler hilfreich.

                                  Und mit dem Javascript Fehler bin ich ebenfalls überfordert. Kannst ja mal paul53 hier im Forum fragen, er ist richtig fit.

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mk120
                                    schrieb am zuletzt editiert von
                                    #83

                                    Halli Hallo,

                                    ich sehe glaube ich sehe den Wald vor lauter Bäumen nicht. Ich bekomme das Fensterscript was von der Idee und Umsetzung richtig cool ist nicht ans laufen. Könnte von euch mal jemand rüberschauen und mir einen Tipp geben? Vielen Dank und ein schönen Sonntag
                                    8565_script.png

                                    8565_gewerk_fenster.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • haselchenH Offline
                                      haselchenH Offline
                                      haselchen
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #84

                                      Hab noch nicht alles bei dir angesehen , aber du solltest auf jedenfall deinen Räumen vernünftige Namen geben.

                                      Damit würde ich als allererstes anfangen.

                                      Dann habe ich es mal bei mir verglichen, da heisst es im Wert OPEN(1) oder CLOSED(0)

                                      Bei dir steht true oder false.

                                      Ich denke damit hat es wohl auch zu tun.

                                      Aber dslraser als Skript Profi kennt sich damit besser aus ;)

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

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

                                        @mk120:

                                        Halli Hallo,

                                        ich sehe glaube ich sehe den Wald vor lauter Bäumen nicht. Ich bekomme das Fensterscript was von der Idee und Umsetzung richtig cool ist nicht ans laufen. Könnte von euch mal jemand rüberschauen und mir einen Tipp geben? Vielen Dank und ein schönen Sonntag

                                        script.PNG

                                        gewerk_fenster.PNG `

                                        Also hier mal was von mir dazu. Das mit den Raumnamen und Gewerken würde ich auch anpassen. (sonst bekommst Du als Raum leer, oder leer1 und roomBathroom usw…)

                                        Hier mal meine Gewerke
                                        3822_gewerke.jpg
                                        und hier mal meine Räume
                                        filename="Räume.JPG" index="2">~~
                                        Schau mal unter Aufzählungen wie da Deine Räume und Funktionen heissen. Wenn Du die aus der CCU hast, dann solltest Du es dort anpassen(Räume und Gewerke) danach Geräte neu einlesen von Deiner Instanz.
                                        3822_instanz.jpg
                                        Dann musst Du schauen wie bei Dir die STATE oder eben state heißen. Bei mir sind die .STATE groß geschrieben.
                                        3822_state.jpg
                                        So ist es dann auch im Script anzupassen
                                        3822_script.jpg
                                        Und eben wie Dein Gewerk heißt(bei mir Fenster, so auch im Script(genaue Schreibweise)
                                        3822_fenster.jpg
                                        Dann hast Du auch eine bessere Übersicht in den Objekten
                                        3822_objekte.jpg

                                        1 Antwort Letzte Antwort
                                        0
                                        • sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #86

                                          @dslraser,

                                          kommt mir bekannt vor…........... :)

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          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

                                          810

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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