Ist es irgendwie möglich, den Rückgabewert von get innerhalb der FHEM-Ebene auszuwerten, also etwa so:
setreading Datastore Cal_lastSum (get FHEM_Kalender summary f72u3flfd8ftr2p4ogooglecom)
oder muss man dazu grundsätzlich den Umweg über Perl und eine eigene Variable machen, also so:
{my $t = fhem("get FHEM_Kalender summary f72u3flfd8ftr2p4ogooglecom");fhem("setreading Datastore Cal_lastSum $t"}
(Die Code-Fragmente sind veranschaulichend gemeint und erheben nicht den Anspruch 100%ig korrekt zu sein)
Das selbe versuche ich auch gerade herauszufinden.
Bei mir geht es um etwas ähnliches wie:
my $return = fhem("set Licht on");
echo $return
Bei Misserfolg hat $return den String: "Please define Licht first" --> Okay, gut so.
Bei Erfolg jedoch passiert entweder nix, oder die Variable ist undefiniert.
Weiß Jemand wie ich Erfolg/Misserfolg feststellen kann?
ein erfolgreiches set hat (normalerweise) kein ergebniss bzw. keinen rückgabewert.
wenn als nichts zurück kommt ist kein fehler aufgetreten.
gruss
andre
Man kann das FHEM-Kommando in eine if-Bedingung stecken:
{my $set_command= fhem("_irgendein Kommando_");;
if(fhem("$set_command"))
{_wird ausgeführt, wenn das Kommando zu einer Fehlermeldung führt_}
else
{_wird ausgeführt, wenn das Kommando zu keiner Fehlermeldung führt_}
}
Aber das Kommando wird dabei ausgeführt. Man kann also nicht "trocken" testen.