NEWS
Frage zu Triggern
-
Hallo.
Mal eine Frage aus Interesse. Habe keine Probleme damit bisher.
Wenn ich einen Trigger "Falls Objekt" verwende, und mehrere (ggf. viele) Objekte zur Prüfung anhänge, und als Bedingung "ist wahr" setze, zwinge ich damit ggf. das System in die Knie ?
Wie oft werden die Datenpunkte dann abgefragt ?
Danke für Infos dazu.
Eigentlich für die Frage ja nicht unbedingt von Interesse, aber
Raspi 4 / 4GB
node 16.17.0
NPM 8.15.0 -
@jochen sagte: als Bedingung "ist wahr" setze, zwinge ich damit ggf. das System in die Knie ?
Wie oft werden die Datenpunkte dann abgefragt ?Immer dann, wenn der Zeitstempel eines der Datenpunkte aktualisiert wird und der Wert dieses Datenpunktes true ist. Zu oft passiert dies nicht.
-
@paul53 Das beruhigt mich schon etwas. Danke.
Werden denn alle Zeitstempel von allen Datenpunkten die auf true sind im gleichen Intervall aktualisiert ?
Steuert das der iobroker ? Kann man so etwas irgendwo auslesen, oder gar den Zeitwert verändern ? -
@jochen sagte: im gleichen Intervall aktualisiert ?
Das hängt davon ab, woher die Datenpunkte kommen.
@jochen sagte in Frage zu Triggern:
Steuert das der iobroker ?
Das bestimmt der jeweilige Adapter, bei eigenen Datenpunkten das Skript, das sie schreibt.
@jochen sagte in Frage zu Triggern:
Kann man so etwas irgendwo auslesen
Mit einem einfach Skript kann man loggen, wann welcher Datenpunkt aktualisiert wird.
const ids = [ 'id1', 'id2' // usw. ]; on({id: ids}, function(dp) { log(dp.id + ': ' + dp.state.val); });
EDIT: Als Blockly:
-
@paul53 Super Info. Werde ich probieren. Danke.
-
@paul53
ist es nicht so, dass so ein Trigger-Baustein eine "subscription" beim js-controller verursacht? Das sieht man unten in der Ausgabe des JS-Adapters, wenn das Script gestartet ist. Dort wird dann alles aufgelistet.Die subscription sorgt dann dafür, dass der js-controller dem JS-Adapter Bescheid gibt, wenn sich der Datenpunkt ändert. Sonst würde der JS-Adapter ja ständig nachfragen müssen, das wäre nicht sehr effizient.
Denn wenn ein Datenpunkt aktualisiert wird, wird sie dem js-controller bekannt gegeben, der gibt dann die Änderung an alle weiter, die es "interessiert", die also eine subscription haben.
-
@lönne ja!