Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Trigger wenn Datenpunkt erstellt oder gelöscht wird

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Trigger wenn Datenpunkt erstellt oder gelöscht wird

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

      Hallo

      Gibt es eine Möglichkeit einen Script zu Triggern, wenn ein neuer Datenpunkt angelegt oder ein Datenpunkt gelöscht (oder auch seine Daten, nicht der Wert geändert) wird?

      Wäre für meiner Scripterei schon ein oder zwei mal nützlich gewesen. Aktuell möchte ich, wenn mit dem Scenes Adapter eine Scene angelegt oder gelöscht wird, automatisch einen Alias dafür generieren/löschen und auch gleich die Scene in der Visualisierung nachführen.

      Stehe da irgendwie auf dem Schlauch.

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

        @swisslizard sagte: Gibt es eine Möglichkeit einen Script zu Triggern, wenn ein neuer Datenpunkt angelegt

        Mit RegExp-Trigger können neue Datenpunkte erfasst werden.

        @swisslizard sagte in Trigger wenn Datenpunkt erstellt oder gelöscht wird:

        oder ein Datenpunkt gelöscht

        Gelöschte Datenpunkte triggern nicht mehr, auch nicht während des Löschens.

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

          @paul53
          Danke!

          Dann bleibt für die gelöschten Datenpunkte wohl nur ein Intervaltimer, der von Zeit zu Zeit prüft ob etwas zu tun ist und falls nötig die notwendigen Aufräumarbeiten erledigt.

          Die Regex Lösung für neue Datenpunkt klappt dafür bestens.
          Falls jemand mal nach dem Thema sucht hier ein kleines Beispiel zum Loggen der IDs neuer Datenpunkte unter scene.0.:

          on(/^scene\.0\./, async function (obj) {
                      const id = obj.id;
                      log("scene: "+id);
                  });
          
          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @Swisslizard last edited by

            @swisslizard
            Hiermit kann man die States speichern in der Variable / oder auch als DP (muss man dann erweitern) und prüfen ob ein DP gelöscht wurde.

            let previousState = {};
            let preDPId = '0_userdata.0'
            
            function updateState() {
                let ids = $(preDPId+'*')
                console.log(ids.length)
                let currentState = {};
                for(let i=0; i<ids.length;i++){
                    currentState[ids[i]] = true
                }
                for (let id in previousState) {
                    if (currentState[id] == undefined) {
                        console.log("Deleted ID: "+ id);
                    }
                }
                previousState = currentState
            }
            
            updateState();
            
            setInterval(updateState, 60000);
            
            
            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            850
            Online

            31.7k
            Users

            79.7k
            Topics

            1.3m
            Posts

            3
            4
            163
            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