Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000706 - Fassadenhelligkeit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS 19000706 - Fassadenhelligkeit

    Hallo miteinander,

    für die verschiedensten Arten der Beschattungsberechnung wird die Helligkeit auf der jeweiligen Fassade benötigt. Nun haben Wetterstationen i.d.R. drei Helligkeitssensoren in den Himmelsrichtungen Ost, Süd und West, die zugehörigen Fassaden befinden sich aber in den seltensten Fällen in genau den gleichen Himmelsrichtungen. Mit dem nun vorliegenden Baustein

    19000706 Fassadenhelligkeit v1.0

    kann für jeweils eine konkrete Fassade die zugehörige Helligkeit aus den beiden sie einschliessenden Helligkeitssensoren ermittelt werden.

    Hier zunächst der Doku-Text aus dem LBS:

    Dieser Baustein ermittelt aus den gegebenen Helligkeitswerten die ungefaehre Helligkeit auf der zwischen den Sensoren liegenden Fassade.

    <h2>Was macht der Baustein?</h2>
    Die Helligkeitseingaenge des Bausteins werden mit den Helligkeitswerten der beiden Helligkeitssensoren verbunden, welche eine Fassade
    einschliessen. Aus den ebenfalls gegebenen Azimut-Werten der beiden Helligkeitssensoren sowie dem Azimut der Fassade ermittelt der
    Baustein den Helligkeitswert auf der Fassade.

    Wichtig ist, dass die Eingaenge des Bausteins in der Reihenfolge des Uhrzeigersinn belegt werden! Befindet man sich virtuell an der
    Position der Wetterstation mittig auf dem Haus und schaut in Richtung der zu verwendenden Fassade, ist der erste Helligkeitssensor der
    Sensor links von der Fassade und der zweite Helligkeitssensor der Sensor rechts von der Fassade.

    <h2>Beschaltung der Eingaenge</h2>
    E1: Trigger
    Wird dieser Eingang mit einem beliebigen Wert beschrieben, wird der Baustein getriggert.

    E2: Debug Output
    Wird dieser Eingang auf 1 gesetzt, so schreibt der Baustein ausfuehrliche Debug-Logfiles. Default: 0

    E3: Helligkeitswert 1 (Lx)
    An diesem Eingang wird die aktuelle Helligkeit des ersten Sensors uebergeben. Dieser Wert kommt i.d.R. von einer Wetterstation.

    E4: Azimut Helligkeit 1 (°)
    An diesem Eingang wird moeglichst genau das Azimut des ersten Sensors uebergeben, also die Richtung in °, in welche dieser
    Sensor zeigt. Dabei entspricht 0° Norden, 90° Osten, 180° Sueden und 270° Westen. Default: 180 (Sueden)

    E5: Fassadenwinkel (°)
    Winkel resp. Azimut der Fassade, also die Ausrichtung der Fassade in Grad beim Blick von innen nach aussen. Eine genau
    nach Norden gerichtete Fassade hat ein Azimut von 0°, eine genau nach Sueden gerichtete Fassade von 180°. Der hier angegebene Wert
    muss sich zwischen den beiden Azimut-Werten der Helligkeitssensoren (E4/E6) befinden! Default: 225 (SuedWest)

    E6: Azimut Helligkeit 2 (°)
    An diesem Eingang wird moeglichst genau das Azimut des zweiten Sensors uebergeben, also die Richtung in °, in welche dieser
    Sensor zeigt. Dabei entspricht 0° Norden, 90° Osten, 180° Sueden und 270° Westen. Default: 270 (West)

    E7: Helligkeitswert 2 (Lx)
    An diesem Eingang wird die aktuelle Helligkeit des zweiten Sensors uebergeben. Dieser Wert kommt i.d.R. von einer Wetterstation.

    <h2>Beschaltung der Ausgaenge</h2>
    A1: Min Helligkeit
    A2: Avg Helligkeit Fassade
    A3: Max Helligkeit

    Changelog:
    1.0 (2017-06-02)
    - Initiale Version

    Noch einige weitere Erläuterungen:

    1. Triggern des Bausteines:
    Die Ausgänge des Bausteines werden nur dann beschrieben, wenn sich die Helligkeitwerte an E3 oder E7 ändern bzw. wenn der Baustein von Hand via E1 getriggert wird.

    2. Konfiguration:
    Der an E5 anzugebende Winkel der Fassade bezeichnet den Winkel resp. das Azimut rechtwinklig zur Fassade bei Blickrichtung von innen nach aussen. Bei einer Fassade nach Norden ist diese Angabe also 0°, Osten 90°, Süden 180° und Westen 270°.

    Hier die Zeichnung von rdeckard aus dem Beschattungssteuerunge-NG Thread:

    azimut.png

    Die Winkel resp. Azimute der Helligkeitssensoren E4/E6 sind ebenfalls auf diese Art und Weise anzugeben.


    3. Reihenfolge der Eingänge:
    Wichtig ist, dass die drei Azimut-Eingänge in ihrer Uhrzeigersinn-Reihenfolge konfiguriert werden. Bei Fassadenblickrichtung von innen nach aussen wird also E4 mit dem Azimut des Helligkeitssensors links der Fassade konfiguriert. Analog dazu E6 mit dem Azimut des Helligkeitssensors rechts der Fassade.

    4. Vorgehensweise des Bausteins:
    Der Baustein ermittelt die Helligkeit der Fassade basierend auf den beiden gegebenen Helligkeitswerten und der Position der Fassade dazwischen. Dazu ein Beispiel:

    Gegeben sei folgendes:
    • Sensor1 Azimut: 90° (Osten)
    • Sensor1 Helligkeit: 2000Lx
    • Azimut Fassade: 135°
    • Sensor2 Azimut: 180° (Süden)
    • Sensor2 Helligkeit: 4000Lx

    Damit befindet sich die Fassade genau mittig zwischen den beiden Helligkeitsensoren. Der ermittelte Helligkeitswert wird nun 3000Lx betragen. Hat die Fassade jedoch bspw. ein Azimut von 111°, ist sie "näher" am ersten Helligkeitssensor und damit beträgt die errechnete Helligkeit auf dieser Fassade 2467Lx.

    Disclaimer:
    Der Baustein wurde mit bestem Wissen und Gewissen erstellt und wird so wie er ist zur Verfügung gestellt. Ich übernehme keinerlei Verantwortung, wenn sich die Storen/Jalousien/Rollos/whatever nicht wie gewünscht bewegen und deshalb die geliebte Zimmerpflanze von der Sonne verbrannt wird oder im Schatten verkümmert.

    Jegliches Feedback zum Baustein ist jedoch sehr gern gesehen und wird nach Möglichkeit in aktualisierten Versionen des Bausteines einfliessen.



    Viel Spass mit dem Baustein! Ich freue mich über jegliches Feedback und Verbesserungsvorschläge aller Art.
    Zuletzt geändert von starwarsfan; 06.06.2017, 16:00. Grund: Updated azimut drawing
    Kind regards,
    Yves

    #2
    Hallo starwarsfan,
    da ich ein auch das Problem mit der Fassadenhelligkeit habe, und auf deinen Baustein gestoßen bin, hab ich mich darin etwas umgesehen.
    Ich hab mir im Vorfeld einfach den Sensor (MDT-Wetterstation) auf die Fassade ausgerichtet (nicht wie gefordert nach Süden) .
    (Meine Süd-Fassade Azimut=150) Das gibt jedoch das Problem, dass ich abends die Sonneneinstrahlumg am Sensor zu weit auf der Westseite habe, und so alle 3 Sensoren plötzlich (1-2h vor Sonnenuntergang) ähnlich hohe Werte liefern, obwohl nur der West-Sensor hohe Werte liefen sollt.

    Deshalb möchte ich deine Berechnung auf meine Raffstor-Steuerung (SmartHome) "portieren" :-)

    Wenn ich die Berechnung richtig verstanden habe läuft diese hier:

    Code:
    $resultingBrightness = ($brightness2 - $brightness1) * $azimutFacade / $azimut2 + $brightness1;
    Frage: Azimut sensor 1 (°) wird für die Berechnung gar nicht gebraucht?

    • Sensor1 Azimut: 90° (Osten)
    • Sensor1 Helligkeit: 2000Lx
    • Azimut Fassade: 135°
    • Sensor2 Azimut: 180° (Süden)
    • Sensor2 Helligkeit: 4000Lx

    Damit befindet sich die Fassade genau mittig zwischen den beiden Helligkeitsensoren. Der ermittelte Helligkeitswert wird nun 3000Lx betragen. Hat die Fassade jedoch bspw. ein Azimut von 111°, ist sie "näher" am ersten Helligkeitssensor und damit beträgt die errechnete Helligkeit auf dieser Fassade 2467Lx.
    wenn ich die Werte vom obigen Beispiel einmal einsetze:

    $resultingBrightness = ($brightness2 - $brightness1) * $azimutFacade / $azimut2 + $brightness1
    $resultingBrightness = (4000Lx-2000Lx) * 135°/180°+2000Lx = 3500Lx (nicht "Der ermittelte Helligkeitswert wird nun 3000Lx betragen")

    was mache ich falsch, bzw, hab ich in der Berechnung falsch verstanden?

    Gruß Ivan


    Kommentar


      #3
      Hallo Ivan

      Zitat von ivande Beitrag anzeigen
      Ich hab mir im Vorfeld einfach den Sensor (MDT-Wetterstation) auf die Fassade ausgerichtet (nicht wie gefordert nach Süden) .
      (Meine Süd-Fassade Azimut=150) Das gibt jedoch das Problem, dass ich abends die Sonneneinstrahlumg am Sensor zu weit auf der Westseite habe, und so alle 3 Sensoren plötzlich (1-2h vor Sonnenuntergang) ähnlich hohe Werte liefern, obwohl nur der West-Sensor hohe Werte liefen sollt.
      Als Übergangslösung ok aber auf Dauer in der Tat nicht so wirklich die Lösung.


      Zitat von ivande Beitrag anzeigen
      Wenn ich die Berechnung richtig verstanden habe läuft diese hier:

      Code:
      $resultingBrightness = ($brightness2 - $brightness1) * $azimutFacade / $azimut2 + $brightness1;
      Korrekt, so ist es.


      Zitat von ivande Beitrag anzeigen
      Frage: Azimut sensor 1 (°) wird für die Berechnung gar nicht gebraucht?
      ...
      was mache ich falsch, bzw, hab ich in der Berechnung falsch verstanden?
      Doch, Azimut1 wird natürlich auch gebraucht, aber nicht in der eigentlichen Berechnung. Von daher hast Du zwar die Berechnung verstanden, aber nicht wie der Baustein funktioniert.

      Der springende Punkt ist, dass das Gesamtsystem "auf 0" gedreht wird. Die gegebenen Werte werden gleichmässig so modifiziert, dass Azimut1 im Anschluss 0° ist. Damit geht Azimut1 in die Berechnung als "0" ein, taucht also gar nicht mehr auf.

      Im Code passiert das in der Funktion validateInput:

      Code:
      function LB_LBSID_validateInput($E)
      {
          ...
          // Rotate the whole system to start at 0°
          $facadeAzimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut"]]['value'];
          $brightnessSensor1Azimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut1"]]['value'];
          $brightnessSensor2Azimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut2"]]['value'];
      
          $resultingSensor1Azimut = 0;
          if ($brightnessSensor1Azimut > $brightnessSensor2Azimut) {
              $resultingSensor2Azimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut2"]]['value'] - $E[$GLOBALS["LB_LBSID_INPUT_Azimut1"]]['value'] + 360;
          } else {
              $resultingSensor2Azimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut2"]]['value'] - $E[$GLOBALS["LB_LBSID_INPUT_Azimut1"]]['value'];
          }
          if ($facadeAzimut > $brightnessSensor1Azimut) {
              $resultingFacadeAzimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut"]]['value'] - $E[$GLOBALS["LB_LBSID_INPUT_Azimut1"]]['value'];
          } else {
              $resultingFacadeAzimut = $E[$GLOBALS["LB_LBSID_INPUT_Azimut"]]['value'] - $E[$GLOBALS["LB_LBSID_INPUT_Azimut1"]]['value'] + 360;
          }
          ...
      }
      Kind regards,
      Yves

      Kommentar


        #4
        Danke, jetzt hab ich's verstanden :-)

        Mal schauen was die Raffstoren morgen aufspielen..
        Gruß Ivan

        Kommentar


          #5
          starwarsfan danke für den neuen LBS! Hört sich interessant an, nur wie ist das mit dem Trigger zu verstehen? D.h. Änderungen der Helligkeit löst nichts aus, ich muss den LBS z.B. minütlich triggern?

          EDIT: Vergiss es bitte, hatte nur die Hilfe gelesen, oben im 1. Beitrag steht die Antwort...

          Kommentar

          Lädt...
          X