Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wie Aktion nach Datenbankeintrag (Influx DB) ausführen?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    207

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    578

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblocklymonitoring
14 Beiträge 4 Kommentatoren 979 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    Tobi.Welke
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich schreibe Daten zu einem Temperatursensor mit dem InfluxDB Adapter in die entsprechende Datenbank. Dabei sorge ich über die Einstellungen schon dafür, dass nur größere Änderungen eingetragen werden. Somit habe ich also wesentlich weniger Einträge in der Datenbank als es Änderungsevents vom Sensor gibt.
    Das würde ich nun gerne für die Ausführung eines Scripts ausnutzen (Taupunkt berechnen). Dies würde ich gerne nur ausführen, wenn es einen neuen Datenbank Eintrag gibt und nicht schon, wenn sich etwas am Sensor geändert hat.
    Kann man dieses Event irgendwie mitbekommen, um darauf zu reagieren?

    v522533V 1 Antwort Letzte Antwort
    0
    • T Tobi.Welke

      Hallo zusammen,

      ich schreibe Daten zu einem Temperatursensor mit dem InfluxDB Adapter in die entsprechende Datenbank. Dabei sorge ich über die Einstellungen schon dafür, dass nur größere Änderungen eingetragen werden. Somit habe ich also wesentlich weniger Einträge in der Datenbank als es Änderungsevents vom Sensor gibt.
      Das würde ich nun gerne für die Ausführung eines Scripts ausnutzen (Taupunkt berechnen). Dies würde ich gerne nur ausführen, wenn es einen neuen Datenbank Eintrag gibt und nicht schon, wenn sich etwas am Sensor geändert hat.
      Kann man dieses Event irgendwie mitbekommen, um darauf zu reagieren?

      v522533V Offline
      v522533V Offline
      v522533
      schrieb am zuletzt editiert von
      #2

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

      Gruß Chris

      T 1 Antwort Letzte Antwort
      0
      • v522533V v522533

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

        T Offline
        T Offline
        Tobi.Welke
        schrieb am zuletzt editiert von
        #3

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

        paul53P v522533V 2 Antworten Letzte Antwort
        0
        • T Tobi.Welke

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

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @Tobi-Welke sagte:

          ständig der Taupunkt berechnet wird,

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

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          T 1 Antwort Letzte Antwort
          0
          • T Tobi.Welke

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

            v522533V Offline
            v522533V Offline
            v522533
            schrieb am zuletzt editiert von
            #5

            @Tobi-Welke

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

            Gruß Chris

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @Tobi-Welke sagte:

              ständig der Taupunkt berechnet wird,

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

              T Offline
              T Offline
              Tobi.Welke
              schrieb am zuletzt editiert von Tobi.Welke
              #6

              @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 :-)

              paul53P AsgothianA 2 Antworten Letzte Antwort
              0
              • T 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 :-)

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @Tobi-Welke sagte:

                Der Xiaomi mijia

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

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                T 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @Tobi-Welke sagte:

                  Der Xiaomi mijia

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

                  T Offline
                  T Offline
                  Tobi.Welke
                  schrieb am zuletzt editiert von Tobi.Welke
                  #8

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

                  v522533V paul53P 2 Antworten Letzte Antwort
                  0
                  • T 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.

                    v522533V Offline
                    v522533V Offline
                    v522533
                    schrieb am zuletzt editiert von
                    #9

                    @Tobi-Welke

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

                    Gruß Chris

                    1 Antwort Letzte Antwort
                    0
                    • T 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.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @Tobi-Welke sagte:

                      So bei ca. alle 5 Sekunden liegt er schon.

                      Dann wird die Batterie nicht lange halten.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      T 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @Tobi-Welke sagte:

                        So bei ca. alle 5 Sekunden liegt er schon.

                        Dann wird die Batterie nicht lange halten.

                        T Offline
                        T Offline
                        Tobi.Welke
                        schrieb am zuletzt editiert von Tobi.Welke
                        #11

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

                        1 Antwort Letzte Antwort
                        0
                        • T 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 :-)

                          AsgothianA Offline
                          AsgothianA Offline
                          Asgothian
                          Developer
                          schrieb am zuletzt editiert von
                          #12

                          @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;  
                          });
                          

                          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                          T 1 Antwort Letzte Antwort
                          0
                          • AsgothianA Asgothian

                            @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 Offline
                            T Offline
                            Tobi.Welke
                            schrieb am zuletzt editiert von Tobi.Welke
                            #13

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

                            AsgothianA 1 Antwort Letzte Antwort
                            0
                            • T 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.

                              AsgothianA Offline
                              AsgothianA Offline
                              Asgothian
                              Developer
                              schrieb am zuletzt editiert von
                              #14

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

                              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              903

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe