Ankündigung

Einklappen
Keine Ankündigung bisher.

Neue HA-Integration: Shadow Control

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

    Hallo Zusammen,

    ich werde den Code mit der Erklärung einstellen, sobald dieser komplett fertig ist.
    Und selbstverständlich mit Beschreibung etc. Wie sich das gehört.
    Scheint ja doch einige zu geben die den Baustein nutzen.

    Daher bis demnächst.

    Alex

    Kommentar


      Hallo miteinander

      Zitat von Triaalex Beitrag anzeigen
      Auf Basis des LBS 1445 für Edomi der Berechnung "Kurvenschwellenwert Sonnenschein" errechnet dies die notwendige Helligkeitsschwelle an Hand von 3 manuell konfigurierbaren Parametern.
      Das ist interessant. Den LBS kannte ich tatsächlich noch gar nicht aber das Problem haben wir hier auch. Wenn ich so drüber nachdenke, könnte ich das ja auch direkt in die Integration einbauen...
      Kind regards,
      Yves

      Kommentar


        Zitat von scw2wi Beitrag anzeigen
        oder sehe ich das falsch?
        Es gibt Leute die benutzen Home Assistant mit KNX ohne vorher Edomi benutzt zu haben. Werden immer mehr.

        Man kann es machen wie man will, aber wenn ich die Zeit Aufbringe das zu implementieren und hier zu veröffentlichen, dann kann ich auch einen Link zum Orignalthread mitgeben. Man will ja das es anderen hilft.



        Zitat von starwarsfan Beitrag anzeigen
        Hallo miteinander
        Das ist interessant. Den LBS kannte ich tatsächlich noch gar nicht aber das Problem haben wir hier auch. Wenn ich so drüber nachdenke, könnte ich das ja auch direkt in die Integration einbauen...

        Wäre schön, wenn man das optional machen könnte. Im original LBS wird der Brightness Threshold noch linear zwischen Winter und Sommer interpoliert.

        Code:
        function LB_LBSID_getDayBrightness($floor, $cap, $time)
        {
            if ($floor == $cap) {
                $brightness = $cap;
            } else {
                $diffDays = round((LB_LBSID_getNextDate() - $time) / 86400);
                LB_LBSID_debug(false, true, "Calculate Day Threshold: Next 21st of June is: " . date('d.m.Y', LB_LBSID_getNextDate()));
                LB_LBSID_debug(false, true, "Calculate Day Threshold: Today its: " . date('d.m.Y', $time));
                LB_LBSID_debug(false, true, "Calculate Day Threshold: Difference of days between these dates: $diffDays");
                $brightness = $floor + round(abs($diffDays - 183) * (($cap - $floor) / 183));
                LB_LBSID_debug(false, true, "Calculate Day Threshold: Calculated result Day Threshold: $brightness");
            }
            return $brightness;
        }​
        Eventuell bitte an die denken, die nicht auf der Nordhalbkugel sind. Sommersonnenwende Nordhalbkugel =~ 21.6, Südhalbkugel=~21.12

        P.S.: Mit "Cap"[SIC] ist sicher "Ceiling" gemeint.
        Zuletzt geändert von dhb2002; Gestern, 20:52.

        Kommentar


          Hallo miteinander

          Zitat von dhb2002 Beitrag anzeigen
          Wäre schön, wenn man das optional machen könnte.
          Ist quasi schon implementiert. Bin gerade am Tests schreiben...


          Zitat von dhb2002 Beitrag anzeigen
          Im original LBS wird der Brightness Threshold noch linear zwischen Winter und Sommer interpoliert.
          Oh, danke! Wird beachtet.


          Zitat von dhb2002 Beitrag anzeigen
          ​Eventuell bitte an die denken, die nicht auf der Nordhalbkugel sind. Sommersonnenwende Nordhalbkugel =~ 21.6, Südhalbkugel=~21.12
          Da stellt sich die Frage, ob man das irgendwie automatisch herausfindet. HA müsste das ja wissen. Jemand eine Idee?
          Kind regards,
          Yves

          Kommentar


            Zitat von starwarsfan Beitrag anzeigen
            Hallo miteinander

            Da stellt sich die Frage, ob man das irgendwie automatisch herausfindet. HA müsste das ja wissen. Jemand eine Idee?
            Latitude in der Südhalbkugel ist negativ. Steht in der configuration.yaml, aber leider keine Standard Entity. Muss ich mal nachdenken wie man das rausfischt.

            Edit: Habs gefunden: Latitude attribute in Zone.Home < 0 ist Südhalbkugel
            Zuletzt geändert von dhb2002; Gestern, 21:23.

            Kommentar


              Hallo dhb2002

              ich war der Annahme, dass der Code hier anders ist als im LBS:

              Zitat von dhb2002 Beitrag anzeigen
              Code:
              function LB_LBSID_getDayBrightness($floor, $cap, $time)
              {
              if ($floor == $cap) {
              $brightness = $cap;
              } else {
              $diffDays = round((LB_LBSID_getNextDate() - $time) / 86400);
              LB_LBSID_debug(false, true, "Calculate Day Threshold: Next 21st of June is: " . date('d.m.Y', LB_LBSID_getNextDate()));
              LB_LBSID_debug(false, true, "Calculate Day Threshold: Today its: " . date('d.m.Y', $time));
              LB_LBSID_debug(false, true, "Calculate Day Threshold: Difference of days between these dates: $diffDays");
              $brightness = $floor + round(abs($diffDays - 183) * (($cap - $floor) / 183));
              LB_LBSID_debug(false, true, "Calculate Day Threshold: Calculated result Day Threshold: $brightness");
              }
              return $brightness;
              }​
              Aber genau so ist das auch im LBS, den ich heute morgen heruntergeladen habe. Also was genau möchtest Du mir damit sagen?
              Kind regards,
              Yves

              Kommentar


                Zitat von starwarsfan Beitrag anzeigen
                Hallo dhb2002

                Aber genau so ist das auch im LBS, den ich heute morgen heruntergeladen habe. Also was genau möchtest Du mir damit sagen?
                Genau, direkter Cut & Paste aus den LBS. War vielleicht unglücklich unter deinem Zitat platziert. Das war an Triaalex gerichtet und sollte verdeutlichen das da was fehlt. Soweit ich das überblicke, war sein Code ohne die Sommer/Winter Interpolation und hat nur versucht den Tagesverlauf per Sinuskurve abzubilden.

                Ich kannte den LBS auch nicht. Kenne aber auch das Problem, den Brightness Threshold jahreszeitlich verändern zu müssen. Konnte den Code von Triaalex diesbezüglich gar nicht nachvollziehen und hab dann in den LBS geschaut und festgestellt, dass da was fehlt. Wen du ( starwarsfan) vom Original LBS ausgehst ist alles gut. Es ist sowieso die bessere Lösung es in die Shadow Control Integration mit aufzunehmen.

                Also vielen Dank an dich und Triaalex für den Denkanstoß

                Kommentar


                  Hallo miteinander

                  Zitat von dhb2002 Beitrag anzeigen
                  Es ist sowieso die bessere Lösung es in die Shadow Control Integration mit aufzunehmen.
                  So, bei mir auf dem Dev-System läuft jetzt dieser Stand. Mal schauen, wie sich das verhält.
                  Kind regards,
                  Yves

                  Kommentar


                    Zitat von starwarsfan Beitrag anzeigen
                    Mal schauen, wie sich das verhält.
                    Super.
                    Zitat von dhb2002 Beitrag anzeigen
                    Habs gefunden: Latitude attribute in Zone.Home < 0 ist Südhalbkugel

                    Wenn es bei dir zufriedenstellend läuft, kann ich gerne die Anpassung an die Südhalbkabel machen, schon aus reinem Eigeninteresse.

                    Kommentar


                      Hallo ?

                      Zitat von dhb2002 Beitrag anzeigen
                      Wenn es bei dir zufriedenstellend läuft, kann ich gerne die Anpassung an die Südhalbkabel machen, schon aus reinem Eigeninteresse.
                      Oh, danke für das Angebot aber das habe ich heute Morgen schon implementiert.
                      Kind regards,
                      Yves

                      Kommentar

                      Lädt...
                      X