Hey Leute,
ich bin jetzt nicht als Profi Progger hier unterwegs, aber ich möchte doch mal an und wann auch was lernen und hab mir einen Code zusammengebaut, um meine Zentralesteuerung meines Rollos um zusetzen.
Als erstes habe ich für jedes Zimmer und für jeden Zustand (Rauf oder Runterfahren) jeweils ein Script gemacht, aber das war mir klar, dass das nicht der Weißheit letzter Schluß war. Daher hab ich nun was rumprobiert und es kam was raus, wo ich denke ich kann stolz auf mich sein.
Aber hier nun der Code erstmal:
#!/usr/bin/python
# Rollosteuerung mit PiFace Digital
# erstellt am: 15.01.2017
# Version: 1.1
# importieren der benötigten Bib.
from time import sleep
import sys
import pifacedigitalio as p
p.init() # PiFace initialisiern
DELAY = 20 # Laufzeit in Sekunden
ort = sys.argv[1] # Parameter 1 der Variable "ort" zuweisen
zustand = sys.argv[2] # Parameter 2 der Variable "zustand" zuweisen
# Ort mit Relais Verknüpfen
relais = {"wz" : 0, "ez" : 2, "sz" : 4, "kiz" : 6}
# Funktion "rollo" definieren
def rollo(ort, zustand):
# Runter fahren
if zustand == "1":
# Fahr Relais Aktivieren, Richtungsrelais ist aus
p.digital_write(relais[ort],1)
sleep(DELAY)
p.digital_write(relais[ort],0)
sys.exit
# Rauf fahren
elif zustand == "0":
# Erst Richtigungsrelais schalten, dann Fahrrelais schalten
p.digital_write(relais[ort]+1,1)
p.digital_write(relais[ort],1)
sleep(DELAY)
p.digital_write(relais[ort]+1,0)
p.digital_write(relais[ort],0)
sys.exit()
# Funktion "rollo" mit Parameter aufrufen
rollo(ort, zustand)
Alles anzeigen
Ich hoffe man kann verstehen, was da Passiert, auch wenn der Hardwareaufbau im Detail nicht bekannt ist.
Michael
PS: vielleicht Hilft der Code anderen auch mal bei ähnlichen Ideen, daher hoffe ich mit vernünftigen und ausreichenden Kommentaren bestückt.