__deets__ hat geschrieben: ↑Freitag 4. März 2022, 10:10
Und in den Code gehört vor dem if das Print mit repr für beide Werte. Lüfter und Temperatur. Nur dann kannst du sehen, was da mit den Bedingungen passiert.
Ich habe jetzt folgenden Code:
Code: Alles auswählen
Netzwerkschrankfile = "netzwerkschrank.txt"
with open(Netzwerkschrankfile) as file:
luefter = file.read().strip()
print(repr(luefter))
print(type(luefter))
print(repr(netzwerkschranktemp))
print(type(netzwerkschranktemp))
if luefter == "an" and netzwerkschranktemp < LOWER:
print("aus")
with open("netzwerkschrank.txt", "w") as file:
file.write("aus")
gpio.output(11, gpio.HIGH)
if luefter == "aus" and netzwerkschranktemp > UPPER:
print("an")
with open("netzwerkschrank.txt", "w") as file:
file.write("an")
gpio.output(11, gpio.LOW)
Zu deiner Frage noch, was dabei raus kommt:
Jetzt springt wird auch in die IF Anweisung gesprungen und es läuft eigentlich genauso, wie ich es mir vorgestellt hatte.
imonbln hat geschrieben: ↑Freitag 4. März 2022, 10:21
Ich denke, du hast dich da grundsätzlich verrannt.
Ja das dachte ich kurzzeitig auch... Aber jetzt läuft es.
imonbln hat geschrieben: ↑Freitag 4. März 2022, 10:21
Sicher einen Zustand in einer Datei zu speichern, ist etwas, das man können sollte und auch eine schöne Lektion im Umgang mit Zuständen in Dateien. Aber für eine Regelung ungeeignet. Sowas läuft immer Gefahr, dass durch ein Reset, ein anderes Programm oder was ganz anderes der Zustand in der Datei nicht mehr mit der Realität übereinstimmt.
Verstehe ich, aber ich weiß, dass kein anderes Programm je darauf zugreift.
Aber ich verstehe auch, dass es nicht die sauberste Lösung ist.
Ich werde das in nächster Zeit aber kontrollieren und sobald mir etwas auffällt, werde ich das auf jeden Fall nochmal versuchen umzubauen.
Einziges Problem sehe ich, wenn ich den PI Neustarte, dass ich keinen definierten Zustand habe, und ich dann mit dem Auslesen von dem Pin hängen bleibe.
Alles in Allem, vielen Dank für die Hilfe!