Ankündigung

Einklappen
Keine Ankündigung bisher.

Neustart lässt Rollos hochfahren

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

    Neustart lässt Rollos hochfahren

    Hallo,

    wie kann ich verhindern, dass bei einem Neustart der eibPC prinzipiell ein AUS an die Rollos schickt, obwohl die Einschaltvariable auf AUS steht und somit ich die Erwartung hätte, dass gar nichts geschickt wird, da zum Zeitpunkt des Neustart die Bedingung für Rollos rauffahren nicht gegeben ist.
    Problem: Wenn ich spät abends am Code etwas ändere und diesen übertrage, fahren alle Rollos hoch.

    2014-05-19 09:18:25 | Sender: EibPC | GA: "WZ1 Auf/Ab-1/2/0" | Wert: AUS | Typ: Binärwert | Schreiben

    #2
    normal macht man sowas mit einer "Init"-Variable, die man
    [highlight=epc]
    if after (systemstart(),5000u64) then Init = EIN endif
    [/highlight]
    dann einfach mit einbindet..

    if Init and XYZ then write (GA-ROLO, AUF)...


    Gruß Martin
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    Kommentar


      #3
      aber dieses Verhalten hatte ich früher nicht.
      Da blieb der Zustand so wie er vor Neustart war, oder irre ich mich da.
      Wenn in der Bedingung ein htime steht oder eine Variable auf EIN stehen muss bevor die Rollos rauf oder runter fahren, dann trifft die Bedingung beim Neustart nie zu. Also dürfte doch auch nichts passieren

      Ein Schaltaktor Licht wird ja auch nicht auf EIN gestellt wenn es vor Neustart auf AUS steht. Es ist nur bei den Rollos so
      [highlight=epc]
      if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==AUS and FreieTage==AUS and raufMOFRZeit==EIN then write (Rollo,RAUF) endif

      if Rolloautomatik==EIN and Urlaubautomatik==AUS and chtime(16,30,00) and !WE and ele < dunkelrunter then write(Rollo,RUNTER) endif
      [/highlight]

      Kommentar


        #4
        Hallo!

        Ich befürchte du musst schon mehr von deinem Code offenbaren, z.B. wie all die in den Bedingungen verwendeten Variablen ihre Werte bekommen.

        SO kann man da nix zu sagen.

        Kommentar


          #5
          Alle Variablen sind standardmaässig auf aus, d.h nach Neustart trifft keine Bedingung zu, daher sollte auch nichts passieren. Wenn Rollos vor Neustart unten waren dann sollen sie auch unten bleiben und umgekehrt.

          [EibPC]
          //Freigabevariable
          Schattenautomatik=AUS
          SchattenautomatikOst=AUS
          SchattenautomatikOstEx=AUS
          SchattenautomatikSued=AUS
          SchattenautomatikWest=AUS
          Urlaubautomatik=AUS
          Rolloautomatik=AUS

          Kommentar


            #6
            Das reicht an Infos immer noch nicht.

            Irgendwo wird ja mit den Variablen was passieren - ansonsten wäre ja die komplette Funktion sinnlos.

            Ich würde mal davon ausgehen das die AND Verknüpfung auch direkt nach dem Start richtig funktioniert. Ergo muss sich also beim oder kurz nach dem Neustart genau die Konstellation ergeben die die Bedingung TRUE werden lässt.

            Ist dein Code so top-secret das du ihn hier nur Zeilenweise offenbarst?
            So kann man dir nicht helfen.

            Kommentar


              #7
              sorry, NSA weiss ja eh schon alles.
              Anbei der Code für die Rollladen.

              [highlight=epc]

              [EibPC]
              //Freigabevariable
              Schattenautomatik=AUS
              SchattenautomatikOst=AUS
              SchattenautomatikOstEx=AUS
              SchattenautomatikSued=AUS
              SchattenautomatikWest=AUS
              FreigabeSchaltuhrPool=AUS
              FreigabeSchaltuhrVorne=AUS
              Urlaubautomatik=AUS
              Rolloautomatik=AUS
              Wintermodus=AUS
              Sommermodus=AUS
              Winter=AUS
              Winter1=AUS
              Winter2=AUS

              //Webschaltuhr raufMOFR
              WebSchaltuhrRT(5,25,raufMOFRZeit,06,30)
              WebSchaltuhrRT(31,25,raufMOFRSchatten,07,00)
              //Webschaltuhr raufFreieTage
              WebSchaltuhrRT(6,25,raufFreieTageZeit,09,00)
              WebSchaltuhrRT(32,25,raufFreieTageSchatten,09,05)
              //Webschaltuhr raufSonder
              WebSchaltuhrRT(7,25,raufSonderZeit,10,00)
              WebSchaltuhrRT(33,25,raufSonderSchatten,10,05)


              //Wintermodus
              Wintermodus(Winter,"UG-3/0/0","UG Stop-3/0/1",2000)
              Wintermodus(Winter,"EG-3/1/0","EG Stop-3/1/1",2000)
              Wintermodus(Winter,"OG-3/2/0","OG Stop-3/2/1",2000)
              Wintermodus(Winter1,"UGoJulia-0/3/0","UGoJuliaS Stop-0/3/1",2000)
              Wintermodus(Winter1,"EG-3/1/0","EG Stop-3/1/1",2000)
              Wintermodus(Winter1,"Büro1 Auf/Ab-2/0/0","Büro1 Stop-2/0/1",2000)
              Wintermodus(Winter1,"Büro2 Auf/Ab-2/0/3","Büro2 Stop-2/0/4",2000)
              Wintermodus(Winter1,"Gast Auf/Ab-2/1/0","Gast Stop-2/1/1",2000)
              Wintermodus(Winter1,"Bad Auf/Ab-2/4/0","Bad Stop-2/4/1",2000)
              Wintermodus(Winter1,"Julia Auf/Ab-0/2/0","Julia Stop-0/2/1",2000)
              Wintermodus(Winter2,"Y1 Auf/Ab-2/2/0","Y1 Stop-2/2/1",2000)
              Wintermodus(Winter2,"Y2 Auf/Ab-2/2/3","Y2 Stop-2/2/4",2000)
              Wintermodus(Winter2,"SZ1 Auf/Ab-2/5/0","SZ1 Stop-2/5/1",2000)
              if "Lufttemp-7/0/10" < tempwinter then Wintermodus=EIN else Wintermodus=AUS endif

              //Sommermodus
              if Sommermodus==EIN and htime(04,30,00) then write ("SZ1 Auf/Ab-2/5/0",RUNTER) endif
              //Feiertage, wenn nicht schon in Ferien dabei
              if month(6,1) then Feiertag=EIN endif
              if month(1,5) then Feiertag=EIN endif
              if month(29,5) then Feiertag=EIN endif
              if month(9,6) then Feiertag=EIN endif
              if month(3,10) then Feiertag=EIN endif

              //Ferien
              if htime(23,59,59) or systemstart() then Feiertag=AUS endif
              if WE or Feiertag==EIN or Ferien==EIN then FreieTage=EIN else FreieTage=AUS endif

              //Urlaub abwesend = EIN
              if Rolloautomatik==EIN and Urlaubautomatik==EIN and Wintermodus==AUS and raufMOFRZeit==EIN then write ("UG-3/0/0",RAUF); write ("EG-3/1/0",RAUF); write ("OG-3/2/0",RAUF) endif
              if Rolloautomatik==EIN and Urlaubautomatik==EIN and Wintermodus==EIN and raufMOFRZeit==EIN then write ("UG-3/0/0",RAUF); write ("EG-3/1/0",RAUF); write ("OG-3/2/0",RAUF);Winter=EIN endif
              if Rolloautomatik==EIN and Urlaubautomatik==EIN and ele < dunkelrunter then write ("UG-3/0/0",RUNTER); write ("EG-3/1/0",RUNTER); write ("OG-3/2/0",RUNTER) endif

              //Werktags RAUF
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==AUS and FreieTage==AUS and raufMOFRZeit==EIN then \\
              write ("UGoJulia-0/3/0",RAUF);\\
              write ("Julia Auf/Ab-0/2/0",RAUF);\\
              write ("EG-3/1/0",RAUF);\\
              write ("Büro1 Auf/Ab-2/0/0",RAUF);\\
              write ("Büro2 Auf/Ab-2/0/3",RAUF);\\
              write ("Gast Auf/Ab-2/1/0",RAUF);\\
              write ("Flur Auf/Ab-2/3/0",RAUF);\\
              write ("Bad Auf/Ab-2/4/0",RAUF) endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and OGRaRu==EIN and Wintermodus==AUS and FreieTage==AUS and raufFreieTageZeit==EIN then \\
              write ("Y1 Auf/Ab-2/2/0",RAUF);write("Y2 Auf/Ab-2/2/3",RAUF) ;write("SZ1 Auf/Ab-2/5/0",RAUF)endif

              //Werktags RAUF mit Wintermodus
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==EIN and FreieTage==AUS and raufMOFRZeit==EIN then \\
              write ("UGoJulia-0/3/0",RAUF);\\
              write ("Julia Auf/Ab-0/2/0",RAUF);\\
              write ("EG-3/1/0",RAUF);\\
              write ("Büro1 Auf/Ab-2/0/0",RAUF);\\
              write ("Büro2 Auf/Ab-2/0/3",RAUF);\\
              write ("Gast Auf/Ab-2/1/0",RAUF);\\
              write ("Flur Auf/Ab-2/3/0",RAUF);\\
              write ("Bad Auf/Ab-2/4/0",RAUF);\\
              Winter1=EIN endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and OGRaRu==EIN and Wintermodus==AUS and FreieTage==AUS and raufFreieTageZeit==EIN then \\
              write ("Y1 Auf/Ab-2/2/0",RAUF);write("Y2 Auf/Ab-2/2/3",RAUF) ;write("SZ1 Auf/Ab-2/5/0",RAUF);Winter2=EIN endif


              //Wochenende und freie Tage RAUF
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==AUS and FreieTage==EIN and raufFreieTageZeit==EIN then \\
              write ("UGoJulia-0/3/0",RAUF);\\
              write ("EG-3/1/0",RAUF);\\
              write ("Büro1 Auf/Ab-2/0/0",RAUF);\\
              write ("Büro2 Auf/Ab-2/0/3",RAUF);\\
              write ("Gast Auf/Ab-2/1/0",RAUF);\\
              write ("Flur Auf/Ab-2/3/0",RAUF);\\
              write ("Bad Auf/Ab-2/4/0",RAUF) endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and OGRaRu==EIN and Wintermodus==AUS and FreieTage==EIN and raufSonderZeit==EIN then \\
              write ("Y1 Auf/Ab-2/2/0",RAUF);write("Y2 Auf/Ab-2/2/3",RAUF) ;write("SZ1 Auf/Ab-2/5/0",RAUF)endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==AUS and FreieTage==EIN and raufSonderZeit==EIN then write ("Julia Auf/Ab-0/2/0",RAUF) endif

              //Wochenende und freie Tage RAUF mit Wintermodus
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==EIN and FreieTage==EIN and raufFreieTageZeit==EIN then \\
              write ("UGoJulia-0/3/0",RAUF);\\
              write ("Büro1 Auf/Ab-2/0/0",RAUF);\\
              write ("Büro2 Auf/Ab-2/0/3",RAUF);\\
              write ("EG-3/1/0",RAUF);\\
              write ("Gast Auf/Ab-2/1/0",RAUF);\\
              write ("Flur Auf/Ab-2/3/0",RAUF);\\
              write ("Bad Auf/Ab-2/4/0",RAUF);\\
              Winter1=EIN endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and OGRaRu==EIN and Wintermodus==AUS and FreieTage==EIN and raufSonderZeit==EIN then \\
              write ("Y1 Auf/Ab-2/2/0",RAUF);write("Y2 Auf/Ab-2/2/3",RAUF) ;write("SZ1 Auf/Ab-2/5/0",RAUF);Winter2=EIN endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==EIN and FreieTage==EIN and raufSonderZeit==EIN then write ("Julia Auf/Ab-0/2/0",RAUF);Winter1=EIN endif


              //Werktags RUNTER
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and chtime(16,30,00) and !WE and ele < dunkelrunter then \\
              write("UG-3/0/0",RUNTER);\\
              write("EGoWZ3Kü12-1/4/0",RUNTER);\\
              write("Kü1 Auf/Ab-1/3/0",RUNTER);\\
              write("Kü2 Auf/Ab-1/3/3",RUNTER)endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and OGRaRu==EIN and chtime(16,30,00) and !WE and ele < dunkelrunter then write("OGoFlur-2/6/0",RUNTER) endif

              //Wochenende RUNTER
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and chtime(16,30,00) and WE and ele < dunkelrunter then \\
              write("UG-3/0/0",RUNTER);\\
              write("EGoWZ3Kü12-1/4/0",RUNTER);\\
              write("Kü1 Auf/Ab-1/3/0",RUNTER);\\
              write("Kü2 Auf/Ab-1/3/3",RUNTER)endif
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and OGRaRu==EIN and chtime(16,30,00) and WE and ele < dunkelrunter then write("OGoFlur-2/6/0",RUNTER) endif

              // OG: Flur OG gesonderte RUNTER
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and htime(23,59,00) then write ("Flur Auf/Ab-2/3/0",RUNTER) endif
              // EG: WZ3 gesonderte RUNTER
              if Rolloautomatik==EIN and Urlaubautomatik==AUS and htime(23,59,00) and "FK-Terrasse-9/1/3"==AUS then write ("WZ3 Auf/Ab-1/2/6",RUNTER) endif
              if htime(11,30,00) then Winter=AUS;Winter1=AUS;Winter2=AUS endif

              //Rolloautomatik und Schattenautomatik
              //Sonnenstansabhängige Beschattung Ost
              //WZ1,WZ2,SZ1,Y2,HWR
              BeschattungRolloZeit(SchattenautomatikOst,"WZ1 Auf/Ab-1/2/0","WZ1 Stop-1/2/1",HLkl)
              BeschattungRolloZeit(SchattenautomatikOst,"WZ2 Auf/Ab-1/2/3","WZ2 Stop-1/2/4",HLgr)
              BeschattungRolloZeit(SchattenautomatikOst,"HWR Auf/Ab-1/1/0","HWR Stop-1/1/1",9000u64)

              //SZ1,Y2 Extra damit Schattenautomatik später beginnt
              BeschattungRolloZeit(SchattenautomatikOstEx,"SZ1 Auf/Ab-2/5/0","SZ1 Stop-2/5/1",HLgr)
              BeschattungRolloZeit(SchattenautomatikOstEx,"Y2 Auf/Ab-2/2/3","Y2 Stop-2/2/4",HLgr)

              //Sonnenstansabhängige Beschattung Süd
              //Gast,Büro2,Küche 2 u 3,WZ4
              BeschattungRolloZeit(SchattenautomatikSued,"Gast Auf/Ab-2/1/0","Gast Stop-2/1/1",HLgr)
              BeschattungRolloZeit(SchattenautomatikSued,"Büro2 Auf/Ab-2/0/3","Büro2 Stop-2/0/4",HLgr)
              BeschattungRolloZeit(SchattenautomatikSued,"Kü2 Auf/Ab-1/3/3","Kü2 Stop-1/3/4",HLgr)
              BeschattungRolloZeit(SchattenautomatikSued,"Kü3 Auf/Ab-1/3/6","Kü3 Stop-1/3/7",HLkl)
              BeschattungRolloZeit(SchattenautomatikSued,"WZ4 Auf/Ab-1/2/9","WZ4 Stop-1/2/10",HLkl)

              //Sonnenstansabhängige Beschattung West
              //Büro1,Bad OG, Küche1,WC EG,
              BeschattungRolloZeit(SchattenautomatikWest,"Büro1 Auf/Ab-2/0/0","Büro1 Stop-2/0/1",HLgr)
              BeschattungRolloZeit(SchattenautomatikWest,"Bad Auf/Ab-2/4/0","Bad Stop-2/4/1",HLkl)
              BeschattungRolloZeit(SchattenautomatikWest,"Kü1 Auf/Ab-1/3/0","Kü1 Stop-1/3/1",HLkl)
              BeschattungRolloZeit(SchattenautomatikWest,"WC Auf/Ab-1/0/0","WC Stop-1/0/1",HLkl)

              //speziell für Dachfenster SZ2
              if SchattenautomatikWest==EIN then write ("SZ2 Auf/Ab-2/5/3",RUNTER) endif

              // Sonnenabhängige Beschattung
              if delay(("LiSe1-10/0/0" > luxhellSunOst),BeschDelayStart) and "LiSe1-10/0/0" > luxhellSunOst then SonneOst=EIN endif
              if delay(("LiSe1-10/0/0" < luxhellSunOst),BeschDelay) and "LiSe1-10/0/0" < luxhellSunOst then SonneOst=AUS endif

              if delay(("LiSe2-10/0/1" > luxhellSunSued),BeschDelayStart) and "LiSe2-10/0/1" > luxhellSunSued then SonneSued=EIN endif
              if delay(("LiSe2-10/0/1" < luxhellSunSued),BeschDelay) and "LiSe2-10/0/1" < luxhellSunSued then SonneSued=AUS endif

              if delay(("LiSe3-10/0/2" > luxhellSunWest),BeschDelayStart) and "LiSe3-10/0/2" > luxhellSunWest then SonneWest=EIN endif
              if delay(("LiSe3-10/0/2" < luxhellSunWest),BeschDelay) and "LiSe3-10/0/2" < luxhellSunWest then SonneWest=AUS endif

              // Ost Schattenautomtik
              FreieTageSchatten=chtime(SchaltuhrHraufFreieTageSc hatten,SchaltuhrMraufFreieTageSchatten,00)
              MOFRSchatten=chtime(SchaltuhrHraufMOFRSchatten,Sch altuhrMraufMOFRSchatten,00)
              SonderSchatten=chtime(SchaltuhrHraufSonderSchatten ,SchaltuhrMraufSonderSchatten,00)

              if FreieTage==AUS and chtime(SchaltuhrHraufMOFRSchatten,SchaltuhrMraufMO FRSchatten,00) and Schattenautomatik==EIN and SonneOst==EIN then SchattenautomatikOst=EIN else SchattenautomatikOst=AUS endif
              if FreieTage==EIN and chtime(SchaltuhrHraufFreieTageSchatten,SchaltuhrMr aufFreieTageSchatten,00) and Schattenautomatik==EIN and SonneOst==EIN then SchattenautomatikOst=EIN else SchattenautomatikOst=AUS endif
              if FreieTage==AUS and OGRaRu==EIN and chtime(SchaltuhrHraufFreieTageSchatten,SchaltuhrMr aufFreieTageSchatten,00) and Schattenautomatik==EIN and SonneOst==EIN then SchattenautomatikOstEx=EIN else SchattenautomatikOstEx=AUS endif
              if FreieTage==EIN and OGRaRu==EIN and chtime(SchaltuhrHraufSonderSchatten,SchaltuhrMrauf SonderSchatten,00) and Schattenautomatik==EIN and SonneOst==EIN then SchattenautomatikOstEx=EIN else SchattenautomatikOstEx=AUS endif

              // Süd Schattenautomtik
              if Schattenautomatik==EIN and SonneSued==EIN then SchattenautomatikSued=EIN else SchattenautomatikSued=AUS endif

              // West Schattenautomtik
              if Schattenautomatik==EIN and SonneWest==EIN then SchattenautomatikWest=EIN else SchattenautomatikWest=AUS endif

              // Schattenautomatik AUS
              if htime(20,00,00) then SchattenautomatikOst=AUS;SchattenautomatikOstEx=AU S; SchattenautomatikSued=AUS; SchattenautomatikWest=AUS endif

              [/highlight]

              Kommentar


                #8
                So,

                nächste Frage: Welche Rolläden gehen genau hoch? Entgegen den ersten Codesnippets gibt es ja doch einige.

                Kommentar


                  #9
                  Zitat von amazing Beitrag anzeigen
                  sorry, NSA weiss ja eh schon alles.
                  wir sind aber nicht die NSA

                  wie werden den die Freigabevariablen gesetzt ? über die Visu ?
                  also zb. Sommermodus oder Rolladenautomatik.

                  Gruß Martin
                  Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                  Kommentar


                    #10
                    Aus welcher Lib kommt denn die WebSchaltuhrRT ?

                    Ich finde die nur ohne "RT", dafür machen aber die Parameter keinen Sinn.

                    Und bitte noch die Deklaration der verwendeten Variablen (wie raufMOFRZeit) mitliefern.
                    Gerade bei dieser Variable ist mir die Verwendung nicht klar.
                    Von "WebSchaltuhrRT(5,25,raufMOFRZeit,06,30)" würde ich schließen sie enthält die aktuell gewählte Zeit der gewünschten "Auf"-fahrens.

                    Das würde bedeuten, das
                    "if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==AUS and FreieTage==AUS and raufMOFRZeit==EIN"
                    falsch ist.

                    Kommentar


                      #11
                      Zitat von Brick Beitrag anzeigen
                      wir sind aber nicht die NSA

                      wie werden den die Freigabevariablen gesetzt ? über die Visu ?
                      also zb. Sommermodus oder Rolladenautomatik.

                      Gruß Martin
                      ja genau, Standardmässig auf aus und über visu UmschaltbuttonVar kann ich auf EIN stellen

                      Kommentar


                        #12
                        Zitat von cds Beitrag anzeigen


                        Das würde bedeuten, das
                        "if Rolloautomatik==EIN and Urlaubautomatik==AUS and Wintermodus==AUS and FreieTage==AUS and raufMOFRZeit==EIN"
                        falsch ist.
                        Genau weil a) Rolloautomatik schon beim Neustart auf AUS steht und die Var raufMOFRZeit auch nicht auf EIN sein kann.
                        Bzgl Schaltuhr: Ist nur Kopie der orig. Lib. Hier wird über NAME der Name der Var gesetzt
                        :begin WebSchaltuhrRT(ID,PageID,Name,PresetH,PresetM)

                        In der Visu kann ich dann die Preset Werte anpassen über pshifter

                        Code:
                        -----------------------------
                        // Schaltuhr für den Webserver: Voraussetzung der Form shifter(ID)[PLUS,MINUS,UP,DOWN]$Schaltuhr$
                        // @date    11.01.2012
                        // @version    1
                        // @author    Enertex Bayern GmbH
                        :begin WebSchaltuhrRT(ID,PageID,Name,PresetH,PresetM)
                        :info $Steuert eine Schaltuhr, die über den Webserver angesteuert wird. Es wird eine Freigabevariable (Name = 3.Argument) angelegt, welches als Freigabeobjekt der Schaltuhr dient. Voraussetzung ist ein "pshifter" im Webserver folgender Form(§ mit Dollarzeichen ersetzen): shifter(ID)[PLUS,MINUS,UP,DOWN]§Schaltuhr§         Siehe Beispiel WebSchaltuhr.epc$\\
                            $ID des pshifters$\\
                            $Seiten-ID des pshifters$\\
                            $Name der Schaltuhr$\\
                            $Voreinstellung der Stunden (0..24)$\\
                            $Voreinstellung der Minuten (0..59)$
                        :shortinfo $Steuert eine Webserver-Schaltuhr$
                        SchaltuhrH^Name=PresetH
                        SchaltuhrM^Name=PresetM
                        if pbutton(ID,PageID)==1 then SchaltuhrH^Name=SchaltuhrH^Name+1 endif
                        if pbutton(ID,PageID)==2 then if SchaltuhrH^Name==0 then SchaltuhrH^Name = 23 else SchaltuhrH^Name=SchaltuhrH^Name-1  endif endif
                        if pbutton(ID,PageID)==3 then SchaltuhrM^Name=SchaltuhrM^Name+1 endif
                        if pbutton(ID,PageID)==4 then if SchaltuhrM^Name==0 then SchaltuhrM^Name=59; SchaltuhrH^Name=SchaltuhrH^Name-1 else SchaltuhrM^Name=SchaltuhrM^Name-1 endif endif
                        if SchaltuhrH^Name>23 then SchaltuhrH^Name=0 endif
                        if SchaltuhrM^Name>59 then SchaltuhrM^Name=0;SchaltuhrH^Name=SchaltuhrH^Name+1 endif
                        if change(SchaltuhrM^Name) or change(SchaltuhrH^Name) or after(systemstart(),10000u64) then {
                            pdisplay(ID,$ hh:mm $+stringformat(SchaltuhrH^Name,0,3,2,2)+$:$+stringformat(SchaltuhrM^Name,0,3,2,2),DOWN,INACTIVE,GREEN,PageID)
                        } endif
                        Name=AUS
                        if htime(SchaltuhrH^Name,SchaltuhrM^Name,0) then {
                            Name=EIN
                        } else {
                            Name=AUS
                        } endif
                        
                        if Name then {
                            pdisplay(ID,$ hh:mm $+stringformat(SchaltuhrH^Name,0,3,2,2)+$:$+stringformat(SchaltuhrM^Name,0,3,2,2),DOWN,INACTIVE,GREEN,PageID)
                        } else {
                            pdisplay(ID,$ hh:mm $+stringformat(SchaltuhrH^Name,0,3,2,2)+$:$+stringformat(SchaltuhrM^Name,0,3,2,2),DOWN,INACTIVE,GREY,PageID)
                        } endif
                        :end
                        
                        // Schaltuhr für den Webserver
                        // @date    11.01.2012
                        // @version    1
                        // @author    Enertex Bayern GmbH
                        :begin WebSchaltuhrAusfuehrenRT(Freigabetag,Freigabezeit,GA,Wert)
                        :info $Eine Schaltuhr schreibt ihre Werte. Dabei muss Freigabetag und Freigabezeit vom Datentyp b01 sein$\\
                            $Freigabetag: Variable vom Typ b01 (EIN/AUS), im Normalfall die Freigabevariable der WebSchaltuhrTagesWahl$\\
                            $Freigabezeit: Variable vom Typ b01 (EIN/AUS), im Normalfall die Freigabevariable der WebSchaltuhr$\\
                            $Gruppenaddresse, auf welche ein Wert geschrieben werden soll.$\\
                            $Wert, welcher auf die Gruppenadresse geschrieben werden soll.$
                        :shortinfo $Eine Webserver-Schaltuhr steuert eine GA$
                        if Freigabetag and Freigabezeit then GA=Wert endif
                        :end
                         --------------------------------
                        Angehängte Dateien

                        Kommentar


                          #13
                          INIT=AUS
                          if after (systemstart(),5000u64) then INIT = EIN endif

                          if INIT==EIN and Rolloautomatik==EIN and Urlaub.........

                          hat leider nicht geholfen. Rollo ist vor Neustart unten, dann Neustart Rollos fahren hoch. Eben getestet
                          Mir ist nicht erklärlich warum der eibPC ein RAUF Signal sendet, obwohl keine Bedingungen zum Zeitpunkt des Neustarts zutrifft. Vielleicht sehe ich auch den Wald vor lauter Bäumen nicht.

                          Kommentar


                            #14
                            mal den busmonitor gecheckt ? kommt der befehl vom Eibpc .. nicht das der ne ganz andere GA triggert, die dafür verantwortlich ist ?

                            is zwar nicht sehr warscheinlich.. aber ich fang gern mit sowas an..
                            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                            Kommentar


                              #15
                              was ich auch hin ubd wieder mache.. in div. if schleifen ne zählervariable rein..
                              also a=0
                              und dann in jeder if schleife nen anderen wert für a zuweisen und im Debugger checken, dann weist du schon mal, welche if schleife dafür zuständig war..
                              Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                              Kommentar

                              Lädt...
                              X