Alexa Sprachausgabe eines Status, hier Temperatur

Leider scheitere ich mit Ausgage eineer TextToSpeech Alexa Ansage, nach
Taster-Aktivierung soll Alexa einen Satz samt Temperaturwert ausgeben

<?php

$Puffertemp = GetValueFloat(36623); 

if($Puffertemp >= 58 ) {
$text = '<speak><amazon:effect name="xx-loud">Die Temperatur des Pufferspeichers hat Badetemperatur.</amazon:effect></speak>';
ECHOREMOTE_TextToSpeech(17228, $text); 
 }   

else {
$text = '<speak><amazon:effect name="xx-loud">Die Temperatur des Pufferspeichers ist niedrig, vielleicht willst Du einheizen</amazon:effect></speak>';
ECHOREMOTE_TextToSpeech(17228, $text); 
    }   ;

Was mache ich falsch ?

Was kommt denn für ein Fehler?
Das letzte „;“ sieht falsch aus.

Grüße,
Kai

…Danke, aber das ist es ja - es kommt kein Fehler.
Es wird einfach der Text samt Variablennamen vorgelesen :slight_smile:

In dem Text hast du doch gar keinen Variablennamen.

Edit: Ah, du meinst die „Effekte“.
Muss das nicht so in der Art sein:

<speak><prosody volume="x-loud">Die Temperatur des Pufferspeichers hat Badetemperatur.</prosody></speak>

Grüße,
Kai

Sorry, da hatte ich tatsächlich den Code aus nem anderen Versuch kopiert - so, hier mit dem richtien Code-Schnipsel:


$Puffertemp = GetValueFloat(36623); 

$text = '<speak><amazon:effect name="xx-loud">Die Temperatur des Pufferspeichers beträgt '$Puffertemp' Grad Celsius.</amazon:effect></speak>';
ECHOREMOTE_TextToSpeech(17228, $text); 

DA kommt als Fehler ein unexpected…

Dir fehlen die Punkte in der Stringverkettung ;).

<?php

$Puffertemp = GetValueFloat(36623); 


$text = '<speak><amazon:effect name="xx-loud">Die Temperatur des Pufferspeichers beträgt.</amazon:effect></speak>';

$textlang = $text . $Puffertemp ;

ECHOREMOTE_TextToSpeech(17228, $textlang); 


Da meckert aber Alexa über Sprachausgabe: „Ich habe im Moment Schwierigkeiten den Simon Says EU Skill zu erreichen“

  • was mich noch ratloser zurücklässt…

so ist es ja auch nicht korrekt ;), aber so sollte es hoffentlich klappen


$text = '<speak><amazon:effect name="xx-loud">Die Temperatur des Pufferspeichers beträgt '.$Puffertemp.' Grad Celsius.</amazon:effect></speak>'; 

Hallo Gemeinde,

ich habe ein paar Ereignisse, welche ich gerne über Alexa ausgeben lassen möchte.
Das Ganze habe ich aber nicht über ein Script, sondern über die Variablen und Ereignisse geplant.

Der Text wird in an die richtige Stelle eingetragen, aber es fehlt irgendwie die Auslösung.
Wenn ich im WEB-Interface nachsehe, dann muss ich nur noch auf Enter drücken und der richtige Text wird ausgegeben.

Ich hab mal 2 Screenshots angehängt.

Was mache ich falsch, oder was fehlt?

VG
Der BEM

Als Aktion musst du „Auf Wert schalten“ auswählen, nicht „Auf Wert setzen“. Der Unterschied ist, dass beim Schalten auch die dazugehörige Aktion, also in diesem Fall die Ausgabe ausgeführt wird. Setzen verschiebt sozusagen die Tachonadel, wodurch das Auto noch lange nicht schneller wird, während Schalten das Gaspedal drückt.

Oh Suuuper. Das war ja einfach.

Scheint zu funktionieren.
DANKE.