Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • v522533
      v522533 @Tobi.Welke last edited by

      @Tobi-Welke
      berechne doch den taupunkt im iobroker, wieso willst du das mit der datenbank machen?

      T 1 Reply Last reply Reply Quote 0
      • T
        Tobi.Welke @v522533 last edited by

        @v522533 Ich will das nicht mit der Datenbank machen, sondern schon ganz normal im iobroker per Javascript. Aber mir geht es um das Event, wann dieses Javascript ausgeführt wird.

        Normalerweise nimmt man ja

        on({id: "blubb", change: "ne"}, (obj) => doSomething());
        

        Da aber die Luftfeuchtigkeit z.B. relativ viel in minimalen 0.1er Schritten springt, würde das dazu führen, dass ständig der Taupunkt berechnet wird, obwohl das gar nicht nötig wäre, weil der Luftfeuchtigkeitswert nur zwischen 50.3 und 50.6 hin und her pendelt.

        Im InfluxDB Adapter habe ich hingegen einstellt, dass nur bei einer Änderung, die größer ist als 0.5 ist und eine gewisse Zeit Bestand hat, überhaupt Daten in die Datenbank geschrieben werden.

        Und genau das will ich ausnutzen, um mein Taupunkt-Javascript darauf zu triggern. Natürlich kann ich mir im Script auch selbst die letzten Werte merken und nur bei einer Änderung von > 0.5 die Berechnung durchführen. Aber wenn es die Möglichkeit gibt, die geschenkte Funktionalität aus dem InfluxDB Adapter zu nutzen, wäre das schöner und man spart sich auch die ständige Prüfung, ob die Änderung groß genug war.

        paul53 v522533 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Tobi.Welke last edited by

          @Tobi-Welke sagte:

          ständig der Taupunkt berechnet wird,

          Was stört Dich daran ?
          Welcher Sensor liefert eine so hohe Auflösung ?

          T 1 Reply Last reply Reply Quote 0
          • v522533
            v522533 @Tobi.Welke last edited by

            @Tobi-Welke

            das kannst du doch im javascript /blockly auch machen, oder alternativ mit nem cronjob alle xx sekunden/minuten.

            1 Reply Last reply Reply Quote 0
            • T
              Tobi.Welke @paul53 last edited by Tobi.Welke

              @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

              @v522533

              Ja ich weiß, es ist ja auch kein "Showstopper" wenn es nicht geht, wollte nur wissen, ob es möglich ist 🙂

              paul53 Asgothian 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @Tobi.Welke last edited by

                @Tobi-Welke sagte:

                Der Xiaomi mijia

                Der sendet mit Rücksicht auf die Batterie nicht zu häufig.

                T 1 Reply Last reply Reply Quote 0
                • T
                  Tobi.Welke @paul53 last edited by Tobi.Welke

                  @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.

                  v522533 paul53 2 Replies Last reply Reply Quote 0
                  • v522533
                    v522533 @Tobi.Welke last edited by

                    @Tobi-Welke

                    dann stimmt da was nicht, ich hab die auch und die senden bei weitem nicht so oft...

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Tobi.Welke last edited by

                      @Tobi-Welke sagte:

                      So bei ca. alle 5 Sekunden liegt er schon.

                      Dann wird die Batterie nicht lange halten.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        Tobi.Welke @paul53 last edited by Tobi.Welke

                        Lässt sich das denn irgendwo anpassen? Habe hier 6 Stück davon und die sind alle so.

                        1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @Tobi.Welke last edited by

                          @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;  
                          });
                          
                          T 1 Reply Last reply Reply Quote 0
                          • T
                            Tobi.Welke @Asgothian last edited by Tobi.Welke

                            @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.

                            Asgothian 1 Reply Last reply Reply Quote 0
                            • Asgothian
                              Asgothian Developer @Tobi.Welke last edited by

                              @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.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              752
                              Online

                              31.6k
                              Users

                              79.6k
                              Topics

                              1.3m
                              Posts

                              blockly javascript monitoring
                              4
                              14
                              648
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo