NEWS
Telegrammbeschränkung in Blockly
-
Hallo ich möchte meine Werte aus dem IOBroker auf den KNX Bis bringen, was auch funktioniert. Nur leider bekomme ich alle 2 Sekunden eine Aktualisierung vom Zähler und der Wert wird sofort an den KNX Bus weitergegeben sodas der Bus voll mit Telegrammen ist. Kann ich im Blockly noch was hinzufügen damit den Mittelwert der letzen 30 Sekunden auf den KNX Bus schickt?
-
@timowald Die Bindings alleine bieten die Option nicht. Wenn du sicher weisst das die Datenpunkte sich alle 2 Sekunden aktualisieren kannst du ein einfaches Konstrukt (für jeden Datenpunkt) nutzen:
- Variable als Zähler definieren, auf 0 setzen
- Variable als Aggregator definieren, auf 0 setzen
- Trigger auf den Dp, Wert wurde geändert. Im Trigger:
-- Aggregator um Aktuellen Wert des States erhöhen
-- Zähler um 1 erhöhen
-- Falls Zähler >14: Aggregator / Zähler an KNX senden, Zähler auf 0 setzen, Aggregator auf 0 setzen
-
@timowald sagte: Mittelwert der letzen 30 Sekunden auf den KNX Bus schickt?
Ich gehe davon aus, dass jeder Zähler die Daten in einem Telegramm sendet, sie also unmittelbar hintereinander aktualisiert werden. Deshalb würde ich nur auf einen Datenpunkt des Zählers triggern und eine kurze Verzögerung verwenden, um die zusammenhängenden Datenpunkte (aus einem Telegramm) zu erfassen. Ansonsten wie @Asgothian geschrieben hat: Für jeden Zähler eine Zählvariable und für jeden Wert eine Summenvariable:
Das Gleiche noch einmal für den Nebenzähler.