Winkel der Sonneneinstrahlung ins Dachflächenfenster

Begonnen von mähschaf, 13 April 2021, 13:44:02

Vorheriges Thema - Nächstes Thema

satprofi

Zitat von: mähschaf am 13 April 2021, 13:44:02
Hallo,



Kurze Erläuterung:
Es gibt ein User-Attribut für die Dachneigung und eines für die Korrektur des Winkels nach Norden in °. Bei mir (Ausrichtung beim Gucken aus dem Fenster nach NNW) sind das -23°.



Viel Spaß mit dem Schnipsel,
Martin

Hallo.
Gehe ich richtig in der Annahme das NNO 23° sind, und S dann 180° ? SO wären somit -135° ?
Verstehe die Vorzeichen gerade nicht.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

mähschaf

#16
Hallo,

entschuldigung, ich habe die Frage gar nicht bemerkt.

N = 0°
NNO = 22,5°
NO = 45°
ONO = 67,5°
O = 90°
OSO = 112,5°
SO = 135° ... usw ...

SO wären also 135°. Funktionieren würde auch -225° - ist dasselbe. FHEM rechnet eh mit pi, ich glaube das heißt Bogenmaß oder so (rat, spekulier  ;)) ....

Das Problem mit dem hängenden KLF200 trat bei mir übrigens nach ca. 3 Monaten erstmalig auf. Ich habe es gelöst, indem ich eine AVM-DECT-Steckdose vor die KLF200 gesetzt habe:

Internals:
   DEF        ([Velux] eq "disconnected")
   ( set  FBDECT_KLF200 off) ( set FBDECT_KLF200 on ) ( set telegram message @#FHEM KLF200 disconnected -> restart )
DOELSE
   ( )
   FUUID      61bc4ceb-f33f-2b6d-8957-7e752c7dd73a1b20
   FVERSION   98_DOIF.pm:0.257560/2022-02-28
   MODEL      FHEM
   NAME       df_KLF200_disconnected
   NOTIFYDEV  global,Velux
   NR         494
   NTFY_ORDER 50-df_KLF200_disconnected
   STATE      cmd_2
   TYPE       DOIF
   VERSION    25756 2022-02-28 08:27:14
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1646485043.41352
           VALUE      cmd_2
   READINGS:
     2022-03-05 13:57:23   Device          Velux
     2022-03-05 13:57:23   cmd             2
     2022-03-05 13:57:23   cmd_event       Velux
     2022-03-05 13:57:23   cmd_nr          2
     2022-03-05 13:57:23   e_Velux_STATE   Logged in
     2021-12-19 19:17:50   mode            enabled
     2022-03-05 13:57:23   state           cmd_2
     2022-03-04 09:39:38   wait_timer      no timer
   Regex:
     accu:
     collect:
     cond:
       Velux:
         0:
           &STATE     ^Velux$
   attr:
     cmdState:
     repeatcmd:
       1800
     repeatsame:
       96
     wait:
       0:
         0
         5
         0
       1:
         0
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'Velux','STATE') eq "disconnected"
   do:
     0:
       0           set  FBDECT_KLF200 off
       1           set FBDECT_KLF200 on
       2           set telegram message @#FHEM KLF200 disconnected -> restart
     1:
       0           
   helper:
     NOTIFYDEV  global,Velux
     event      queueSize: 0
     globalinit 1
     last_timer 0
     sleepdevice Velux
     sleepsubtimer 0
     sleeptimer -1
     timerdev   Velux
     timerevent queueSize: 0
     triggerDev Velux
     DOIF_eventa:
       cmd_nr: 2
       cmd: 2
       cmd_event: Velux
       cmd_2
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: Velux
       state: cmd_2
     timerevents:
       queueSize: 0
     timereventsState:
       queueSize: 0
     triggerEvents:
       queueSize: 0
     triggerEventsState:
       queueSize: 0
   internals:
     all         Velux:STATE
   perlblock:
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   DbLogExclude .*
   DbLogInclude state
   do         always
   repeatcmd  1800
   repeatsame 96
   room       InputOutput->Velux,Obergeschoss->Arbeitszimmer
   wait       0,5,0:0


Jetzt startet die KLF200 mit jedem Neustart von FHEM ebenfalls neu, das finde ich aber ehrlich gesagt ganz gut.....
Der Vorteil des DOIF aus meiner Sicht: Auch bei längeren Ausfällen (z. B. Sicherung raus oder ähnlich) gibt FHEM nicht auf und startet die KLF200 regelmäßig noch mal neu.

