FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: franky08 am 23 Juli 2014, 22:45:53

Titel: Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: franky08 am 23 Juli 2014, 22:45:53
Falls jemand mal die Sprachausgabe von aktuellem Datum und Uhrzeit auf dem Android Tablet realisieren möchte.  Benötigt WebViewControl (für ttsSay) siehe: http://forum.fhem.de/index.php/topic,10628.0.html

##############################################
#Sprachausgabe auf Android Tablet
#benötigt WebViewControl
#Frank D. 23.07.2014
##############################################
package main;

use strict;
use warnings;
use POSIX;
use CGI::Carp qw(fatalsToBrowser);

sub
myoutdateUtils_Initialize($$)
{
  my ($hash) = @_;
}

sub date_time()

{

my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat += 1;
$Jahrestag += 1;
$Jahr += 1900;

my @Wochentage = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
my @Monatsnamen = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);


my $datum_2 = sprintf("%s der %2d. %s %04d",
   $Wochentage[$Wochentag],
   $Monatstag,
   $Monatsnamen[$Monat-1],
   $Jahr,
);

my $zeit_1 = sprintf("%02d:%02d Uhr",
   $Stunden,
   $Minuten,
);


#return $datum_2;
#Sprachausgabe
  fhem "set androidTablet ttsSay $datum_2, $zeit_1";

 
}


1;


Mit der Änderung von fhem "set androidTablet ttsSay $datum_2, $zeit_1"; in "set MyTTS tts..." müsste die Ausgabe auch mit Text2Speech funktionieren, hab ich aber nicht getestet.

P.S. Version mit Ansage der Temperatur weiter unten in Antwort 7



VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: Rince am 29 Juli 2014, 15:36:30
Hm, ich würde ja tendentiell raten, einfach nur die Variablen Tag, Monat, Jahr, Stunden und Minuten zurück zu liefern.
Dann kann man das auch bequem in anderen Teilen von fhem nutzen, sowie sich seine Sprachausgabe selber zusammen basteln.
Unabhängig vom Modul das letztlich die Zeit anzeigt/spricht?
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 29 Juli 2014, 15:58:26
Hab mir das gebastelt, um mir nach dem Aufstehen und betreten des Wohnzimmers den Wochentag, Datum und Uhrzeit ansagen zu lassen. Da ich WebVievControl auf dem Tablet sowieso 24/7 laufen habe habe ich es für ttsSay geschrieben, sollte beim Aufruf von {date_time} aber auch mit myTTS tts funktionieren und ist durch die sub auch von fhem in anderen Teilen verwendbar.

Ist ja nur die Zeile:
fhem "set androidTablet ttsSay $datum_2, $zeit_1";

Oder wer den String braucht, mit return ($datum_2, $zeit_1)

zu ändern
VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 18 August 2014, 23:55:35
Nachtrag,

habe das ganze mit der Ausgabe der aktuellen Außentemperatur erweitert dabei wird bei
der Ausgabe über MyTTS (Text2Speech) leider kein "Komma" angesagt. Mit ttsSay geht es aber. Eigendlich benutzen ja beide Module die Google Engine. Habe das aber nicht weiter verfolgt, da sämtliche Sprachausgaben bei mir über ttsSay erfolgen.

VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: AbeamStart am 19 Oktober 2014, 13:32:27
Hallo Franky08,
könntest Du nochmal den Codeschnipsel posten bei dem auch die Temperatur drin vorkommt ich sehe hier nur Datum Uhrzeit
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: Puschel74 am 19 Oktober 2014, 15:12:40
Hallo,

der Betreff heisst ja auch Sprachausgabe von Datum und Zeit auf Android Tablet
Ich lese hier nichts was mit der Temperatur zu tun haben sollte.
Aber im anderen Beitrag hast du Antwort - es bringt nichts seine Frage breit zu fächern  ;)

Grüße
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: Ma_Bo am 11 Dezember 2014, 12:21:50
Hallo franky08, bekomme es bei mir nicht am laufen, habe deine pm datei in meinen Ordner FHEM kopiert, und neugestartet, aber er spricht immer nur "Dollar Datum Unterstrich 2" usw.

Was mache ich falsch ?

Grüße Marcel
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 13 Dezember 2014, 16:22:26
Hier nochmal die komplette sub, mit Ansage der Temperatur. Getestet nur mit ttsSay von WebViewControl:

##############################################

package main;

use strict;
use warnings;
use POSIX;
use CGI::Carp qw(fatalsToBrowser);

sub
myoutdateUtils_Initialize($$)
{
  my ($hash) = @_;
}

sub date_time()

{

my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
    $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat += 1;
$Jahrestag += 1;
$Jahr += 1900;

my @Wochentage = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
my @Monatsnamen = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);


my $datum_2 = sprintf("Hallo,guten Tag, heute ist %s der %2d. %s %04d",
   $Wochentage[$Wochentag],
   $Monatstag,
   $Monatsnamen[$Monat-1],
   $Jahr,
);

my $zeit_1 = sprintf("Es ist %02d:%02d Uhr",
   $Stunden,
   $Minuten,
);

my $temp=ReadingsVal('Temperatur_Garten','temperature','Fehler');


 
  fhem "set ViewSonic ttsSay $datum_2, $zeit_1, Die aktuelle Temperatur im Garten beträgt $temp Grad";
}


1;


VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 13 Dezember 2014, 16:27:33
@Ma_Bo

Wie machst du die Sprachausgabe, über ttsSay (WVC) oder über TTS? Mit ttsSay von WebViewControl sollte es funktionieren, mit TTS (Text2Speech) habe ich es NICHT getestet!


VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: Ma_Bo am 13 Dezember 2014, 17:09:29
Über ttsSay (WVC) , aber habe jetzt mal ein wenig getestet, läuft jetzt. ;)
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: tagedieb am 14 Dezember 2014, 11:54:38
Hallo Ma_Bo
ich habe das gleiche Problem mit der Sprachausgabe
Kannst Du mir bitte erklären, wie du es gelöst bekommen hast?

Danke im voraus
tagedieb
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 14 Dezember 2014, 12:18:32
@tagedieb
Hallo, was passiert wenn du in der Komandozeile {date_time} eingibst?

Und:
Zitat von: franky08 am 13 Dezember 2014, 16:27:33


Wie machst du die Sprachausgabe, über ttsSay (WVC) oder über TTS? Mit ttsSay von WebViewControl sollte es funktionieren, mit TTS (Text2Speech) habe ich es NICHT getestet!


VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: tagedieb am 14 Dezember 2014, 12:30:36
Hallo franky08

danke für deine Hilfestellung -
es passiert etwas eigenartiges Please define androidTablet first
mein fhem Befehl lautete jedoch set Kuechendisplay ttsSay $datum_2, $zeit_1
muss ich dieses "androidTablet" stellvertretend für meine Androidtablets installieren?


gruss tagedieb
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 14 Dezember 2014, 12:34:55
Nee  ;)
Bei mir hat das Teil den Namen androidTablet, den must du natürlich anpassen! Wenn das Teil bei dir "Kuechendisplay" heist.
Die letzte Zeile in der utils:

fhem "set ViewSonic ttsSay $datum_2, $zeit_1, Die aktuelle Temperatur im Garten beträgt $temp Grad";

ViewSonic mit Kuechendisplay ersetzen

Oder aus dem ersten Code androidTablet mit Kuechendisplay ersetzen:

fhem "set androidTablet ttsSay $datum_2, $zeit_1";
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: tagedieb am 14 Dezember 2014, 12:36:59
Hallo franky08

danke - ich habe es auch gerade gesehen und geändert - ES funktioniert ;D

vielen, vielen  Dank!!

ich wünsche einen schönen 3.Advent
gruss tagedieb
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet
Beitrag von: franky08 am 14 Dezember 2014, 12:38:47
Joh, gleichfalls einen schönen 3. Advent.

VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: hotwebnet am 26 Januar 2015, 16:33:46
Kann mir einmal bitte einer Helfen.......
habe die Datei 99_myout.....jetzt im edit file ordner stehen. wie kann ich das denn jetzt mit webviewcontrol verknüpfen....
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: franky08 am 27 Januar 2015, 22:47:52
Hallo die letzte codezeile in der utils ist für die Sprachausgabe zuständig:
#Sprachausgabe
  fhem "set androidTablet ttsSay $datum_2, $zeit_1";


"androidTablet" must du natürlich mit dem Namen deines Tablets, welches du in WVC definiert hast, ersetzen!

P.S. die "Verknüpfung" mit WVC ist doch über ttsSay schon gegeben, da must du nichts mehr machen.
P.S.2 und der Aufruf aus fhem heraus erfolgt durch Aufruf der sub, also {date_time}

VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: hotwebnet am 06 Februar 2015, 14:09:48
Ich habe auch noch einmal eine Frage........wann sagt es das ??? wenn du aufstehst....aber wie wird es aktiviert....??
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: franky08 am 06 Februar 2015, 15:34:21
Wird bei mir über einen Bewegungsmelder getriggert aber erst ab einer bestimmten Helligkeit (über at disable 0) ist und nach der Ansage wird das notify bis zum nächsten Morgen deaktiviert (disable 1)

VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: Jack_n am 23 Juni 2016, 10:27:27
Hallo,

bin blutiger Anfänger , könnte bitte Jemand ein Bespiel schreiben wie man den Code aus FHEM bei einem Notify aufruft?

Vielen Dank

Joachim
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: franky08 am 23 Juni 2016, 12:09:42
Hallo, welchen Code möchtest du aus einem notify aufrufen und wie soll notify getriggert werden?

VG
Frank
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: Jack_n am 23 Juni 2016, 12:59:38
Hallo Frank,

ich würde das zB. verbinden wollen mit dem Anschalten einer Lampe oder auch wenn ich mein LG TV anmache.

Den Part der Notify's verstehe ich inzwischen, aber ich weiss nicht wie es weitergehen muss, dass dann das Modul aufgerufen wird..

Das ist jetzt nur Pseudocode, ich weiss ja leider nicht wie es richtig aussehen muss..   :-\

define Zeitansage_WZ_Lampe_an notify WZ_Lampe set ttssay ZEITANSAGE

VG
Joachim
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: franky08 am 23 Juni 2016, 16:23:18
Hallo, du must mit dem notify die sub aufrufen. Also, wenn der Name der sub <date_time> lautet, dann rufst du das über
{date_time} auf.
Also

define Zeitansage_WZ_Lampe_an notify WZ_Lampe {date_time}

VG
Frank

P.S. ich würde WZ_Lampe noch ein regex spendieren, sonst löst das notify bei jedem Event von WZ_Lampe aus, z.B.

... notify WZ_Lampe:on {date_time} löst aus wenn die Lampe eingeschaltet wird
Titel: Antw:Sprachausgabe von Datum und Zeit auf Android Tablet (WVC)
Beitrag von: Jack_n am 23 Juni 2016, 18:45:57
Hallo Frank,

danke - jetzt hab ich's kapiert.    :)

Viele Grüße
Joachim