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. Flow für Auslösung auf Änderung, nicht auf Aktualisierung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    118

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

Flow für Auslösung auf Änderung, nicht auf Aktualisierung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
10 Beiträge 5 Kommentatoren 6.2k Aufrufe
  • Ä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.
  • N Offline
    N Offline
    Nippy
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    Leider habe ich was JS Programmierung angeht nicht viel Ahnung (habe bis jetzt nur unter Bascom / Basic IC's Programmiert), deswegen bitte ich um Hilfe aus der Runde :)

    folgendes Beispiel Szenario habe ich:

    Ich möchte die Außentemperatur auslesen und bei Unterschreitung von +4°c eine Benachrichtigung (Frostwarnung) via Pushover bekommen.

    Soweit habe ich das auch umsetzen können.

    638_node-red_auswertung.jpg

    Mein Problem ist folgendes:

    Alle x Minuten wird der Status durch ioBroker Aktualisiert.

    Deswegen bekomme ich auch alle x Minuten eine Benachrichtigung via Pushover.

    Beholfen habe ich mir bis jetzt mit dem http://flows.nodered.org/flow/9410e4cebcc4b68fae73.

    Dort habe ich nur die Zeit eingegeben wie lange er alle eingehenden Meldungen ignorieren soll, toll ist diese Umsetzung mangels Kenntnisse leider nicht :(

    Was ich umsetzen möchte ist, dass etwas nur bei Änderung (True auf False etc.) ausgelöst wird, nicht auf Aktualisierung.

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      HKF8770
      schrieb am zuletzt editiert von
      #2

      Hallo Nippy,

      Ich bin auch Änfänger sehe es aber so (nicht verbindlich :D da ebenfalls Anfänger)

      ich habe das über eine Java Skript gelöst. Aber in Function bei Node Red schreibst du ja auch ein Java Skript. Du kann ja mein Skript aber Basisgerüst nehmen und das in der Funktion verwenden.

      Sonst poste doch bitte den Flow mit Menu (3 horizontale Balken oben rechts) / Export / Clipboard. Dann kan man sich den runterkopieren und berichtigen und dir wieder zurücksenden.

      createState('javascript.0.Temperatur.Temperatur_Ostseite');
      createState('javascript.0.Temperatur.Temperatur_Ostseite_Frost');
      
      function Temp_Ostseite(obj) {          // oder ist das hier dann (obj)anstatt(level)? 
          var Temperatur = getState("hm-rpc.0.KEQ0121727.1.TEMPERATURE").val;
          if (Temperatur > 0) {
              setState('javascript.0.Temperatur.Temperatur_Ostseite', Temperatur); 
              setState('javascript.0.Temperatur.Temperatur_Ostseite_Frost', true); 
              log("---> Ostseite hat es keinen Frost bei: " + Temperatur +" °C", "info");
          } else { 
              setState('javascript.0.Temperatur.Temperatur_Ostseite', Temperatur); 
              setState('javascript.0.Temperatur.Temperatur_Ostseite_Frost', false); 
              log("---> Ostseite hat es Frost bei: " + Temperatur +" °C", "info");   
              sendTo("email", {
               from:    "test@test.com",
               to:      "friedhelm.kuehnle@hoerauf.com",
               subject: "Eisgefahr",
               text:    ("Gefahr von Eis bei " + Temperatur +" °C")
      });
      
          }    
      }
      on("hm-rpc.0.KEQ0121727.1.TEMPERATURE"/*Aussensensor Ost.TEMPERATURE*/, function() {             //oder!! soll entweder ausgelöst werden beihm-rpc.0.KEQ0040908.1.TEMPERATURE
         log("===>Ausgelöst durch Temperaturänderung!");
         Temp_Ostseite();
      });
      schedule("*/10 * * * *", function () {                                                    //oder!! soll entweder ausgelöst werden alle 10 Minuten
         log("===>Will be triggered every 10 minutes!"); 
         Temp_Ostseite();
      });
      

      Freddy

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        Nippy
        schrieb am zuletzt editiert von
        #3

        Hallo Freddy,

        vielen Dank für deinen Codeschnipsel.

        Ich werde die nächsten Tage versuchen deinen Code umzubasteln.

        Halte Dich auf dem laufenden..

        Danke nochmals, stehe jetzt wenigstens nicht mehr ganz im Dunkeln :)

        1 Antwort Letzte Antwort
        0
        • apollon77A Online
          apollon77A Online
          apollon77
          schrieb am zuletzt editiert von
          #4

          Hey All,

          ich schaue mir auch gerade die Skriptingmöglichkeiten an.

          Ich komme aktuell von ScriptGUI von ccu.io und würde jetzt bei node-red de ganzen Trigger-Möglichkeiten sehr vermissen … und "Auslösen auf Änderung" ist da der natürlich interessanteste ... EIgentlich sollte man das als Feature in die "iobroker"-Input-Node einbauen ... Oder ?!

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            nobody
            schrieb am zuletzt editiert von
            #5

            Hi,

            Die einfachste Lösung ist die Verwendung des rbe Nodes.

            Diesen kann man so konfigurieren, dass er nur dann auslöst, wenn der Wert sich geändert hat oder eine Mindestabweichung hat.

            http://flows.nodered.org/node/node-red-node-rbe

            Wenn man auf eine Mindestabweichung testen will muss msg.payload aber zuerst von string in einen numerischen Wert konvertiert werden, da der ioBroker in Node immer strings liefert (z.b. in einem Function Node).

            Gruß

            Markus

            1 Antwort Letzte Antwort
            0
            • apollon77A Online
              apollon77A Online
              apollon77
              schrieb am zuletzt editiert von
              #6

              cool … das würde schonmal viel helfen. Danke!!

              Ich teste das mal heute Abend ...

              Ich hatte vorhin im Github vom node-red Adapter mal ein Issue aufgemacht das als "Standardfeature" vllt so einzubauen das es den Triggermöglichkeiten von CCUio entspricht - also auch größer, kleiner, größer-gleich, kleiner-gleich, gleich, ungleich ... Das wäre halt echt super weil man sich dann Nodes im Prozess spart.

              Oder kennst Du vllt andere Nodes die das könnten?

              Gibts eigentlich "Typ-Konvertier"-Nodes? Hatte mal gesucht aber nix gefunden ...

              Wäre auch interessant für so einige "true"/"false" State Werte ...

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #7

                @apollon77:

                Gibts eigentlich "Typ-Konvertier"-Nodes? Hatte mal gesucht aber nix gefunden …

                Wäre auch interessant für so einige "true"/"false" State Werte ... `
                Du muss nicht die Typen zu konvertieren, die sind alle "string" in node-red

                1 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  Nippy
                  schrieb am zuletzt editiert von
                  #8

                  Super!

                  ich war schon langsam am verzweifeln..

                  Danke nobody 8-)

                  Das node-rbe war genau das, was ich gesucht habe.

                  Vielen Dank nochmals :)

                  1 Antwort Letzte Antwort
                  0
                  • apollon77A Online
                    apollon77A Online
                    apollon77
                    schrieb am zuletzt editiert von
                    #9

                    @Bluefox:

                    Du muss nicht die Typen zu konvertieren, die sind alle "string" in node-red `

                    Das dachte ich mir. Die Idee war eher die in Zahlen konvertieren zu können um mit diesen Datentypen dann weiterarbeiten zu können … oder ist das dann nur sinnvoll in eigenem Functions möglich und das Ergebnis ist dann wieder ein String?

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    0
                    • apollon77A Online
                      apollon77A Online
                      apollon77
                      schrieb am zuletzt editiert von
                      #10

                      Ich hab grad das folgende erfahren: In node-red 0.13 wird die Switch-Node wohl auch Vergleiche auf Basis des letzten Wertes erlauben

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      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

                      646

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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