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
    476

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          561

                                          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