NEWS
Mehrfach Triggern verhindern? (Ohne Verlust)
-
@paul53 said in Mehrfach Triggern verhindern? (Ohne Verlust):
Was sind das für Datenpunkte, die sich so verhalten (kurz aufeinander den Wert ändern)?
Das sind soll wert DP einer Heizung, diese werden hauptsächlich aus der API aktualisiert, allerdings kann hier jeder seinen Intervall selber einstellen und dann kommen noch manuelle Änderungen aus iobroker hinzu sowie Änderungen von Fenstersensoren.
Ich sag mal so, dass funktioniert schon so, nur ist es halt irgendwie auch nicht schön!
In der Regel erfolgen Änderungen nicht parallel aber ich kann nicht von der Regel ausgehen, es kann durch eine Intervall Aktualisierung durchaus auch vorkommen, dass sich Aktualisierungen überschneiden, auch gerade weil einige Änderungen eine Aktualisierung beinhalten was im Zweifel wenn es mal hart auf hart kommt, 2-3 sehr kurze Aktualisierungen bedeuten könnte! Ich versuche es natürlich zu unterbinden aber ich rechne eher mit der Ausnahme als mit der Regel…Eine Möglichkeit, die ich bei sowas nutze, ist die zyklische Abfrage von Signalen. Also z.B. Temperaturen oder Energieverbrauch im 30s Takt. Macht gegenseitige Abhängigkeiten, Regler, komplexe Logik usw. einfacher.
Ist in der Prozesstechnik weit verbreitet. -
Eine Möglichkeit, die ich bei sowas nutze, ist die zyklische Abfrage von Signalen. Also z.B. Temperaturen oder Energieverbrauch im 30s Takt. Macht gegenseitige Abhängigkeiten, Regler, komplexe Logik usw. einfacher.
Ist in der Prozesstechnik weit verbreitet.@blockmove sagte: zyklische Abfrage von Signalen.
Wie wendet man dabei den RegExp an?
-
Eine Möglichkeit, die ich bei sowas nutze, ist die zyklische Abfrage von Signalen. Also z.B. Temperaturen oder Energieverbrauch im 30s Takt. Macht gegenseitige Abhängigkeiten, Regler, komplexe Logik usw. einfacher.
Ist in der Prozesstechnik weit verbreitet.@blockmove sagte in Mehrfach Triggern verhindern? (Ohne Verlust):
Ist in der Prozesstechnik weit verbreitet.
da wird auch seltenst eventbasiert mit js gearbeitet.
Eine SPS tickt da anders -
@blockmove sagte in Mehrfach Triggern verhindern? (Ohne Verlust):
Ist in der Prozesstechnik weit verbreitet.
da wird auch seltenst eventbasiert mit js gearbeitet.
Eine SPS tickt da anders@homoran said in Mehrfach Triggern verhindern? (Ohne Verlust):
@blockmove sagte in Mehrfach Triggern verhindern? (Ohne Verlust):
Ist in der Prozesstechnik weit verbreitet.
da wird auch seltenst eventbasiert mit js gearbeitet.
Eine SPS tickt da andersNaja auch eine SPS hat Events (Hardware, Zeit, und im Prinzip auch Flanken).
Das schöne an ioBroker ist ja, dass ich auch im SPS-Stil Aufgaben lösen kann.
Für jede Aufgabe eben das richtige Werkzeug nehmen -
@blockmove sagte: zyklische Abfrage von Signalen.
Wie wendet man dabei den RegExp an?
@paul53 said in Mehrfach Triggern verhindern? (Ohne Verlust):
@blockmove sagte: zyklische Abfrage von Signalen.
Wie wendet man dabei den RegExp an?
Innerhalb des Intervalls verknüpft man ja anhand der Logik die Werte von getStateAsync und schreibt dann mit setStateAync die Ergebnisse. Wenn das ganze mehrfach identisch passieren sool (z.B. mehrere Räume) dann ist es von Vorteil, wenn die entsprechenden Datenpunkte VOR dem Trigger bekannt sind und z.B. in Arrays oder Objekten vorhanden sind. Diese kann man dann innerhalb des Triggers z.B. mit each oder forEach abarbeiten. Das spart Rechenzeit innerhalb des Intervalls.
Die Regular Expressions verwende ich eigentlich nie. Du musst halt schauen, wie du sie auf z.B. GetObject zum Ermitteln der Datenpunkte anwenden kannst.
Natürlich ist das komplexer als ein einfaches:on({id: new RegExp("0_userdata.0.Devices\.[a-zA-Z0-9]"), change:"ne"}, function (obj) { tu irgendwas });Vorteil ist, dass ich mehr Kontrolle über den Code-Ablauf habe und Eventkaskaden bei gegenseitiger Beeinflussung von Datenpunkten vermeide. Eben weil die Datenpunkte gar keine Events auslösen.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login