[ALEXA] Sprachausgabe durch SmartHome Zentrale (ioBroker) [Tutorial]

  • Hallo,


    ich weiss nicht ob ich es überlesen habe aber ich hätte ein paar Fragen zu Kalender Events (Müll zum Beispiel)

    Ical habe ich installiert und mit meinem Kalender verbunden. Jetzt wollte ich ein Script schreiben das Alexa mich eine Tag vorher dran errinert.


    Die errinnerungen im Kalender sind ja egal wenn ich es richtig verstanden habe oder?

    Ich habe das so verstanden das er den Kalender durchsucht und wenn das Event startet die Variable auf True gesetzt wird oder?

    Wie trigger ich dann die Ansage einen Tag vorher? Oder muss ich einfach den Termin auf einen Tag vorher setzen?


    Zusätzlich wollte ich die Alexa die Ansagen machen lassen wenn sich der Türkontakt nach 18 Uhr geöffnet hat.

    Also wenn ich nach Hause komme. Ist das möglich?


    Gruß


    Thomas

  • Hm, ob das mit der Erinnerung einen Tag vorher möglich ist weiß ich nicht. Wie du schon schreibst, vielleicht den Termin einen Tag vorher eintragen.

    Termine ansagen lasse ich mir so. Ich habe eine Routine erstellt Alexa,Termine, als Aktion dann Kalender von heute vorlesen und Nächsten Termin vorlesen.

    Im Script dann, falls Tür geöffnet und aktuelle Zeit ist größer als 18 Uhr, steuer Routine mit wahr. Als Trigger Wert von Tür wurde geändert

  • Hi,


    weiß nicht genau ob es hier passt oder ich lieber ein neues Thema hätte aufmachen sollen dafür.


    Hab auf Youtube die Funktion mit dem Sonoff POW gefunden um sich informieren zu lassen, wann die Waschmaschine fertig ist.



    Weiß zufällig jemand wie man das genau kombinieren kann? Also wenn die Waschmaschine fertig ist, wird eine Telegramm Nachricht geschickt und Alexa spricht es ohne Frage aus?

  • - Ein Datenpunkt anlegen


    - Blocklyscript

    - Datenpunkt im Cloud Adapter eintragen


    (so funktioniert es bei mir)

    Apple Fan Boy - Intel NUC - ioBroker - Harmony Hub - Philips HUE - Echo Show - Echo Dot - Echo Spot - Sonos Play 3/5/5/Sub - Synology NAS - Sonoff Basics / Touch T1 2CH - Xiaomi - Yeelight Bulb - Xiaomi Vacuum Cleaner - Xiaomi Dafang - Broadlink


    Projekte

    1. Umzug Intel NUC6CAYH mit Debian & Proxmox
  • Danke für die Rückmeldung. Bei mir hat quasi nur Zeile 25 gefehlt, also die "Zahl" im Blockly Skript, leider sagt Alexa noch immer nur "27 5" Grad, also ohne Punkt oder Komma. Vielleicht liegt das an dem bereitgestellten Wert vom Echo Plus. Dieser wird mit einem Punkt dargestellt. Muss ich wohl damit leben oder auf- bzw. abrunden lassen.


    Es sei denn jemand hat noch eine Idee.


    Hier mal mein Skript:


  • Also bei mir wird der Datenpunkt (Wert 0.5) mit Punkt dargestellt und Alexa sagt aber:

    Die gemessene Temperatur am Schuppen beträgt 0 komma 5 Grad.

    :/



    5ba993-1546465418.jpg


    Hier mein Code:

  • @monarc ich habe es bei mir so umgesetzt:

    ph6ytz4a.png


    da der Xiaomi Temperature/Humidity Sensor mit 2 Stellen nach dem Komma arbeitet habe ich "Runde auf" genommen da sich sonst die Sprachausgabe komisch anhört.


    Bei der Luftfeuchtigkeit kann man ruhig "nach Zahl" nehmen das hört sich bei der Sprachausgabe gut an.


    Script:

  • Vielen Dank für eure Rückmeldungen.


    SMARTHOME ich würde bei der Temperatur nur ungern aufrunden. Eine Nachkommastelle finde ich schon nicht verkehrt.


    mera könntest du mir noch erklären was du da mit den beiden Datenpunkten "temp_garten" und vor allem "textalexa" machst? Dies scheint zu meinem Skript ein nciht unerheblicher Unterschied zu sein, da ich mich an den bereits bestehenden Datenpunkten und Funktionen bediene.

  • Also "textalexa" ist ein Datenpunkt der von verschiedene Triggern gefüllt wird und dann nach Aktualisierung, von Alexa vorgelesen wird. Dadurch brauch ich immer nur diesen einen Datenpunkt und kann für alle Ansagen, z. B. global die Lautstärke einstellen.



    bild-a2abbb-1546607283.jpg.html


    a2abbb-1546607283.jpg">bild-a2abbb-1546607283.jpg.html


    "temp_garten" ist der Schalter, der in einer Routine in der Alexa-App geschaltet wird wenn ich sage:

    "Alexa, wie ist die Temperatur im Garten?"

    ---dann wird "temp_garten" getriggert und die Ausgabe von Alexa vorgelesen.;)

  • Hallo an alle,

    Ich würde das gerne genauso nachbauen, aber scheitere am Einstieg. Vielleicht wären für mich die Screenshots schon ausreichend, die es hier ja leider nicht mehr gibt. Kannst Du mir helfen?

    Was für Objekte muss ich denn anlegen? Ein "Letzte Alexa" als Datenpunkt? Oder als Objekt?

    Vielleicht magst Du die Screenshots nochmal anhängen?

    Wäre Dir super dankbar! :saint:

  • Ich hab eine Routine in Alexa erstellt die das Wohnzimmer einstellt und Alexa sagt etwas...


    Aber ich find diese Routine nicht in IOBroker.

    Bei 13:45min sollte sie ja da sein, ist sie aber nicht ich hab dort keine Steckdosen, keine Routinen nichts. Nur den Echo und den Fire TV Stick ist das seit dem Alexa Adapter 2.4 anders?

  • Hi, Steckdosen usw. sollten im Ordner SmartHomeDevices unter Alexa 2.0 sein. Routinen im Unterordner Routines des Echos.

    Was meinst du mit Alexa Adapter 2.4?

    Es gibt den Adapter Alexa2 oder 2.0 mit der Version 2.2.

    2.4 sagt mir gar nichts.

    Hast du den Adapter mal neu gestartet und dann die Seite mit den Objekten neu geladen?

  • Liebe Gemeinde,

    ich kann meinem Echo Dot keinen Ton entlocken und frage mich, ob ich was übersehen habe.


    IOBroker läuft auf einem Raspi2B (gestern frisch installiert

    Alexa2.0-Instanz grün und die Geräte sind in den Objekten drin.

    Raspi-Instanz grün und zeigt mir die Temperatur an.


    Testskript- Schicke Nachricht wenn Raspi zu heiß an Pushover - das geht.


    on({id: "rpi2.0.temperature.soc_temp"/*rpi2.0.temperature.soc_temp*/, change: "ne"}, function (obj) {

    var value = obj.state.val;

    var oldValue = obj.oldState.val;

    if (parseFloat((obj.state ? obj.state.val : "")) > 20) {

    sendTo("pushover", "send", {

    message: 'Raspi2 zu heiss',

    sound: "siren",

    priority: 2,

    retry: 60,

    expire: 3600

    });

    }

    });


    Habe den Pushover-Befehl hiermit ersetzt, damit Alexa sagt, dass es zu heiß ist:


    if (parseFloat((obj.state ? obj.state.val : "")) > 20)

    {

    setState("alexa2.0.Echo-Devices.G090LF09651218SM.Commands.speak"/*speak*/, 'Hallo Raspi ist zu heiss');

    }

    Da ist aber leider nur Schweigen im Walde. Wo liegt mein Fehler - irgend jemand eine Idee?


    vielen Dank im Vorraus

    Ahzurdan


    KORREKTUR: Jetzt bekomm ich gleich nen Ast. Ich habe jetzt nicht meinen Echo Dot, der neben mir steht angesprochen sondern einen meiner Echos - und das hat tadellos geklappt. Warum zum Teufel? der hat genauso den Commands-Eintrag und außer dem Objekt habe ich nichts geändert.

  • Hi, versuche mal die Zeit im Timout zu erhöhen, von 500 ms auf 1 oder 2 Sekunden. Ich weiß ja nicht welchen Dot du hast. 2 oder 3 Generation? Ich kann nur anmerken das, weil ich einen Echo Show 2.Gen habe die Zeit bei mir auf 5 Sekunden erhöhen musste damit der zuverlässig ne Sprachausgabe macht, wenn er zuvor angesprochen wurde. Du kannst sonst auch versuchen nur den Ausgabebefehl für den Echo Dot zusätzlich zu verzögern, damit die anderen Echo nicht auch verzögert den Sprachbefehl ausgeben.