Ankündigung

Einklappen
Keine Ankündigung bisher.

Einsteigerfrage: Einfachen Timer im EIB Studio erstellen?

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

    [EibStudio] Einsteigerfrage: Einfachen Timer im EIB Studio erstellen?

    Mein KNX System mit EibPC² wurde eingerichtet und funktioniert.
    Ich würde jetzt gerne selbst für einen im EIB Studio definierten Ein-/Ausschalter eine Zeitsteuerung einbauen.
    Im einfachsten Fall soll draußen um 6 Uhr Licht ausgehen und um 18 Uhr wieder ein.
    Im nicht ganz so einfachen Fall x Minuten nach Sonnenaufgang/-untergang aus/ein.
    Gibt es hierfür eine Anleitung, wie ich das hinbekomme? Ich fummle mich ja gerne in Sachen rein, aber ich muss erstmal mit einem kleinen Erfolgserlebnis loslegen.

    #2
    Ich mach es im Experten. Hier mein Beispiel für die Rolladensteuerung.
    Bei Sonnenuntergang fahre sie runter aber nicht vor 19 Uhr.
    Bei sunsetminuten() kannst dann die X-Minuten aufaddieren.
    Bei Sonnenaufgang halt mit sunrise


    Code:
    //****************************************
    //Alle Rollladen
    //****************************************
    Uhr_ALLROLL_1H_0=0u08
    Uhr_ALLROLL_1M_0=0u08
    Uhr_ALLROLL_1H_1=sunsethour()
    Uhr_ALLROLL_1M_1=sunsetminute()
    FreigabeALLROLL=AUS
    FreigabeALLROLLStatus=AUS
    if systemstart()then {
        readflashvar(FreigabeALLROLL);
        readflashvar(FreigabeALLROLLStatus);
    }endif
    if change (sunsetminute()) then {
        Uhr_ALLROLL_1H_1=sunsethour();
        Uhr_ALLROLL_1M_1=sunsetminute()
    }endif
    if pbutton (Rollo_Uhr_1,Rollos_P)==1 then {
        FreigabeALLROLL=!FreigabeALLROLL;
        FreigabeALLROLLStatus=!FreigabeALLROLLStatus;
        writeflashvar(FreigabeALLROLL);
        writeflashvar(FreigabeALLROLLStatus);
    }endif
    if FreigabeALLROLLStatus==EIN then {
       pdisplay (Rollo_Uhr_1,CLOCK_STRING,CLOCK,ACTIVE,GREEN,Rollos_P)
       }else{
       pdisplay (Rollo_Uhr_1,CLOCK_STRING,CLOCK,INACTIVE,GREEN,Rollos_P)
    }endif
    if Uhr_ALLROLL_1H_1<19 then{
        Uhr_ALLROLL_1H_1=19;
        Uhr_ALLROLL_1M_1=0
    }endif
    if htime(Uhr_ALLROLL_1H_1,Uhr_ALLROLL_1M_1,0) and FreigabeALLROLL==EIN then{
        write("Rolladen/Store Zentral Fahrt-3/0/0",EIN);
    }endif
    ALLROLLHtml=$<table style="width:100%"><tr><td style="width:30%" ><span style="color:green">Ab:</td><td style="width:70%"><span style="color:green">$+ stringformat(Uhr_ALLROLL_1H_1,0,3,2,2)+$:$+stringformat(Uhr_ALLROLL_1M_1,0,3,2,2)+$ Uhr</td></tr><tr><td style="width:30%" ><span style="color:darkred">---:</td><td style="width:70%"><span style="color:darkred">$+stringformat(Uhr_ALLROLL_1H_0,0,3,2,2)+$:$+stringformat(Uhr_ALLROLL_1M_0,0,3,2,2)+$ Uhr</td></tr></table>$
    
    if change(ALLROLLHtml) then {
       weboutput(Rollo_Web_1, ALLROLLHtml);
    } endif
    Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

    Kommentar


      #3
      Im Experten gibt es die Makros BeiSonnenaufgang_gedeckelt() etc. für diese Aufgaben. Daneben geht das aber auch mit den Logikblättern und den Blöcken Sonnenzeit und Schaltuhr und Verknüpfungen.
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Danke. Hört sich relativ einfach an. Allerdings ist mir noch nicht klar, wo ich das genau angeben muss.
        Der Expertenmodus hat offensichtlich einen globalen Kontext. Bisher steht bei mir dort nur ein Code für die Kameraanzeige.
        if systemstart() then weboutput(cameraview_front, $<img style="width:100vw;height:auto;position: absolute;left: 0;top: 40px;overflow:hidden;" src="http://192.168.1.43/control/faststream.jpg?stream=full&fps=16&rand=548726">$) endif
        Die Gruppenadresse meiner Beleuchtung ist 1/1/12 (b01).
        Wenn ich aus der Makrobibliothek Bei_Sonnenaufgang_Gedeckelt auswähle, kann ich die GA eingeben und den Wert. Ich vermute mal, 0 ist ausschalten und 1 ist einschalten. Dann bekomme ich als Code
        Bei_Sonnenaufgang_Gedeckelt(,"Licht vorn schalten-1/1/12",0,,,,)
        Trage ich das einfach so UNTER den oben o.g. Code ein, muss ich das zwischen if systemmstart und endif einfügen oder sonst noch irgendwas beachten? Wenn ich es einfach unter den Code eingebe, bekomme ich einen Fehler 4 beim Kompilieren.
        Zuletzt geändert von skyynet; 13.09.2022, 18:58.

        Kommentar


          #5
          Zitat von skyynet Beitrag anzeigen
          Trage ich das einfach so UNTER den oben o.g. Code ein, muss ich das zwischen if systemmstart und endif einfügen oder sonst noch irgendwas beachten? Wenn ich es einfach unter den Code eingebe, bekomme ich einen Fehler 4 beim Kompilieren.
          Genau, das Makro ist wie eine eigene Funktion, die direkt ausgeführt wird. Jede Zeile des Programms wird immer für sich betrachtet ausgeführt, daher einfach untereinander zeilenweise schreiben.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #6
            Für die Aufgabe, nach Helligkeit (ohne sie zu messen) zu steuern, eignet sich gut die Elevation. Etwa -3° haben ziemlich gut gepasst, bis ich die Helligkeit durch Messung ins System brachte.

            Kommentar


              #7
              Ich habe jetzt verstanden, dass ich das unter "Programme" sinnvoll strukturieren kann und nicht in meine Kameravisu reinschreiben sollte ;-)

              Als Code nutze ich jetzt
              Code:
              Bei_Sonnenaufgang("Licht vorn schalten-1/1/12",AUS,0)
              Bei_Sonnenuntergang("Licht vorn schalten-1/1/12",EIN,0)

              Kommentar

              Lädt...
              X