Ich versuche grade ein Zeitschaltuhr am Raspberry pi zu bauen um dort einige Dinge mit zu steuern.
Das funktioniert auch soweit wie ich mir das vorstelle bis auf einen endscheidenen Fehler!
so wie mein Code im moment geschrieben ist entsteht das Problem wenn man die Zeitschaltuhr von 21:00:00 Uhr Anschalten - 09:00:00 Uhr Ausschalten kommt es dazu das er nach 00:00:00 Ausschaltet.
hier der code:
Code: Alles auswählen
import mysql.connector
from datetime import datetime as DateTime
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# GPIO Pinbelegung
RELAIS_1_GPIO = 17
RELAIS_2_GPIO = 18
RELAIS_3_GPIO = 27
RELAIS_4_GPIO = 22
# Relaischaltung
GPIO.setup(RELAIS_1_GPIO, GPIO.OUT) # GPIO Modus zuweisen
GPIO.setup(RELAIS_2_GPIO, GPIO.OUT) # GPIO Modus zuweisen
GPIO.setup(RELAIS_3_GPIO, GPIO.OUT) # GPIO Modus zuweisen
GPIO.setup(RELAIS_4_GPIO, GPIO.OUT) # GPIO Modus zuweisen
zeit=DateTime.now().strftime('%H:%M:%S')
db = mysql.connector.connect(host='localhost', database='meineDB', user='user', password='pw')
cursor = db.cursor()
cursor.execute("select * from Zeitschaltuhr")
data = cursor.fetchone()
if data[0] < zeit and zeit < data[1]: # das Problem
GPIO.output(RELAIS_1_GPIO, GPIO.HIGH) # an steckdose1
GPIO.output(RELAIS_2_GPIO, GPIO.HIGH) # an steckdose2
GPIO.output(RELAIS_3_GPIO, GPIO.HIGH) # an steckdose3
GPIO.output(RELAIS_4_GPIO, GPIO.HIGH) # an steckdose4
print("licht AN")
print "Aktuelle Uhrzeit: " + zeit
else:
GPIO.output(RELAIS_1_GPIO, GPIO.LOW) # aus steckdose1
GPIO.output(RELAIS_2_GPIO, GPIO.LOW) # aus steckdose2
GPIO.output(RELAIS_3_GPIO, GPIO.LOW) # aus steckdose3
GPIO.output(RELAIS_4_GPIO, GPIO.LOW) # aus steckdose4
print("licht AUS")
print "Aktuelle Uhrzeit: " + zeit
# Ende der Verarbeitung
cursor.close()
# Abmelden
db.disconnect()
danke für die Hilfe
fG