Hauptmenü

notify Problem

Begonnen von fuppking, 28 März 2016, 12:22:02

Vorheriges Thema - Nächstes Thema

fuppking

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

Benni

Mir fällt spontan eine { am Anfang zu viel auf.

fuppking

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?

Benni

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)

Otto123

#4
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

fuppking

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

Benni

Funktioniert denn der tts-Teil an sich, wenn du ihn direkt in der Kommandozeile im FHEMWEB ausführst?

fuppking

Die Dame hab ich im Griff :). Sie tut was ich ihr sage...

Benni

#8
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")

fuppking

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

Benni

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?

fuppking

so nochmal getestet jetzt steht Date+time in allen beiden notifys.
aber quatschen tu sie immer noch nix....WARUM ????

Benni


fuppking



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



Benni

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)