Hallo zusammen,
ich möchte gerne einen automatischen Versand eines Update-Check mit Telegram einrichten.
Hier mein at:
Internals:
CFGFN
COMMAND set fhem_bot message Updatecheck: . { fhem ("update check") }
DEF +*00:05:00 set fhem_bot message Updatecheck: . { fhem ("update check") }
NAME at_chkupd
NR 4565
NTM 21:01:30
PERIODIC yes
RELATIVE yes
REP -1
STATE inactive
TIMESPEC 00:05:00
TRIGGERTIME 1485115290.27492
TRIGGERTIME_FMT 2017-01-22 21:01:30
TYPE at
Readings:
2017-01-22 20:56:30 state inactive
Attributes:
Egal, wie ich es versuche (mit Semikolon, Punkt), immer wird der komplette Text (COMMAND) versandt.
Wo liegt der Fehler?
Noch einen schönen Sonntag.
Gruß
Hans-Ulrich
Das Perl wird nicht ausgewertet. Einfach komplett auf perl ebene wechseln
In set Befehlen muss für perl immer {( )} verwendet werden:
http://fhem.de/commandref.html#set (http://fhem.de/commandref.html#set)
Zitat von: igami am 22 Januar 2017, 21:33:15
Das Perl wird nicht ausgewertet. Einfach komplett auf perl ebene wechseln
Von Perl habe ich leider keine Ahnung. Verrätst Du mir bitte, wie es geht?
Hallo Hans-Ulrich,
kannst Du noch mal bitte genau sagen, was Du willst und was nicht geht?
Also wird was gesendet, was wird nicht gesendet und was soll gesendet werden?
Gruß Otto
DEF +*00:05:00 set fhem_bot message Updatecheck: . { fhem ("update check") }
Es macht überhaupt keinen Sinn, alle 5 Minuten ein update check auszuführen!
Ein Update wird nur einmal pro Tag bereitgestellt, und zwar morgens kurz vor 8 Uhr.
Also besser:
DEF *08:00:00 set fhem_bot message Updatecheck: . { fhem ("update check") }
Ein update check im 5 Minuten Rhythmus führt nur zu unnötigem Traffic auf dem Updateserver.
Meine Glaskugel sagt mir, dass DEF *08:00:00 set fhem_bot message Updatecheck: . { fhem ("update check") }
an der Stelle nicht funktioniert.
Mit meinen bescheidenen Kenntnisse war dieser Versuch erfolgreich:
DEF *08:00:00 {my $temp = 'Updatecheck: '.fhem "update check";; fhem "set fhem_bot message $temp";; }
Gruß Otto
Mir ging es nicht um den perl Code, sondern um die Sinnlosigkeit, den fhem Server alle 5 Minuten mit einem update Request zu bombardieren.
DEF *08:00:00 { CommandSet(undef, "fhem_bot message ".CommandUpdate(undef,"check")) }
funktioniert übrigens auch ;)
Zitat von: betateilchen am 23 Januar 2017, 20:06:19
Mir ging es nicht um den perl Code, sondern um die Sinnlosigkeit, den fhem Server alle 5 Minuten mit einem update Request zu bombardieren.
DEF *08:00:00 { CommandSet(undef, "fhem_bot message ".CommandUpdate(undef,"check")) }
funktioniert übrigens auch ;)
Ich bin völlig bei Dir!
Ich wollte dann doch wissen wie das mit dem Abgreifen der Ausgabe von update check geht :D
Deine Variante bietet mir wieder viel Stoff zum nachlesen. ;)
Gruß Otto
Zitat von: Otto123 am 23 Januar 2017, 11:05:57
Meine Glaskugel sagt mir, dass DEF *08:00:00 set fhem_bot message Updatecheck: . { fhem ("update check") }
an der Stelle nicht funktioniert.
Mit meinen bescheidenen Kenntnisse war dieser Versuch erfolgreich:
DEF *08:00:00 {my $temp = 'Updatecheck: '.fhem "update check";; fhem "set fhem_bot message $temp";; }
Gruß Otto
So klappt es bei mir. Vielen Dank!!