Hallo Zusammen,
ich habe ein Problem bzgl. der Weiterverarbeitung der Ausgabe eines Skipts.
Ich rufe ein Skript auf und möchte entsprechend der Rückgabe darauf reagieren.
Hier der Aufruf
sub DetectionStatus()
{
my ($MotionOnEingang)= qx(sh scanKamera/DetectEingangStatus);
#fhem("sleep 5");
fhem ("setreading MotionStatus Westen $MotionOnEingang");
if ($MotionOnEingang = "0")
{
fhem ("setreading MotionStatus Eingang stopped");
}
elsif ($MotionOnEingang eq "0")
{
fhem ("setreading MotionStatus Eingang stopped2");
}
elsif ($MotionOnEingang = 0)
{
fhem ("setreading MotionStatus Eingang stopped3");
}
elsif ($MotionOnEingang eq "1")
{
fhem ("setreading MotionStatus Eingang run1");
}
}
Das Skipt funktioniert. Die Rückgabe kann ich in ein dummy schreiben aber die if-Schleife ignoriert die Rückgabe.
Was ich sehe ist, dass die "Schrift" unterschiedlich ist von den Readings und auch doif nicht auf den Inhalt reagiert.
Wäre für jeden Tip dankbar!
Vielen Dank
Einfach mal Perl lernen. Und sich vor allem ansehen, wie die Vergleichsoperatoren lauten ...
LG
pah
Bevor es wieder heißt: "Danke für die Nicht-Hilfe" ;)
= ist eine Zuweisung
== Vergleich auf Gleichheit bei numerischen Werten
eq Vergleich auf Gleichheit bei Zeichenketten
Alles Weitere (wie geschrieben) suchen und lernen...
Gruß, Joachim
Hallo Joachim,
vielen Dank für die Unterstützung!!
Das wars, dake für die Erklärung!!!
@pah: War doch Anfängerforum? Ich wollte doch nicht den Papst fragen wie man Christ wird.
Schon mal etwas von "Hilfe zur Selbsthilfe" gehört? Der Papst wird auch nur sagen: Frage den Herrn.
pah