NEWS
[gelöst] Delta von zwei Werten
-
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 -
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
-
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 -
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.
-
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. -
Aha, war mir nicht ganz schlüssig aus der Beschreibung, hast aber recht.
-
Die Tipps sind Klasse, leider werden mir trotzdem keine Werte ausgespuckt.
Das Objekt bleibt leer…
4690_1.jpg -
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.
-
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.
-
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