FS20 - Hausautomatisierung - Teil 2

 

Beim Thema Hausautomatisierung gibt es immer etwas zu tun, deshalb gibt es hier nun die n√§chsten Denkanst√∂√üe f√ľr meine Leser :)

 

Text2speach im Client / Server Betrieb

Bei mir ist es so, das sich der Raspi nicht im Wohnzimmer (wo man sich am meisten aufhält) befindet, sondern in der ersten Etage. So ist die Reichweite zu allen Geräten am besten.

Einziger Nachteil: Die Sprachausgabe mit so wichtigen Information wie "Draußen sind es 12 Grad, drinnen 19,5 - Ich mache die Heizung an" oder "Du willst aus dem Haus gehen, hast aber vergessen die Fenster zu schließen" ist leider nicht zu hören.

Lösung: Auf meinem Wohnzimmer VDR läuft ebenfalls Fhem und wird durch den Raspi zur Sprachausgabe genutzt.

 

Auf beiden Geräten:

Show/Hidden bash code

View source
 
 
 
apt-get install mplayer
apt-get install mp3wrap
 
 
 
 

 

Dann noch die Datei /usr/sbin/visudo auf beiden Geräten anpassen (nano oder vim).

Einfach als letzte Zeile anhängen.

Show/Hidden bash code

View source
 
 
 
ALL     ALL = NOPASSWD: /usr/bin/mplayer
 
 
 
 

 

Auf dem Raspi in der fhem.cgf anpassen:

Show/Hidden bash code

View source
 
 
 
define MyTTS Text2Speech 192.168.0.31:7072
 
 
attr Text2Speech room Text2Speech;
 
 
 
 

 192.168.0.31 ist hierbei die IP meines Clients (VDR).

 

Auf dem Client (192.168.0.31) in der fhem.cgf anpassen:

Show/Hidden bash code

View source
 
 
 
attr global globalpassword fhempasswd;
define MyTTS Text2Speech hw=0.0;
attr MyTTS room Text2Speech;
attr MyTTS TTS_UseMP3Wrap 1;
attr MyTTS verbose 4;
 
 
set MyTTS tts "Fhem gestartet"
 
 
 
 

Mit aplay -l erhält man eine Liste der möglichen Audio Ausgabegeräte. hw=0.0 entsprechend anpassen.

 

Auf dem Raspi kann nun ein erster Test erfolgen:

Show/Hidden bash code

View source
 
 
 
set MyTTS tts Ab jetzt kann ich reden
 
 
 
 

 

In der Praxis kann dann so eine Ausgabe wie folgt auf dem Raspi eingebaut werden.

Hier ist mal die Batteriewarnung zu sehen:

Show/Hidden bash code

View source
 
 
 
define batterie_check notify .*:[Bb]attery.* { if("%" !~ m/ok/) {\
 system("/bin/batterie_mail.sh");;\
 system("/bin/wake_yavdr.sh");;\
 fhem('set MyTTS tts Batterie an');;\
 Log 3, "@: Batteriewarnung %";;\
 }\
}
 
 
 
 

Bei der zweiten und dritten Zeile handelt es sich um Shellscripte die eine Mail auslösen und den eventuell nicht eingeschalteten VDR per WakeOnLan wecken. Wenn er wach ist ließt er dann die Meldung vor.

Das Wecken mache ich allerdings nur bei dieser wichtigen Warnung.


Etwas unwichtiger, aber trotzdem lustig:

Show/Hidden bash code

View source
 
 
 
define Schalter_Flur_Licht notify FS20_e24b02 {\
if (Value("Lampe_Flur") eq "off") {\
 fhem("set Lampe_Flur on");;\
 fhem('set MyTTS tts Lampe im Flur an');;\
} else {\
fhem("set Lampe_Flur off");;\
fhem('set MyTTS tts Lampe im Flur aus');;\
}\
}
 
 
 
 

 

Diese B√ľcher kann ich dir noch empfehlen:

Zu dem Modul ist hier auch noch weiteres zu finden.

Den Witz des Tages vorgelesen bekommen? Hier zeige ich dir wie das geht!

Hier geht es weiter zu Teil 3. 

Dir hat das Projekt gefallen? Dann¬†Unterst√ľtze mich, damit ich weiterhin solche Projekte vorstellen kann!