Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Stati bzw. Werte auslesen mit Alexa

    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

    Stati bzw. Werte auslesen mit Alexa

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

      Klingt doch super,

      Wäre es möglich das Script hier mal zu zeigen.

      Bin halt was Scripten anbelangt noch absoluter Newbie, da wäre es cool, wenn Ihr mir mal ein Beispiel zeigen könntet 🙂

      @ruhr - Ob schlecht oder nicht ist doch egal wenns funktioniert, wäre nett, wenn du es mal posten würdest - Dank dir.

      Grüße

      1 Reply Last reply Reply Quote 0
      • M
        mariohbs last edited by

        @ruhr70:

        Alle Texte über sayIt und einem kleinen Skript (schlecht von mir gemacht g). `

        Da melde ich auch mal Interesse an. Würdest das Script vielleicht mal vorstellen wollen und kurz Beschreiben was man machen muss damit es läuft?

        Danke schon mal im vorab!

        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          Das ist nur ein Miniskript. Und die Lösung mehrere Ansagen hintereinander (Wartezeit, asynchron) ist nicht schön gelöst.

          Skript:

          ! ````
          // Ausgabe von Infos über Sayit, gesteuert durch Alexa
          // Der Datenpunkt idAnsageTriggerWetter muss in ALexa hinzugefügt werden
          // und mit einem Smartnamen versehen werden
          ! // Beispiel: "Alexa, schalte Wetterbericht ein"
          ! // Skript verwendet ein globales Skrit:
          // sayit();
          ! var vol = 40; // Lautstärke der Ansagen
          var sayitInstanz = 2; // Instanz 2 = Sonios Wohnzimmer
          ! // Datenpunkt zum Ansteuern der ANsage über Alexa:
          var idAnsageTriggerWetter = "javascript."+instance+".Ansagen_Trigger.Wetter_aktuell_Wohnzimmer";
          ! createState(idAnsageTriggerWetter,false, {
          name: 'Ansage aktuelle Wettersituation im Wohnzimmer',
          desc: 'Ansage aktuelle Wettersituation im Wohnzimmer',
          type: 'boolean'
          });
          ! function ansageWetterwarnung(vol,sayitInstanz) {
          var severity = getState('dwd.0.warning.severity').val;
          var meldung = getState('dwd.0.warning.text').val.toLowerCase();
          text = "Aktuelle Unwetterwarnung. Stufe " + severity + " " + meldung;
          sayit(text,vol,sayitInstanz);
          }
          ! function ansageWetterlage(vol,sayitInstanz) {
          text = "Wetterlage " + getState('yr.0.forecast.day0.text').val;
          sayit(text,vol,sayitInstanz);
          }
          ! function ansageAktuelleTemperatur(vol,sayitInstanz) {
          text = "Die aktuelle Temperatur beträgt " + getState('yr.0.forecast.day0.temperature_actual').val + " Grad Celsius.";
          sayit(text,vol,sayitInstanz);
          }
          ! function ansage(vol,sayitInstanz) {
          var severity = getState('dwd.0.warning.severity').val;
          var delay = 0;
          ! if (severity > 0) {
          setTimeout(ansageWetterwarnung(vol,sayitInstanz),delay);
          delay = delay + 9000;
          }

          setTimeout(ansageWetterlage(vol,sayitInstanz),delay);
          delay = delay + 9000;
          
          setTimeout(ansageAktuelleTemperatur(vol,sayitInstanz),delay);
          

          }

          ! on({id:idAnsageTriggerWetter,change:'any'}, function (obj) {
          if(obj.state.val) {
          ansage(vol,sayitInstanz);
          }
          });
          ! //ansage(vol,sayitInstanz); // Zum Test des Skripts beim Skriptstart, Kommentar entfernen

          
          Folgendes Skript wird als globales Skript benötigt:
          
          >! ````
          >! function sayit(text,vol,instanz) {
              var IDLastSay = 'javascript.0.globalVar.lastSay';
          
              var sayit_defaultVol          = 50;
              var sayit_defaultSayItInstanz =  0;
          >!     if (typeof instanz == "undefined")  instanz = sayit_defaultSayItInstanz;
              if (!isNaN(instanz))                instanz = parseInt(instanz);
              if (isNaN(instanz))                 instanz = sayit_defaultSayItInstanz;
          >!     if (typeof vol == "undefined")      vol = sayit_defaultVol;
              if (!isNaN(vol))                    vol = parseInt(vol);
              if (isNaN(vol))                     vol = sayit_defaultVol;
          >!     var idSayIt =           "sayit." + instanz + ".tts.text";
              text = "de;" + vol.toString() + ";" + text;
              var lastSay   = getState(IDLastSay).val;
              //if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                  //lastSay = setState(IDLastSay,(new Date()).getTime());
                  setState (idSayIt, text);
              //}
              log(vol);
              log(text);
          >! }
          >! ````
          1 Reply Last reply Reply Quote 0
          • M
            mariohbs last edited by

            Hi und vielen Dank erst einmal.

            Muss aber noch einmal fragen, damit ich da nicht auf dem falschen Gleis lande: Die Antwort kommt dann über Alexa direkt? Also nicht per Blauzahn oder Tablett?

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              Nein, über Alexa kannst Du die Infos (noch) nicht ausgeben. Hat nichts mit ioBroker zu tun. Alexa kann das noch nicht über die Schnittstelle zur Haussteuerung.

              Über einen Custom-Skill funktioniert das. Da will Bluefox wohl einen schreiben. Dann würden solche Sachen gehen, wie "Alexa, frag ioBroker, wie die Temperatur im Schlafzimmer ist".

              Das Skript triggert einen Datenpunkt in ioBroker, welcher dann die Ausgabe über SayIt steuert.

              Bei mir sind das meine Sonos Lautsprecher.

              D.h. ich frage Alexa und über Sonos kommt die Antwort.

              Du kannst auch die Alexa Lautsprecher über Bluetooth nutzen. Hier im Forum gibt es dazu ein Beispiel, wie das über einen Raspberry Pi funktioniert.

              Dann kommt die Antwort zwar auch nicht von Alexa, aber über die Echo Lautsprecher 😉

              Zusammenfassung der Syntax diverser Sprachanweisungen:

              "Alexa, wie ist die Temperatur im Schlafzimmer?"

              -> müsste die Haussteuerungs-API unterstützen. Wird derzeit von Amazon nicht unterstützt.

              "Alexa, schalte Wetterbericht ein."

              -> wird von Alexa/ioBroker unterstützt. Was passieren soll, bestimmt ioBroker, z.B. Ausgabe über Sayit.

              -> "schalte … ein" oder "einschalten" sind Kennwörter, nach denen Alexa nach Namen in der Integration von Haussteuerungen sucht

              "Alexa, frage ioBroker nach der Temperatur im Schlafzimmer."

              -> Geht über einen Zustrom-Skill. Derzeit in Entwicklung.

              -> "frage xyz" ist eine Möglichkeit einen Custom-Skill zu nutzen

              1 Reply Last reply Reply Quote 0
              • M
                mariohbs last edited by

                Ahh OK. Danke für die Klarstellung.

                Ja Alexa über Bluetooth habe ich schon überlegt aber da würde es nur bei Alexa 1 ankommen. Da ich aber 3 in verschiedenen Räumen habe wird das wohl erst einmal nichts werden. Aber ich schaue mal optimistisch in die Zukunft und versuche derweil erst einmal die Visualisierung richtig zum laufen zu bekommen 😄

                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  3 Pi 😉

                  Einen in jedem Raum :lol:

                  1 Reply Last reply Reply Quote 0
                  • G
                    galferiz last edited by

                    Hey Ruhr,

                    Danke fürs Feedback.

                    Dann hab ich einen guten Ansatz zum Testen.

                    Vielen dank und schönen Rest-Sonntag 😉

                    1 Reply Last reply Reply Quote 0
                    • M
                      Marko79 last edited by

                      Hi zusammen, bin neu in dem Thema und versuche mich durch Videos langsam einzuarbeiten.

                      Ich versuche gerade mit JS eine Sprachausgabe auf anfrage bei Alexa.

                      Will mir die Temp vom Raspberry ansagen lassen. Bekomms aber leider nicht hin.

                      Ich habe das Blocky-Script mal als Datei angehängt.

                      abfrage_ = Datenpunkt den ich triggern kann(funktioniert)

                      rpi2.0.temperature.soc_temp= ausgelesener Wert im Rpi2.0 Adapter

                      Vlt kann mir von den erfahreneren Anwendern jemand meinen Fehler aufzeigen.

                      Danke
                      5810_blocky.png

                      1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown last edited by

                        Was hast Du denn für Thermostate?

                        Gibt es bei denen eventuell einen Datenpunkt vom Typ "ACTUAL_TEMPERATURE"?

                        (so einen habe ich z.B. beim HomeMatic Thermostat (non-IP))

                        [EDIT] Hintergrund meiner Frage: Ein Datenpunkt "ACTUAL_TEMPERATURE" kann als Smart Gerät im Cloud Adapter direkt von Alexa Abgefragt werden.

                        z.B. Smart Gerät im Cloud Adapter = "Schlafzimmer"

                        Verlinkung zum Datenpunkt vom Typ "ACTUAL_TEMPERATURE"

                        Abfrage: "Alexa, wie ist die Temperatur im Schlafzimmer"

                        Antwort: "Die Temperatur von Schlafzimmer ist 20,1 Grad"

                        1 Reply Last reply Reply Quote 0
                        • BBTown
                          BBTown last edited by

                          @Marko79:

                          Vlt kann mir von den erfahreneren Anwendern jemand meinen Fehler aufzeigen. ` Was mit gerade auffällt, ich bin der Meinung Du benutzt den "erstelle Text aus" Baustein nicht korrekt.

                          Schau dir mal alternativ mein angefügtes Beispiel an
                          1917_sayit_text.jpg

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          484
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          6
                          14
                          4144
                          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