Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Axa Sprachbefehl

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [gelöst] Axa Sprachbefehl

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kasperfunsurfer last edited by kasperfunsurfer

      Servus zusammen,

      wie schaffe ich es den Sprachbefehl für 2 Alexas auszuführen ?

      Was mache ich im folgenden Script falsch ?

      var idSayIt     = "alexa2.0.Echo-Devices.G09********.Commands.speak";               
      var idSayIt     = "alexa2.0.Echo-Devices.G09********.Commands.speak"; 
      var idButton    = "hm-rega.0.950"; //Objekt
      var lastSay     = null;
      
      // Nach Schalten wird folgender Text gesprochen
      subscribe({id: idButton, val: true}, function (obj) {
               if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                        lastSay = (new Date()).getTime();
                        setState (idSayIt, "Ab wesend");
               }
             
              });
      
      

      Grüße Timo

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @kasperfunsurfer last edited by

        @kasperfunsurfer sagte:

        var idSayIt     = "alexa2.0.Echo-Devices.G09********.Commands.speak";               
        var idSayIt     = "alexa2.0.Echo-Devices.G09********.Commands.speak"; 
        

        Die Variable idSayIt ist zweimal deklariert. Ihr wird die zweite ID zugewiesen.

        1 Reply Last reply Reply Quote 0
        • K
          kasperfunsurfer last edited by

          Hallo Paul,
          genau das ist mein Problem. Ich weiß nicht wie das Script aussehen muss um beide anzusteuern.

          var idSayIt     = "alexa2.0.Echo-Devices.G09********.Commands.speak";               
           
          var idButton    = "hm-rega.0.950"; //Objekt
          
          var lastSay     = null;
          
           
          
          // Nach Schalten wird folgender Text gesprochen
          
          subscribe({id: idButton, val: true}, function (obj) {
          
                   if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
          
                            lastSay = (new Date()).getTime();
          
                            setState (idSayIt, "Ab wesend");
          
                   }
          
                 
          
                  });
          
          

          So geht es für die eine oder andere aber beide zusammen was müsste man ändern ?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @kasperfunsurfer last edited by

            @kasperfunsurfer :

            beide zusammen was müsste man ändern ?

            Zwei unterschiedliche Bezeichner und zweimal setState().

            var idSayIt1    = "alexa2.0.Echo-Devices.G09********.Commands.speak";               
            var idSayIt2    = "alexa2.0.Echo-Devices.G09********.Commands.speak"; 
            
            1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by

              var idSayIt1     = "alexa2.0.Echo-Devices.G09********.Commands.speak";               
              var idSayIt2    = "alexa2.0.Echo-Devices.G09********.Commands.speak"; 
              var idButton    = "hm-rega.0.950"; //Objekt
              var lastSay     = null;
              
              // Nach Schalten wird folgender Text gesprochen
               subscribe({id: idButton, val: true}, function (obj) {
                       if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                 lastSay = (new Date()).getTime();
                                 setState (idSayIt1, "Ab wesend");
                                 setState (idSayIt2, "Ab wesend");
                        }
                      });
              
              1 Reply Last reply Reply Quote 0
              • K
                kasperfunsurfer last edited by

                Super klappt schönen Dank dafür.

                Eine frage hätte ich noch. Wie müsste man das Script ändern wenn man vorher noch eine Bedienung erfüllen muss um den Ton anzuschalten bzw. Freizugeben.
                Sprich erst hm-rega.0.951 an für Ton Ein. Dann erst Sprachausgabe.
                Hoffe ihr versteht was ich meine.

                var idSayIt1     = "alexa2.0.Echo-Devices.G09********.Commands.speak";               
                
                var idSayIt2    = "alexa2.0.Echo-Devices.G09********.Commands.speak"; 
                
                var idButton    = "hm-rega.0.950"; //Objekt
                
                var lastSay     = null;
                
                 
                
                // Nach Schalten wird folgender Text gesprochen
                
                 subscribe({id: idButton, val: true}, function (obj) {
                
                         if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                
                                   lastSay = (new Date()).getTime();
                
                                   setState (idSayIt1, "Ab wesend");
                
                                   setState (idSayIt2, "Ab wesend");
                
                          }
                
                        });
                

                Grüße Timo

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @kasperfunsurfer last edited by

                  @kasperfunsurfer sagte:

                  erst hm-rega.0.951 an für Ton Ein. Dann erst Sprachausgabe.

                          setState(idTonEin, true); // hm-rega.0.951
                          setTimeout(function() {           
                                 setState (idSayIt1, "Ab wesend");
                                 setState (idSayIt2, "Ab wesend");
                          }, 1000); // 1 s Verzögerung
                  
                  1 Reply Last reply Reply Quote 0
                  • K
                    kasperfunsurfer last edited by

                    Hallo,

                    so klappt es nicht der Ton wird immer ausgegeben. Anbei das Script.

                    var idSayIt1     ="alexa2.0.Echo-Devices.G****.Commands.speak";               // Hier die entsprechende SayIt Text ID
                    var idSayIt2     ="alexa2.0.Echo-Devices.G*****.Commands.speak"; 
                    var idButton    = "hm-rega.0.950"; //Objekt
                    var idTonEin    = "hm-rega.0.29614";
                    var lastSay     = null;
                    
                    setState(idTonEin, true); 
                    
                            setTimeout(function() {           
                    
                                   setState (idSayIt1, "Ab wesend");
                    
                                   setState (idSayIt2, "Ab wesend");
                    
                            }, 1000); // 1 s Verzögerung
                    
                    
                    
                    
                    // Nach Schalten wird folgender Text gesprochen
                    subscribe({id: idButton, val: true}, function (obj) {
                             if (!lastSay || ((new Date()).getTime() - lastSay) > 30000) {
                                      lastSay = (new Date()).getTime();
                                      setState (idSayIt1, "Ab wesend");
                                      setState (idSayIt2, "Ab wesend");
                                      }
                    });
                    code_text
                    

                    Ich möchte Quasi erst eine Tonausgabe haben sobald hm-rega.0.29614 und hm-rega.0.950 auf True sind. Vorher soll die Ausgabe unterdrückt sein. Also hm-rega.0.29614 auf false keine Tonausgabe mehr.
                    Bin da leider zu doof für. 🙂

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @kasperfunsurfer last edited by paul53

                      @kasperfunsurfer sagte:

                      Also hm-rega.0.29614 auf false keine Tonausgabe mehr.

                      Soll der Datenpunkt abgefragt werden oder soll er zu Beginn der Sprachausgabe auf false gesetzt werden ? Hier mit Setzen auf false:

                      var idSayIt1    ="alexa2.0.Echo-Devices.G****.Commands.speak";   // Hier die entsprechende SayIt Text ID
                      var idSayIt2    ="alexa2.0.Echo-Devices.G*****.Commands.speak"; 
                      var idButton    = "hm-rega.0.950"; //Objekt
                      var idTonEin    = "hm-rega.0.29614";
                      var lastSay     = 0;
                      
                      subscribe({id: idButton, val: true}, function () {
                          if (!lastSay || ((new Date()).getTime() - lastSay) > 30000) {
                               lastSay = (new Date()).getTime();
                               setState(idTonEin, true); 
                               setTimeout(function() {
                                     setState(idTonEin, false); // Ton wieder aus        
                                     setState(idSayIt1, "Ab wesend");
                                     setState(idSayIt2, "Ab wesend");
                               }, 1000); // 1 s Verzögerung
                          }
                      });
                      
                      K 1 Reply Last reply Reply Quote 0
                      • K
                        kasperfunsurfer @paul53 last edited by

                        @paul53 der Datenpunkt hm-rega.0.29614 soll abgefragt werden ob er auf true steht wenn ja soll die Sprachausgabe überhaupt möglich sein und wenn er auf false steht soll die Sprachausgabe nicht erfolgen.

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @kasperfunsurfer last edited by paul53

                          @kasperfunsurfer
                          Also so ?

                          var idSayIt1    ="alexa2.0.Echo-Devices.G****.Commands.speak";   // Hier die entsprechende SayIt Text ID
                          var idSayIt2    ="alexa2.0.Echo-Devices.G*****.Commands.speak"; 
                          var idButton    = "hm-rega.0.950"; // Auslöser
                          var idTonEin    = "hm-rega.0.29614"; // Freigabe
                          var lastSay     = 0;
                          
                          subscribe({id: idButton, val: true}, function () {
                              if(getState(idTonEin).val) {
                                  if (!lastSay || Date.now() - lastSay > 30000) {
                                      lastSay = Date.now();
                                      setState(idSayIt1, "Ab wesend");
                                      setState(idSayIt2, "Ab wesend");
                                  }
                              }
                          });
                          
                          1 Reply Last reply Reply Quote 0
                          • K
                            kasperfunsurfer last edited by

                            Sauber ganz genau so 👍 👍 👍

                            1 Reply Last reply Reply Quote 0
                            • K
                              kasperfunsurfer last edited by

                              Jetzt noch ein frage aber dann haben wir es 🙂

                              var idSayIt1    ="alexa2.0.Echo-Devices.G***.Commands.speak";   // Hier die entsprechende SayIt Text ID
                              var idSayIt2    ="alexa2.0.Echo-Devices.G***.Commands.speak"; 
                              var idButton    = "mihome.0.devices.sensor_motion_aq2_1**.state"; //Objekt
                              var idTonEin    = "hm-rega.0.29614";
                              var lastSay     = 0;
                              
                               
                              
                              subscribe({id: idButton, val: true}, function () {
                              if(getState(idTonEin).val) {
                              if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                              lastSay = (new Date()).getTime();
                              setState(idSayIt1, "Bewegung an der Haustür");
                              setState(idSayIt2, "Bewegung an der Haustür");
                              }
                              }
                              });
                              

                              Was müsste ich machen um noch einen 2 Bewegungsmelder zu Integrieren ? Also ich meine wenn der oder der eine Bewegung erkennt ?

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @kasperfunsurfer last edited by

                                @kasperfunsurfer sagte:

                                wenn der oder der eine Bewegung erkennt ?

                                var idButton = ["mihome.0.usw..state","ID_des_zweiten_BWM"]; // Auslöser
                                
                                1 Reply Last reply Reply Quote 0
                                • K
                                  kasperfunsurfer last edited by

                                  Supi ich freu mich geht. Vielen Dank 👍 👍

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  617
                                  Online

                                  32.0k
                                  Users

                                  80.6k
                                  Topics

                                  1.3m
                                  Posts

                                  javascript
                                  3
                                  15
                                  694
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo