Ankündigung

Einklappen
Keine Ankündigung bisher.

Jalousie nach Sonnenaufgang und Sonnenuntergang steuern

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

    Jalousie nach Sonnenaufgang und Sonnenuntergang steuern

    Hallo EibPC-Nutzer,

    ich befasse mich gerade mit der Funktion des EibPC`s.

    Ich möchte gerne eine funktion realisieren, das bei Sonnenaufgang + Zeit (z.B 1h) die Jalousie hochfährt und bei Sonnenuntergang runter fährt.

    Wie muss dazu die "Funktion" aussehen ?

    Manuel

    #2
    Zitat von manu241 Beitrag anzeigen
    Ich möchte gerne eine funktion realisieren, das bei Sonnenaufgang + Zeit (z.B 1h) die Jalousie hochfährt und bei Sonnenuntergang runter fährt.
    if after(sun(),3600000u64) then write(GA Jalousie , AUS) endif
    if sun()==AUS then write(GA Jalousie , EIN) endif
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Hallo Michael,

      danke für deine Antwort, kannst du mir auch verraten warum ich 3600000u64 einsetzten muss ?

      Wenn ich GA,Aus schreibe, bedeutet das GA wird auf O gesetzt oder GA auf 1 ?

      Ansonsten müsste ich die Abfrage auf:

      if after(sun(),3600000u64) then write(GA Jalousie ,0) endif
      if sun()==AUS then write(GA Jalousie ,1) endif

      ändern, oder ?

      Manuel




      Manuel

      Kommentar


        #4
        Zitat von manu241 Beitrag anzeigen
        kannst du mir auch verraten warum ich 3600000u64 einsetzten muss ?
        after( Bedingung, Zeit )

        Zeit in ms --> 1h = 60u64 * 60u64 * 1000u64

        (60 (min) * 60 (sek) * 1000 ms)

        Gruß,
        Bernd

        Kommentar


          #5
          Zitat von manu241 Beitrag anzeigen
          Wenn ich GA,Aus schreibe, bedeutet das GA wird auf O gesetzt oder GA auf 1 ?

          Ansonsten müsste ich die Abfrage auf:
          if after(sun(),3600000u64) then write(GA Jalousie ,0) endif
          if sun()==AUS then write(GA Jalousie ,1) endif
          ändern, oder ?
          Manuel
          Das mit der Zeit hat Bernd schon beantwortet.
          Ich ergänze mal die Frage: Was mache ich wenn 1h VOR Sonnenaufgang die Rollladen hochgefahren werden sollen?


          EIN ist mit 1b01, AUS mit 0b01 definiert (Siehe S.154 im Handbuch). Ist also egal was du nimmst.

          Kommentar


            #6
            Zitat von MarkusL Beitrag anzeigen
            Das mit der Zeit hat Bernd schon beantwortet.
            Ich ergänze mal die Frage: Was mache ich wenn 1h VOR Sonnenaufgang die Rollladen hochgefahren werden sollen?
            GGf. mit azimuth und elavation arbeiten. Das wird aber was zum Nachdenken ...
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Hallo,

              danke für eure Hilfe !!!

              Dann werde ich es mal gleich testen.

              Manuel

              Kommentar


                #8
                Zitat von enertegus Beitrag anzeigen
                GGf. mit azimuth und elavation arbeiten. Das wird aber was zum Nachdenken ...
                Um den Rückgabewert für sun() festzulegen muss doch intern die Sonnenaufgangs- und untergangszeit berücksichtigt werden.

                <Featurewunsch>
                Warum also nicht zwei neue Funktion einführen? (Sorry, konnte mich nicht zurückhalten :-)
                getsunrisetime() / getsunsettime() oder kürzer sunrise() / sunset()
                Rückgabewerte sollten klar sein.

                Dann fehlen irgendwie noch Zeit-/Datumsoperationen wie datediff(timedate1, timedate2) und dateoffset (timedate, timedateoffset)

                Und damit wäre auch so was wie
                if datediff(sunrise(), now()) >= "-01h" then write(...) endif
                möglich.
                </Featurewunsch>


                Ich wünsche schon mal allen einen guten Rutsch ins Jahr 2010!!

                Natürlich euch (enertex) auch eine baldige Komponentenlieferung. Die 4 Stellen der Seriennummer reichen bestimmt nicht mehr lange...
                Da bin ich froh daß ich euer Superteil schon 2 Wochen verwenden kann!!

                Kommentar


                  #9
                  Zitat von MarkusL Beitrag anzeigen
                  Die 4 Stellen der Seriennummer reichen bestimmt nicht mehr lange...
                  OK, 4 Stellen nur lt. Aufkleber. Im Gerät habt ihr schon 8 Stellen...das reicht eine Weile...

                  Kommentar


                    #10
                    Zitat von MarkusL Beitrag anzeigen
                    Ich ergänze mal die Frage: Was mache ich wenn 1h VOR Sonnenaufgang die Rollladen hochgefahren werden sollen
                    Wenn egal ist, das es einen "kleinen" Fehler von bis zu drei Minuten gibt, kann man den Sonnenaufgang des Vortages um 23h verzögern...

                    Vom Azimuth hat man wenig, bezüglich einer gegebenen Zeitspanne vor Sonnenaufgang ändert er sich täglich. Die Elevation bringt einen da schon weiter, aber bezüglich einer gegebenen Zeitspanne vor Sonnenaufgang ändert auch sie sich mit der Jahreszeit, wenn auch nicht so deutlich.

                    Tatsächlich müßte man die Zeiten abfragen und damit rechnen können - letzlich müßte dies dann auch für ein beliebiges Datum möglich sein.

                    Ohnehin bin ich verwundert, das Datums- und Zeitberechnungen so eingeschränkt sind (gibt es sonst noch Programmier/Skriptsprachen, die das nicht können?). Auch vermisse ich die Möglichkeit, Zeit und Datum des Systems intern per Skript auf irgendeinen Trigger hin auf bestimmte Werte setzen zu können. Genau genommen kann man mit den 3-Byte-Werten (werden wohl nur für Zeit und Datum eingesetzt?) fast gar nichts machen! Diese Einschränkung verwundert mich sehr und ich hoffe jetzt einfach mal, das dies in folgenden Updates nachgebessert wird.

                    PS: Rolläden würde ich ohnehin nach Elevation und nicht nach Zeit steuern, denn es geht ja wohl um die Helligkeit, und die ist direkt davon abhängig.
                    Offiziell ist in Deutschland unter -6° Nacht, über 0° Tag und die Zeit dazwischen Dämmerung.
                    (Für die Astronomen ist es allerdings erst unter -18° dunkel genug...)
                    Tessi

                    Kommentar


                      #11
                      Zitat von Tessi Beitrag anzeigen
                      Wenn egal ist, das es einen "kleinen" Fehler von bis zu drei Minuten gibt, kann man den Sonnenaufgang des Vortages um 23h verzögern...
                      Gute Idee, aber wie soll das gehen?
                      Ich bekomme mit sun() ja keine Zeit, sondern der Rückgabewert ändert sich nur von 0->1 bzw- 1->0. Ich müsste dann bei Zustandswechsel die aktuelle Zeit speichern und für den nächsten Tag verwenden. Hmmm... zum testen irgendwie ungünstig, erst einen Tag warten zu müssen um die Sonnenuntergangszeit zu bekommen.

                      Dann nehme ich doch lieber -wie auch vorgeschlagen- die Elevation zur Steuerung.
                      Zitat von Tessi Beitrag anzeigen
                      PS: Rolläden würde ich ohnehin nach Elevation und nicht nach Zeit steuern, denn es geht ja wohl um die Helligkeit, und die ist direkt davon abhängig.
                      Stimmt, ein paar mehr Zeit-/Datumsfunktionen (siehe auch #8) wären schön...

                      Kommentar


                        #12
                        Datums- &amp; Zeitfunktionen

                        Ein paar Ideen/Anforderungen für euere lange Featureliste:

                        wochentag(<date>, xx) // xx=Parameter, ob nach US oder EU Norm berechnet werden soll.

                        year(), month(), day(), hour(),... // Ich weiss...mit settime(), setdate(), setimedate() und diversen String-Operation geht das auch; aber ich möchte es einfache/übersichtlicher haben :-)

                        Kommentar


                          #13
                          Zitat von MarkusL Beitrag anzeigen
                          Gute Idee, aber wie soll das gehen?
                          Ich bekomme mit sun() ja keine Zeit, sondern der Rückgabewert ändert sich nur von 0->1 bzw- 1->0. Ich müsste dann bei Zustandswechsel die aktuelle Zeit speichern und für den nächsten Tag verwenden.
                          Ich dachte eher an den Start eines stur 23h laufenden Timers, der dann die gewünschte Aktionen bei Ablauf auslöst...

                          Zitat von MarkusL Beitrag anzeigen
                          Hmmm... zum testen irgendwie ungünstig, erst einen Tag warten zu müssen um die Sonnenuntergangszeit zu bekommen.
                          Das ist prinzipiel richtig, aber zum Testen kann man den Timer ja auf deutlich kürzere Zeiten setzen, wenn das mit z.B. 1 Minute funktioniert, sollte es eigentlich auch mit 23 Stunden gehen...

                          Ein Problem könnte auftreten, wenn der Timer noch vor Ablauf neu getriggert werden sollte, also wenn man mehr als 23h57m verzögert...

                          Zitat von MarkusL Beitrag anzeigen
                          Dann nehme ich doch lieber -wie auch vorgeschlagen- die Elevation zur Steuerung.
                          Das dürfte die meisten Probleme vermeiden.
                          Tessi

                          Kommentar


                            #14
                            Zitat von Tessi Beitrag anzeigen
                            Ich dachte eher an den Start eines stur 23h laufenden Timers, der dann die gewünschte Aktionen bei Ablauf auslöst...
                            Ja das kann man dann eben mit dem after - Timer machen - der wird auch nicht neu getriggert (im Gegensatz zum delay- Timer)

                            Michael
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #15
                              Zitat von enertegus Beitrag anzeigen
                              Ja das kann man dann eben mit dem after - Timer machen - der wird auch nicht neu getriggert (im Gegensatz zum delay- Timer)

                              Michael
                              Wenn dann noch vor Ablauf von after ein neues Triggerevent kommt, wird dann quasi ein zweiter Timer gestartet oder geht dieses Triggerevent praktisch verloren? D.h. am nächsten Tag gibt es keine Aktion? D.h. es gibt dann nur alle zwei Tage eine Aktion?
                              Mfg
                              JH

                              Kommentar

                              Lädt...
                              X