FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: raspklaus am 28 März 2016, 14:58:38

Titel: Geburtstagsansage durch Sonos
Beitrag von: raspklaus am 28 März 2016, 14:58:38
Hallo zusammen,

über eine Auswertung des Googlekalenders lass ich mir die anstehenden Geburtstage anzeigen:

define Birthdaycheck notify Birthdaycheck {\
my $Birthday = "off";;\
my $name = "";;\
\
my $rcal= fhem("get Googlekalender text next 4");;\
my @events = split ("\n", $rcal);;\
my $tomorrow = strftime "%d.%m.%y", localtime(time + 86400);;\
\
foreach my $event (@events)\
{\
my @werte = split(" ", $event);;\
{Log 1, $werte[2]}\
if ($werte[0] eq $tomorrow)\
{\
  if ($werte[2] eq "Geburtstag")\
  {\
  {$Birthday = "on"}\
  {$name = $werte[3]}\
  {Log 1, $Birthday}\
  {Log 3, $werte[3]}\
  {Log 3, $name}\
  }\
  #elsif ($werte[2] ne "Geburtstag") {$Birthday = "off"}\
}\
}\
fhem("set Geburtstag $Birthday");;\
fhem("set Sonosbuero Speak 50 de Morgen hat XXXXXXX Geburtstag.");;\
fhem("set Name $name");;\
{Log 3, $Birthday}\
return;;\
}


Der name steht in einem Dummy als State:

define Name dummy
attr Name room Info


oder in der Variablen $name

Wie kann ich den Namen anstelle des XXXXXX im Speakbefehl integrieren ?

Ich habe bisher nur mit festen Sprachausgaben experimentiert

Danke für eure Hilfe

Klaus

Die Logeinträge sind noch vom Debugging drin
Titel: Antw:Geburtstagsansage durch Sonos
Beitrag von: justme1968 am 28 März 2016, 15:46:47
entweder [Name:state] oder $name.

die zweite variante verwendest du doch genau so schon in der nächsten zeile.

gruss
  andre