Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Delta von zwei Werten

    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

    [gelöst] Delta von zwei Werten

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

      Hallo an Alle,

      ich komme an einem (warscheinlich) simplen Punkt nicht weiter…

      Mein Ziel ist es, einen Wert via SNMP auszulesen, diesen in eine Variable zu schreiben und anschließend den nächsten Wert vom alten zu Subtrahieren.

      Das Ergebnis soll dann in ein neues Objekt geschrieben werden (habe ich angelegt, vom Typ Wert).

      Leider klappt dieses nicht und das Objekt bleibt leer, vielleicht hilft mir einer auf die Sprünge 😉

      Gruß

      David
      4690_1.png

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

        Es muss erst die Differenz neu - alt berechnet werden und anschließend der Wert in der Variable gemerkt werden. Also nur die Reihenfolge der beiden Befehle tauschen !

        Es geht aber auch einfacher, da der neue und der alte Wert Bestandteil des Datenpunktes und als lokale Variablen in Blockly vordefiniert sind:

        value - oldValue
        
        1 Reply Last reply Reply Quote 0
        • D
          davidsieg82 last edited by

          Danke für dein Tip!

          Leider klappt es dennoch nicht.

          Ich habe auch manuell einen Wert in das Objekt geschrieben, damit Blockly nicht im ersten Durchlauf auf die Nase fällt.

          Danke in Voraus für die Hilfe!
          4690_1.jpg
          4690_1.jpg

          1 Reply Last reply Reply Quote 0
          • J
            Jan1 last edited by

            Du sollst ja auch mal die einfach Variante testen welche Paul53 oben genannt hat und das ist nun mal "letzte Änderung" und vorherige letzte Änderung". Damit kannst Doch wunderbar ein Delta berechnen.

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

              @davidsieg82:

              Leider klappt es dennoch nicht. `
              Du solltest nur die Reihenfolge ändern:

              aktualisiere Calc_rec mit Wert vom Objekt ID eth0 rec - calc_rec_var
              setze calc_rec_var auf Wert vom Objekt ID eth0 rec
              

              oder nur eine Zeile

              aktualisiere Calc_rec mit value - oldValue
              

              value und oldValue sind fest vordefinierte Variablennamen.
              @Jan1:

              das ist nun mal "letzte Änderung" und vorherige letzte Änderung". `
              "letze Änderung" und "vorherige letzte Änderung" sind Zeitpunkte als Unixzeit in ms. Es soll aber dir Wertdifferenz ermittelt werden.

              1 Reply Last reply Reply Quote 0
              • J
                Jan1 last edited by

                Aha, war mir nicht ganz schlüssig aus der Beschreibung, hast aber recht.

                1 Reply Last reply Reply Quote 0
                • D
                  davidsieg82 last edited by

                  Die Tipps sind Klasse, leider werden mir trotzdem keine Werte ausgespuckt.

                  Das Objekt bleibt leer…
                  4690_1.jpg

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

                    @davidsieg82:

                    Das Objekt bleibt leer… `
                    Das Objekt "Calc_rec" ?

                    Füge mal zwei Debug-Bausteine ein und lass die Werte value und oldValue loggen.

                    Poste bitte auch den Javascript-Code (Zeige Javascript) ohne die letzte Zeile in Code tags.

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

                      Wird überhaupt getriggert ? Dazu muss der Zeitstempel des Datenpunktes "eth0 rec" aktualisiert werden. Schau mal den Zeitstmpel des Datenpunktes an (mit Mauszeiger über dem Wert).

                      EDIT: Bei einem Abfrageintervall von 30 s muss man schon mal bis zu 30 s warten bis getriggert wird.

                      1 Reply Last reply Reply Quote 0
                      • D
                        davidsieg82 last edited by

                        Vielen Dank für eure Hilfe!

                        Es hat jetzt geklappt, anscheinend hatte ich mit dem Blockly zuviel "gespielt".

                        Nachdem ich das Blockly gelöscht und neu erstellt habe, funktioniert es jetzt!

                        Nicht einmal der Debug- Output wollte funktionieren 😞

                        Gruß

                        David

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        421
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        3
                        10
                        1344
                        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