|
Das Solarforum von solar4me |
Solarthermie Steuerung - Thema: Wettergeführte Steuerung günstiger Eigenbau
Moderatoren in diesem Forum: Oli-F |
Klaus 
User

Beiträge: 6
zuletzt online: 20.01.2015 23:34 Uhr
 |
Wettergeführte Steuerung günstiger Eigenbau 20.01.2015 23:10 Uhr |
Hallo liebes Forum
Die Anlage läuft soweit, also kann man sich ja mal Gedanken um eine Erweiterung machen.
Ich habe vor meinen Raspberry Pi an die UVR anzuschließen und so die Wettervorhersage der zukünftigen 2 Tage in die Steuerung einfließen zu lassen.
So soll verhindert werden, dass die Heizung den Puffer "voll knallt", obwohl eigentlich die Solaranlage in wenigen Stunden auf hochtouren laufen wird.
Das Ganze soll so funktionieren:
Am RasPi hängen 2 Relais zwecks galvanischer Trennung und geben 3 Zustände an die UVR weiter:
1.Die nächsten 2 Tage werden schön: "nicht Heizen"
2. 1 Tag von 2en werden schön: "Puffer halb voll aufheizen"
3. 2 Tage schlechtes Wetter: "Puffer voll aufheizen"
Nun zur Software auf dem PI:
Es gibt da ein Plugin namens python-wether-api.
Programmiersprache also Python.
Mit dem Plugin lassen sich verschiedene Wetterparameter herunterladen und auswerten.
Ich persönlich werte in diesem Stadium die Vorschaublider aus, das erschien mir am einfachsten.
Denn jedes Bild entspricht einer Zahl, die ich mit einer Liste abgleichen kann. (In der Liste stehen also alle Zahlen die für wolkenlos stehen)
Habt ihr Verbesserungsvorschläge wie z.B. das einbeziehen von Temperaturen? |
Klaus 
User

Beiträge: 6
zuletzt online: 20.01.2015 23:34 Uhr
 |
Der CODE 20.01.2015 23:14 Uhr |
#!/usr/bin/python
import pywapi
import RPi.GPIO as GPIO
import string
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.setup(7, GPIO.OUT)
weather_com_result = pywapi.get_weather_from_weather_com('AUXXxxxx','metric')
x= string.lower(weather_com_result['forecasts'][1]['day']['icon'])
print x
y= string.lower(weather_com_result['forecasts'][2]['day']['icon'])
print y
if x in ('32','34','36'):
print('NICHT heizen')
GPIO.output(3, True)
GPIO.output(5, True)
elif x in ('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','33','35','37','38','39','40','41','42','43','44','45','46','47'):
if y in ('32','34','36'):
print('HALB heizen')
GPIO.output(3, True)
GPIO.output(5, False)
elif y in ('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','33','35','37','38','39','40','41','42','43','44','45','46','47'):
print('VOLL heizen')
GPIO.output(3, False)
GPIO.output(5, False)
else:
print('Error')
GPIO.output(3, False)
GPIO.output(5, False)
GPIO.output(7, True)
else:
print('Error')
GPIO.output(3, False)
GPIO.output(5, False)
GPIO.output(7, True)
Beitrag wurde 1 mal bearbeitet, zuletzt von Klaus am 20.01.2015 23:19 Uhr |
Klaus 
User

Beiträge: 6
zuletzt online: 20.01.2015 23:34 Uhr
 |
Re: Wettergeführte Steuerung günstiger Eigenbau 20.01.2015 23:21 Uhr |
Nicht schön aber funktioniert
Das ganze wird dann mit "cronjob" ein oder 2 mal pro tag ausgeführt und somit aktuell gehalten.
Ausserdem wir es einmal beim Neustart ausgeführt.
Anregungen oder Fragen?
Beitrag wurde 2 mal bearbeitet, zuletzt von Klaus am 20.01.2015 23:26 Uhr |
meilu
User

Beiträge: 19
zuletzt online: 24.06.2016 14:16 Uhr
 |
Re: Wettergeführte Steuerung günstiger Eigenbau 24.06.2016 9:18 Uhr |
Hallo Klaus,
erstmal hattest du eine tolle Idee
habe dein Listing abgetippt, und bekam etliche Fehlermeldungen
da Python seinbar recht genau mit dem einrücken von zeilen ist
bei letzten else block bekomme ich immer noch eine fehlermeldung
- ich bekomme jetzt als x 12 und y 30 zurück und keine Meldung wie er
heizen soll
- die temperaturen müssten auf alle fälle noch eingebunden werden
bei sonne und temp um den gefrierpunkt komme ich mit einem halben puffer nicht hin |
|
|