FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Brockmann am 15 Juli 2014, 12:12:38

Titel: Rückgabewert von get innerhalb von FHEM auswerten
Beitrag von: Brockmann am 15 Juli 2014, 12:12:38
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)
Titel: Antw:Rückgabewert von get innerhalb von FHEM auswerten
Beitrag von: ChristianKnorr am 15 August 2014, 13:53:17
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?
Titel: Antw:Rückgabewert von get innerhalb von FHEM auswerten
Beitrag von: justme1968 am 15 August 2014, 14:14:26
ein erfolgreiches set hat (normalerweise) kein ergebniss bzw. keinen rückgabewert.

wenn als nichts zurück kommt ist kein fehler aufgetreten.

gruss
  andre
Titel: Antw:Rückgabewert von get innerhalb von FHEM auswerten
Beitrag von: Brockmann am 15 August 2014, 14:40:41
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.