Ankündigung

Einklappen
Keine Ankündigung bisher.

Neuling braucht Hilfe

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

    [EibStudio] Neuling braucht Hilfe

    Hallo Zusammen, ich bin seit neuestem Besitzer eines EibPc's und arbeite mich in die Programmierung ein. Knx- Erfahrung ist vorhanden.
    Nun zu meiner Frage. Ich habe bisher die Rollos zentral am Abend über einen Dämmerungsschalter und LOGO heruntergefahren. Im EibPc wollte ich diese Funktion mit !presun(Zeit) steuern. Problem ist das die Rollos zu früh runtergehen (Sonne ist gerade untergegangen aber noch zu hell).
    Ich bräuchte einen Befehl der eine bestimmte Zeit (einstellbar) nach Sonnenuntergang den Befehl zum Runterfahren gibt. Ist sowas mit delay machbar.
    Danke für jeden Tip
    Grüße
    Alfred

    #2
    Für 10 Minuten etwa:
    Code:
    Zeit=60000u64*10u64
    if after(!sun(), Zeit) then ... endif
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Die Lösung mit after(!sun(), Zeit) then ... endif geht leider nur für einen Zyklus auf True und verhält sich damit etwas anders als presun()

      Deshalb hab ich mir ein Makro geschrieben das sich wie presun() verhält:

      Code:
      :begin postsun(hh, mm)
      :return ( \\
                  converttominutes(hour(),minute()) - converttominutes(hh,mm) >= converttominutes(sunrisehour(),sunriseminute()) && \\
                  converttominutes(hour(),minute()) - converttominutes(hh,mm) <  converttominutes(sunsethour(),sunsetminute())      \\
              ) 
      :end
      
      :begin converttominutes(hh, mm)
      :return (convert(hh,0u16)*60u16+convert(mm,0u16))
      :end
      Und für die Leute, die sich nicht entscheiden können, ob sie vor oder nach Sonnenaufgang fahren wollen hier eine allgemeine Lösung:
      Code:
      :begin shiftsun(minutes)
      :return ( \\
                  convert(converttominutes(hour(),minute()), 0s16) - convert(minutes,0s16) >= convert(converttominutes(sunrisehour(),sunriseminute()), 0s16) && \\
                  convert(converttominutes(hour(),minute()), 0s16) - convert(minutes,0s16) <  convert(converttominutes(sunsethour(),sunsetminute())  , 0s16)    \\
              ) 
      :end
      @enertegus: Du kannst ja mal schauen ob die Makros semantisch OK sind (Wobei ich mir da recht sicher bin, da es bei mir jetzt seit einem Jahr gut funktioniert haben). Wenn du willst kannst du die dann in die offizielle Makrobibliothek aufnehmen.
      Gruß Kex

      Kommentar


        #4
        Nimm doch die Elevation-Funktion - so bei -2 bis -3° rum ist es Zeit, die Rollläden zu schließen. Das hat bei uns gut funktioniert, bis ich endlich eine Wetterstation hatte.
        Zuletzt geändert von klaus_kraemer; 29.12.2015, 06:23.

        Kommentar


          #5
          Danke erstmal für die schnellen Antworten.
          kex
          das ist was für Fortgeschrittene. Was meinst du mit einem Zyklus, 1x am Tag reicht doch wenn sie auf wahr geht? Am nächsten Tag (sun) wird sie ja wieder auf false gehen, oder mach ich da einen Denkfehler.
          Noch eine allgemeine Frage. Gibt es eine spezielle Programiersprache oder nur die Befehle im Handbuch, ich brauchte Infos als Laie.

          Kommentar


            #6
            nur die Befehle im Handbuch....
            EPIX
            ...und möge der Saft mit euch sein...
            Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

            Kommentar


              #7
              @chook: Prinzipiell hast du recht: Es reicht wenn der Status einmal am Tag auf True geht.
              Mit Makros wirst du dich aber recht bald auseinandersetzen, da sie deinen Quellcode wesentlich leichter wartbar machen. Die Verwendung von Makros ist ja auch recht einfach.
              Ausserdem liefert enertex ja auch jede Menge nützliche Makros mit.
              Gruß Kex

              Kommentar


                #8
                Danke ersteinmal. Werde den Vorschlag von enertegus mal umsetzen und mich weiter in die Tiefen des Codes einarbeiten.

                Kommentar

                Lädt...
                X