edit: habe jetzt Benachrichtigungen für diesen Fred aktiviert  :-[

satprofi

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

maci

Sorry, aber ich komme mit dem überhaupt nicht klar.

Ich habe ein Dachfenster mit Ausrichtung von 127 Grad (OSO) und die Dachneigung ist 39 Grad.
Das Modul errechnet bei mir eine relativen Dachwinkel von -38,97 Grad um 11:17 Uhr.

Also wäre der Sonnenschutz jetzt offen. Tatsächlich scheint aber die Sonne intensiv rein.

Was heisst relativer Dachwinkel? Ich finde keine Erklärung dazu.

Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

mähschaf

Guten Abend maci,

der Codeschnipsel wurde für ein Dach gen Norden geschrieben, für ein Süddach muss der Dachwinkel "eingenordet" werden, siehe Antwort # 9.

ZitatDie Dachneigung musste ich "einnorden".. Ich habe ein Satteldach mit ca 40° Neigung und das Fenster auf der Südseite. Entsprechend ist die Neigung im Attribut 130°.

Geht es so besser aus?

LG,
Martin

maci

Guten Abend,

Wie kann eine Dachneigung eingenordet werden?
Ich kann die Ausrichtung des Fensters einnorden, aber eine Dachneigung kann ich mir schlecht vorstellen.

Mein Fenster ist eher Ostseitig. lt. einer Webseite für Solaranlagen -50 Grad wenn 0 Grad Süden ist.
Mit dieser Webseite habe ich das ermittelt. https://www.rechnerphotovoltaik.de/rechner/dachausrichtung
Wenn ich dann das auf Norden umlege komme ich auf 130 Grad
Wobei ich nicht weiß wo + und - ist. Wenn ich es so mache wie auf der Webseite, wären das -130 Grad.

ich im Netz gesucht, nach einnorden, aber da finde ich nichts, alles ist auf Süden ausgelegt, auch die Sonnenstandsrechner.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

satprofi

Zitat von: mähschaf am 13 April 2021, 18:44:48
Ja super, das läuft hier ja wie am Schnürchen.

Ich vermute allerdings (ohne Garantie), dass folgendes noch sicherer wäre:

defmod di_KLF200_Rolladen DOIF (\
(\
TL:elevation > TL:RelativerDachwinkel and TL:elevation > 0\
)\
(\
set Velux_0 pct 75;;\
) DOELSE(\
set Velux_0 pct 0;;\
)\
)


Ansonsten kann es sein, dass fhem denkt, die Sonne scheint ins Fenster, obwohl die Erde "dazwischen" steht. Klingt komisch, ist aber - glaube ich - so... ::)

Ich hoffe, so oder so ähnlich verknüpft man DOIF-Bedingungen...

Hallo.
also das funktioniert bei mir leider nicht. Fenster nach Süden,  Dachneigung 40°, aber Doelse schlägt um 5:40.zu.
DachkorrekturNord hab ich auf -180
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

mähschaf

N'abend!

Wenn ich nach dem Urlaub etwas Zeit habe, werde ich unterschiedliche Ausrichtungen (n/o/s/w) mal ausprobieren.

Damian

ZitatTL:elevation > TL:RelativerDachwinkel and TL:elevation > 0\


Was soll das für eine Syntax sein - von DOIF ist sie nicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

mähschaf

Stimmt, das ist natürlich Kappes. Sorry. Fundstelle war mit Hinweis versehen, dass ich zum damaligen Zeitpunkt nicht wusste, wie man DOIF-Bedingungen logisch verknüpft.

Ich verwende aktuell:

