Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Änderungen aller Datenpunkte in einem Ordner überwachen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Änderungen aller Datenpunkte in einem Ordner überwachen

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

      Hallo zusammen,

      ich habe hier eine Samsung-Waschmaschine, die ich über den Adapter Smartthings in IOBroker habe. Das sind jedoch jede Menge Datenpunkte und ich will heraus finden welche Datenpunkte mir wichtig sind. Nun habe ich mir gedacht einmal auf alle Datenpunkte zu triggern und mir Änderungen in ein Logfile zu schreiben. Bzw. in einen Zeichenketten-DP die ID, alter Wert, neuer Wert zu speichern und mir das für einen Tag in Mariadb zu loggen.

      Wie aber kann ich am performantesten einen Trigger für alle Datenpunkte erstellen?

      Ich kann natürlich aus der Liste von folgendem Selector in einer Schleife für alle Datenpunkte einen Trigger erzeugen, geht das aber eleganter?

      #Pseudocode:
      $('[id=smartthings.0.d867cabb-a15c-c2d3-d677-c87ee6845705.*]').each(function (id, i) {
      on({id: id, change: "ne"}, async function (obj) {
                  DoIt(); ;
          }
      });
      }
      
      paul53 Asgothian 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Ralf 2 last edited by paul53

        @ralf-2 sagte: geht das aber eleganter?

        Laut Doku gibt es auch die Selektor.on()-Funktion.
        Oder so:

        const ids = $('smartthings.0.d867cabb-a15c-c2d3-d677-c87ee6845705.*').toArray();
        on(ids, function(dp) {
            // dp auswerten
        });
        
        R 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @Ralf 2 last edited by Asgothian

          @ralf-2 warum nicht einfach via sql Adapter direkt in die dB schreiben ?

          Wenn du jeden Wert mitschreibst hast du in der dB alles - vorherigen Wert, zeitstempel, neuen Wert. Alleine durch das eintragen in der dB.

          A.

          1 Reply Last reply Reply Quote 0
          • R
            Ralf 2 @paul53 last edited by

            @paul53 sagte in Änderungen aller Datenpunkte in einem Ordner überwachen:

            Laut Doku gibt es auch die Selektor.on()-Funktion.

            Das hatte ich nicht gefunden, das kann ich mal probieren.

            @Asgothian

            warum nicht einfach via sql Adapter direkt in die dB schreiben ?

            Mir ist Samsung hier zu Gesprächig, das sind 2151 Datenpunkte 😞
            Wenn ich weiß welche Punkte sich ändern, kann ich mir diese Auswahl in einen Alias packen. Es werden sich vermutlich nur wenige Datenpunkte ändern.

            Das Skript wird ja auch nur temporär laufen.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Ralf 2 last edited by

              @ralf-2 sagte in Änderungen aller Datenpunkte in einem Ordner überwachen:

              Wenn ich weiß welche Punkte sich ändern, kann ich mir diese Auswahl in einen Alias packen. Es werden sich vermutlich nur wenige Datenpunkte ändern.

              das kannst du doch auch im Adapter konfigurieren!

              • nur geänderte Daten loggen
              • Mindestabweichung vom bisherigen Wert
              • Blockzeit
              • .....
              R 1 Reply Last reply Reply Quote 0
              • R
                Ralf 2 @Homoran last edited by

                @homoran
                MMmmm... muss ich mal drüber nachdenken.
                Ich könnte im Skript wo ich alle Werte in eine JSON-Tabelle packe noch die letzte Änderung mit aufnehmen, dann habe ich die Datenpunkte identifiziert.
                Aber ja, ich werde mal über den Schraubenschlüssel bei allen SQL aktivieren.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                792
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                4
                6
                120
                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