Kurze Skriptüberprüfung

  • Hallo,

    ich habe ein Skript geschrieben, dass sich um die Bewässerung einer Pflanze kümmern soll. Ich würde es gerne einmal posten und wer mit einen Tipp geben mag bezüglich irgendwelcher Fehler oder Verbesserungsvorschläge darf das gerne tun.


    Ich programmiere mit dem, was ich bisher gelernt habe und versuche die Tipps hier aus dem Forum, die ich bisher erhalten habe, anzuwenden.


    Das Programm soll, wenn es 8:00 Uhr - 21:59 Uhr ist und wenn die Erde zu trocken ist, Wasser pumpen, bis die Erde nicht mehr zu trocken ist. Ich würde das Programm dann mit cron alle 30 Minuten (o.ä.) laufen lassen.(Das habe ich aber noch nicht getestet)


    Die Pumpe hängt an einem relais und ein Soil Moisture Sensor gibt an, wann die Erde zu trocken ist.



    Ist das so in Ordnung, wie ich es geplant habe? Oder gibt es noch drigende Verbesserungen?


    Gruß, Tom

  • currentTime

    Variablen benennt man current_time.

    hour = currentTime.strftime('%H')

    Viel zu umständlich. datetime.datetime Objekte haben ein Attribut hour. Dann kannst du dir auch später das int(hour) sparen.

    while sensor.is_active == True:

    Bools und None niemals mit == oder != vergleichen, sondern mit is, is not oder einfach while sensor.is_active: (liest sich natürlicher).

    sensor.is_active == True:

    Selbes Spiel wie oben.

    else:
    pass

    Einfach weglassen, hat keinen Mehrwert.

  • danke vielmals.

    Viel zu umständlich. datetime.datetime Objekte haben ein Attribut hour.


    Ich hab es versucht hier nachzuschauen. Irgendwie komme ich auf datetime.time.([hour]). Habe auch vieles anderes probiert, aber bisher ohne erfolg. Was ist denn da der richtige Befehl?

  • Achtung aufpassen... Da bist du bei datetime.time gelandet. Ich meine das: https://docs.python.org/2/libr…ur#datetime.datetime.hour


    EVTL noch ein paar Konstanten einbauen.


    Sieht dann so aus: