"AT" erzeugt Logeintrag : -1

Begonnen von onkeloki, 09 Februar 2018, 20:13:18

Vorheriges Thema - Nächstes Thema

onkeloki

ich habe mehrere "at"s am laufen.
Die funktionieren auch alle so wie gewollt.
Ich finde aber etwas nervig dass mir das "at" bei jeder Ausführung einen log eintrag erzeugt, kann ich das irgendwie unterbinden?



das ist mein eins von mehreren ATs
+*00:01:00  {

my $s = Value("RM.AKTIV");

if($s eq "on"){
system("sudo tclsh /home/pi/MOWERTEST/automower/automower.tcl W_MODE_AUTO");
}
if($s eq "off"){
system("sudo tclsh /home/pi/MOWERTEST/automower/automower.tcl W_MODE_HOME");
}

}



die log sieht so aus:

.....018.02.01 02:06:50 3: RM.STEUERN: -1
2018.02.01 02:07:50 3: RM.STEUERN: -1
2018.02.01 02:08:50 3: RM.STEUERN: -1
2018.02.01 02:09:50 3: RM.STEUERN: -1
2018.02.01 02:10:50 3: RM.STEUERN: -1
2018.02.01 02:11:50 3: RM.STEUERN: -1
2018.02.01 02:12:50 3: RM.STEUERN: -1
2018.02.01 02:13:50 3: RM.STEUERN: -1
2018.02.01 02:14:50 3: RM.STEUERN: -1
2018.02.01 02:15:50 3: RM.STEUERN: -1
2018.02.01 02:16:50 3: RM.STEUERN: -1
2018.02.01 02:17:50 3: RM.STEUERN: -1
2018.02.01 02:18:50 3: RM.STEUERN: -1



JoWiemann

Das ist die Rückmeldung von system(). (-1) bedeutet allerdings, dass die Ausführung gescheitert ist. Da ist also im Aufruf noch etwas falsch.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

onkeloki

hmm komisch ich habe mehrere davon .. und die laufen alle durch melden trozdem -1

JoWiemann

Natürlich läuft das at durch, aber der Aufruf: "sudo tclsh /home/pi/MOWERTEST/automower/automower.tcl W_MODE_AUTO" scheitert.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

onkeloki

jain..

ich habe 3  AT am laufen
der erste "minütlich checkt den Status des Rasenmäher Robboter".. wenn dieser fest gefahren ist bekomme ich eine Push nachricht..
der zweite startet abends um 19 Uhr die Bewässerung (täglich)
der dritte schaut alle 2 stunden auf mein Konto ob lohn eingegangen ist und informiert mich via Push darüber.

alle dinge funktionieren einwandfrei..
abends geht die pumpe an
der Rasenäher beschwert sich wenn er festgefahren ist
um pünktlich gegen ende des Monats bimmelt meine Uhr..


wobei du recht hast .. der Rasenmäher und das Konto script erzeugt den log eintrag
und beide nutzen system()

allerdings "scheitert" der Befehl nicht, denn die scripts welche ich aufrufe tun was sie sollen .. das ist das was mich wundert

JoWiemann

Hm, dann ersetz doch mal system() durch qx(). Hier musst Du allerdings die "" weglassen. qx gibt Dir die Rückmeldung von sudo zurück. Vielleicht kommen wir dann mehr Informationen.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

onkeloki


justme1968

#7
einfach am ende des at einreturn undef;einbauen.

wenn eine funktion nicht explizit etwas zurück gibt ist die rückgabe automatisch der wert des letzen blocks. in einem fall eben das system.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

onkeloki

danke wieder etwas gelernt ;)

führe ich den befehl im terminal aus kommt ja auch keine Rückmeldung
habe nun auf qx umgestellt bisher auch keinen neuen störenden Eineintrag  mehr bekommen..

return undef

behalte ich aber auf jeden fall im hinterkopf kannte ich noch nicht