Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Blockly mit Funktion einer Warteschlange

NEWS

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

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

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

Blockly mit Funktion einer Warteschlange

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 2 Kommentatoren 538 Aufrufe 1 Watching
  • Ä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.
  • K Offline
    K Offline
    kuumaur
    schrieb am zuletzt editiert von
    #1

    Moin Leute,
    ich habe die Tage einiges an meinen Scripten im IOB optimiert.
    Ein Ergebnis der Änderungen ist, dass ich nun ein zentrale Script zum Versenden von Messages habe.
    Das ist ein globales Script und wird von allen Scripts verwendet, die etwas versenden möchten.
    (E-Mail, Matrix, Pushover, Web-Requests)
    Nun habe ich identifiziert, dass die Web-Requests in meinem globalen Script nur alle 60+ Sekunden aufgerufen werden dürfen.
    Mein erster Gedanke war, einen Timeout einzubauen. Das hat den Nachteil, dass dann jedes mal ein neuer Timeout gestartet wird, und ich immer noch nicht sicher sagen kann, ob der Web-Request innerhalb oder außerhalb des gültigen Zeitfensters war. Die Idee ist also, die Aufrufe in eine Queue zu parken und mit einem 60sec. Intervall abarbeiten.
    Hat das schon mal jemand gemacht? Ist Blockly dazu überhaupt in der Lage?
    Danke und Gruß

    Proxmox | IoBroker LXC Container | Zigbee | Rhasspy Voice | SqueezeBox | Frigate CCTV | Jarvis Vis |

    paul53P 1 Antwort Letzte Antwort
    0
    • K kuumaur

      Moin Leute,
      ich habe die Tage einiges an meinen Scripten im IOB optimiert.
      Ein Ergebnis der Änderungen ist, dass ich nun ein zentrale Script zum Versenden von Messages habe.
      Das ist ein globales Script und wird von allen Scripts verwendet, die etwas versenden möchten.
      (E-Mail, Matrix, Pushover, Web-Requests)
      Nun habe ich identifiziert, dass die Web-Requests in meinem globalen Script nur alle 60+ Sekunden aufgerufen werden dürfen.
      Mein erster Gedanke war, einen Timeout einzubauen. Das hat den Nachteil, dass dann jedes mal ein neuer Timeout gestartet wird, und ich immer noch nicht sicher sagen kann, ob der Web-Request innerhalb oder außerhalb des gültigen Zeitfensters war. Die Idee ist also, die Aufrufe in eine Queue zu parken und mit einem 60sec. Intervall abarbeiten.
      Hat das schon mal jemand gemacht? Ist Blockly dazu überhaupt in der Lage?
      Danke und Gruß

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

      @kuumaur sagte: Ist Blockly dazu überhaupt in der Lage?

      Na klar, ein Array als Fifo organisiert. Wenn es sich um ein globales Skript handelt, sollte das Array in einem Datenpunkt gespeichert und ausgelesen werden. Allerdings dürfte ein Intervall in einem globalen Skript schwierig 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

      K 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @kuumaur sagte: Ist Blockly dazu überhaupt in der Lage?

        Na klar, ein Array als Fifo organisiert. Wenn es sich um ein globales Skript handelt, sollte das Array in einem Datenpunkt gespeichert und ausgelesen werden. Allerdings dürfte ein Intervall in einem globalen Skript schwierig werden.

        K Offline
        K Offline
        kuumaur
        schrieb am zuletzt editiert von
        #3

        @paul53
        Mega schnelle Antwort :+1:
        Ich versuche mich mal an deiner Idee....

        Proxmox | IoBroker LXC Container | Zigbee | Rhasspy Voice | SqueezeBox | Frigate CCTV | Jarvis Vis |

        K 1 Antwort Letzte Antwort
        0
        • K kuumaur

          @paul53
          Mega schnelle Antwort :+1:
          Ich versuche mich mal an deiner Idee....

          K Offline
          K Offline
          kuumaur
          schrieb am zuletzt editiert von
          #4

          Nee, bei mir klingelt nichts.
          Ich habe ein Object
          0_userdata.0.Custom_Var_NabaztagQueue
          als Array angelegt
          Wie schreibe ich nun Werte da rein und wie lösche ich die wieder? Ich stehe auf dem Schlauch. Ist wahrscheinlich ganz einfach und ich sehe den Wald vor lauter Bäumen nicht!
          Das List-Item in Blockly ist scheinbar nicht dafür einsetzbar.
          Ich denke, dass ich mal wieder Starthilfe benötige. Hast Du @paul53 eine Dokumentationquelle für mich?

          Proxmox | IoBroker LXC Container | Zigbee | Rhasspy Voice | SqueezeBox | Frigate CCTV | Jarvis Vis |

          paul53P 1 Antwort Letzte Antwort
          0
          • K kuumaur

            Nee, bei mir klingelt nichts.
            Ich habe ein Object
            0_userdata.0.Custom_Var_NabaztagQueue
            als Array angelegt
            Wie schreibe ich nun Werte da rein und wie lösche ich die wieder? Ich stehe auf dem Schlauch. Ist wahrscheinlich ganz einfach und ich sehe den Wald vor lauter Bäumen nicht!
            Das List-Item in Blockly ist scheinbar nicht dafür einsetzbar.
            Ich denke, dass ich mal wieder Starthilfe benötige. Hast Du @paul53 eine Dokumentationquelle für mich?

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

            @kuumaur
            Die globale Funktion, die in den Fifo schreibt, könnte so aussehen:

            Blockly_globalFifo.JPG

            Das Senden (Leeren des Fifo) kann nicht global erfolgen, sondern in einem zentralen (nicht globalen) Skript, das so aussehen könnte:

            Bild_2023-01-09_200745105.png

            EDIT: Den Fifo-Datenpunkt initialisiere zu Anfang mit einem leeren Array.

            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

            K 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @kuumaur
              Die globale Funktion, die in den Fifo schreibt, könnte so aussehen:

              Blockly_globalFifo.JPG

              Das Senden (Leeren des Fifo) kann nicht global erfolgen, sondern in einem zentralen (nicht globalen) Skript, das so aussehen könnte:

              Bild_2023-01-09_200745105.png

              EDIT: Den Fifo-Datenpunkt initialisiere zu Anfang mit einem leeren Array.

              K Offline
              K Offline
              kuumaur
              schrieb am zuletzt editiert von
              #6

              @paul53 Vielen Dank für deine Unterstützung. Ich werde versuchen dein Beispiel zu verstehen.

              Proxmox | IoBroker LXC Container | Zigbee | Rhasspy Voice | SqueezeBox | Frigate CCTV | Jarvis Vis |

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              542

              Online

              32.4k

              Benutzer

              81.5k

              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