Uhrzeit und Datum in file schreiben

  • Hallo,


    Anmerkung:

    • gpiozero importierst du, nutzt es aber nicht.
    • `high` und `low` erwarten ein Argument `button`, bekommen aber keins übergeben.
    • Zeile 14/15 and 24/25 sind redundant und du solltest du Konfiguration des Loggers 1x zu beginnt machen. Gehört also in die Zeile 11.
    • Statt `subprocess.call` möchtest du vielleicht bessere das neuere (und empfohlenen) `subprocess.run` nutzen.
    • Grundsätzlich möchtest du vielleicht den Rückgabewert von `subprocess.call`auswerten, ob das wirklich geklappt hat. Die loggst zwar ein/aus, weiß aber nicht, ob es wirklich ein/aus ist. Bzw. bei `subprocess.run` würdest du das Argument `check=True` einbauen plus entsprechendes Exception-Handling.
    • Zeile 20 und 29 ist immer noch schlecht,, weil man andere Python-Skript i.d.R. nicht per `subprocess` ausführt. Importiere dir aus dem Skript was du brauchst und führe es dann aus.

    Gruß, noisefloor

  • Hallo Noisefloor,


    Danke fuer Deine Antworten, habe dazu einge Fragen.


    Geht den nur "from gpiozero import button" one zuerst "import gpiozero"?

    `high` und `low` erwarten ein Argument `button`, bekommen aber keins übergeben.

    def low(button):

    def high(button):

    button = Button(24, pull_up=True, hold_time=1) # Pin 18 GPIO 24 input (Kontak$

    button.when_released = low

    button.when_pressed = high versteh ich nicht warum er keines bekommen sollte. Wie muesste den das sein?


    Zeile 14/15 and 24/25 sind redundant, ich brauche doch bei steigender und fallender Flanke ein EIN oder AUS in den Log?

    subprocess.run werde ich testen.

    Zeile 20 und 29 ist immer noch schlecht, geht das auch mit subprocess.run?

    Gruss

    gwaag

  • Hallo,


    schau dir bitte mal deine Posts an, _bevor_ du sie abschickst und achte mal drauf, dass das auch lesbar ist, ohne sich den Kontext (Zitat? Code?) zusammen raten muss.


    Quote

    Geht den nur "from gpiozero import button" one zuerst "import gpiozero"?

    Ja, natürlich. Einmal importierst du "nur" button aus dem gpiozero Modul und einmal das komplette Modul. Das sind aber auch absolute Basics von Python, da solltest du vielleicht nochmal dringend das Python Tutorial konsultieren.


    Quote

    Zeile 14/15 and 24/25 sind redundant, ich brauche doch bei steigender und fallender Flanke ein EIN oder AUS in den Log?

    Ja, aber du brauchst den logger nur _1x_ einrichten, nicht bei jedem Log.


    Was du bei `button` sagen willst kann ich deinem schlecht formatierten Post leider nicht entnehmen.


    Und `subprocess` zum Aufrufen eines anderen Skripts ist i.d.R. immer falsch, völlig egal ob du `run` oder `call`oder ... verwendest. Wie oben schon gesagt: mach' dich mal dringend mit den Import-Mechanismen von Python vertraut, wenn du Python nutzt.


    Gruß, noisefloor