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. Blockly
  5. [gelöst]Überwachung einer Poolpumpe

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    475

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

[gelöst]Überwachung einer Poolpumpe

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
57 Beiträge 4 Kommentatoren 5.0k Aufrufe 2 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.
  • Dominik F.D Dominik F.

    @solardach

    Muss bei einer Überwachung der Leistung denn nicht jede Änderung der Leistung "überwacht" werden?
    oder verstehe ich da was falsch?

    @paul53

    Ja, Wert und vorheriger Wert sind keine eigenen Variablen.
    Habe ich denn das Timeout richtig gesetzt?
    Ich habe noch einen Timer in einem anderen Skript verwendet, dort wurde erst Stop Timout ausgeführt und dann der Timer gestartet.
    Kann es sein das ich das hier auch machen muss?

    Hier das Beispiel das ich meine:
    Unbenannt.PNG
    In dem Skript wird nach Sonnenuntergang eine Lampe für eine bestimmte Zeit eingeschaltet, wenn ein Bewegungsmelder eine Bewegung erkennt.

    S Online
    S Online
    Solardach
    schrieb am zuletzt editiert von
    #8

    @dominik-f

    Du hast natürlich Recht, war mein Gedanken Fehler.
    In meinem Blockly wollte ich die Laufzeit der Pumpe haben.

    1 Antwort Letzte Antwort
    1
    • Dominik F.D Dominik F.

      @paul53

      Ich bekomme z.B. eine Pushover wenn ich die Pumpe manuell ausschalte. Dazu löst es glaube ich nicht zuverlässig aus bzw bekomme ich keine Pushover wenn die Pumpe durch das Skript ausgeschaltet wurde.

      Ich lasse bis dieses Skript richtig funktioniert mein ursprüngliches daneben laufen was zuverlässig funktioniert. Glaube bei dem hast du mir auch geholfen. Ich möchte nur auf Blockly switschen da ich das einfacher finde und mich damit zukünftig auseinandersetzen möchte.

      Hier ist das funktionierende:

      const logging = true;
      const id_Power_Poolpumpe = 'alias.0.DR_Garage.Steckdose Poolpumpe.POWER'/*Poolpumpe POWER*/;
      const id_Poolpumpe = 'alias.0.DR_Garage.Steckdose Poolpumpe.STATE'/*Poolpumpe Switch state*/;
      
      var timer = null;
      var pumpe = getState(id_Poolpumpe).val;
      
      const prio_Poolpumpe = 0;
      
      //Variablen für Pushover
      const sendpush = true;      //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
      const pushover_Instanz0 = 'pushover.0';     // Pushover instance für Prio = 0
      const pushover_Instanz1 = 'pushover.1';     // Pushover instance für Prio = 1
      const pushover_Instanz2 = 'pushover.2';     // Pushover instance für Prio = 2
      const pushover_Instanz3 = 'pushover.3';     // Pushover instance für Prio = -1 oder -2
      var prio = -2;              //nicht verändern die höchste Prio nach Fehlertyp wird verwendet
      var titel;
      var message;
      //var device = 'Handy_Domi';         //Welches Gerät soll die Nachricht bekommen
      var device = 'All';
      var tmp;
      
      //Ab hier eigentliches Script
      
      function send_pushover(device, message, titel, prio) {
          var pushover_Instanz;
          if (prio === 0) { pushover_Instanz = pushover_Instanz0; }
          else if (prio == 1) { pushover_Instanz = pushover_Instanz1; }
          else if (prio == 2) { pushover_Instanz = pushover_Instanz2; }
          else { pushover_Instanz = pushover_Instanz3; }
          sendTo(pushover_Instanz, {
              device: device,
              message: message,
              title: titel,
              priority: 0,
          });
      }
      
      on(id_Power_Poolpumpe, function (dp) {
          if (dp.state.val < 500) {
              if (dp.oldState.val >= 500) {
                  timer = setTimeout(function () {
                      if (pumpe) {
                          setState(id_Poolpumpe, false);
                          tmp = 'Poolpumpe ausgeschaltet - Poolpumpe überprüfen';
                          if (logging) { log(tmp); }
                          if (sendpush) {
                              prio = prio_Poolpumpe;
                              message = tmp;
                              titel = 'Fehler Poolpumpe';
                              send_pushover(device, message, titel, prio);
                          }
                      }
                  }, 10000);
              }
          } else if (timer) clearTimeout(timer);
      });
      
      on(id_Poolpumpe, function (dp) {
          pumpe = dp.state.val;
      });
      
      
      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von
      #9

      @dominik-f sagte in Überwachung einer Poolpumpe:

      Ich lasse bis dieses Skript richtig funktioniert mein ursprüngliches daneben laufen was zuverlässig funktioniert.

      Laufen wirklich beide Scripte parallel oder schaltest du beim Test das JavaScript ab?

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

      NSPanel Script Wiki
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      Dominik F.D 1 Antwort Letzte Antwort
      0
      • T TT-Tom

        @dominik-f sagte in Überwachung einer Poolpumpe:

        Ich lasse bis dieses Skript richtig funktioniert mein ursprüngliches daneben laufen was zuverlässig funktioniert.

        Laufen wirklich beide Scripte parallel oder schaltest du beim Test das JavaScript ab?

        Dominik F.D Offline
        Dominik F.D Offline
        Dominik F.
        schrieb am zuletzt editiert von
        #10

        @tt-tom

        Ja, bisher laufen beide parallel

        T 1 Antwort Letzte Antwort
        0
        • Dominik F.D Dominik F.

          @solardach

          Muss bei einer Überwachung der Leistung denn nicht jede Änderung der Leistung "überwacht" werden?
          oder verstehe ich da was falsch?

          @paul53

          Ja, Wert und vorheriger Wert sind keine eigenen Variablen.
          Habe ich denn das Timeout richtig gesetzt?
          Ich habe noch einen Timer in einem anderen Skript verwendet, dort wurde erst Stop Timout ausgeführt und dann der Timer gestartet.
          Kann es sein das ich das hier auch machen muss?

          Hier das Beispiel das ich meine:
          Unbenannt.PNG
          In dem Skript wird nach Sonnenuntergang eine Lampe für eine bestimmte Zeit eingeschaltet, wenn ein Bewegungsmelder eine Bewegung erkennt.

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

          @dominik-f sagte: Habe ich denn das Timeout richtig gesetzt?

          Ja.

          @dominik-f sagte in Überwachung einer Poolpumpe:

          dort wurde erst Stop Timout ausgeführt und dann der Timer gestartet.

          Funktioniert genauso, ist nur etwas eleganter gelöst.

          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

          Dominik F.D 1 Antwort Letzte Antwort
          0
          • Dominik F.D Dominik F.

            @tt-tom

            Ja, bisher laufen beide parallel

            T Offline
            T Offline
            TT-Tom
            schrieb am zuletzt editiert von
            #12

            @dominik-f sagte in Überwachung einer Poolpumpe:

            @tt-tom

            Ja, bisher laufen beide parallel

            Dann stop mal das JavaScript, wenn du das Blockly testen möchtest. Ansonsten funkt dir das dazwischen, weil ja beide auf den selben Datenpunkt triggern.

            Gruß Tom

            Gruß Tom
            https://github.com/tt-tom17
            Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

            NSPanel Script Wiki
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            NSPanel Adapter Wiki
            https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

            1 Antwort Letzte Antwort
            -1
            • paul53P paul53

              @dominik-f sagte: Habe ich denn das Timeout richtig gesetzt?

              Ja.

              @dominik-f sagte in Überwachung einer Poolpumpe:

              dort wurde erst Stop Timout ausgeführt und dann der Timer gestartet.

              Funktioniert genauso, ist nur etwas eleganter gelöst.

              Dominik F.D Offline
              Dominik F.D Offline
              Dominik F.
              schrieb am zuletzt editiert von
              #13

              @paul53

              Könntest du mir die elegantere Lösung eventuell zeigen?

              @TT-Tom

              Habe das andere Skript nun gestoppt und lasse die Power mit InfluxDB aufzeichnen. Heute ist das Skript angesprungen und hat die Pumpe ausgeschaltet, ich weiß nur nicht ob es so richtig war das die ausgeht, daher das aufzeichnen. Melde mich sobald ich weiß ob das Skript richtig funktioniert bzw. wann genau es probleme gibt.

              paul53P 1 Antwort Letzte Antwort
              0
              • Dominik F.D Dominik F.

                @paul53

                Könntest du mir die elegantere Lösung eventuell zeigen?

                @TT-Tom

                Habe das andere Skript nun gestoppt und lasse die Power mit InfluxDB aufzeichnen. Heute ist das Skript angesprungen und hat die Pumpe ausgeschaltet, ich weiß nur nicht ob es so richtig war das die ausgeht, daher das aufzeichnen. Melde mich sobald ich weiß ob das Skript richtig funktioniert bzw. wann genau es probleme gibt.

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

                @dominik-f sagte: Könntest du mir die elegantere Lösung eventuell zeigen?

                falls Wert >= 500
                mache stop timeout
                sonst falls vorheriger Wert >= 500
                mache Ausführen timeout
                

                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

                Dominik F.D 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @dominik-f sagte: Könntest du mir die elegantere Lösung eventuell zeigen?

                  falls Wert >= 500
                  mache stop timeout
                  sonst falls vorheriger Wert >= 500
                  mache Ausführen timeout
                  
                  Dominik F.D Offline
                  Dominik F.D Offline
                  Dominik F.
                  schrieb am zuletzt editiert von
                  #15

                  @paul53

                  So richtig?

                  Unbenannt.PNG

                  Was ich feststellen konnte ist bisher, dass das Skript die Pumpe öfter ausschaltet, als das javascript. Die Frage ist nur, ob sich was an der Pumpe verändert hat oder welches der beiden Skripte richtig funktioniert. Ich logge erst mal die Leistung eine Zeit ohne Skript und schaue wie sich die Leistung so verhält.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • Dominik F.D Dominik F.

                    @paul53

                    So richtig?

                    Unbenannt.PNG

                    Was ich feststellen konnte ist bisher, dass das Skript die Pumpe öfter ausschaltet, als das javascript. Die Frage ist nur, ob sich was an der Pumpe verändert hat oder welches der beiden Skripte richtig funktioniert. Ich logge erst mal die Leistung eine Zeit ohne Skript und schaue wie sich die Leistung so verhält.

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

                    @dominik-f sagte: So richtig?

                    Nein.

                    falls Wert >= 500
                    

                    Anstelle des falls-Blockes unten, kann man "sonst falls" verwenden.

                    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

                    Dominik F.D 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @dominik-f sagte: So richtig?

                      Nein.

                      falls Wert >= 500
                      

                      Anstelle des falls-Blockes unten, kann man "sonst falls" verwenden.

                      Dominik F.D Offline
                      Dominik F.D Offline
                      Dominik F.
                      schrieb am zuletzt editiert von
                      #17

                      @paul53

                      Ah, das hatte ich nicht gesehen^^

                      Unbenannt.PNG

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • Dominik F.D Dominik F.

                        @paul53

                        Ah, das hatte ich nicht gesehen^^

                        Unbenannt.PNG

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

                        @dominik-f
                        Immer noch falsch: Die äußere falls-Klammer weg lassen!

                        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

                        Dominik F.D 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @dominik-f
                          Immer noch falsch: Die äußere falls-Klammer weg lassen!

                          Dominik F.D Offline
                          Dominik F.D Offline
                          Dominik F.
                          schrieb am zuletzt editiert von
                          #19

                          @paul53

                          Du meinst das mit Wert <500?

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • Dominik F.D Dominik F.

                            @paul53

                            Du meinst das mit Wert <500?

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

                            @dominik-f sagte: Du meinst das mit Wert <500?

                            Ja, denn so wird der Timeout nie gestoppt, denn Wert kann nicht gleichzeitig < 500 und >= 500 sein.

                            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

                            Dominik F.D 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @dominik-f sagte: Du meinst das mit Wert <500?

                              Ja, denn so wird der Timeout nie gestoppt, denn Wert kann nicht gleichzeitig < 500 und >= 500 sein.

                              Dominik F.D Offline
                              Dominik F.D Offline
                              Dominik F.
                              schrieb am zuletzt editiert von
                              #21

                              @paul53

                              so?

                              Unbenannt.PNG

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • Dominik F.D Dominik F.

                                @paul53

                                so?

                                Unbenannt.PNG

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

                                @dominik-f sagte: so?

                                Passt.

                                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

                                Dominik F.D 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @dominik-f sagte: so?

                                  Passt.

                                  Dominik F.D Offline
                                  Dominik F.D Offline
                                  Dominik F.
                                  schrieb am zuletzt editiert von
                                  #23

                                  @paul53

                                  Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Dominik F.D Dominik F.

                                    @paul53

                                    Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?

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

                                    @dominik-f sagte: Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?

                                    sonst bedeutet, dass die falls-Bedingung (Wert >= 500) nicht erfüllt ist, also Wert < 500 sein muss.

                                    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

                                    Dominik F.D 2 Antworten Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @dominik-f sagte: Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?

                                      sonst bedeutet, dass die falls-Bedingung (Wert >= 500) nicht erfüllt ist, also Wert < 500 sein muss.

                                      Dominik F.D Offline
                                      Dominik F.D Offline
                                      Dominik F.
                                      schrieb am zuletzt editiert von
                                      #25

                                      @paul53

                                      Ich danke dir für deine Erklärung. Da wäre ich so nicht drauf gekommen^^

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @dominik-f sagte: Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?

                                        sonst bedeutet, dass die falls-Bedingung (Wert >= 500) nicht erfüllt ist, also Wert < 500 sein muss.

                                        Dominik F.D Offline
                                        Dominik F.D Offline
                                        Dominik F.
                                        schrieb am zuletzt editiert von
                                        #26

                                        @paul53

                                        Jetzt läuft das Skript ja so, dass wenn der Wert erst über 500 ist und dann 15 Sekunden unter 500, die Pumpe ausgeschaltet ist.

                                        Das schützt die Pumpe wenn im laufenden Betrieb was passiert.

                                        Die Pumpe wird jedoch mehrmals am Tag an und ausgestellt. Ich würde jetzt gerne noch einen Schutz einbauen, wenn die Pumpe vorher aus war.
                                        Das bedeutet, wenn die Pumpe eingeschaltet wird und der Wert für 15 Sekunden unter 500 bleibt, sich die Pumpe wieder ausschaltet.
                                        Wie müsste ich das dort einbringen?

                                        Dominik F.D 1 Antwort Letzte Antwort
                                        0
                                        • Dominik F.D Dominik F.

                                          @paul53

                                          Jetzt läuft das Skript ja so, dass wenn der Wert erst über 500 ist und dann 15 Sekunden unter 500, die Pumpe ausgeschaltet ist.

                                          Das schützt die Pumpe wenn im laufenden Betrieb was passiert.

                                          Die Pumpe wird jedoch mehrmals am Tag an und ausgestellt. Ich würde jetzt gerne noch einen Schutz einbauen, wenn die Pumpe vorher aus war.
                                          Das bedeutet, wenn die Pumpe eingeschaltet wird und der Wert für 15 Sekunden unter 500 bleibt, sich die Pumpe wieder ausschaltet.
                                          Wie müsste ich das dort einbringen?

                                          Dominik F.D Offline
                                          Dominik F.D Offline
                                          Dominik F.
                                          schrieb am zuletzt editiert von
                                          #27

                                          Oder könnte man so beide Fälle verbinden? Also falls die Pumpe an ist und die Leistung für 15 Sekunden unter 500 ist, dann schalte aus?

                                          Unbenannt.PNG

                                          T 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

                                          721

                                          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