Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] Werte im Schieberegister

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    334

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    300

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    929

[gelöst] Werte im Schieberegister

Geplant Angeheftet Gesperrt Verschoben Blockly
23 Beiträge 4 Kommentatoren 1.3k Aufrufe 3 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • MartinPM MartinP

    @gonzokalle Die Ursache für die "null" könnte dort liegen.
    Daneben musst Du aber auch dafür sorgen, dass das "10-Minuten" Skript sich nicht mit dem "1-Stunden" Skript "beißt". Da ist es unschön, dass sowohl das Stunden-Skript, als auch das 10-Minuten-Skript bei Minute "0" parallel ausgeführt werden...
    (Nachtrag: Ich bin aber kein NodeJS Experte, und kann nicht sagen, ob es da ggfs, eingebaute Mechanismen gibt, die solche Nebenläufigkeiten ausschließen)
    Entweder einen Zähler bis 6 in das 10-Minuten-Skript einbauen, der das Stunden-Skript nach dem Aktualisieren der 10-Minuten Liste triggert, oder es direkt in das 10-Minuten-Skript einbauen.
    Eine andere Möglichkeit wäre, das Stunde-Skript mit cron parametrierung "1 * * * *" eine Minute nach dem "0" Durchlauf des 10-Minuten-Skripts zu starten,

    Nachtrag OFFTOPIC
    Sind solche Probleme nicht eher etwas für die influx-DB und Grafana oder andere Analyse-Werkzeuge, die in ioBroker integriert werden können?

    G Online
    G Online
    Gonzokalle
    schrieb am zuletzt editiert von
    #4

    @martinp
    @Codierknecht

    Danke euch beiden.
    Die "null" scheint wirklich vom Blockly Start zu kommen.

    Alles andere muss ich mir in Ruhe mal anschauen.

    1 Antwort Letzte Antwort
    0
    • G Gonzokalle

      Hallo, ich schreibe die Werte vom Regenmesser in zwei Schieberegister.
      Einmal für 24 x 1 Stunde und 6 x 10 Minute (eine Stunde).
      In den Objekten steht teilweise eine "null" anstatt einer "0".
      Kommt das vom Start des Blocklys?
      Die 0.45 Regen hätte er doch auch bei Regenmenge 1h übernehmen müssen?

      a0ffefb4-8767-4db5-900a-693b11628ac9-image.png
      4100c215-5ea5-4f7e-876e-6dbf7964e4aa-image.png

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #5

      @gonzokalle sagte: In den Objekten steht teilweise eine "null" anstatt einer "0".

      Die beiden Listen-Datenpunkte müssen erst einmal richtig initialisiert werden. Das kann / sollte in einem getrennten Skript erfolgen, das nach Initialisierung gelöscht wird.

      Blockly_temp.JPG

      Außerdem verwendet man zum Hochzählen besser Integer-Werte. Dann muss anschließend nicht gerundet werden.

      EDIT: Siehe hier

      Den Faktor 0,45 wendet man dann erst bei Schreiben der Regenmenge in den Datenpunkt an:

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      G 2 Antworten Letzte Antwort
      0
      • MartinPM MartinP

        @gonzokalle Die Ursache für die "null" könnte dort liegen.
        Daneben musst Du aber auch dafür sorgen, dass das "10-Minuten" Skript sich nicht mit dem "1-Stunden" Skript "beißt". Da ist es unschön, dass sowohl das Stunden-Skript, als auch das 10-Minuten-Skript bei Minute "0" parallel ausgeführt werden...
        (Nachtrag: Ich bin aber kein NodeJS Experte, und kann nicht sagen, ob es da ggfs, eingebaute Mechanismen gibt, die solche Nebenläufigkeiten ausschließen)
        Entweder einen Zähler bis 6 in das 10-Minuten-Skript einbauen, der das Stunden-Skript nach dem Aktualisieren der 10-Minuten Liste triggert, oder es direkt in das 10-Minuten-Skript einbauen.
        Eine andere Möglichkeit wäre, das Stunde-Skript mit cron parametrierung "1 * * * *" eine Minute nach dem "0" Durchlauf des 10-Minuten-Skripts zu starten,

        Nachtrag OFFTOPIC
        Sind solche Probleme nicht eher etwas für die influx-DB und Grafana oder andere Analyse-Werkzeuge, die in ioBroker integriert werden können?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #6

        @martinp sagte: das "10-Minuten" Skript sich nicht mit dem "1-Stunden" Skript "beißt".

        Die "beißen" sich nicht, da sie verschiedene Variablen verwenden. Lediglich die Telegram-Nachricht sollte inkl. Prüfung etwas verzögert werden.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        MartinPM 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @gonzokalle sagte: In den Objekten steht teilweise eine "null" anstatt einer "0".

          Die beiden Listen-Datenpunkte müssen erst einmal richtig initialisiert werden. Das kann / sollte in einem getrennten Skript erfolgen, das nach Initialisierung gelöscht wird.

          Blockly_temp.JPG

          Außerdem verwendet man zum Hochzählen besser Integer-Werte. Dann muss anschließend nicht gerundet werden.

          EDIT: Siehe hier

          Den Faktor 0,45 wendet man dann erst bei Schreiben der Regenmenge in den Datenpunkt an:

          Blockly_temp.JPG

          G Online
          G Online
          Gonzokalle
          schrieb am zuletzt editiert von
          #7

          @paul53
          Probiere ich heute Abend. 👍
          Muss erstmal arbeiten.

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @martinp sagte: das "10-Minuten" Skript sich nicht mit dem "1-Stunden" Skript "beißt".

            Die "beißen" sich nicht, da sie verschiedene Variablen verwenden. Lediglich die Telegram-Nachricht sollte inkl. Prüfung etwas verzögert werden.

            MartinPM Online
            MartinPM Online
            MartinP
            schrieb am zuletzt editiert von
            #8

            @paul53 said in Werte im Schieberegister:

            @martinp sagte: das "10-Minuten" Skript sich nicht mit dem "1-Stunden" Skript "beißt".

            Die "beißen" sich nicht, da sie verschiedene Variablen verwenden. Lediglich die Telegram-Nachricht sollte inkl. Prüfung etwas verzögert werden.

            "Regenmenge_in_10 Min" wird in zwei Skripten verwendet, und "Regenmenge_im_60_Min" auch ...

            Wobei ich eher in der C++ Welt zu Hause bin - bei C++ müsste man schon darauf achten, dass man einen atomaren Datentyp nimmt ... bei NodeJS weiß ich nicht, ob es da integrierte Schutzmechanismen gegen solche Nebenläufigkeiten gibt. Damit beschäftige ich mich erst seit ein paar Monaten ... und weiß nicht, ob die "asynchronen" Funktionen doch unter der Motorhaube z. B. fein säuberlich hintereinander über eine Warteschlange abgearbeitet werden ...

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

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @gonzokalle sagte: In den Objekten steht teilweise eine "null" anstatt einer "0".

              Die beiden Listen-Datenpunkte müssen erst einmal richtig initialisiert werden. Das kann / sollte in einem getrennten Skript erfolgen, das nach Initialisierung gelöscht wird.

              Blockly_temp.JPG

              Außerdem verwendet man zum Hochzählen besser Integer-Werte. Dann muss anschließend nicht gerundet werden.

              EDIT: Siehe hier

              Den Faktor 0,45 wendet man dann erst bei Schreiben der Regenmenge in den Datenpunkt an:

              Blockly_temp.JPG

              G Online
              G Online
              Gonzokalle
              schrieb am zuletzt editiert von
              #9

              @paul53
              Meinst du so?
              Das nur der Kontakt gezählt wird und nachher mal 0,45 gerechnet wird habe ich verstanden.
              Den Anfang noch nicht. Welcher DP muss ich denn bei Regenmenge in 10Min eintragen?

              03873101-1fab-4f6a-b247-f2db66716108-image.png

              paul53P 1 Antwort Letzte Antwort
              0
              • G Gonzokalle

                @paul53
                Meinst du so?
                Das nur der Kontakt gezählt wird und nachher mal 0,45 gerechnet wird habe ich verstanden.
                Den Anfang noch nicht. Welcher DP muss ich denn bei Regenmenge in 10Min eintragen?

                03873101-1fab-4f6a-b247-f2db66716108-image.png

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #10

                @gonzokalle sagte: Welcher DP muss ich denn bei Regenmenge in 10Min eintragen?

                Dafür werden zwei weitere DP gebraucht, damit die beiden Variablen einen Skriptstart überstehen.

                Blockly_temp.JPG

                Außerdem müssen die beiden Listen-DP bei jeder Listenänderung aktualisiert werden, so wie du es ursprünglich schon hattest.

                Blockly_temp.JPG

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                G 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @gonzokalle sagte: Welcher DP muss ich denn bei Regenmenge in 10Min eintragen?

                  Dafür werden zwei weitere DP gebraucht, damit die beiden Variablen einen Skriptstart überstehen.

                  Blockly_temp.JPG

                  Außerdem müssen die beiden Listen-DP bei jeder Listenänderung aktualisiert werden, so wie du es ursprünglich schon hattest.

                  Blockly_temp.JPG

                  G Online
                  G Online
                  Gonzokalle
                  schrieb am zuletzt editiert von Gonzokalle
                  #11

                  @paul53
                  Ich habe mal ein paar Variablen umbenannt, damit ich es besser verstehe.
                  So?

                  9d6da8c4-4e46-4f31-90b8-8a4549a7f54c-image.png

                  38594d43-ed48-478c-9f1f-542e654717aa-image.png

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • G Gonzokalle

                    @paul53
                    Ich habe mal ein paar Variablen umbenannt, damit ich es besser verstehe.
                    So?

                    9d6da8c4-4e46-4f31-90b8-8a4549a7f54c-image.png

                    38594d43-ed48-478c-9f1f-542e654717aa-image.png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #12

                    @gonzokalle sagte: So?

                    Ganz oben: Ohne Division durch 0,45 und ohne runden (war ursprünglich falsch gedacht von mir). Die Datenpunkte enthalten Integer-Werte, was du schon richtig im Namen berücksichtigt hast.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    G 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @gonzokalle sagte: So?

                      Ganz oben: Ohne Division durch 0,45 und ohne runden (war ursprünglich falsch gedacht von mir). Die Datenpunkte enthalten Integer-Werte, was du schon richtig im Namen berücksichtigt hast.

                      G Online
                      G Online
                      Gonzokalle
                      schrieb am zuletzt editiert von
                      #13

                      @paul53
                      Dann verstehe ich es jetzt auch.
                      Der erste Test sieht gut aus.
                      Dankeschön😊

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • G Gonzokalle

                        @paul53
                        Dann verstehe ich es jetzt auch.
                        Der erste Test sieht gut aus.
                        Dankeschön😊

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #14

                        @gonzokalle
                        Diesen Teil um 1 s verzögern, da sonst noch ein alter Wert gelesen werden kann:

                        Blockly_temp.JPG

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        G 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @gonzokalle
                          Diesen Teil um 1 s verzögern, da sonst noch ein alter Wert gelesen werden kann:

                          Blockly_temp.JPG

                          G Online
                          G Online
                          Gonzokalle
                          schrieb am zuletzt editiert von
                          #15

                          @paul53
                          Habe ich gemacht.

                          Aber allgemein kann man den Liste DP doch auch manuell erstellen?
                          Oder muss man das über aktualisieren machen?

                          a3877994-ea3c-4741-8775-962fa707d18b-image.png

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • G Gonzokalle

                            @paul53
                            Habe ich gemacht.

                            Aber allgemein kann man den Liste DP doch auch manuell erstellen?
                            Oder muss man das über aktualisieren machen?

                            a3877994-ea3c-4741-8775-962fa707d18b-image.png

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #16

                            @gonzokalle sagte: kann man den Liste DP doch auch manuell erstellen?

                            Im Prinzip schon. Bei einem Array ist es aber nicht so einfach, den Startwert fehlerfrei hinzubekommen.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            G 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @gonzokalle sagte: kann man den Liste DP doch auch manuell erstellen?

                              Im Prinzip schon. Bei einem Array ist es aber nicht so einfach, den Startwert fehlerfrei hinzubekommen.

                              G Online
                              G Online
                              Gonzokalle
                              schrieb am zuletzt editiert von
                              #17

                              @paul53

                              Bei einem Punkt bin ich mir unsicher.
                              Bei Contact in 10Min bleibt der letzte Wert immer stehen, obwohl es die letzten 10 Minuten nicht geregnet hat.
                              Beim Scriptstart wird dieser Wert aber in eine Variable eingelesen und mit neuen Regen addiert.
                              Hat es dann nicht zu viel geregnet?

                              ddc47b62-1417-413d-9f5e-35ffd52c2212-image.png

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • G Gonzokalle

                                @paul53

                                Bei einem Punkt bin ich mir unsicher.
                                Bei Contact in 10Min bleibt der letzte Wert immer stehen, obwohl es die letzten 10 Minuten nicht geregnet hat.
                                Beim Scriptstart wird dieser Wert aber in eine Variable eingelesen und mit neuen Regen addiert.
                                Hat es dann nicht zu viel geregnet?

                                ddc47b62-1417-413d-9f5e-35ffd52c2212-image.png

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #18

                                @gonzokalle sagte: Bei Contact in 10Min bleibt der letzte Wert immer stehen, obwohl es die letzten 10 Minuten nicht geregnet hat.

                                Es wird nur die Variable alle 10 Minuten auf 0 zurück gesetzt. Soll auch dies einen Skriptstart überstehen, muss auch eine 0 in den Datenpunkt "Contact in 10Min" geschrieben werden. Das gilt auch für "Contact in 60MIn".

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                G 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @gonzokalle sagte: Bei Contact in 10Min bleibt der letzte Wert immer stehen, obwohl es die letzten 10 Minuten nicht geregnet hat.

                                  Es wird nur die Variable alle 10 Minuten auf 0 zurück gesetzt. Soll auch dies einen Skriptstart überstehen, muss auch eine 0 in den Datenpunkt "Contact in 10Min" geschrieben werden. Das gilt auch für "Contact in 60MIn".

                                  G Online
                                  G Online
                                  Gonzokalle
                                  schrieb am zuletzt editiert von
                                  #19

                                  @paul53
                                  Vielleicht ist es einfacher gleich in den DP Contact in 10Min zu schreiben.
                                  Gibt es für DP auch eine "erhöhe um 1" Möglichkeit?

                                  paul53P MartinPM 2 Antworten Letzte Antwort
                                  0
                                  • G Gonzokalle

                                    @paul53
                                    Vielleicht ist es einfacher gleich in den DP Contact in 10Min zu schreiben.
                                    Gibt es für DP auch eine "erhöhe um 1" Möglichkeit?

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #20

                                    @gonzokalle sagte: Gibt es für DP auch eine "erhöhe um 1" Möglichkeit?

                                    Nein.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • G Gonzokalle

                                      @paul53
                                      Vielleicht ist es einfacher gleich in den DP Contact in 10Min zu schreiben.
                                      Gibt es für DP auch eine "erhöhe um 1" Möglichkeit?

                                      MartinPM Online
                                      MartinPM Online
                                      MartinP
                                      schrieb am zuletzt editiert von
                                      #21

                                      @gonzokalle Das geht sicherlich, aber man sollte natürlich die Manipulation von Datenpunkten auf das minimal Mögliche reduzieren. Ist vermeidbarer Overhead ... Es wäre so etwas wie eine Read-Modify-Write Operation.

                                      Die Frage ist aber, ob dieser jetzt genutzte Ringpuffer-Mechanismus "unter der Motorhaube" da effizienter ist ...

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

                                      G 1 Antwort Letzte Antwort
                                      0
                                      • MartinPM MartinP

                                        @gonzokalle Das geht sicherlich, aber man sollte natürlich die Manipulation von Datenpunkten auf das minimal Mögliche reduzieren. Ist vermeidbarer Overhead ... Es wäre so etwas wie eine Read-Modify-Write Operation.

                                        Die Frage ist aber, ob dieser jetzt genutzte Ringpuffer-Mechanismus "unter der Motorhaube" da effizienter ist ...

                                        G Online
                                        G Online
                                        Gonzokalle
                                        schrieb am zuletzt editiert von
                                        #22

                                        @martinp
                                        Klingt kompliziert.
                                        Ich denke ich lasse es so wie es ist.

                                        G 1 Antwort Letzte Antwort
                                        0
                                        • G Gonzokalle

                                          @martinp
                                          Klingt kompliziert.
                                          Ich denke ich lasse es so wie es ist.

                                          G Online
                                          G Online
                                          Gonzokalle
                                          schrieb am zuletzt editiert von Gonzokalle
                                          #23

                                          @gonzokalle
                                          Noch mal abschließend das etwas abgeänderte Blockly.

                                          17af666b-92fc-4d03-8cfd-c326cb7713ac-image.png

                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          560

                                          Online

                                          32.8k

                                          Benutzer

                                          82.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe