FTUI Widget Tts: Unterschied zwischen den Versionen
| K (catsort) | Ulm32b (Diskussion | Beiträge)   (EInstellbare Zeitansage eingefügt) | ||
| Zeile 59: | Zeile 59: | ||
| Zu jeder vollen Stunde wird jetzt die Zeit angesagt. | Zu jeder vollen Stunde wird jetzt die Zeit angesagt. | ||
| ===Einstellbare Zeitansage=== | |||
| Montag bis Freitag wird zu einer einstellbaren Zeit selbige angesagt. | |||
| <syntaxhighlight lang="html"> | |||
| defmod Sprachausgabe dummy | |||
| attr Sprachausgabe readingList Ist_aktiv | |||
| attr Sprachausgabe userReadings Ist_aktiv | |||
| defmod Sprachausgabe_Hauptschalter dummy | |||
| attr Sprachausgabe_Hauptschalter setList on off | |||
| defmod Sprachbefehl at *07:00 { if ( !($we) && Value("Sprachausgabe_Hauptschalter") eq "on" ) {fhem("set Sprachausgabe Es ist [Sprachbefehl:TIMESPEC]")}} | |||
| </syntaxhighlight> | |||
| <syntaxhighlight lang="html"> | |||
| <div data-type="tts" data-device="Sprachausgabe"></div> | |||
| 	<div data-type="checkbox" data-device="Sprachausgabe_Hauptschalter" | |||
| 	class="inline top-space" data-on-background-color="SeaGreen"></div> | |||
| 	<div data-type="label" class="inline" data-limits-get="Sprachausgabe_Hauptschalter:STATE" data-states='["on","off"]' data-colors='["SeaGreen","grey"]'>Zeitansage <u>Mo ... Fr</u> um</div> | |||
| <div data-type="datetimepicker" | |||
|      data-device="Sprachbefehl" | |||
|      data-datepicker="false" | |||
|      data-step="5" | |||
| 	 data-format="H:i" | |||
| 	 data-get="TIMESPEC" data-set-value="*$v" data-cmd="modify" | |||
| 	 data-limits-get="Sprachausgabe_Hauptschalter:STATE" data-states='["on","off"]' data-colors='["SeaGreen","grey"]' | |||
|      class="inline"></div> | |||
| </syntaxhighlight> | |||
| [[Datei:Zeitansage.png]] | |||
| Teile dieses Codes stammen aus [[FTUI_Beispiel_Datetimepicker_f%C3%BCr_Timer]]. | |||
| ==Links==   | ==Links==   | ||
Version vom 5. Mai 2018, 23:44 Uhr
Das TTS Widget ist ein Widget für FHEM Tablet UI, mit dem man eine Sprachansage ausgeben kann. Damit lassen sich z.B. Warnungen ausgeben oder der Wetterbericht ansagen.
Attribute
| Attribut | Beschreibung | Standard-Wert | Beispiel | 
|---|---|---|---|
| data-get | Reading, aus dem der angesagte Text ausgelesen wird | state | data-get="state" | 
| data-voice | Auswahl der Stimme | Deutsch Female | data-get="UK English Male" data-get="Chinese Female" | 
| data-pitch | Tonhöhe (Bereich 0 bis 2) | 1.0 | |
| data-rate | Sprachgeschwindigkeit (Bereich 0 bis 1.5) | 1.0 | |
| data-volume | Lautstärke (Bereich 0 bis 1) | 1.0 | 
CSS Klassen
Keine
Hinweise
- Nach der Ersteinrichtung oder Änderung einer Stimme kann die erste Sprachausgabe verzögert werden, da die Daten der Stimme über das Internet geladen werden müssen.
- Um eine kurze Pause zwischen zwei Worten zu erzeugen, z.B. um Hinweise deutlicher erscheinen zu lassen kann das Komma verwendet werden: set speak Bewegung,Haustür
Beispiele
Einfache Ansage
In FHEM einen Dummy definieren:
define speak dummy
Auf der gewünschten FTUI Seite ganz am Anfang nach dem <body> Tag das Widget einbauen:
<div data-type="tts" data-device="speak"></div>
In FHEM in der Eingabezeile eingeben:
set speak Guten Morgen
Jetzt sollte das Tablet "Guten Morgen" sagen. Das ganze lässt sich jetzt z.B. in notifys oder at-Befehle einbauen.
Zeitansage
Dummy definieren und Widget einbauen wie in Beispiel 1
In FHEM ein at definieren:
defmod EveryHour at +*01:00:00 {fhem ("set speak Es ist ".strftime('%H', localtime)." Uhr");}
attr EveryHour alignTime 00:00
Zu jeder vollen Stunde wird jetzt die Zeit angesagt.
Einstellbare Zeitansage
Montag bis Freitag wird zu einer einstellbaren Zeit selbige angesagt.
defmod Sprachausgabe dummy
attr Sprachausgabe readingList Ist_aktiv
attr Sprachausgabe userReadings Ist_aktiv
defmod Sprachausgabe_Hauptschalter dummy
attr Sprachausgabe_Hauptschalter setList on off
defmod Sprachbefehl at *07:00 { if ( !($we) && Value("Sprachausgabe_Hauptschalter") eq "on" ) {fhem("set Sprachausgabe Es ist [Sprachbefehl:TIMESPEC]")}}
<div data-type="tts" data-device="Sprachausgabe"></div>
	<div data-type="checkbox" data-device="Sprachausgabe_Hauptschalter"
	class="inline top-space" data-on-background-color="SeaGreen"></div>
	<div data-type="label" class="inline" data-limits-get="Sprachausgabe_Hauptschalter:STATE" data-states='["on","off"]' data-colors='["SeaGreen","grey"]'>Zeitansage <u>Mo ... Fr</u> um</div>
<div data-type="datetimepicker"
     data-device="Sprachbefehl"
     data-datepicker="false"
     data-step="5"
	 data-format="H:i"
	 data-get="TIMESPEC" data-set-value="*$v" data-cmd="modify"
	 data-limits-get="Sprachausgabe_Hauptschalter:STATE" data-states='["on","off"]' data-colors='["SeaGreen","grey"]'
     class="inline"></div>
Teile dieses Codes stammen aus FTUI_Beispiel_Datetimepicker_für_Timer.
