FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: fuppking am 28 März 2016, 12:22:02

Titel: notify Problem
Beitrag von: fuppking am 28 März 2016, 12:22:02
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
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 13:44:14
Mir fällt spontan eine { am Anfang zu viel auf.
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 13:53:05
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?
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 14:08:33
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))
Titel: Antw:notify Problem
Beitrag von: Otto123 am 28 März 2016, 14:16:47
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
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 15:10:17
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
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 15:29:55
Funktioniert denn der tts-Teil an sich, wenn du ihn direkt in der Kommandozeile im FHEMWEB ausführst?
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 15:40:14
Die Dame hab ich im Griff :). Sie tut was ich ihr sage...
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 15:47:21
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")
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 16:13:03
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
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 16:19:25
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?
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 16:24:44
so nochmal getestet jetzt steht Date+time in allen beiden notifys.
aber quatschen tu sie immer noch nix....WARUM ????
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 16:31:50
Zitat von: Benni am 28 März 2016, 16:19:25
Steht denn im Log irgendwas dazu drin?
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 16:40:43


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


Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 17:06:39
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)
Titel: Antw:notify Problem
Beitrag von: fuppking am 28 März 2016, 17:21:27
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.


Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 19:19:43
Sorry, aber jetzt bin ich mit meinem Latein am Ende!  :-[
Titel: Antw:notify Problem
Beitrag von: franky08 am 28 März 2016, 19:22:48
Zitatfhem("set MyTTS tts Die Temperatur beträgt");;\

kann nicht gehen, da die Temperatur fehlt

fhem("set MyTTS tts Die Temperatur beträgt $Temperatur");;\
Titel: Antw:notify Problem
Beitrag 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
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 19:27:46
@franky08, den Rest des Threads hast du aber schon wahrgenommen?

Es kommt anscheinend gar keine Sprachausgabe, egal ob mit oder ohne Variable.
Titel: Antw:notify Problem
Beitrag von: Benni am 28 März 2016, 19:29:37
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.
Titel: Antw:notify Problem
Beitrag von: franky08 am 28 März 2016, 19:35:49
@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