Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Intelligentere Lösung gesucht - exakter Cronjob

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Intelligentere Lösung gesucht - exakter Cronjob

Scheduled Pinned Locked Moved Blockly
8 Posts 5 Posters 136 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MJAS
    wrote on last edited by
    #1

    Hallo zusammen,

    ich benötige bitte Hilfe bei einem Skript, welches mir exakt jede Viertelstunde einen Verbrauchswert, evtl. in separaten Objektpunkten, erfasst.
    Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.
    Zudem möchte ich die Möglichkeit haben, die Werte in einer Google Sheets Tabelle zu archivieren, d.h. die Objektpunkte sollen zum Tageswechsel in genannter Tabelle archiviert werden.

    Mein Weg ist bisher:
    Ich hab 96 Objektpunkte angelegt und hab 96 einzelne Cronjobs (00:00, 00:15, 00:30...) in einem Skript, die mir die Objektpunkte mit Daten befüllen.
    Ist natürlich ein wahnsinniger Aufwand.

    Gibt es eine intelligentere Lösung, vielleicht mit einer Liste oder Array, die Objektpunkte zu speichern und auch für den "exakten" Cronjob ?

    Danke schonmal im voraus.
    Gruß
    Martin

    HomoranH AsgothianA arteckA 3 Replies Last reply
    0
    • M MJAS

      Hallo zusammen,

      ich benötige bitte Hilfe bei einem Skript, welches mir exakt jede Viertelstunde einen Verbrauchswert, evtl. in separaten Objektpunkten, erfasst.
      Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.
      Zudem möchte ich die Möglichkeit haben, die Werte in einer Google Sheets Tabelle zu archivieren, d.h. die Objektpunkte sollen zum Tageswechsel in genannter Tabelle archiviert werden.

      Mein Weg ist bisher:
      Ich hab 96 Objektpunkte angelegt und hab 96 einzelne Cronjobs (00:00, 00:15, 00:30...) in einem Skript, die mir die Objektpunkte mit Daten befüllen.
      Ist natürlich ein wahnsinniger Aufwand.

      Gibt es eine intelligentere Lösung, vielleicht mit einer Liste oder Array, die Objektpunkte zu speichern und auch für den "exakten" Cronjob ?

      Danke schonmal im voraus.
      Gruß
      Martin

      HomoranH Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #2

      @MJAS said in Intelligentere Lösung gesucht - exakter Cronjob:

      exakt jede Viertelstunde

      aber

      @MJAS said in Intelligentere Lösung gesucht - exakter Cronjob:

      Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.

      wo ist da der Unterschied?

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      0
      • M MJAS

        Hallo zusammen,

        ich benötige bitte Hilfe bei einem Skript, welches mir exakt jede Viertelstunde einen Verbrauchswert, evtl. in separaten Objektpunkten, erfasst.
        Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.
        Zudem möchte ich die Möglichkeit haben, die Werte in einer Google Sheets Tabelle zu archivieren, d.h. die Objektpunkte sollen zum Tageswechsel in genannter Tabelle archiviert werden.

        Mein Weg ist bisher:
        Ich hab 96 Objektpunkte angelegt und hab 96 einzelne Cronjobs (00:00, 00:15, 00:30...) in einem Skript, die mir die Objektpunkte mit Daten befüllen.
        Ist natürlich ein wahnsinniger Aufwand.

        Gibt es eine intelligentere Lösung, vielleicht mit einer Liste oder Array, die Objektpunkte zu speichern und auch für den "exakten" Cronjob ?

        Danke schonmal im voraus.
        Gruß
        Martin

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        wrote on last edited by
        #3

        @MJAS said in Intelligentere Lösung gesucht - exakter Cronjob:

        Hallo zusammen,

        ich benötige bitte Hilfe bei einem Skript, welches mir exakt jede Viertelstunde einen Verbrauchswert, evtl. in separaten Objektpunkten, erfasst.
        Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.
        Zudem möchte ich die Möglichkeit haben, die Werte in einer Google Sheets Tabelle zu archivieren, d.h. die Objektpunkte sollen zum Tageswechsel in genannter Tabelle archiviert werden.

        Was ist an dem 'normalen' Cron nicht genau genug ? Wie ungenau ist das denn aktuell.

        Mein Weg ist bisher:
        Ich hab 96 Objektpunkte angelegt und hab 96 einzelne Cronjobs (00:00, 00:15, 00:30...) in einem Skript, die mir die Objektpunkte mit Daten befüllen.
        Ist natürlich ein wahnsinniger Aufwand.

        Aufwand, und letztendlich auch witzlos, weil der Eintrag */15 * * * * letztendlich genau das gleiche Ergebnis hat wie deine 96 Datenpunkte. Die Ungenauigkeiten kommen aus der Laufzeit im System, sprich der Zeit zwischen das OS erkennt das der Zeitpunkt erreicht ist und der Wert ist im DP gespeichert.

        Gibt es eine intelligentere Lösung, vielleicht mit einer Liste oder Array, die Objektpunkte zu speichern und auch für den "exakten" Cronjob ?

        Gibt es: Nutz den normalen Cron mit */15 * * * *, stell sicher dass:

        • der Aktuelle Verbrauchswert bereits im Speicher ist (so das du den nicht aus dem Objektbaum oder sogar vom Gerät holen musst)
        • sämtliche notwendigen Berechnungen bereits erfolgt sind
        • das System ansonsten möglichst wenig Zeit-basierte Aktionen macht (sprich idealerweise genau einen cron-Job der zur vollen 1/4 Stunde aktiv wird.
        • Die Systemzeit auf die µs exakt ist (viel Spass dabei)
        • Das System sich zu dem Zeitpunkt idealerweise langweilt, und nicht mit shared resources arbeitet. (Also auf dedizierter Hardware nativ läuft, ohne Docker, VM, Proxxmox, etc, und auch nicht auf einem NAS)

        Unterm Strich stellt sich die Frage wozu das ganze ? Was muss mit so genauen Heartbeats geschehen das Verzögerungen im 100-300 ms Bereich (und das sollte hoch gegriffen sein) problematisch sind ?

        Danke schonmal im voraus.
        Gruß
        Martin

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        1 Reply Last reply
        1
        • M MJAS

          Hallo zusammen,

          ich benötige bitte Hilfe bei einem Skript, welches mir exakt jede Viertelstunde einen Verbrauchswert, evtl. in separaten Objektpunkten, erfasst.
          Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.
          Zudem möchte ich die Möglichkeit haben, die Werte in einer Google Sheets Tabelle zu archivieren, d.h. die Objektpunkte sollen zum Tageswechsel in genannter Tabelle archiviert werden.

          Mein Weg ist bisher:
          Ich hab 96 Objektpunkte angelegt und hab 96 einzelne Cronjobs (00:00, 00:15, 00:30...) in einem Skript, die mir die Objektpunkte mit Daten befüllen.
          Ist natürlich ein wahnsinniger Aufwand.

          Gibt es eine intelligentere Lösung, vielleicht mit einer Liste oder Array, die Objektpunkte zu speichern und auch für den "exakten" Cronjob ?

          Danke schonmal im voraus.
          Gruß
          Martin

          arteckA Offline
          arteckA Offline
          arteck
          Developer Most Active
          wrote on last edited by
          #4

          @MJAS said in Intelligentere Lösung gesucht - exakter Cronjob:

          Der normale Cronjob "alle 15 Minuten" ist mir hierfür nicht exakt genug.

          hääää.. definiere nicht exakt genug ...

          zigbee hab ich, zwave auch, nuc's genauso und HA auch

          1 Reply Last reply
          0
          • M Offline
            M Offline
            MJAS
            wrote on last edited by
            #5

            Mit "nicht exakt" war gemeint, dass ich dann Werte um 00:17 (anstatt 00:15) oder 00:46 (anstatt 00:45) hatte, was ich mir nicht durch eine Systemlatenz erklären konnte.
            Ich hab jetzt auf einem Cronjob [ 0,15,30,45 * * * * ] umgebaut.

            Die Datenpunkte hab ich gelöscht und einen JSON-Datenpunkt angelegt.

            HomoranH 1 Reply Last reply
            0
            • M MJAS

              Mit "nicht exakt" war gemeint, dass ich dann Werte um 00:17 (anstatt 00:15) oder 00:46 (anstatt 00:45) hatte, was ich mir nicht durch eine Systemlatenz erklären konnte.
              Ich hab jetzt auf einem Cronjob [ 0,15,30,45 * * * * ] umgebaut.

              Die Datenpunkte hab ich gelöscht und einen JSON-Datenpunkt angelegt.

              HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #6

              @MJAS said in Intelligentere Lösung gesucht - exakter Cronjob:

              dass ich dann Werte um 00:17 (anstatt 00:15) oder 00:46 (anstatt 00:45)

              Das liegt definitiv nicht am Cronjob selbst.

              Lies dir mal den Post von @Asgothian genau durch, vielleicht trifft da etwas auf dich zu

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Reply Last reply
              1
              • MartinPM Online
                MartinPM Online
                MartinP
                wrote last edited by
                #7

                Es geht wahrscheinlich darum, nicht nur den Messwert exakt alle Viertelstunde zu erfassen, sondern er sollte nicht durch Zwischenspeicherung veraltet sein.
                Vielleicht muss man da nicht nur den letzten Wert in einer Variablen im Skript speichern, sondern auch noch Zeitstempel des letzten und vorletzten Wertes ablegen, und daraus den Wert für die vollen Viertelstunden interpoliert.

                Interessant wäre auch, ob die Viertelstundenwerte sofort, oder auch etwas später vorliegen können.

                Dazu müsste man wissen, ob es um Aufzeichnung oder irgendwelche Regelschleifen geht.

                Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.13)
                kernel Linux pve 6.8.12-15-pve
                6 GByte RAM für den Container
                Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                Remote-Access über Wireguard der Fritzbox

                AsgothianA 1 Reply Last reply
                0
                • MartinPM MartinP

                  Es geht wahrscheinlich darum, nicht nur den Messwert exakt alle Viertelstunde zu erfassen, sondern er sollte nicht durch Zwischenspeicherung veraltet sein.
                  Vielleicht muss man da nicht nur den letzten Wert in einer Variablen im Skript speichern, sondern auch noch Zeitstempel des letzten und vorletzten Wertes ablegen, und daraus den Wert für die vollen Viertelstunden interpoliert.

                  Interessant wäre auch, ob die Viertelstundenwerte sofort, oder auch etwas später vorliegen können.

                  Dazu müsste man wissen, ob es um Aufzeichnung oder irgendwelche Regelschleifen geht.

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  wrote last edited by
                  #8

                  @MartinP
                  Alles Spekulation. Die entscheidenden Informationen liegen uns nicht vor. Weder wo die Verzögerungen her kommen, noch warum sie so problematisch sein sollen.

                  Bevor da nicht mehr Informationen kommen macht es wenig Sinn sich den Kopf an der Glaskugel aufzureiben. 🙂

                  A.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  1 Reply Last reply
                  1
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  702

                  Online

                  32.4k

                  Users

                  81.4k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe