Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] Alexa Standard-Sprachausgabe deaktivieren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [GELÖST] Alexa Standard-Sprachausgabe deaktivieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tööö last edited by tööö

      Hallo,

      folgendes habe ich gemacht. Mein Skript erkennt, wenn ich einen Satz mit "Fernseher" und "Steckdose" sage, wie zum Beispiel, "Schalte die Steckdose Fernseher an". Mein Skript schaltet die entsprechende (Osram-)Steckdose an, Alexa sagt aber trotzdem, dass sie kein Gerät mit "Steckdose Fernseher" kennt. Im Anschluss läuft dann mein Skript weiter und Alexa sagt das, was ich per Skript definiert habe. Mein Skript funktioniert also, bzw. macht eigentlich was es soll, nur die Standardausgabe von Alexa, wenn sie ein Gerät nicht kennt, ist hier unschön.

      Kann ich das irgendwie umgehen, dass Alexa ihre Standardaussage macht, wenn sie ein Gerät nicht findet?

      Im Anhang mein Skript, falls es wichtig ist:

      var jsonobjekt = "alexa2.0.History.json";
      var alexaWohnzimmer = "alexa2.0.Echo-Devices.G090L909643516A0";
      var ausgabe = "";
      
      on({id: jsonobjekt, change: "ne"}, function (obj) {
          var value = obj.state.val;
      
          var alexaBefehl = JSON.parse(value);
      
          if ((alexaBefehl.summary.indexOf("steckdose") > 0 &&
              (alexaBefehl.summary.indexOf("fernsehen") > 0) || alexaBefehl.summary.indexOf("fernseher") > 0)) {
              ausgabe = '<speak><prosody volume="x-loud">';
              if (getState("zigbee.0.7cb03eaa0a0898b3.state").val) {
                  setState("zigbee.0.7cb03eaa0a0898b3.state", false);
                  ausgabe += "Steckdose ist nun aus.";
              } else {
                  setState("zigbee.0.7cb03eaa0a0898b3.state", true);
                  ausgabe += "Steckdose ist nun an.";
              }
              ausgabe += '</prosody></speak>';
              setState(alexaWohnzimmer + ".Commands.ssml", ausgabe);
          }
      });
      

      Besten Dank schonmal und liebe Grüße
      Thomas

      A dslraser 2 Replies Last reply Reply Quote 0
      • A
        Adnim @tööö last edited by

        @tööö

        in der Alexa app ne routine erstellen auf Fernseher und Steckdose und keine Bestätigung einstellen

        T 1 Reply Last reply Reply Quote 0
        • T
          tööö @Adnim last edited by

          @Adnim sagte in Alexa Standard-Sprachausgabe deaktivieren:

          @tööö

          in der Alexa app ne routine erstellen auf Fernseher und Steckdose und keine Bestätigung einstellen

          Aber dann muss ich ja genau den Satz sagen, den ich bei der Routine einstelle. Das wollte ich eigentlich umgehen.

          A 1 Reply Last reply Reply Quote 0
          • A
            Adnim @tööö last edited by Adnim

            @tööö

            hmm halt die Triggerwörter die du auch im Skript nutzt?

            edit:
            Bsp:
            WENN Sprachbefehl „Alexa, Fernseher“, DANN starte NIX.

            T 1 Reply Last reply Reply Quote 0
            • T
              tööö @Adnim last edited by

              @Adnim
              Aber dann würde Alexa nur bei „Alexa Fernseher“ nichts machen, bei „Alexa Fernseher einschalten“ würde sie dann wiederum was sagen. 😕

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

                @tööö
                Moin, mir ist kein Weg bekannt das abzuschalten.
                Problem: Du sagst Alexa das sie was schalten soll, aber sie findet nix zum schalten, weil ihr das Gerät nicht bekannt ist. (weil Du in der Summary schaust und Dein Script schaltet). Geschaltet wird zwar alles, weil das Dein Script macht, aber Alexa quittiert dann eben das sie kein Gerät findet oder fragt blöde nach.

                Warum schaltest Du nicht direkt über z.B. iot die Steckdose an ?
                Alexa, Fernseher an.

                Wenn Du über Dein Script (über die Summary) schalten willst und vermeiden willst das sie nix findet, könntest Du auch Dummy Geräte einfügen, aber dann könntest Du auch gleich die richtigen Geräte einfügen.

                Du könntest vielleicht probieren, wenn Dein Script Deine Triggerwörter erkennt, die Lautstärke des ECHO so weit wie möglich runter zu setzen und anschließend wieder zurück zu setzen.
                (Habe ich selbst noch nicht probiert)

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

                  @dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:

                  Warum schaltest Du nicht direkt über z.B. iot die Steckdose an ?
                  Alexa, Fernseher an.

                  SmartNamen kannst Du soviel dort rein setzen(mit Komma getrennt) wie Du willst. Also mehrere Sätze/Wörter, so wie Du sonst auch schaltest.

                  1 Reply Last reply Reply Quote 0
                  • T
                    tööö @dslraser last edited by

                    @dslraser
                    Das mit dem Dummygerät klingt nach einer Möglichkeit, die werde ich mal probieren.

                    Warum ich die Steckdose Fernseher nicht als Gerät hinzufügen möchte und über iot schalten möchte, ist ganz einfach. Ich will nicht immer sagen „Alexa Steckdose Fernseher anmachen“, sondern auch mal „Alexa mach die Steckdose am Fernseher an“.

                    Klar, das sind Luxsprobleme. 😉

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

                      @tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:

                      Warum ich die Steckdose Fernseher nicht als Gerät hinzufügen möchte und über iot schalten möchte, ist ganz einfach. Ich will nicht immer sagen „Alexa Steckdose Fernseher anmachen“, sondern auch mal „Alexa mach die Steckdose am Fernseher an“.

                      Das meinte ich. Füge doch alles was Du sonst so sagst, oder sagen könntest, bei diesem Gerät bei iot ein. (das mach ich bei einigen Geräten so, z.B wenn ich Fernsehsender umschalten will.)

                      Alexa,
                      z. d. f. , kanal zwei, das zweite an

                      usw...

                      T 2 Replies Last reply Reply Quote 0
                      • T
                        tööö @dslraser last edited by

                        @dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:

                        Das meinte ich. Füge doch alles was Du sonst so sagst, oder sagen könntest, bei diesem Gerät bei iot ein. (das mach ich bei einigen Geräten so, z.B wenn ich Fernsehsender umschalten will.)

                        Alexa,
                        z. d. f. , kanal zwei, das zweite

                        Ah ok, Danke, dann mache ich das so. 😊

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

                          @tööö
                          und nicht vergessen das Script zu deaktivieren...

                          1 Reply Last reply Reply Quote 0
                          • T
                            tööö @dslraser last edited by

                            @dslraser

                            Ich kam nun ein ganzes Stück weiter dank deiner Hilfe/Tipps. Mein Skript sieht nun folgendermaßen aus:

                            var alexaWohnzimmer = "alexa2.0.Echo-Devices.G090L909643516A0";
                            var ausgabe = "";
                            var spracheAN = ["Alles klar, Steckdose ist nun an.",
                                             "Ok, der Fernseher bekommt nun Strom.",
                                             "Ok, der Fernseher ist nun mit Strom versorgt.",
                                             "Jawoll, viel Spaß beim Fernschauen.",
                                             "Mache ich gern, Strom fließt.",
                                             "Ok, du kannst nun Fernschauen."];
                            var spracheAUS = ["Ok, Steckdose ist nun aus.",
                                              "Alles klar, der Fernseher bekommt nun kein Strom mehr.",
                                              "Super, nun wird wieder Strom gespart.",
                                              "Ok, ich hoffe, es war ein spannendes Fernsehprogramm.",
                                              "Mache ich gern, die Stromrechnung freut sich.",
                                              "Erledigt, Fernseher bleibt nun aus."];
                            var index;
                            
                            ausgabe = '<speak><prosody volume="x-loud">';
                            if (getState("zigbee.0.7cb03eaa0a0898b3.state").val) {
                                 setState("zigbee.0.7cb03eaa0a0898b3.state", false);
                                 index = Math.floor(Math.random() * (spracheAUS.length - 0)) + 0;
                                 ausgabe += spracheAUS[index];
                            } else {
                                 setState("zigbee.0.7cb03eaa0a0898b3.state", true);
                                 index = Math.floor(Math.random() * (spracheAN.length - 0)) + 0;
                                 ausgabe += spracheAN[index];
                            }
                            ausgabe += '</prosody></speak>';
                            setState(alexaWohnzimmer + ".Commands.ssml", ausgabe);
                            

                            Alexa soll natürlich verschiedene Rückmeldungen geben. In der iot-Instanz habe ich das Skript hinzugefügt und verschiedene Werte hinterlegt "Steckdose Fernseher, Steckdose Fernsehen, Steckdose am Fernseher..."
                            In der Alexa-App dann nach Geräten gesucht, alle gefunden. Soweit ist das auch super.

                            Wenn ich nun sage, "Alexa, schalte Steckdose Fernseher ein", klappt das auch wunderbar und das Skript wird ausgeführt. Aber wenn ich sage "Alexa, schalte Steckdose Fernseher aus", klappt das natürlich nicht.

                            Kann ich das noch irgendwie lösen? Natürlich könnte ich sicher meine ZigBee-Steckdose auch hinzufügen, aber dann habe ich die Zufallsantwort von Alexa nicht, bzw. kann dahinter keine eigenen Skripte legen.

                            da_Woody dslraser 2 Replies Last reply Reply Quote 0
                            • da_Woody
                              da_Woody @tööö last edited by

                              @tööö du brauchst dein skript nicht! siehe ein post oberhalb deines postings...

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                tööö @da_Woody last edited by

                                @da_Woody sagte in Alexa Standard-Sprachausgabe deaktivieren:

                                @tööö du brauchst dein skript nicht! siehe ein post oberhalb deines postings...

                                Ja, das würde gehen, aber dann könnte Alexa keine Zufallssätze nach dem Schalten der Steckdose ausgeben, so wie ich es im Skript programmiert habe.

                                Das muss doch irgendwie gehen, oder ist man hier streng im System gefangen? 😞

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

                                  @tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:

                                  Wenn ich nun sage, "Alexa, schalte Steckdose Fernseher ein", klappt das auch wunderbar und das Skript wird ausgeführt. Aber wenn ich sage "Alexa, schalte Steckdose Fernseher aus", klappt das natürlich nicht.

                                  auch wieder verschiedene Möglichkeiten...

                                  Ohne Script kommt es drauf an wie Du die Geräte in iot einfügst, bzw. was das für Geräte sind.
                                  Ein Button z.B. löst immer aus, weil er nur aktualisiert wird. Ein Schalter (Switch) kann an und aus. Light kann z.B. noch level von bis usw... Das kannst Du schon sehr gut an den Symbolen im iot Adapter erkennen.

                                  Wenn Du iot und Script laufen hast, dann gibt das bestimmt ein durcheinander....

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

                                    @tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:

                                    Ja, das würde gehen, aber dann könnte Alexa keine Zufallssätze nach dem Schalten der Steckdose ausgeben, so wie ich es im Skript programmiert habe.

                                    Du könntest ja probieren das Script nichts schalten zu lassen, sondern nur die Zufallsantworten ausgeben lassen.

                                    Edit:
                                    also wenn die Steckdose/Fernseher tatsächlich geschalten wurde und an ist(z.B. true) dann sabbel die Zufallsantwort. Alles ohne die summary.

                                    T da_Woody 2 Replies Last reply Reply Quote 0
                                    • T
                                      tööö @dslraser last edited by tööö

                                      @dslraser sagte in Alexa Standard-Sprachausgabe deaktivieren:

                                      @tööö sagte in Alexa Standard-Sprachausgabe deaktivieren:

                                      Ja, das würde gehen, aber dann könnte Alexa keine Zufallssätze nach dem Schalten der Steckdose ausgeben, so wie ich es im Skript programmiert habe.

                                      Du könntest ja probieren das Script nichts schalten zu lassen, sondern nur die Zufallsantworten ausgeben lassen.

                                      Edit:
                                      also wenn die Steckdose/Fernseher tatsächlich geschalten wurde und an ist(z.B. true) dann sabbel die Zufallsantwort. Alles ohne die summary.

                                      Wieso komme ich nicht auf solche Ideen? 😉 Aber gut, Danke, das klingt plausibel und machbar. Problem habe ich nun nur beim Hinzufügen der Zigbee-Steckdose (Osram). Skripte gingen wunderbar hinzuzufügen, aber die Steckdose mag er nun aus irgendeinem Grund nicht:

                                      iot.0	2020-08-30 10:33:25.433	error	(1281) "zigbee.0.7cb03eaa0a0898b3.state" not exists or no native part.
                                      

                                      Unbenannt.png

                                      Müsste doch genauso gehen, wie wenn ich die Skripte in die iot-Instanz hinzufüge, oder?

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

                                        @dslraser irgendwie skuril. erst soll alexa den schnabel halten, jetzt soll sie "lustige" antworten gebn...

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

                                          @tööö
                                          füge das/die SmartNamen einfach über den RAW des Datenpunktes hinzu.

                                          Beispiel ? (oder weißt Du was ich meine)

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

                                            @tööö
                                            Beispiel SmartNamen über RAW einfügen

                                            https://forum.iobroker.net/post/393567

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            915
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            4
                                            22
                                            1008
                                            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