NEWS

TTS: Homematic => Alexa Echo


  • Starter

    Hallo!

    Ich mache gerade meine ersten Gehversuche mit IoBroker. Meine ursprüngliche Motivation war, dass ich aus einem Homematic Programm (CCU3) heraus eine TTS-Ansage auf meinem Alexa-Echo ausgeben will.

    Was ich bis jetzt hinbekommen habe:

    • IoBroker läuft unter Docker auf einer Synology NAS
    • hm-rpc Adapter ist jeweils für Homematic und HomeaticIP installiert / die Geräte und Systemvariablen meiner CCU werden angezeigt
    • hm-rega Adapter ist installiert und mit den beiden rpcs verknüpft
    • Cloud Adapter ist installiert / Sprachsteuerung der HM-Geräte über Alexa funktioniert
    • alexa2 Adapter ist installiert / TTS-Ausgabe über "speak" im Objektbrowser funktioniert

    Wo ich Hilfe benötige:

    Beim Schreiben von Scripten fehlt mir die grundlegende Programmierkompetenz.

    Kann mir jemand helfen ein lauffähiges Script (Aufruf durch Homematic-Programm?) zu erstellen, welches mir bei Änderung eines Gerätezustands oder Systemvariable einen beliebigen TTS-Text an IoBroker übergibt und auf meinem Echo ausgibt. Wahlweise mit Lautstärkeneinstellung.

    THX
    him96


  • Forum Testing Most Active

    @him96
    was genau soll denn angesagt werden ? (ausgelöst durch was ?)

    Ich habe hier einige Beispiele eingestellt, die gehen über ssml. (über speak geht aber auch, ist nur nicht so flexibel)


  • Starter

    Angesagt werden soll z.B. bei Zustandsänderung einer Variable, dass Waschmaschine fertig.

    Derzeit habe ich es über Home24 als tts auf ein altes Androidphone mit folgendem Programm gelöst:

    Waschmaschine.JPG

    Das Skript dazu sieht so aus:

    string url1="'http://192.168.178.153:50000/track=Intro.mp3'";
    string url2="'http://192.168.178.153:50000/tts=" # "Die Waschmaschine hat ihre Arbeit beendet'";
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null " # url1# ";wget -q -O /dev/null " # url2);
    

    Geht sowas mit IoBroker und tts auf Echolautsprecher?


  • Forum Testing Most Active

    @him96
    ja, Deine Systemvariable sollte ja in den ioBroker Objekten angezeigt werden, dann kannst Du die gleich nutzen.
    Vorausgesetzt Du hast das im rega aktiviert.

    Screenshot_20191127-203539_Chrome.jpg


  • Starter

    Systemvariablen sind aktiviert.

    Kannst du mir kurz aufzeigen, wie ich es mache, dass die Objektänderung den speak-Befehl ausgibt? Leider bin ich da völlig unbedarft...


  • Forum Testing Most Active

    @him96
    mache ich morgen gern, heute ist mein Rechner schon aus.


  • Starter

    Herzlichen Dank!


  • Starter

    Ich habe mittlerweile ein wenig mit blockly rumgespielt, bekomme aber kein lauffähiges Script hin.

    Wie würde folgendes Homematic-Script mit blockly aussehen (beispielhaft):

    Waschmaschine.JPG

    Die Variable Waschmaschine ist in IoBroker hm-rega.0.44881


  • Forum Testing Most Active

    @him96
    Oh, Mist, ich habe Dich vergessen...



  • @him96 du solltest hier mal nachlesen


  • Forum Testing Most Active

    @him96 sagte in TTS: Hommetic => Alexa Echo:

    dass die Objektänderung den speak-Befehl ausgibt?

    Als erstes solltest Du Dir überlegen ob Du die Scripte/Blocklys und die Programme auf der CCU vermischen willst ?
    Wenn Du die Sachen in ioBroker probierst, dann solltest Du das Programm auf der CCU vorübergehend deaktivieren, damit es nicht irgendwie doppelt ausgeführt wird. (außer wenn Du Die Systemvariable nutzen willst, das natürlich nicht)

    Für ioBroker nimmst Du einen Trigger, z.B. Deine Systemvariable. (ich habe Deine Systemvariable nicht, deshalb hier bei mir eine andere Systemvariable als Beispiel)

    Bildschirmfoto 2019-11-29 um 16.36.41.png

    oder, wenn Du nicht die Systemvariablen aus der CCU nutzen wills, dann einen anderen Trigger aus den Objekten den Du nutzen willst, hier z.B. eine Steckdose

    Bildschirmfoto 2019-11-29 um 16.36.46.png

    Da packst Du Deine Bedingung rein und was wann passieren soll, z.B.

    Bildschirmfoto 2019-11-29 um 16.42.49.png Bildschirmfoto 2019-11-29 um 16.43.24.png

    oder das gleiche, nur mit anderen Bausteinen

    Bildschirmfoto 2019-11-29 um 16.45.00.png Bildschirmfoto 2019-11-29 um 16.45.11.png

    dann das mache (was gemacht werden soll)

    Bildschirmfoto 2019-11-29 um 16.48.43.png

    Dann noch das Blockly starten und "probieren"

    Hier noch das Beispiel als Export.


  • Starter

    Danke erstmal … läuft fürs erste. Mal sehen wie sich die Lautstärkenänderung macht.

    Unbenannt.JPG

    Ich habe das Polling der hm-rega auf 1s gestellt damit die Ausgabe sofort kommt. Ist der kurze Intervall problematisch?

    Ich versuche mich jetzt mal noch an den andern Ansage-Skripten...


  • Forum Testing Most Active

    @him96 sagte in TTS: Homematic => Alexa Echo:

    Ich habe das Polling der hm-rega auf 1s gestellt damit die Ausgabe sofort kommt. Ist der kurze Intervall problematisch?

    das weiß ich nicht, könnte aber sein das es nicht so gut ist... Ich meine auch das die CCU das pusht. Das Polling ist nur dafür, wenn Du auf Deiner CCU ein Programm oder Variable änderst/erstellst, dann werden die abgeholt, ich denke dafür ist das Polling. Die Werte werden aber gepusht.

    Dein Blockly ist so auch nicht optimal, da Du zwei Mal den gleichen Trigger verwendest, kann das auch zusammengefast werden.

    Vorschlag:

    Bildschirmfoto 2019-11-29 um 18.03.29.png


  • Starter

    Neues Skript neue Problem 😞

    Das Script in HM:

    Unbenannt.JPG

    Blockly:

    Unbenannt.JPG

    Wie prüfe ich ZUSÄTZlICH noch die Systemvariablen "GutenMorgenAnsage erfolgt" und "Bett-Teilbelegung" ab?

    Wie kann ich nach der Ansage verzögert die Systemvariablen "GutenMorgenAnsage erfolgt" ändern?


  • Forum Testing Most Active

    @him96

    Als Trigger Baustein kannst Du auch den anderen Baustein nehmen und über das Zahnrad so viele einfügen wie Du willst. Einfach den Baustein Objekt ID nach rechts rein ziehen.

    Bildschirmfoto 2019-11-29 um 18.11.17.png

    Beim Falls gibt es das auch

    Bildschirmfoto 2019-11-29 um 18.11.40.png


  • Forum Testing Most Active

    @him96 sagte in TTS: Homematic => Alexa Echo:

    Wie kann ich nach der Ansage verzögert die Systemvariablen "GutenMorgenAnsage erfolgt" ändern?

    unter der erfolgten Ansage im mache Bereich (also direkt unter dem schreibe Baustein) Deine Variable verzögert steuern

    Bildschirmfoto 2019-11-29 um 18.21.16.png


  • Starter

    Läuft das Scripts so / ist es sinnvoll aufgebaut:

    Unbenannt.JPG

    Ich würde gerne nach dem TTS-Text noch

    alexa2.0.Echo-Devices.G090XXXXXXXXXXXXXX.Commands.weather

    einfügen. ObjektID wäre dann "weather". Was kommt bei "Wert" und wie bestimme ich da die Lautstärke?


  • Forum Testing Most Active

    @him96 sagte in TTS: Homematic => Alexa Echo:

    Läuft das Scripts so / ist es sinnvoll aufgebaut:

    nein und nein

    Trigger in Trigger geht nicht.

    Was soll denn wann passieren ? Bitte beschreibe was Du erreichen möchtest. Dein Blockly verstehe ich nicht.

    Und bitte schau Dir mal diese Videos an, die sind gut gemacht.

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


  • Starter

    Ich möchte, dass "Bewegungsmelder EG.MOTION" bei "ist wahr" auslöst

    aber "mache" nur erfolgt, wenn gleichzeitig

    Objekt "Bett-Teilbelegung" und "Objekt GutenMorgenAnsage" auf "unwahr" stehen

    => diese sollen also nur als Bedingung geprüft werden und nicht selbst auslösen


  • Starter

    Ich glaube so langsam komme ich rein...

    Habe es jetzt so umgesetzt:

    Unbenannt.JPG

    Nur die Wetterausgabe funktioniert so noch nicht.



Suggested Topics

  • 19
  • 22
  • 4
  • 11
  • 7
  • 6
  • 6
  • 22

1.2k
Online

32.2k
Users

38.9k
Topics

527.1k
Posts