NEWS
Timer alle 10s einen Wert kopieren
-
Hallo zusammen.
Bin neu hier. Ich heiße Marco und bin 45 Jahre alt und habe mich mal dem Thema IOBroker angenommen um ein paar Sachen zu testen.
Komme aus der Step7 und TIA Welt und stelle mir evtl. manche Sachen zu einfach vor oder ich blicke es halt einfach nicht.
Jedenfalls möchte ich mit Blockly alle 10s den HT Wert des Smartmeter Adapters in eine Variable kopieren.
Egal wie ich das mache es geht nur beim ersten mal, dann wird der Wert immer aktualisiert wenn der Smartmeter Wert aktualisiert wird.
Was mache ich denn da falsch?
Zudem wird das Log vollgeschrieben und irgendwann kommt ein Fehlereintrag dass "SetState" oder ähnlich zu oft ausgeführt wird.....
Evtl. kann einer von Euch einen Tip geben.
Danke
Grüße Marco
-
@trinkiwinki sagte in Timer alle 10s einen Wert kopieren:
Was mache ich denn da falsch?
Du nutzt den falschen Baustein. Der Baustein "Binde Objekt A mit Objekt B" erzeugt eine Permanente Verbindung, bei der jede Aktualisierung (oder Änderung bei entsprechender Einstellung) von Objekt A direkt auf Objekt B übertragen wird.
Durch dein zyklisches Ausführen passiert erzeugst du alle 10 s ein neues Binding.
Was du machen willst ist alle 10 Sekunden ein "aktualisiere (oder Steuere) Objekt A mit Wert von Objekt B"
Im Übrigen stellt sich die Frage wofür du das genau nutzen willst ? Warum dieses übertragen alle 10 Sekunden ? Wie oft ändert sich der HT Wert des Smartmeter Adapters realistisch gesprochen ?
A.
Nachtrag: Dir ist (hoffentlich) bewusst das du wenn du auf eine Werteänderung triggerst zugriff auf den vorherigen Wert hast ?
Über den mit "Objekt ID" vorbelegten Baustein kannst du innerhalb eines Triggers auf eine Vielzahl von Parametern des Datenpunktes zugreifen der den Trigger ausgelöst hat. Dazu gehören Benennungen, Kanalzuordnungen, Zeitstempel, Quellen (wer hat geändert) und so weiter sowohl für den Aktuellen als auch den vorherigen Wert des DP.
A
-
@trinkiwinki
Mein Smartmeter Adapterinstanz aktualisiert alle 10 Sekunden, darauf trigger ich. -
Danke DIr. Funktioniert nun.
Ich wollte ursprünglich einfach nur zwei Variablen die mir sagen ob Tag- oder Nachtstrom aktiv ist.
Das habe ich dann mal spontan so gedacht, scheint aber nicht zu funktionieren:
Wenn der Wert aktualisiert wird dann soll HT_Aktiv auf "Wahr" gesetzt werden.
Wenn der dann gleich bleibt für 5s dann soll "HT_Aktiv" auf "Falsch" gesetzt werden.Ursprünglich hatte ich beim ersten "Falls..." "größer als letzter" drin.
Das Setzen auf "Wahr" geht aber das setzen auf "Falsch" halt nicht.
Grüße
-
Ich habe ihn auf 3s gestellt. Ich bin wie gesagt am "spielen" gerade...... weiß noch nicht ganz was ich will und wo die Reise hingeht.
-
@trinkiwinki sagte in Timer alle 10s einen Wert kopieren:
Ich wollte ursprünglich einfach nur zwei Variablen die mir sagen ob Tag- oder Nachtstrom aktiv ist.
Nur das ich das richtig verstehe: Solange Änderungen auf dem DP des Smartmeter Adapters kommen soll HT_aktiv auf wahr sein, sonst falsch ?
Wenn das so ist, dann ist die Lösung die du haben willst:
A.
-
@asgothian Danke. Werde ich so probieren. Ja so sollte es sein....... Melde mich.
Vielen Dank
-