Syntaxproblem bei Erinnerungsfunktion & Enigma2-Modul

Begonnen von Michi240281, 08 Februar 2014, 19:42:10

Vorheriges Thema - Nächstes Thema

Michi240281

Hallo zusammen,

ich möchte gerne mit dem Erinnerungsmodul keine Mail verschicken sondern eine Nachricht auf dem TV ausgeben, die mich dann z.B. daran erinnert, den Müll rauszustellen.

Das hier ist der Code mit der Mailfunktion:

define events holiday
attr events room 6_EVENTS # optional
attr events group Events #optional
define CheckEventHeute at *20:00:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
  $Eventname = "Reminder: $EventHeute" ;;\
  FBMail('DeineEmailadresse',$Eventname,$Eventname);;\
}\
}


Den Befehl, den man nun statt FBMail('DeineEmailadresse' einbauen müsste, lautet:

set DM500HD msg message 60

Ich bekomme das aber programmiertechnisch einfach nicht hin. Die Events und das at tauchen auch im Frontend auf, jedoch wird zur angegebenen Zeit keine Nachricht verschickt. Hat jmd eine Idee?

Das hier kommt aus dem Log:

2014.02.08 14:48:00 5: exec at command CheckEventHeute
2014.02.08 14:48:00 3: CheckEventHeute: Unknown command {
, try help.
Unknown command my, try help.
Unknown command $EventHeute, try help.
Unknown command print, try help.
Unknown command if, try help.
Unknown command }
}, try help.
2014.02.08 14:48:00 5: redefine at command CheckEventHeute as *14:48:00 {
my $Eventname;
my $EventHeute;
$EventHeute = fhem("get events today");
print $EventHeute;
if ($EventHeute ne "none") {
  $Eventname = "Reminder: $EventHeute";
}
} set DM500HD msg message 30 $Eventname


Besten Dank im vorraus!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

fiedel

Ungetestet:


define events holiday
attr events room 6_EVENTS # optional
attr events group Events #optional
define CheckEventHeute at *20:00:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
  $Eventname = "Reminder: $EventHeute" ;;\
fhem("set DM500HD msg message 60");;\
}\
}


Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Michi240281

Leider nein!

Und man müsste ja auch noch das ,$Eventname,$Eventname mit einbauen.
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

fiedel

Hi Michi,

du musst natürlich erst mal testen, ob ein Befehl wie dein "set DM500HD msg message 60" in der Befehlszeile funktioniert.  Wenn das geht, baust du ihn in die Erinnerungsfunktion ein. Dan ist das mit den Variablen nicht mehr schwer.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Michi240281

Zitat von: fiedel am 09 Februar 2014, 08:45:43
Hi Michi,

du musst natürlich erst mal testen, ob ein Befehl wie dein "set DM500HD msg message 60" in der Befehlszeile funktioniert.  Wenn das geht, baust du ihn in die Erinnerungsfunktion ein. Dan ist das mit den Variablen nicht mehr schwer.

Gruß

Frank

In der Befehlszeile funktioniert er natürlich! Ich denke das Problem liegt an der richtigen Syntax, auch Klammersetzung etc.! Fhem meldet:

Unionen command: fhem("set
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

fiedel

#5
Jetz hab ich erst mal richtig hingeguckt - und ich kopiere den Quark auch noch... ;D

Mach mal so:


define events holiday
attr events room 6_EVENTS # optional
attr events group Events #optional

define CheckEventHeute at *20:00:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
  $Eventname = "Reminder: $EventHeute" ;;\
fhem("set DM500HD msg $Eventname");;\
}\
}



Die Attribute gehören natürlich unter und nicht in die nächste Def.
Das mit dem " fhem("set DM500HD msg $Eventname");;\" ist ungetestet. Da musst du probieren, wenn es so nicht geht. Ich kenne die Syntax für dein "DM500HD"- Modul nicht.

Viel Erfolg!

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Michi240281

Versteh nicht so ganz, was du meinst! Die Attribute standen doch unter der oberen und nicht IN der 2. Def?!?!?

Ich habs jetzt hinbekommen, und zwar so (falls es jmd interessiert/selbst benötigt):

define events holiday
attr events room Haus
attr events group Events
define CheckEventHeute at *12:50:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
  $Eventname = "Erinnerung: $EventHeute" ;;\ fhem("set DM500HD msg message 60 $Eventname");;\
}\
}
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

fiedel

Du hast ja so Recht... ??? Da hab ich mich beim zweiten mal verguckt.

Aber wichtig ist ja, was hinten dabei herauskommt!  ;)
Und dass man zufrieden ist, mit der Gesamtsituation... ;D

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423