Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe: Ablauf für Abwesenheitssteuerung

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

    #16
    Hallo enertegus,

    als erstes mal noch ein gesundes und erfolgreiches Neues Jahr.
    Ich hoffe ihr seit gut über die Feiertage gekommen.

    Ich möchte mich gerne erkundigen, ob du dir meinen Fall vor Weihnachten schon hast anschauen können?

    Vielen Dank und viele Grüße
    Jens

    Kommentar


      #17
      Zitat von jjmargis Beitrag anzeigen
      Hallo enertegus,
      als erstes mal noch ein gesundes und erfolgreiches Neues Jahr.
      Vielen Dank!
      Ich möchte mich gerne erkundigen, ob du dir meinen Fall vor Weihnachten schon hast anschauen können?
      Es ist im Makro die Variable Name^Sonnenaufgang definiert. (In deinem Fall müsstest Du im Debugger die Variable SonnenaufgangSonnenaufgang
      sehen. Diese wird bei Dir 120 Minuten nach Sonnenaufgang gesetzt. Theoretisch könnte hier beim Einspielen eine Überschneidung passieren. Schau mal nach 2 Stunden nach dem Einspielen, auf welchem Wert die Variable steht.
      Die Überschneidung sollte dann aber nur einmal passsieren und dann auch nur abhänig, wann Du das Programm einspielst und am nächsten Tag funktionieren. Klar, dass hier was nicht abgefangen wurde. Wenn mein aktueller Test an meinem EibPC fertig ist (Betatest) kann ich das mal einspielen bzw. das Makro an dieser Stelle verbessern. Kann auch sein, dass erst am Montag, wenn wir wieder "richtig" arbeiten - dann wirds wohl was für die Steffi...
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #18
        Zitat von enertegus Beitrag anzeigen
        Die Überschneidung sollte dann aber nur einmal passsieren und dann auch nur abhänig, wann Du das Programm einspielst und am nächsten Tag funktionieren.
        So ich hab das mal angepasst und teste mal übernacht....
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #19
          Zitat von enertegus Beitrag anzeigen
          So ich hab das mal angepasst und teste mal übernacht....
          Das Problem kann enstehen, wenn beim Einspielen des Programms noch nicht die Sonne untergangen ist, aber die Verzögerung in die Nacht reicht. Du müsstest die beiden Makros unten gegen die entsprechenden bei Dir in der Lib austauschen.

          [highlight=epc]
          Bei_Sonnenuntergang_Gedeckelt_mitFreigabe(SUGedFr1 ,Aktiv2 and '8/1/1'b01 ,'4/3/0'b01,RUNTER,14400000,22,30,00)
          Bei_Sonnenaufgang_Gedeckelt_mitFreigabe(Sonnenaufg ang,Aktiv1 and '8/1/1'b01,'4/3/0'b01,RAUF,7200000,07,46,00)

          Rollos='4/3/0'b01
          Anwesend= '8/1/1'b01
          // Steuern über Debugger
          a=0
          if a==1 then write('4/3/0'b01,!'4/3/0'b01) endif
          if a==2 then write('8/1/1'b01,!'8/1/1'b01) endif

          Aktiv1=chtime(03,00,00) and !chtime(10,00,00)
          Aktiv2=chtime(14,00,00) and !chtime(23,00,00)
          [/highlight]
          Liefert nun bei mir wie gewünscht.

          % 2012-01-07 14:36:28 | Sender: EibPC | GA: '8/1/1'b01 | Wert: EIN | Typ: Binärwert | Schreiben
          % 2012-01-07 20:25:00 | Sender: EibPC | GA: '4/3/0'b01 | Wert: EIN | Typ: Binärwert | Schreiben
          % 2012-01-08 07:46:00 | Sender: EibPC | GA: '4/3/0'b01 | Wert: AUS | Typ: Binärwert | Schreiben


          Code:
          :begin Bei_Sonnenaufgang_Gedeckelt_mitFreigabe(Name, Freigabe, AktorGA, AktorWert, Zeit, Stunde, Minute, Sekunde)
          :info $Gibt bei Sonnenaufgang oder spätestens zu einem bestimmten Zeitpunkt einen Wert auf eine Gruppenadresse aus. Das Programm muss dazu die geographische Länge und Breite des betreffenden Ortes kennen. Dies kann man unter Optionen --> Koordinaten für Sonnenstandberechnung einstellen. Mit Freigabeobjekt.$\\
          $Name des Makros - muss eindeutig sein$\\
          $Gruppenadresse eines FreigabeObjektes oder Variable$\\
          $Gruppenadresse des Aktors$\\
          $Wert des Aktors(muss zum Datentyp des Aktors passen)$\\
          $Zeit in ms, die vergehen soll, bis der Wert gesendet wird, nach dem Sonnenaufgang$\\
          $Die Stunde zu dem der Wert spätestens gesendet werden soll$\\
          $Die Minute zu dem der Wert spätestens gesendet werden soll$\\
          $Die Sekunde zu dem der Wert spätestens gesendet werden soll$
          :shortinfo $Der Aktor wird bei Sonnenaufgang geschalten oder spätestens zu einem bestimmten Zeitpunkt$ 
          
          Name^Sonnenaufgang = AUS
          // Die Verzögerung darf nicht größer sein, als die Sonnenscheindauer
          if after(sun(), Zeit^u64 + 1u64) then  {
              if sun() then Name^Sonnenaufgang=EIN endif
          } endif
          
          if Freigabe and (Name^Sonnenaufgang or chtime(Stunde,Minute,Sekunde)) then  {
              write(AktorGA, AktorWert)
          } endif
          if !sun() then {
              Name^Sonnenaufgang=AUS
          } endif 
          
          :end:begin Bei_Sonnenaufgang_Gedeckelt_mitFreigabe(Name, Freigabe, AktorGA, AktorWert, Zeit, Stunde, Minute, Sekunde)
          :info $Gibt bei Sonnenaufgang oder spätestens zu einem bestimmten  Zeitpunkt einen Wert auf eine Gruppenadresse aus. Das Programm muss dazu  die geographische Länge und Breite des betreffenden Ortes kennen. Dies  kann man unter Optionen --> Koordinaten für Sonnenstandberechnung  einstellen. Mit Freigabeobjekt.$\\
          $Name des Makros - muss eindeutig sein$\\
          $Gruppenadresse eines FreigabeObjektes oder Variable$\\
          $Gruppenadresse des Aktors$\\
          $Wert des Aktors(muss zum Datentyp des Aktors passen)$\\
          $Zeit in ms, die vergehen soll, bis der Wert gesendet wird, nach dem Sonnenaufgang$\\
          $Die Stunde zu dem der Wert spätestens gesendet werden soll$\\
          $Die Minute zu dem der Wert spätestens gesendet werden soll$\\
          $Die Sekunde zu dem der Wert spätestens gesendet werden soll$
          :shortinfo $Der Aktor wird bei Sonnenaufgang geschalten oder spätestens zu einem bestimmten Zeitpunkt$ 
          
          Name^Sonnenaufgang = AUS
          // Die Verzögerung darf nicht größer sein, als die Sonnenscheindauer
          if after(sun(), Zeit^u64 + 1u64) then  {
              if sun() then Name^Sonnenaufgang=EIN endif
          } endif
          
          if Freigabe and (Name^Sonnenaufgang or chtime(Stunde,Minute,Sekunde)) then  {
              write(AktorGA, AktorWert)
          } endif
          if !sun() then {
              Name^Sonnenaufgang=AUS
          } endif 
          
          :end
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #20
            Hallo enertegus,

            sorry, dass ich mich jetzt erst melde.
            Ich hatte eine ungeplante gesundheitliche Auszeit.
            Ich muss mich langsam wieder rein finden und hoffe,
            dass ich das demnächst mal testen und dir eine
            Rückmeldung geben kann.

            Bis bald und viele Grüße
            Jens

            Kommentar

            Lädt...
            X