NEWS
Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?
-
das kannst du doch im javascript /blockly auch machen, oder alternativ mit nem cronjob alle xx sekunden/minuten.
-
@paul53 said in Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?:
Was stört Dich daran ?
Unnötige Last, auch wenn das vermutlich ein Witz an Aufwand für den Pi 4 ist
(hatte aber auch mal iobroker auf nem pi-zero und daher ist diese Angst vor jeder Art von unnötiger Last entstanden
)
Welcher Sensor liefert eine so hohe Auflösung ?
Der Xiaomi mijia
Ja ich weiß, es ist ja auch kein "Showstopper" wenn es nicht geht, wollte nur wissen, ob es möglich ist
-
-
@paul53
So bei ca. alle 5 Sekunden liegt er schon. Aber ich werde es jetzt einfach mit dem Scheduler machen, das wird es auch tun. -
dann stimmt da was nicht, ich hab die auch und die senden bei weitem nicht so oft...
-
@Tobi-Welke sagte:
So bei ca. alle 5 Sekunden liegt er schon.
Dann wird die Batterie nicht lange halten.
-
Lässt sich das denn irgendwo anpassen? Habe hier 6 Stück davon und die sind alle so.
-
@Tobi-Welke sagte in Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?:
(hatte aber auch mal iobroker auf nem pi-zero und daher ist diese Angst vor jeder Art von unnötiger Last entstanden )
Angst vor unnötiger Last - das ist schon amüsant wenn Du das mit einer Option regelmässig die Datenbank abzufragen ob sich ein Wert geändert hat vergleicht. Meines Wissens haben die wenigsten Datenbanken integrierte "trigger" Funktionen.
Du wirst also nicht umhin kommen in einem kurzen Skript genau die Berechnung anzustellen die Du auch am Influx-Adapter anstellst, nach dem Motto:
let var old = -1 on ({id: "blubb", change: "ne"}, (obj) => { if Math.Abs(old - obj.Value) > 0.5 { // taupunkt berechnen und so weiter } old = value; });
-
@Asgothian said in Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?:
Angst vor unnötiger Last - das ist schon amüsant wenn Du das mit einer Option regelmässig die Datenbank abzufragen
Ich frage ja nicht die Datenbank ab, sondern will nur das Event mitbekommen, wenn etwas in die Datenbank geschrieben wird. Das ist ein sehr großer Unterschied
Dein Scriptbeispiel hat den Nachteil, dass die Werte aus dem Bereich "rauskriechen" können. Sprich, wenn sich der Wert jedes Mal nur um 0.1 ändert, wird das Script niemals ausgeführt, selbst wenn die Temperatur insgesamt von 20 auf 25 Grad gewandert ist. Daher darf old nur aktualisiert werden, wenn das "if" darüber true war oder old bei -1 liegt (nur für den Fall, dass jemand den Thread hier zufällig findet und das 1:1 übernehmen will).
Ansonsten ist es so, wie ich es auch bauen würde, nur etwas variabler für mehr Sensoren. -
@Tobi-Welke Stimmt schon. Aber glücklicherweise ist das einfach zu lösen - das old=value; muss nur in den Zweig wo auch der Taupunkt berechnet wird.
Das der Influx Adapter einen Trigger setzt sehe ich aktuell nicht.
A.