Ankündigung

Einklappen
Keine Ankündigung bisher.

htime wird nach Neustart nicht ausgelöst

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

    [Codebeispiel] htime wird nach Neustart nicht ausgelöst

    Code:
    if chtime(21,00,00) then write("Abend.EIN.spaetestens-10/6/32",EIN) endif
    der angeführte Code sollte eigentlich nach einem Neustart ein EIN auf den Bus schreiben - leider funktioniert er nicht

    selbst wenn ich die zeile in "if systemstart..." packe wird er nicht ausgeführt...

    Was mache ich falsch?
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    #2
    Moment: htime oder chtime?

    htime löst nur exakt zum Zeitpunkt einmal aus
    chtime löst aus, sobald der Zeitpunkt überschritten ist

    systemstart() sollte mit beiden nicht kombiniert werden

    Gruß,
    Bernd

    Kommentar


      #3
      CHTIME

      extra gewählt weil der Zeitpunkt "vergleichend" sein soll....

      Funktioniert aber nicht:
      bei einem Neustart um 21:30 "sollte" ja wohl das write ausgeführt werden - tut's aber nicht

      Das mit Systemstart war nur ein Versuch....
      EPIX
      ...und möge der Saft mit euch sein...
      Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

      Kommentar


        #4
        Hm. Ich hab's mal nachvollzogen. Es ist anscheinend tatsächlich so, das chtime() beim Systemstart nicht ausgewertet wird. In der Doku kann ich nichts neues finden also würde ich vermuten das das ein ist.

        Dabei ist alleine der Konstrukt if chtime(hh,mm,ss) then ... endif entscheidend. Dort könnte im then-Bereich auch eine Variable auf EIN gesetzt oder die Zahl Pi approximiert werden. Wenn wir es also 20:00 Uhr haben und dort steht
        if chtime(20,00,00) then BerechnePi.... endif wird das nix, wenn der EibPC erst nach 20:00 Uhr gebootet wird.

        Dann wird enertegus dazu wohl ein offizielles Statement abgeben müssen...

        Gruß,
        Bernd

        Kommentar


          #5
          Zitat von EPIX Beitrag anzeigen
          Code:
          if chtime(21,00,00) then write("Abend.EIN.spaetestens-10/6/32",EIN) endif
          der angeführte Code sollte eigentlich nach einem Neustart ein EIN auf den Bus schreiben - leider funktioniert er nicht

          selbst wenn ich die zeile in "if systemstart..." packe wird er nicht ausgeführt...

          Was mache ich falsch?
          Hast Du im ESF File geprüft, ob die GA auch als Binär definiert ist?

          Sollte sie dort als f16 definiert sein, würde es mich wundern wenn der Code funktioniert.

          Viele Grüße

          Michael

          Kommentar


            #6
            Zitat von bmx Beitrag anzeigen
            Hm. Ich hab's mal nachvollzogen. Es ist anscheinend tatsächlich so, das chtime() beim Systemstart nicht ausgewertet wird.
            Ich denke das ist evtl. die gleiche Ursache/Problem wie hier mit cwtime, oder?

            Kommentar


              #7
              Nun wird es strange...
              Ich habe heute morgen bei mir einen Upload/Neustart (nach dem geplanten Zeitpunkt im chtime) gemacht und die chtime läuft nach Systemstart ohne Probleme, sprich durchläuft die Routine und führt eine Aktion aus. Setze 2.301/2.303 ein, allerdings immernoch mit Minuten-/Sekundenwerten ungleich 00!
              Hier meine Routine:
              if chtime(StundeAus,MinuteAus,35) and SperrGA==AUS then write(AktivGA,AUS) endif

              Kommentar


                #8
                Ich hatte mal ähnliche Probleme, die Lösung war, das der EibPC die Uhrzeit noch nicht aktualisieren konnte, da unser Internet auf dem Lande nicht so gut funktioniert.

                Mit Uhrzeit 00:00 Uhr ist die Bedingung halt noch nicht erfüllt.
                Der schöne Niederrhein läßt Grüssen

                Andreas


                Alter Hof mit neuer Technik

                Kommentar


                  #9
                  Zitat von anlo007 Beitrag anzeigen
                  Mit Uhrzeit 00:00 Uhr ist die Bedingung halt noch nicht erfüllt.
                  Es könnte damit (bzw. der Synchronisierung der Uhr nach einem Neustart) zusammenhängen. Jedenfalls hab ich das auch hier bei
                  [highlight=epc]
                  if chtime(1,00,00) then write('1/6/32'b01,EIN) endif
                  [/highlight]
                  Wenn ich die Zeit manuell verstelle, geht das aber (ich vermute auch beim Tagwechsel). Ist offenbar ein Bug
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    Ist offenbar ein Bug
                    Schön (oder auch nicht) und was wäre ein Workaround?

                    eibPC.Betriebsmodi.10/6/32 Abend.EIN.spaetestens EIS 1 'Switching' (1 Bit) Low
                    Es funktioniert übrigens auch mit "unrunden" Zeiten nicht:
                    Code:
                    if chtime(16,01,01) then write("Abend.EIN.spaetestens-10/6/32",EIN) endif
                    ist auch für den "Hugo"...

                    Irgendwie sehne ich mich manchmal nach den Klick/Klack Tagen zurück: selbst ein Schaltschrank voll Relais ist leichter nachzuvollziehen als das ganze High-Tech-Gedröhns

                    Wie geht's weiter: ich nehme an ihr veröffentlicht einen (zeitnahen) Patch?
                    EPIX
                    ...und möge der Saft mit euch sein...
                    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                    Kommentar


                      #11
                      Zitat von EPIX Beitrag anzeigen
                      Schön (oder auch nicht) und was wäre ein Workaround?
                      Es muss da wohl aufs Patch gewartet werden. Wir arbeiten dran. Ganz so schlimm sollte es aber nicht sein, sondern eben nur beim Einspielen. Am nächsten Tag wird es wohl dann wieder (für alle folgende) passen.
                      Morgen werden wir ein Beta releasen, ob das gefixt ist, weiss ich nicht - bin ja eigentlich im Urlaub und morgen sicher nicht im Büro in Forchheim, sondern im Saarland.
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #12
                        dann wünsch' ich dir einen schönen Urlaub....

                        Nachdem morgen meine Alu-Fassadenverkleidung geliefert wird, im Keller noch die Entfeuchtungsgeräte sich bemühen die Reste der Überschwemmung zu beseitigen habe ich ohnhin noch einige andere "Baustellen"....
                        EPIX
                        ...und möge der Saft mit euch sein...
                        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                        Kommentar

                        Lädt...
                        X