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
    477

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

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

    @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
                                        • Dominik F.D Dominik F.

                                          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 Offline
                                          T Offline
                                          TT-Tom
                                          schrieb am zuletzt editiert von TT-Tom
                                          #28

                                          @dominik-f so nicht. Jetzt würde folgendes passieren: Pumpe schaltet ein, wenn kleiner 500 mache stop timeout2. wenn größer gleich 500 starte timeout in 15 sec

                                          "falls" ist dein Kriterium, was erfüllt werden muss, um "mache" zu aktivieren
                                          Sonst ist immer das Gegenteil von mache, also wenn das Kriterium nicht erfüllt ist

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          429

                                          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