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. [gelöst] Ein Trigger auf alle Datenpunkte in einer Liste

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    146

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[gelöst] Ein Trigger auf alle Datenpunkte in einer Liste

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 3 Kommentatoren 377 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.
  • paul53P paul53

    @martinp sagte: Kann man auch eine Liste als Trigger-Quelle nutzen?

    Ja, eine Liste aus Datenpunkt-IDs.

    Blockly_temp.JPG

    Diese Version erzeugt intern ebenfalls eine ID-Liste:

    Blockly_temp.JPG

    Und diese Version erzeugt eine ID-Liste anhand der Selektionskriterien:

    Blockly_temp.JPG

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

    @paul53 Kann man irgendwie auf diese intern erzeugte ID Liste zugreifen?

    Das Blockly dient der Alive Überwachung von Geräten nebst eMail versand, und Ich würde im Text der Mail dann einfach den Zustand jedes Gerätes in einer Zeile ausgeben. Da wäre ein Recycling der Liste einfacher, als eine Variable anzulegen....

    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
    • MartinPM MartinP

      Kann man auch eine Liste als Trigger-Quelle nutzen?

      Bisher habe ich nur die Möglichkeit gefunden, die Datenpunkte einzeln in den Kopf der entsprechenden Variante des Trigger Blocks einzutragen.

      Ro75R Offline
      Ro75R Offline
      Ro75
      schrieb am zuletzt editiert von
      #4

      @martinp so mache ich es via JS:

      var list_gc_temperatur  = ['fritzdect.0.DECT_087610464655.celsius','fritzdect.0.DECT_087610465893.celsius','fritzdect.0.DECT_087610482188.celsius','fritzdect.0.DECT_087610517354.celsius','fritzdect.0.DECT_116300042978.celsius','fritzdect.0.DECT_116300052609.celsius','fritzdect.0.DECT_116300299458.celsius','fritzdect.0.DECT_116300299459.celsius','fritzdect.0.DECT_116300299460.celsius'];
      
      on({id: list_gc_temperatur, change: 'ne'}, function (dp) {
         // hier der Code oder einen Aufruf einer Funktion
      });
      

      Ro75.

      SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

      paul53P 1 Antwort Letzte Antwort
      0
      • Ro75R Ro75

        @martinp so mache ich es via JS:

        var list_gc_temperatur  = ['fritzdect.0.DECT_087610464655.celsius','fritzdect.0.DECT_087610465893.celsius','fritzdect.0.DECT_087610482188.celsius','fritzdect.0.DECT_087610517354.celsius','fritzdect.0.DECT_116300042978.celsius','fritzdect.0.DECT_116300052609.celsius','fritzdect.0.DECT_116300299458.celsius','fritzdect.0.DECT_116300299459.celsius','fritzdect.0.DECT_116300299460.celsius'];
        
        on({id: list_gc_temperatur, change: 'ne'}, function (dp) {
           // hier der Code oder einen Aufruf einer Funktion
        });
        

        Ro75.

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

        @ro75 sagte: so mache ich es via JS:

        Das entspricht der ersten Version.

        @martinp sagte in Ein Trigger auf alle Datenpunkte in einer Liste:

        Kann man irgendwie auf diese intern erzeugte ID Liste zugreifen?

        Nein. Nimm die Version mit der Variablen.

        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
        • MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von MartinP
          #6

          @paul53 So, das ist der erste Versuch ... sind noch nicht annähernd alle Geräte ...
          Vielleicht wäre "über Bande" mit einer Sammlung von "Alive" Punkten als Aliase zu arbeiten eine bequemere Lösung, als da im Blockly die Liste zu pflegen... bin da noch unsicher

          07da10c3-f585-46c7-9c42-ca8be506984c-Bildschirmfoto vom 2024-05-12 18-44-41.png

          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

          paul53P 1 Antwort Letzte Antwort
          0
          • MartinPM MartinP

            @paul53 So, das ist der erste Versuch ... sind noch nicht annähernd alle Geräte ...
            Vielleicht wäre "über Bande" mit einer Sammlung von "Alive" Punkten als Aliase zu arbeiten eine bequemere Lösung, als da im Blockly die Liste zu pflegen... bin da noch unsicher

            07da10c3-f585-46c7-9c42-ca8be506984c-Bildschirmfoto vom 2024-05-12 18-44-41.png

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

            @martinp sagte: Sammlung von "Alive" Punkten

            Kann man keinen Selektor verwenden? Wie sieht die ID-Struktur aus?

            Anmerkung: Die Variable EmailBody muss vor der Schleife initialisiert 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

              @martinp sagte: Sammlung von "Alive" Punkten

              Kann man keinen Selektor verwenden? Wie sieht die ID-Struktur aus?

              Anmerkung: Die Variable EmailBody muss vor der Schleife initialisiert werden.

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

              @paul53 Die meisten Datenpunkte kommen aus dem Ping-Adapter. Die hätten natürlich eine einheitliche Struktur ... man muss sich da ansonsten durch die Objektbäume der Adapter, und die Lesarten, wie man so etwas ausgeben sollte der verschiedenen Entwickler kämpfen...

              Inzwischen habe ich zwei zigbee2MQTT Datenpunkte hinzugefügt, aber selbst die sind nicht untereinander "Kompatibel":
              beim Lidl-Fluter "...availability={"state" : "online"}",
              beim aqara-thermometer "...availability=true (bool)

              ... und deshalb habe ich mir schon einmal Alias-Datenpunkte für die beiden angelegt ...

              a48027de-4e00-49b5-b436-41ccd170560d-grafik.png

              Vielleicht wäre es da wirklich das Einfachste, in einem ersten Schritt allen Geräten, die überwacht werden sollen dort unter "alias.0.available" einen Eintrag zu verschaffen, der über read Konvertierungsfunktion dann die Unterschiede glattbügelt, und verlässlich true/false enthält ...

              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

              paul53P 2 Antworten Letzte Antwort
              0
              • MartinPM MartinP

                @paul53 Die meisten Datenpunkte kommen aus dem Ping-Adapter. Die hätten natürlich eine einheitliche Struktur ... man muss sich da ansonsten durch die Objektbäume der Adapter, und die Lesarten, wie man so etwas ausgeben sollte der verschiedenen Entwickler kämpfen...

                Inzwischen habe ich zwei zigbee2MQTT Datenpunkte hinzugefügt, aber selbst die sind nicht untereinander "Kompatibel":
                beim Lidl-Fluter "...availability={"state" : "online"}",
                beim aqara-thermometer "...availability=true (bool)

                ... und deshalb habe ich mir schon einmal Alias-Datenpunkte für die beiden angelegt ...

                a48027de-4e00-49b5-b436-41ccd170560d-grafik.png

                Vielleicht wäre es da wirklich das Einfachste, in einem ersten Schritt allen Geräten, die überwacht werden sollen dort unter "alias.0.available" einen Eintrag zu verschaffen, der über read Konvertierungsfunktion dann die Unterschiede glattbügelt, und verlässlich true/false enthält ...

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

                @martinp sagte: allen Geräten, die überwacht werden sollen dort unter "alias.0.available" einen Eintrag zu verschaffen, der über read Konvertierungsfunktion dann die Unterschiede glattbügelt, und verlässlich true/false enthält ...

                Gute Idee.

                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
                • MartinPM MartinP

                  @paul53 Die meisten Datenpunkte kommen aus dem Ping-Adapter. Die hätten natürlich eine einheitliche Struktur ... man muss sich da ansonsten durch die Objektbäume der Adapter, und die Lesarten, wie man so etwas ausgeben sollte der verschiedenen Entwickler kämpfen...

                  Inzwischen habe ich zwei zigbee2MQTT Datenpunkte hinzugefügt, aber selbst die sind nicht untereinander "Kompatibel":
                  beim Lidl-Fluter "...availability={"state" : "online"}",
                  beim aqara-thermometer "...availability=true (bool)

                  ... und deshalb habe ich mir schon einmal Alias-Datenpunkte für die beiden angelegt ...

                  a48027de-4e00-49b5-b436-41ccd170560d-grafik.png

                  Vielleicht wäre es da wirklich das Einfachste, in einem ersten Schritt allen Geräten, die überwacht werden sollen dort unter "alias.0.available" einen Eintrag zu verschaffen, der über read Konvertierungsfunktion dann die Unterschiede glattbügelt, und verlässlich true/false enthält ...

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

                  @martinp sagte: Die meisten Datenpunkte kommen aus dem Ping-Adapter.

                  Man kann auch eine Liste per Selektor erstellen und sie anschließend um weitere IDs erweitern:

                  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

                  MartinPM 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @martinp sagte: Die meisten Datenpunkte kommen aus dem Ping-Adapter.

                    Man kann auch eine Liste per Selektor erstellen und sie anschließend um weitere IDs erweitern:

                    Blockly_temp.JPG

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

                    @paul53 Danke, das würde das Blockly wieder um einiges verkürzen.

                    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

                    MartinPM 1 Antwort Letzte Antwort
                    0
                    • MartinPM MartinP

                      @paul53 Danke, das würde das Blockly wieder um einiges verkürzen.

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

                      So, hier die endgültige Lösung

                      Initialisierung:

                      e665a404-9fd7-4fd6-83e7-d39a1f550889-grafik.png

                      Trigger-Schleife:
                      559f84e1-6cf2-4b4b-bb29-d0a4e83fb455-grafik.png

                      Durch die um 3 Sekunden verzögerte Ausführung möchte ich die Anzahl der Mails verringern. Häufig fallen ja die Geräte in "Rudeln" aus, z. B. bei WLAN-Problemen, und dann ist es sicher gut, erst eine Mail zu bekommen, wenn das ganze Rudel die Probleme gemeldet hat ... Vielleicht spiele ich noch mit der Wartezeit. Der Ping-Adapter ist auf 60 Sekunden eingestellt, wahrscheinlich wären da mehr als 70 Sekunden besser, aber dann dauert es noch länger, bis die Mail eintrudelt...

                      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
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      539

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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