Globalstrahlung / Sonnenschein-vorhersage

Begonnen von Freibeuter, 30 März 2014, 11:02:51

Vorheriges Thema - Nächstes Thema

Elektrolurch

Ok, ich habe Flachkollektoren.
zu 2.: Dazu habe ich bislang den yahho-Wetterbericht genommen: Condition =~m/heiter|sonnig|klar/ und damit sozusagen "vorausschauend" einfach die Soll-Temperatur für Heizkreis bzw. Warmwasser innerhalb tolerierbarer (einstellbarer) Grenzen abgesenkt.

Die Globalstrahlung wäre hinsichtlich der Detektierung einer Verschlechterung des Wirkungsgrades aus meiner Sicht interessant.
Gruß

Elektrolurch
configDB und Windows befreite Zone!

Tobias

Zitat von: SpenZerX am 09 Juli 2014, 19:46:51
Hier bekommt man auch prima Wetterdaten:

Für heute 13Uhr steht dort: 41
Aber was sagt mir diese Zahl??
Wo sieht man die Zahl auf der MeteoMedia Seite verbaut?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

SpenZerX

Das sind die Meteomedia Daten die es auf verschiedenen Seiten gibt.


zwischen 13:00 und 14:00   - 41 Minuten Sonne.


Hier unter Details:
http://www.meteocentrale.ch/de/europa/deutschland/wetter-wolfsburg-brackstedt/details/S103520/

leitronic

#33
Hier meine momantane Lösung, die anhand der Wettervorhersage morgens nur dann wenn keine Sonne erwartet wird den Boiler nachheizt. So kann die WW-Solaranlage bestens genutzt werden. Bei Bedarf kann mit einer Fernbedienung (FB_Boiler_laden) manuell nachgeheizt werden.
BoilerSperre und Zirkulation sind je ein Relais-Augang eines Homematik 4-Kanal Schaltmoduls.
BoilerSperre schaltet einen 500Ohm Widerstand parallel zum Boilerfühler, und simuliert so einen 100C° heissen Boiler.
Zirkulation schaltet die Warmwasserzirkulationspumpe. Diese benötigt ca. 2min (120sec) bis das warme Wasser bis zum letzten Hahnen im Haus gepumpt ist. Viel Spass beim Nachbauen!

#Yahoo Wetterdaten (ID anpassen)
define Wetter Weather 11223344 1800 de

#dummies
define Anwesend dummy
attr Anwesend setList on off
define Wach dummy
attr Wach setList on off
define Sonne dummy
attr Sonne setList on off

#Notifys
#Schaltet die Boilersperre für eine Stunde aus. So lange bekommt die Heizung die reale Boilertemperatur aufgeschaltet:
define N_Boiler_laden notify FB_Boiler_laden set BoilerSperre off;; define A_BoilerSperren at +01:00:00 set BoilerSperre on
#Bei neuen Wetterdaten entspechend dem code den dummy Sonne aktualisieren:
define N_Wetter notify Wetter {my $C=ReadingsVal("Wetter","code","0");;if(($C==30)||($C==32)||($C==34)||($C==36)||($C==37)||($C==44)||($C==47)){fhem("set Sonne on")} else {fhem("set Sonne off")}}

#at
#Die Zirkulationspumpe benötigt ca. 2min (120sec) bis das warme Wasser bis zum letzten Hahnen im Haus gepumpt ist.
define A_Wach at *6:30:00 set Wach on;;{if(Value("Anwesend") eq "on")) {fhem("set Zirkulation on-for-timer 120")}}
#
define A_Schlafen at *22:15:00 set Wach off
#Bei Anwesend alle 15min für 60s Zirkulationspumpe an:
define A_Zirkulation at +*00:15 {if((Value("Anwesend") eq "on")&&(Value("Wach") eq "on")) {fhem("set Zirkulation on-for-timer 60")}}
#Morgens nur wenn keine Sonne erwartet wird Boiler heizen:
define A_Boiler_heizen_7Uhr at *7:00 {if((Value("Anwesend") eq "on")&&(Value("Sonne") eq "off")){fhem("trigger FB_Boiler_laden on")}}
#Bei Sonnenuntergang Boiler heizen:
define A_Boiler_heizen_Sonnenuntergang at +*{sunset_rel(-3600,"16:00","20:00")} {if(Value("Anwesend") eq "on") {fhem("trigger FB_Boiler_laden on")}}

igami

Nachfolgend meine Lösung zur Berechnug der Sonnenstunden pro Tag.
Zuerst wird eine sub benötigt, welche die Tageslänge berechnet

sub lengthOfDay {
  my ($sr_hh, $sr_mm, $sr_ss) = split(":", sunrise_abs());
  my ($ss_hh, $ss_mm, $ss_ss) = split(":", sunset_abs());
  $_ = $_ / 60 for($sr_mm, $ss_mm);
  $_ = $_ / 60 / 60 for($sr_ss, $ss_ss);

  return ($ss_hh + $ss_mm + $ss_ss - $sr_hh - $sr_mm - $sr_ss);
}

Dann wird ein PROPLANTA device mit userReadings erstellt

defmod PROPLANTA PROPLANTA Gütersloh
attr PROPLANTA event-on-change-reading .*
attr PROPLANTA forecastDays 2
attr PROPLANTA group Umwelt
attr PROPLANTA icon weather_station_quadra
attr PROPLANTA room Außenbereich
attr PROPLANTA stateFormat T: temperature °C H: humidity % D: dewpoint °C
attr PROPLANTA suppressReading (dewPoint|durationFetchReadings|.+Icon|lastConnection|obsTime)
attr PROPLANTA userReadings fc0_sunshineHours:fc0_sun.+ {round(ReadingsVal($name, "fc0_sun", 100) / 100 * lengthOfDay, 1)}


In dem Reading fc0_sunshineHours stehen dann die Sonnenstunden für den aktuellen Tag.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED