Ankündigung

Einklappen
Keine Ankündigung bisher.

htime nicht zuverlässig?

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

    htime nicht zuverlässig?

    Hallo zusammen,

    ich habe eine Variable definiert - "Nachmittag".
    Diese wird aussschließlich durch einen htime Befehl gesetzt und rückgesetzt.
    Code:
    if (htime(15,00,00)) then Nachmittag=EIN endif
    if (htime(01,00,00)) then Nachmittag=AUS endif
    Mit dieser Variablen steuere ich u.a. meine Außenbeleuchtung (in Abhängigkeit von Helligkeitswert z.B.
    Code:
    if ("Dämmerung-0/0/6"f16 < 400f16 or !presun(0,1)) and (Nachmittag) then{...
    Nun ist es so das ich schon einigemale festgestellt habe das die Beleuchtung aus war.
    Ich habe dann den Wert der Variablen kontrolliert und jedesmal war Nachmittag=Aus.
    Das der EibPC einen reset oder ähnliches gemacht hat schließe ich mal aus. Ideen dazu?

    Vielen Dank!

    #2
    Ich verwende zahlreiche Zeitfunktionen seit mehr als 2 Jahren und kann diese Erfahrung nicht teilen.

    Du musst chtime verwenden, da htime nur zum exakten Zeitpunkt EIN liefert. Das Ausschalten um 1 Uhr kannst du dir schenken, da der Timer um Mitternacht ohnehin auf AUS geht.

    Kommentar


      #3
      Bei mir funktioniert htime und chtime auch zuverlässig.

      In deinem Fall würde ich aber kürzer so notieren:
      [highlight=epc]
      Nachmittag = (hour() >= 15);
      [/highlight]

      Kommentar


        #4
        Es gab mal vor Urzeiten ein Thema mit den Zeiten zum 0-Zeitpunkt, welches dann bei mir im Zusammenhang mit htime zu nicht ausgeführten Befehlen geführt hat. Sollte behoben sein, allerdings habe ich mir seit der Zeit abgewöhnt 0-Zeiten zu verwenden. Daher evtl. mal was krummes nehmen wie 15,01,01 oder so.

        Kommentar


          #5
          Zitat von Sandman60 Beitrag anzeigen
          Es gab mal vor Urzeiten ein Thema mit den Zeiten zum 0-Zeitpunkt, welches dann bei mir im Zusammenhang mit htime zu nicht ausgeführten Befehlen geführt hat.
          Hm, das dürfte ein Bug vor vieren Jahren gewesen sein. Früher (<v1.100), also damals nach dem Krieg, war da auch ein Problem mit der Gleichzeitigkeit. Aber das ist nun wirklich auch schon eine gefühlte Ewigkeit her.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #6
            Danke für die Infos!
            Ich werde dann mal anpassen und berichten!

            Lieben Gruss

            Kommentar


              #7
              Zitat von DerRenovator Beitrag anzeigen
              In deinem Fall würde ich aber kürzer so notieren:
              [highlight=epc]
              Nachmittag = (hour() >= 15);
              [/highlight]
              Gefällt mir gut

              Vermutlich wird der Wert aber stündlich neu berechnet. Evtl. braucht chtime() weniger Rechenzeit. Würde mich jedenfalls interessieren

              [highlight=epc]
              Nachmittag = chtime(15,0,0);
              [/highlight]

              Wenn die Zeiten wichtig sind, wäre aber folgendes gleichwertig:

              [highlight=epc]
              Nachmittag = chtime(15,0,0) OR NOT (chtime(1,0,0));
              [/highlight]
              BR
              Marc

              Kommentar


                #8
                Zitat von saft6luck Beitrag anzeigen
                Gefällt mir gut

                Vermutlich wird der Wert aber stündlich neu berechnet. Evtl. braucht chtime() weniger Rechenzeit. Würde mich jedenfalls interessieren

                [highlight=epc]
                Nachmittag = chtime(15,0,0);
                [/highlight]

                Wenn die Zeiten wichtig sind, wäre aber folgendes gleichwertig:

                [highlight=epc]
                Nachmittag = chtime(15,0,0) or !chtime(1,0,0);
                [/highlight]
                ... hab nur die Syntax Deines Beispiels auf EibPC-language umgestellt

                Kommentar


                  #9
                  Zitat von saft6luck Beitrag anzeigen
                  Evtl. braucht chtime() weniger Rechenzeit. Würde mich jedenfalls interessieren
                  Nein, ob nun chtime() oder hour(), das macht wohl keinen Unterschied. Bestenfalls der Vergleich hour()>... aber das dürfte im Bereich von 0.1 bis 1 µs liegen.
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    Zitat von klaus_kraemer Beitrag anzeigen
                    ... hab nur die Syntax Deines Beispiels auf EibPC-language umgestellt
                    LOL, NOT gibt's nicht, cool. Vielen Dank.

                    Zitat von enertegus Beitrag anzeigen
                    Nein, ob nun chtime() oder hour(), das macht wohl keinen Unterschied. Bestenfalls der Vergleich hour()>... aber das dürfte im Bereich von 0.1 bis 1 µs liegen.
                    Klar, darum geht's ja.
                    BR
                    Marc

                    Kommentar


                      #11
                      Ich muss leider noch mal auf die htime Problematik zurück kommen. Also Silvester-Nacht. Folgender Code:
                      Code:
                      if(htime(23,00,01))then write ("DachLedFront-2/1/29",EIN) endif
                      if(htime(01,15,01))then write ("DachLedFront-2/1/29",AUS) endif
                      Erwartung: Um 23:00 geht das Licht an, um 01.15 Uhr dann wieder aus.

                      Hier die Ausgelesenen Telegramme des EibPCs:
                      Code:
                      [SIZE=2]2014-12-31 22:59:24, 0.0.20, "RT Küche -7/0/0", 16-Bit-Fliesskommazahl, 21.400000000000002, Schreiben, bc 00 14 38 00 83 00 80 0c 2e 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 22:59:24, 0.0.39, "Regen JA oder NEIN-0/1/0", Binärwert, AUS, Schreiben, bc 00 27 01 00 81 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 22:59:29, 0.0.23, "RT Wohnzimmer Fernseher-7/0/5", 16-Bit-Fliesskommazahl, 21.1, Schreiben, bc 00 17 38 05 83 00 80 0c 1f 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 22:59:30, 0.0.27, "RT Wohnzimmer Esstisch-7/0/4", 16-Bit-Fliesskommazahl, 21.900000000000002, Schreiben, bc 00 1b 38 04 83 00 80 0c 47 00 00 00 00 00 00 00 00 00 00 00 00 00
                      [B]2014-12-31 23:00:01, EibPC, "DachLedFront-2/1/29", Binärwert, EIN[/B], Schreiben, bc 00 00 11 1d e1 00 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 23:00:01, 0.0.1, "DachLedFront-2/4/29", Binärwert, EIN, Schreiben, bc 00 01 14 1d 81 00 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 23:00:08, 0.0.33, "Wind-0/0/1", 16-Bit-Fliesskommazahl, 0.0, Schreiben, bc 00 21 00 01 83 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 23:00:09, 0.0.26, "RT Eingangsbereich-7/0/6", 16-Bit-Fliesskommazahl, 21.7, Schreiben, bc 00 1a 38 06 83 00 80 0c 3d 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 23:00:26, 0.0.33, "Temperatur-0/0/2", 16-Bit-Fliesskommazahl, -0.3, Schreiben, bc 00 21 00 02 83 00 80 87 e2 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2014-12-31 23:00:48, 0.0.33, "Wind Schwellwert-0/0/9", Binärwert, AUS, Schreiben, bc 00 21 00 09 81 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[/SIZE]
                      soweit ok.
                      Dann um 01.15 Uhr:

                      [CODE]2015-01-01 01:14:29, 0.0.27, "RT Wohnzimmer Esstisch-7/0/4", 16-Bit-Fliesskommazahl, 21.900000000000002, Schreiben, bc 00 1b 38 04 83 00 80 0c 47 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2015-01-01 01:14:37, 0.0.33, "Wind-0/0/1", 16-Bit-Fliesskommazahl, 0.0, Schreiben, bc 00 21 00 01 83 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2015-01-01 01:15:16, 0.0.26, "RT Eingangsbereich-7/0/6", 16-Bit-Fliesskommazahl, 21.400000000000002, Schreiben, bc 00 1a 38 06 83 00 80 0c 2e 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2015-01-01 01:15:17, 0.0.39, "Regen JA oder NEIN-0/1/0", Binärwert, AUS, Schreiben, bc 00 27 01 00 81 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      2015-01-01 01:15:37, 0.0.33, "Wind-0/0/1", 16-Bit-Fliesskommazahl, 0.0, Schreiben, bc 00 21 00 01 83 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                      [/CODE]
                      NIX! Das Licht brannte (mal wieder) die ganze Nacht. Verstehe ich da was falsch??? Warum wurde kein AUS gesendet?

                      Vielen Dank!

                      Kommentar


                        #12
                        *Pling*

                        Ich fände es ganz gut wenn sich mal jemand vom Enertex-Team kurz dazu äußern könnte...

                        Danke

                        Kommentar


                          #13
                          Betriebsferien bis einschl. 6.1.!?

                          Kommentar


                            #14
                            Zitat von DerMitdemBusSpricht Beitrag anzeigen
                            Ich fände es ganz gut wenn sich mal jemand vom Enertex-Team kurz dazu äußern könnte.
                            Ich schließe mich den Vorrednern an, htime arbeitet gundsätzlich wie es soll.
                            Von daher: Was sagt der Ereignis-Speicher?

                            Problematisch kann sein, wenn z.B. die Schnittstelle zuckt, oder wenn das Programm an einer Stelle länger als eine Sekunde zur Verarbeitung braucht.
                            Da gab es ja mal Probleme mit dem Wettermakro, das in seiner ursprünglichen Form extrem lange Verarbeitungszyklen produzierte.
                            Sind um diese Zeit irgendwelche TCP-Nachrichten, HA7E oder sonstige Dinge verarbeitet worden?
                            EDIT: Und ja wir haben noch bis zum 7.1. zu - morgen ist zudem in Bayern gesetzl. Feiertag.
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #15
                              Bzgl. der Betriebsferien - ich lese hier immer wieder Nachrichten vom Enertex Team - also warum kann dann nicht auf meine Frage geantwortet werden? Gut, ist ja jetzt passiert, bedankt dafür. Aber wenn man schon publiziert das hier Betriebsferien gemacht werden dann sollte man sich auch wirklich fern halten. Und der Urlaub sei euch ja auch gegönnt ;-)

                              Punkt 1 - Ereignisspeicher Auslesen - wie geht das? Ich war der Meinung wenn ich die Telegramme vom EibPC transferiere das die der Ereignisspeicher ist. Und diese habe ich ja auch gepostet.

                              Punkt 2 - Ich nutze sowohl den HA7E als auch das WUnderground WetterMarkro. Das sind alles Dinge die ich nicht selbst erfunden habe sondern auf Basis der Libaries basierend die von euch vertrieben werden. Und korrigiert mich bitte wenn ich da falsche liege: Ich habe nirgends gelesen das wenn ich dieses Makro einsetzte dafür an anderer Stelle vielleicht etwas hinten runterfällt.

                              Und ob um diese Zeit tatsächlich etwas Verarbeitet worden ist kann ich leider nicht beantworten. Ich stelle diese Informationen gerne zur Verfügung wenn ich weiß wie ich daran komme.

                              Vielen Dank!

                              Kommentar

                              Lädt...
                              X