FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: kde-mgm am 21 Februar 2015, 13:05:25

Titel: persönliche Zeitansage
Beitrag von: kde-mgm am 21 Februar 2015, 13:05:25
Hallo zusammen,

ich habe mir das TTS Modul installiert und wollte eine persönliche Zeitansage gestalten (zwischen 08:00 bis 20:00).
Doch leider find ich es persönlich un-schick, für jede halbe Stunde solch eine Anweisung zu schreiben

-- z.B.

# xyz
define xyz at *08:30 set MyTTS tts Guten Morgen. Es ist jetzt 08:30 Uhr. attr xyz room !Zeit, !Voice
# abc
define abc at *09:00 set MyTTS tts Guten Morgen. Es ist jetzt 09:00 Uhr. attr xyz room !Zeit, !Voice
USW...


Hat jemand eine Idee wie ich das eleganter steuern kann?

LG, Jessica
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 13:53:28
Evtl. hilft dir dieser Beitrag weiter:

http://forum.fhem.de/index.php?topic=16634.0

Titel: Antw:persönliche Zeitansage
Beitrag von: kde-mgm am 21 Februar 2015, 14:00:16
Hi SSSleep,

Leider nein...
in meinem Fall geht es ja darum, zu jeder halben Stunde auch die entsprechende Uhrzeit anzusagen.


Hat jemand eine Idee?

LG, Jessica
Titel: Antw:persönliche Zeitansage
Beitrag von: marvin78 am 21 Februar 2015, 14:02:30
commandref -> Perl Specials.
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 14:05:18
Ja, das war nur der zyklische Aufruf.
Du könntest aber doch versuchen die zu "sprechende Uhrzeit" durch eine Variable zu ersetzen. Fhem hat bestimmt einen Kommando um die localtime zurück zu geben.
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 14:34:56
Hast du es?

Ich dachte so etwa:
{'Es ist jetzt '.$hour.':'.$min. ' Uhr.'}
Titel: Antw:persönliche Zeitansage
Beitrag von: kde-mgm am 21 Februar 2015, 14:39:29
Hi SSSleep,

danke für deine ausführliche Erklärung.
Jetzt habe ich es verstanden. Da das einzige Veränderliche die Uhrzeit ist, packen wir diese in eine Variable --> ok! Verstanden.

Ich werde mir mal die vorgeschlagenen perl specials anschauen und ggf heute umsetzen.

LG, Jessica
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 14:41:26
Kopiere doch die Codezeile von oben in deine Fhem-Kommandozeile.
Titel: Antw:persönliche Zeitansage
Beitrag von: kde-mgm am 21 Februar 2015, 14:45:02
Hi SSSleep,

ok.
habe ich gemacht = funktioniert (Der Satz und die Uhrzeit wird angezeigt).

Gebe ich jedoch set MyTTS tts {'Es ist jetzt '.$hour.':'.$min. ' Uhr.'} aus, spricht er die Variablen als "Dollar" und "min" aus..  :-)
Was kann ich hier tun?

LG, Jessica
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 15:12:21
das Modul erkennt wohl kein Perl-Code!?

Kennst Du diese Seite: http://www.fhemwiki.de/wiki/Wetter_vorlesen_lassen

...vielleicht kannst Du direkt die Funktion speak() verwenden. der at-Befehl erkennt ja Perl-Code.
Titel: Antw:persönliche Zeitansage
Beitrag von: kde-mgm am 21 Februar 2015, 16:03:15
Hi SSSleep,

erstmal Danke für deine sehr unterstützende Hilfe.

Ich habe den von Dir angegebenen Link verfolgt. Da ich (noch) kein Entwickler bin, werde ich wohl noch einige Zeit benötigen um die Seite/den Code zu verstehen und für meine Zwecke einzusetzen :-)


LG, Jessica
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 16:16:59
...bin auch kein Entwickler  ::)...deswegen kann ich dir auch keinen fertigen Codschnipsel geben. :-[

aber ich würde es mal in diese Richtung versuchen


define xyz at *+0:30 {speak("Es ist jetzt ".$hour. ":". $min. " Uhr" ,0)}
attr xyz alignTime 00:30


vielleicht auch erstmal nur mit:


{speak("Test" ,0)}


Die geschweiften Klammer teilen Fhem wohl mit, dass es sich dabei um PERL code handelt.
Titel: Antw:persönliche Zeitansage
Beitrag von: SSSleep am 21 Februar 2015, 16:24:36
..entschuldige, das war falsch...die Funktion speak() taucht ja im Wiki unten wieder auf.

...das hier ist es wohl:
define xyz at *+0:30 {fhem("set MyTTS"." tts "."Es ist jetzt ".$hour. ":". $min. " Uhr")}
Titel: Antw:persönliche Zeitansage
Beitrag von: kde-mgm am 23 Februar 2015, 09:43:53
Hi SSSleep,

Lieben Dank!
Ich habe ein wenig getestet und festgestellt, dass Wohl das Modul tts einen Fehler haben muss. Hintergrund: Manchmal werden die Zeiten richtig interpretiert, und manchmal fehlerhaft (Doppelpunkt wird als "zu" interpretiert. Ab und wird das Wort "template" ausgesprochen.. --> also sehr merkwürdig).
Ich werde diese Infos mal im Modul-Forum posten.

LG, Jessica
Titel: Antw:persönliche Zeitansage
Beitrag von: nesges am 23 Februar 2015, 11:44:06
fhem("set MyTTS tts Es ist jetzt $hour Uhr $min")
Titel: Antw:persönliche Zeitansage
Beitrag von: kde-mgm am 14 März 2015, 19:15:25
vielen Dank nesges!

LG, Jessica