könnt ihr mir bitte helfen. Ich hab jetzt schon einige Variationen ausproiert bis jetzt hat nix geklappt.
Ziel ist es mir den Wert "temp_c" von Weather als Zahl sagen zu lassen.
define TA notify MeinWetter:temp_c.* {{ \
my $Temperatur = ReadingsVal("MeinWetter","temp_c",undef);;\
fhem("set MyTTS tts $Temperatur");;\
}
Danke
Mir fällt spontan eine { am Anfang zu viel auf.
ach ja... das ist mir auch schon aufgefallen - die hab ich auch immer rausgenommen. das ist nicht der Fehler das es nicht geht
irgendwo fehlt was. aber was?
Deine regex passt zu dem was auch im Eventmonitor angezeigt wird?
Kommt da evtl. noch ein Leerzeichen nach dem Doppelpunkt?
Außerdem sollte der von dir benötigte Wert bereits als Teil des Events direkt ins Notify geliefert werden: Stichwort $EVTPARTx (s. in den Hinweisen zu notify in der commandref (http://fhem.de/commandref_DE.html#notify))
geht bei mir so: set MyTTS tts Es sind [SensorAussen:tempText] Grad
Oder hast Du das Problem mit dem notify? Hast leider nicht geschrieben, was nicht geht...
:-X
Ich habe ein userReading tempText { my $val = (ReadingsVal("$name","temperature","Fehler")); $val =~ s/\./ komma /; return $val;}
Gruß Otto
Es passiert nix kein Ton. Ich weiß nicht ob alles so richtig ist (reinfolge,klaammern punkte usw..)
vielleicht kennt einer einer ander mpglichkeit den wert von temp_c sprechen zu lassen
Danke für eure Mithilfe
Funktioniert denn der tts-Teil an sich, wenn du ihn direkt in der Kommandozeile im FHEMWEB ausführst?
Die Dame hab ich im Griff :). Sie tut was ich ihr sage...
Und wie sieht nun das abzufangende Event für temp_c im Eventmonitor aus?
(auf zusätzliche Leerzeichen gecheckt?)
Du könntest auch mal den Teil
fhem("set MyTTS tts $Temperatur")
so anpassen, dass was zum Sprechen da ist, falls das ReadingsVal-Ergebnis tatsächlich undef sein sollte:
fhem("set MyTTS tts Die Temperatur ist $Temperatur")
Danke für euer Durchhalten :)
es klappt immer noch nicht.
ich hab jetzt als kontrolle 2 cods drinne
define MeinWetter notify MeinWetter:temp_c.* set MyTTS tts Temperaturdaten wurden neu geladen
Das funktioniert nach jedem Wetterupdate
define TA notify MeinWetter:temp_c.* { \
my $Temperatur = ReadingsVal("MeinWetter","temp_c",undef);;\
fhem("set MyTTS tts Die Temperatur ist $Temperatur");;\
}
Hier kommt kein Ton raus nicht einmal " die Temperatur ist"
als STATUS steht bei dem code der nicht funzt "active" bei dem anderes Datum+time
danke für die Hilfe
Zitat von: fuppking am 28 März 2016, 16:13:03
als STATUS steht bei dem code der nicht funzt "active"
Das bedeutet, dass das notify noch nie ausgeführt wurde und immer noch auf einen zur regex passenden Event wartet.
Steht denn im Log irgendwas dazu drin?
so nochmal getestet jetzt steht Date+time in allen beiden notifys.
aber quatschen tu sie immer noch nix....WARUM ????
2016.03.28 16:08:26 4: Text2Speech:sudo /usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/ace019befff249ae1bdea06cb8d1594a.mp3
Terminal type `unknown' is not defined.
2016.03.28 16:22:54 3: TA return value: Can't modify single ref constructor in scalar assignment at (eval 304) line 1, at EOF
syntax error at (eval 304) line 1, at EOF
2016.03.28 16:22:54 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.03.28 16:22:54 4: MyTTS: 0 => "Die Temperaturdaten wurde neu geladen
2016.03.28 16:22:54 4: Verwende TTS Spracheinstellung: Deutsch
2016.03.28 16:22:54 4: Text2Speech: Bearbeite jetzt den Text: "Die Temperaturdaten wurde neu geladen
2016.03.28 16:22:54 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: ace019befff249ae1bdea06cb8d1594a.mp3
2016.03.28 16:22:54 4: Text2Speech: cache/ace019befff249ae1bdea06cb8d1594a.mp3 gefunden, kein Download
2016.03.28 16:22:54 4: Text2Speech_CalcMP3Duration: cache/ace019befff249ae1bdea06cb8d1594a.mp3 hat eine Länge von 3 Sekunden.
2016.03.28 16:22:54 4: Text2Speech:sudo /usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/ace019befff249ae1bdea06cb8d1594a.mp3
Terminal type `unknown' is not defined.
2016.03.28 16:23:20 3: TA return value: Can't modify single ref constructor in scalar assignment at (eval 310) line 1, at EOF
syntax error at (eval 310) line 1, at EOF
2016.03.28 16:23:20 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.03.28 16:23:20 4: MyTTS: 0 => "Die Temperaturdaten wurde neu geladen
2016.03.28 16:23:20 4: Verwende TTS Spracheinstellung: Deutsch
2016.03.28 16:23:20 4: Text2Speech: Bearbeite jetzt den Text: "Die Temperaturdaten wurde neu geladen
2016.03.28 16:23:20 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: ace019befff249ae1bdea06cb8d1594a.mp3
2016.03.28 16:23:20 4: Text2Speech: cache/ace019befff249ae1bdea06cb8d1594a.mp3 gefunden, kein Download
2016.03.28 16:23:20 4: Text2Speech_CalcMP3Duration: cache/ace019befff249ae1bdea06cb8d1594a.mp3 hat eine Länge von 3 Sekunden.
2016.03.28 16:23:20 4: Text2Speech:sudo /usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/ace019befff249ae1bdea06cb8d1594a.mp3
Terminal type `unknown' is not defined.
2016.03.28 16:27:58 3: TA return value: Can't modify single ref constructor in scalar assignment at (eval 317) line 1, at EOF
syntax error at (eval 317) line 1, at EOF
2016.03.28 16:27:58 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.03.28 16:27:58 4: MyTTS: 0 => "Die Temperaturdaten wurde neu geladen
2016.03.28 16:27:58 4: Verwende TTS Spracheinstellung: Deutsch
2016.03.28 16:27:58 4: Text2Speech: Bearbeite jetzt den Text: "Die Temperaturdaten wurde neu geladen
2016.03.28 16:27:58 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: ace019befff249ae1bdea06cb8d1594a.mp3
2016.03.28 16:27:58 4: Text2Speech: cache/ace019befff249ae1bdea06cb8d1594a.mp3 gefunden, kein Download
2016.03.28 16:27:58 4: Text2Speech_CalcMP3Duration: cache/ace019befff249ae1bdea06cb8d1594a.mp3 hat eine Länge von 3 Sekunden.
2016.03.28 16:27:58 4: Text2Speech:sudo /usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/ace019befff249ae1bdea06cb8d1594a.mp3
Terminal type `unknown' is not defined.
2016.03.28 16:34:45 3: TA return value: Can't modify single ref constructor in scalar assignment at (eval 325) line 1, at EOF
syntax error at (eval 325) line 1, at EOF
2016.03.28 16:34:45 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.03.28 16:34:45 4: MyTTS: 0 => "Die Temperaturdaten wurde neu geladen
2016.03.28 16:34:45 4: Verwende TTS Spracheinstellung: Deutsch
2016.03.28 16:34:45 4: Text2Speech: Bearbeite jetzt den Text: "Die Temperaturdaten wurde neu geladen
2016.03.28 16:34:45 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: ace019befff249ae1bdea06cb8d1594a.mp3
2016.03.28 16:34:45 4: Text2Speech: cache/ace019befff249ae1bdea06cb8d1594a.mp3 gefunden, kein Download
2016.03.28 16:34:45 4: Text2Speech_CalcMP3Duration: cache/ace019befff249ae1bdea06cb8d1594a.mp3 hat eine Länge von 3 Sekunden.
2016.03.28 16:34:45 4: Text2Speech:sudo /usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/ace019befff249ae1bdea06cb8d1594a.mp3
Zitat von: fuppking am 28 März 2016, 16:40:43
2016.03.28 16:22:54 3: TA return value: Can't modify single ref constructor in scalar assignment at (eval 304) line 1, at EOF
syntax error at (eval 304) line 1, at EOF
So langsam gehen mir aber auch die Ideen aus.
Versuche mal bitte noch folgendes in deinem notify:
fhem('set MyTTS tts Die Temperatur ist '.$Temperatur)
Ich hab den Code jetzt mal anders gemacht
define TA notify MeinWetter:temp_c.* { \
my $Temperatur = ReadingsVal("MeinWetter","temp_c",undef);;\
fhem("set MyTTS tts Die Temperatur beträgt");;\
}
Normal soll wenn das update kommt dann nur sagen Die Temperatur betägt also kein Variabel $Temperatur nur Text
sogar das klappt nicht.
Sorry, aber jetzt bin ich mit meinem Latein am Ende! :-[
Zitatfhem("set MyTTS tts Die Temperatur beträgt");;\
kann nicht gehen, da die Temperatur fehlt
fhem("set MyTTS tts Die Temperatur beträgt $Temperatur");;\
Danke für eure Mithilfe der wurm scheit aber am \ am anfang und am Ende gewesen zu sein
define TA notify MeinWetter:temp_c.* {
my $Temperatur = ReadingsVal("MeinWetter","temp_c",undef);;\
fhem("set MyTTS tts Die Temperatur ist $Temperatur");;
}
kleiner Fehler mit Verzweiflungscharm
aber trotzdem supder vieln Dank
@franky08, den Rest des Threads hast du aber schon wahrgenommen?
Es kommt anscheinend gar keine Sprachausgabe, egal ob mit oder ohne Variable.
Zitat von: fuppking am 28 März 2016, 19:27:00
Danke für eure Mithilfe der wurm scheit aber am \ am anfang und am Ende gewesen zu sein
define TA notify MeinWetter:temp_c.* {
my $Temperatur = ReadingsVal("MeinWetter","temp_c",undef);;\
fhem("set MyTTS tts Die Temperatur ist $Temperatur");;
}
kleiner Fehler mit Verzweiflungscharm
aber trotzdem supder vieln Dank
Oh! :o
Das hätte mir eigentlich gleich auffallen sollen: Du bearbeitest die fhem.cfg direkt von Hand! ::)
Gewöhne dir besser an, alles direkt im WebIf zu bearbeiten, das vermeidet genau solche Probleme.
@Benni
Nö, hatte nur den Codeschnipsel mit der TTS Ausgabe gesehen :)
und ohne Worte:
ZitatDas hätte mir eigentlich gleich auffallen sollen: Du bearbeitest die fhem.cfg direkt von Hand! ::)
Gewöhne dir besser an, alles direkt im WebIf zu bearbeiten, das vermeidet genau solche Probleme.
GENAU!VG
Frank