Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeitschaltuhr - 4x stündlich eine Aktion ausführen

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

    Zeitschaltuhr - 4x stündlich eine Aktion ausführen

    Hallo zusammen,

    wo ist mein Denkfehler in folgendem Schnipsel?

    Code:
    if cmtime(0,0) or cmtime(15,0) or cmtime(30,0) or cmtime(45,0) then {
    
    write("GA-5/0/0",AUS);
    
    } endif
    Ich hätte gedacht, da sich aller 15 Minuten einer der Werte der if-Prüfung ändert, würde das write jedes mal ausgeführt.
    Im Moment passiert, wie ich das beobachtet habe, das genau 1x nach Systemstart.
    Ja ich weiß, cycle() existiert (und funktioniert ja auch), nur ich wollte die Aktion aber zu genauen Uhrzeiten auslösen.

    Danke und Grüße
    Matthias

    #2
    lt. Handbuch:
    Der Rückgabewert ist 0b01, wenn die aktuelle Minuten-Sekunden-Zeit der Enertex® EibPCSystemuhr
    nicht gleich mm:ss ist. Wenn der Zeitpunkt eintrifft, geht der Ausgabewert auf 1b01 und bleibt auf diesem Wert bis zur nächsten Stunde.
    Will heißen, beim ersten cmtime(0,0) müßte es auf EIN gehen und dann dort bleiben. Ob das jemals AUS wird, wage ich zu bezweifeln.

    Gruß,
    Bernd

    Kommentar


      #3
      Zitat von Matthias Beitrag anzeigen
      Hallo zusammen,
      wo ist mein Denkfehler in folgendem Schnipsel?
      Ersetze cmtime durch mtime und es sollte passen.
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Wow, das nenn ich Support!

        Dann werd ich mal mtime versuchen.

        Wie es scheint hab ich dann aber trotzdem das Validierungsschema oder irgendwas anderes nicht verstanden.
        Hab es grad mal so gemacht:
        Code:
        if cmtime(0,0) then {
            write("GA-5/0/0",AUS);
        } endif
        if cmtime(15,0) then {
            write("GA-5/0/0",AUS);
        } endif
        if cmtime(30,0) then {
            write("GA-5/0/0",AUS);
        } endif
        if cmtime(45,0) then {
            write("GA-5/0/0",AUS);
        } endif
        Das scheint (zumindest in der ersten Stunde in der es jetzt läuft) zu funktionieren.
        Warum klappt das nicht in einer if-Anweisung verknüpft mit "or"?
        (Vielleicht ist ja jetzt auch zu spät das ich da nicht von selbst drauf komm )

        Danke noch mal für die prompte Antwort am Feiertag!!

        Matthias

        Kommentar


          #5
          Hoi

          Ich schick mir vier mal am Tag 'ne Mail:
          [highlight=epc]
          if (htime(06,00,01) or htime(12,00,01) or htime(18,00,01) or htime(00,00,01))then sendmail($bla@bls.de$,$betreff$,$text$) endif
          [/highlight]
          Grüsse Bodo
          Fragen gehören ins Forum, und nicht in mein Postfach;
          EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

          Kommentar


            #6
            Zitat von Matthias Beitrag anzeigen

            Wie es scheint hab ich dann aber trotzdem das Validierungsschema oder irgendwas anderes nicht verstanden.
            s
            Die cmtime Funktion geht bis zur vollen Stunde auf ein. Damit ist die oder-Funktion immer erfüllt und wird daher nur beim Einschalten einmal ausgeführt, weil sich ja nix mehr ändert.Cmtime(0,0) ist ja immer True.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar

            Lädt...
            X