Über Relais, überwachtes Netzwerkgerät, aus und einschalten

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Den Rückgabewert von ping könnte man mit 0 vergleichen, um ein bool als Ergebnis zu bekommen.

    Code
    return subprocess.call(cmd) == 0

    Wenn ein Ping erfolgreich war, ist der Rückgabewert 0

    Wenn er nicht erfolgreich war, ist der Rückgabewert 1


    Vergleicht man z.B. 0 mit 0, kommt ein True raus.


    Code
    ret_val = 0
    print(ret_val == 0)

    Um die Ausgabe von ping zu verhindern, muss man stderr (Standard-Fehlerausgabe) und stdout (Standardausgabe) nach DEVNULL umleiten.


    Code
    subprocess.call(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)


    Bevor man das macht, sollte man aber sicher gehen, dass auch alles funktioniert.

    Debug-Ausgaben können einem helfen. Wenn z.B. die Optionsschalter und Parameter falsch gewählt sind, bricht ping ab. Wenn man die Ausgabe aber bereits nach DEVNULL umgeleitet hat, bekommt man davon nichts mit.

  • Also Script wie es derzeit ist, läuft. Bin dabei das ich mir ein passendes Gehäuse Drucke und dann geht's auch schon in den live Betrieb.


    Also weitere Geschichte, hab ich vor das ich noch eine Status LED in Script einbaue, und eine Benachrichtigung per Mail, wenn das klappt, lad ich auch wieder das vollständige Script hoch, eventuell kann es ja noch jemand verwenden.


    Ich bedanke mich auf alle Fälle für die Unterstützung und bin froh meinen Rasperry Produktiv einsetzen zu können. (sonst wäre er sicher noch einige Zeit in der Ecke gelegen)