(([TL:elevation] - [TL:RelativerDachwinkel] > 5) && ([TL:elevation] > 0)

Da ich bei meinen Fenstern 5° als Grenze erkannt habe, die der Fensterrahmen "auffängt".

satprofi

hallo.
eigentlich fehlt ja die bewölkung, die werde ich von peoplanta noch einarbeiten. weil ohne sinne braucht kein rollo fahren
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

#26
Zitat von: mähschaf am 24 Juli 2022, 23:03:47


Ich verwende aktuell:

(([TL:elevation] - [TL:RelativerDachwinkel] > 5) && ([TL:elevation] > 0)



Hallo. Versteh die Formel nicht.
(Elevation - Dachwinkel)  Summe grösser 5 sollte Rollo runterfahren, oder? Was ist aber  der Rest ? Elevation grösser 0 als Bedingung?

Meine Rolladen fahren nämlich nicht mehr rauf, obwohl Dachwinkel im minus und Elevation auf 27 steht, also um 17:30 immer noch grösser als 5

Update,  19:05 relativer dachwinkel 11,42., elevation 12, jetzt gehen die Rollläden auf. Entweder stimmt meine dachkorrektur (180) nicht,  oder die Formel ist mir zu hoch.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Prof. Dr. Peter Henning

1. Das Modul Astro liefert die genaue Sonnenposition
2. Mit etwas Trigonometrie lässt sich der Einfallswinkel auf jede Fläche berechnen

Bei mir wird aus der Leistung der PV-Anlage und den Winkeln die Einstrahlung berechnet und die Rollläden in allen betroffenen Räumen angepasst.

LG

pah

ch.eick

#28
Zitat von: Prof. Dr. Peter Henning am 31 Juli 2022, 17:02:22
1. Das Modul Astro liefert die genaue Sonnenposition
2. Mit etwas Trigonometrie lässt sich der Einfallswinkel auf jede Fläche berechnen

Bei mir wird aus der Leistung der PV-Anlage und den Winkeln die Einstrahlung berechnet und die Rollläden in allen betroffenen Räumen angepasst.
Dazu gibt es auch bereits ein Funktion für die 99_myutils von Kölnsolar, ich kann sie nur gerade nicht finden :-)

EDIT: Über PV-Anlage Einstrahlung auf Gebäudeteile ermitteln
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

mähschaf

#29
Hallo und guten Morgen,

soooo, zurück aus Frankreich *sniff*

Wie versprochen habe ich mich mal noch etwas intensiver mit der Problematik beschäftigt. Die "Version 0.1" war offensichtlich doch nicht so perfekt wie gehofft, weshalb ich die Version 0.2 in Angriff genommen habe.

Dabei habe ich mich erinnert, dass man den Eintrittswinkel von Vektoren und Flächen mathematisch berechnen kann (das wurde in diesem Thread ja auch schon diskutiert). In der Schule hatte ich das mal vor langer Zeit, aber ich bin leider viel zu doof, das mal eben so herzuleiten. Zum Glück gibt es das Internet und hier (https://www.matheboard.de/archive/596587/thread.html) bin ich fündig geworden (Danke an dieser Stelle).

Man kann sich das wohl so vorstellen, dass von einem Punkt auf der Oberfläche des Fensters aus man einen Vektor zur Sonne und einen Vektor im rechten Winkel zur Fläche hat. Entsprechend scheint die Sonne in das Fenster, sobald dieser Winkel < 90° ist (ich habe bei mir 85° genommen, weil Fensterrahmen etc. den Lichteinfall schmälern). Bei > 90° scheint sie eben nicht hinein.

Die Berechnung (wie gesagt, nur abgeschrieben!):

ε = arccos[cos(β) cos(α) sin(γ) cos(δ)+cos(β) sin(α) sin(γ) sin(δ)+sin(β) cos(γ)]

α = azimuth
β = elevation
γ = Dachneigung
δ = KorrekturNord

Das in fhem übersetzt als Erweiterung des Twilight-Modules wäre:

Attributes:
   DachKorrekturNord -23
   Dachneigung 50
   userReadings Einfallswinkel { sprintf("%.2f", acos(cos(ReadingsNum($NAME,"elevation","0") * pi() / 180) * cos(ReadingsNum($NAME,"azimuth","0") * pi() / 180) * sin(AttrVal($NAME,"Dachneigung","0") * pi() / 180) * cos(AttrVal($NAME,"DachKorrekturNord","0") * pi() / 180) + cos(ReadingsNum($NAME,"elevation","0") * pi() / 180) * sin(ReadingsNum($NAME,"azimuth","0") * pi() / 180) * sin(AttrVal($NAME,"Dachneigung","0") * pi() / 180) * sin(AttrVal($NAME,"DachKorrekturNord","0") * pi() / 180) + sin(ReadingsNum($NAME,"elevation","0") * pi() / 180) * cos(AttrVal($NAME,"Dachneigung","0") * pi() / 180)) / pi() * 180 )}
   userattr   DachKorrekturNord Dachneigung


Dabei gilt für die DachKorrekturNord bei entsprechender Ausrichtung des Dachflächenfensters:

N = 0°
NNO = 22,5°
NO = 45°
ONO = 67,5°
O = 90°
OSO = 112,5°
SO = 135° ... usw ...

SO wären also 135°. Funktionieren würde auch -225° - ist dasselbe.

Einnorden etc. ist nicht mehr nötig (das ist aus meiner Sicht der Vorteil der Version 0.2)

Wichtig ist noch, dass die Sonne tatsächlich aufgegangen sein muss (elevation > 0).

Damit kann jeder sich seine Schaltungen bauen, als Beispiel ein DOIF:

DOIF (([myTL:Einfallswinkel] < 85) && ([myTL:elevation] > 0) (set Velux_3 pct 30 SILENT) DOELSEIF ((([myTL:Einfallswinkel] > 85) || ([myTL:elevation] < 0)) (set Velux_3 pct 100 SILENT)

Es ist auch möglich, die Helligkeit/Intensität etc. individuell in die eigenen DOIFs etc. einzubauen. Da muss aber jeder selber gucken, da jeder eine andere Voraussetzung hat. Auf die Anbindung des Velux-KLFs (weiter oben zu finden) möchte ich nicht weiter eingehen, da auch dies ein eigenes Thema darstellt.

Ich freue mich auf Tests und Rückmeldungen zur Version 0.2!

Eienen schönen Tag, schwitzt nicht zu viel und bleibt gesund!  8)
Martin

edit: logischer Fehler im DOIF
edit2: Umstellung in Version 0.2 von RelativerDachwinkel auf Einfallswinkel, siehe Post #38