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
    363

  • 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.
  • S Solardach

    @dominik-f
    Ich habe sowas ähnliches gebaut (Pumpe einer Balkonbewässerung)

    Ein Problem ist die mehrfach Triggerung durch " Pumpe Power wurde geändert"
    Die Pumpem Power ist keine Konstante
    Da muss eine Verriegelung eingebaut werden damit das Script nicht immer bei jeder kleinen Änderung der Pumpenleistung neu startet.
    f7279f9a-5aa4-4d94-8001-4a43d0d71572-image.png
    Siehe dir mal mein Blockly an.
    Mit der Variablen Pumpe eingeschaltet auf wahr wird das Script gegen erneutes triggern gesichert.

    Am Ende muss natürlich auch ein "Pumpe eingeschaltet auf falsch" gesetzt werden

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

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

    Dominik F.D S paul53P 3 Antworten 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.

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

      oder kann es sein, dass das Javascript Skript schneller ausgeführt wird und dadurch das Blockly nicht richtig funktioniert?

      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.

        S Offline
        S Offline
        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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          798

                                          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