Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Timer ungenau

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Timer ungenau

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mike2712 last edited by mike2712

      Hallo,

      ich habe einen Timer über einen CRON der jede Sekunde aufgerufen wird. Dieser ist aber sehr ungenau, woher kommt das?
      7b2fdb9b-0744-4111-9583-5b1abd58e3df-image.png

      Laut Timer war die Internet Nutzung 123 Minuten aktiv, die tatsächliche Zeit war aber 3 Stunden & 38 Minuten (218 Minuten), woher kommt diese riesige Differenz? Ich hatte auch schon versucht dies mit Intervall Timer zu lösen, aber das hat sich auch sehr häufig aufgehangen.
      Auch der Verlauf ist sehr eigenartig, am Ende scheint die Steigung der Roten Kurve, abgelaufene Zeit zu stimmen.

      84d1a1d8-2727-4c0e-8827-30714452eea2-image.png

      Homoran liv-in-sky 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @mike2712 last edited by

        @mike2712
        Es könnte sein, dass z.B. die Hardware überlastet ist und den Cronjob nicht im sekundentakt abarbeiten kann.

        Um das reaöistisvh sagen zu können, müsste man deutlich meht infos haben

        M 1 Reply Last reply Reply Quote 0
        • M
          mike2712 @Homoran last edited by mike2712

          @Homoran
          iObroker läuft auf einer Windows 7 VM in einem QNAP NAS, der scheint nicht überlastet:

          286eb267-0833-445e-80dc-83e3f760c53b-image.png
          cc33b364-2e64-4874-b768-eb0ce9aa2d51-image.png

          iObroker Systeminformationen
          48806515-1147-4bf1-9cbf-04601bca2e0f-image.png

          Home-ioBroker
          Betriebssystem
          Windows
          Architektur
          ia32
          CPUs
          2
          Geschwindigkeit
          1600 MHz
          Modell
          Intel Core i7 (Nehalem Class Core i7)
          RAM
          3 GB
          System Betriebszeit
          8 T. 04:48:35
          Node.js
          v10.15.1 (Es gibt eine neuere Version: v10.16.0 - Recommended version v8.16.0)
          NPM
          6.4.1
          Anzahl der Adapter
          276
          Festplatte Größe
          79.9 GB
          Festplatte frei
          58.66 GB
          Betriebszeit
          8 T. 04:47:39
          Aktive Instanzen
          23
          Hostname
          Home-ioBroker

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @mike2712 last edited by

            @mike2712
            Dann musst du das skript mal loggen, ob es wirklich jede sekunde startet, und/oder sich der wert jede Sekunde ändert.

            Oder ob der falls vielleicht nicht auslöst,
            Oder...
            Oder...

            1 Reply Last reply Reply Quote 0
            • haselchen
              haselchen Most Active last edited by

              Vielleicht ist es auch so simple , dass man im Blockly aktualisiere anstatt steuere nimmt 😜

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @haselchen last edited by

                @haselchen
                Da wäre ich jetzt gespannt.

                Ich kenne das nur umgekehrt, dass ein gerätestate zwingend ein steuere benötigt, ein "variablen state" das aktualisiere "nur" damit der Wert nicht rot bleibt.

                haselchen 1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @Homoran last edited by

                  @Homoran
                  Das war mehr so ins Blaue getippt.
                  Manchmal sind es die unscheinbaren Dinge im IOBROKER, die dann funktionieren 😁

                  1 Reply Last reply Reply Quote 0
                  • haselchen
                    haselchen Most Active last edited by

                    Ich denke aber auch das man diese Berechnung per Blockly eleganter hinbekommt , als mit einem 1 Sekunden Cronjob. Dazu müsste man aber mehr zu den Datenpunkte wissen.

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @haselchen last edited by

                      @haselchen sagte in Timer ungenau:

                      Dazu müsste man aber mehr zu den Datenpunkte wissen.

                      Das gilt für alle Berechnungen.

                      Z.b. "Internetnutzung"
                      Wo kommt der wert her
                      Wie wird er erzeugt
                      Reagiert dieser wert überhaupt sekundengenau, oder dauert es ggf. Minuten bis er true/false ist
                      ...

                      M 1 Reply Last reply Reply Quote 1
                      • M
                        mike2712 @Homoran last edited by

                        @Homoran
                        @haselchen

                        Der Datenpunkt Internetnutzung wird konstat über VIS auf 0 oder 1 gesetzt, habe in einem Test dieses mit einer festen 1 verodert.

                        Den Test habe ich jetzt mit steuere und aktualisiere gemacht, tatsächlich läuft dieser Wert bei aktualisiere deutlich langsamer weg wie bei steuere.
                        Bei aktualisiere ist der Wert bei einer echten Laufzeit von 240 auf 230 gelaufen, vermutlich ist diese CRON einfach nicht so genau das man das für solche Zwecke benutzen kann. Ob es an der Hardeware oder Software liegt?

                        Ich denke ich werde nach einen anderen Lösungsweg suchen müssen, mit Intervall Timern hatte ich es allerdings nicht hinbekommen, vielleicht baue ich die Geschichte soweit um das der CRON nur jede 30 Sekunden oder jede Minute gestartet wird um den schleichenden Fehler zu minimieren, andere Laufzeiten wie z.B. Einschaltzeiten von fernseher habe ich nach dem gleichen Prinzip gelöst, nur halt jede Minute, hier passt die Genauigkeit sehr gut.
                        Hätte mich aber schon interessiert wie genau so ein CRON in dem Sekundentakt ist, spielt die Bearbeitungszeit des Scripts selbst auch eine Rolle, oder warum ist die Abweichung bei aktualisiere deutlich geringer? Der Inhalt des Script selbst ist ja doch im Prinzip zu vernachlässigen, ist ja nichts drin.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @mike2712 last edited by Homoran

                          @mike2712 sagte in Timer ungenau:

                          Ich denke ich werde nach einen anderen Lösungsweg suchen müssen

                          Triggern auf Änderung des Wertes von Internetnutzung
                          Dann die Differenz aus aktueller zZeit und letztem timestamp

                          M 1 Reply Last reply Reply Quote 1
                          • M
                            mike2712 @Homoran last edited by

                            @Homoran
                            Ja so ähnlich hatte ich es auch probiert, hatte immer ein Problem das es um 1 Stunde nicht passt, Sommer/Winterzeit Problem ? Aber eine gute Idee hier vielleicht nochmal anzusetzen.

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @mike2712 last edited by

                              @mike2712 sagte in Timer ungenau:

                              das es um 1 Stunde nicht passt

                              Zeitzone in der vm?

                              Aber Differenz ist Differenz!

                              paul53 M 2 Replies Last reply Reply Quote 0
                              • paul53
                                paul53 @Homoran last edited by

                                @Homoran sagte:

                                Zeitzone in der vm?

                                Die Timestamps sind unabhängig von der Zeitzone (UTC).

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mike2712 @Homoran last edited by

                                  @Homoran

                                  Ich muss den Wert zur Aktivierung in einem Datenpunkt schreiben, richtig? Wie muss ich diesen Datenpunkt konfigurieren, ich finde ein passendes Datenformat.
                                  Wenn Internetnutzung auf 0 geht einfach die aktuelle Zeit - der gespeicherten Zeit rechnen, diese Differenz müsste dann idealerweise als Stunden:Minuten oder wie auch immer daraus kommen, so sollte der Ansatz sein, oder?

                                  Homoran paul53 2 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @mike2712 last edited by

                                    @mike2712 sagte in Timer ungenau:

                                    Ich muss den Wert zur Aktivierung in einem Datenpunkt schreiben

                                    Was bitte ist denn "Internetnutzung " jetzt?

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      mike2712 @Homoran last edited by mike2712

                                      @Homoran ein einfacher Logik Datenpunkt
                                      e68e01ae-cd35-4f31-bf45-50feced2d07b-image.png

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @mike2712 last edited by liv-in-sky

                                        @mike2712

                                        es gibt ein script für solche timer/laufzeit fragen - vielleicht kannst du es brauchen

                                        in dem script wird nicht gezählt, sondern nach einem einstellbaren interval berechnet - damit stimmt es auch, wenn iobroker oder server neugestartet wird

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @mike2712 last edited by

                                          @mike2712 sagte:

                                          Wenn Internetnutzung auf 0 geht einfach die aktuelle Zeit - der gespeicherten Zeit rechnen

                                          Vorschlag ohne Reset von summe / Datenpunkt Nutzungsdauer:

                                          Blockly_Nutzungsdauer.JPG

                                          M 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @mike2712 last edited by

                                            @mike2712 sagte in Timer ungenau:

                                            ein einfacher Logik Datenpunkt

                                            Und zu dem gibt es einenen timestamp der Änderung und einen last timestamp der letzten Änderung

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            5
                                            29
                                            1588
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo