Hallo,
ich komme einfach mit der Syntax nicht klar. Ich habe viel probiert und nichts klappt.
Ich will einfach das, was ein Shellbefehlt wie z.B. 'uptime -s' (gibt Datum und Zeit des letzten Systemstarts aus) ausgibt in ein Device als State geschrieben wird.
set LetzterSystemStart system('uptime -s')
Klar, so steht dann als state von LetzterSystemStart der Text "system('uptime -s')"
Ich hätte aber gern das dort, was 'uptime -s' auf Shellebne zurückgibt in LetzterSystemStart
Also wie muss das notify
defmod setLetzterStartSystem notify TestDummy1:on set LetzterStartSystem system('uptime -s')
richtig geschrieben werden?
Kennt jemand die Syntax
Schon gelesen https://fhem.de/commandref_DE.html#set oder https://fhem.de/commandref_DE.html#command ?
system ist eine Perl Funktion welche von einem Perlmodul zur Verfügung gestellt wird.
https://perldoc.perl.org/functions/system.html
Hallo,
ja, schon gelesen. Mir ist vollkommen klar, dass das so wie ich schrieb nicht geht. Geht auch nicht mit geschweiften Klammern, ... .
Ich finde einfach die Lösung nicht. Darum (und nur darum) habe ich es so einfach geschrieben.
Ich hoffe, dass wenn doch überall steht wie es richtig geht, mir einfach jemand mal die Klammern so setzt, dass es geht.
Also nicht nur, dass die Funktion aufgerufen wird, sondern auch das Ergebnis zurückgeschrieben wird.
Wenn ich dann nochmal lese, versteh ich vielleicht auch wo mein Fehler ist.
Danke Ralf
--
system() gibt nur den Erfolgsstatus zurück. qx() das Ergebnis des Funktionsaufrufs. Tausend mal im Forum erklärt.
Gesendet von iPhone mit Tapatalk
Grüße Jörg
set LetzterSystemStart {(qx/uptime -s/)}
Hallo Otto,
wollte immer mal Danke sagen, da ich so das Problem lösen konnte. So richtig ging das nicht, aber dann mit:
defmod setLetzterStartSystem notify global:INITIALIZED { my $result = qx "uptime -s";; fhem "setreading LetzterStartSystem state $result";; }
So habe ich dann immer im dummy LetzterStartSystem das letzte Startdatum der PI wie z.B. STATE = 2019-09-20 03:18:01
Und dann noch letzter Neustart der FHEM:
defmod setLetzterStartFHEM notify global:INITIALIZED {readingsSingleUpdate($main::defs{LetzterStartFHEM}, 'state', TimeNow(), 1)}
So habe ich dann immer im dummy LetzterStartFHEM das letzte Startdatum der FHEM wie z.B. STATE = 2019-10-19 01:39:10
Grüße Ralf
--