Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Poolsteuerung in Abhängigkeit von Stromertrag (Solar)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Poolsteuerung in Abhängigkeit von Stromertrag (Solar)

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      G.Hawk last edited by

      Hallo

      Ich versuche gerade ein Blockly zu bauen, dass in Abhängigkeit von der Solarleistung und anderen Faktoren die Poolpumpe ein und aus schaltet.

      Folgendes soll erreicht werden:
      Es gibt einen Datenpunkt der auf wahr geht, wenn ich über 500W verbrauche.
      Wenn das so ist, möchte ich nach 10 Minuten prüfen, ob die Poolpumpe an ist, ob die Poolstromautomatik an ist, ob es zwischen 11:00 und 19:00 Uhr ist.
      Wenn das so ist, soll die Pumpe sich abschalten, um Strom zu sparen.

      Wenn ich über 300 Watt über habe (-300 Watt Stromverbrauch) soll das Script prüfen, ob alle Gegebenheiten wie oben vorliegen und ob die Waschmaschine läuft und ob das Script die Pumpe ausgeschaltet hat oder ich manuell.
      Weil sie dann ja nicht einfach von alleine angehen soll.

      So sieht das Blockly aus:
      Unbenannt.PNG

      Wäre super wenn jemand einen Tipp hätte, ob das so funktionieren kann oder nicht.
      Oder wäre eine Intervallprüfung besser nur wenn die Pumpe läuft?

      Was würde passieren, wenn ich die beiden Trigger direkt aneinander setzte?

      Gruß

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @G.Hawk last edited by paul53

        @g-hawk sagte: ob die Poolstromautomatik an ist, ob es zwischen 11:00 und 19:00 Uhr ist.

        Wenn eine dieser Bedingungen nicht zutrifft, soll die Pumpe sicherlich ausschalten?

        @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

        das Script die Pumpe ausgeschaltet hat oder ich manuell.

        Manuelles Ausschalten (vor Ort, Vis oder Admin) kann man durch Prüfung des Wertes und des Ursprungs der Pumpenschaltung feststellen.

        @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

        wäre eine Intervallprüfung besser nur wenn die Pumpe läuft?

        Besser ist ein Trigger auf Verbrauch (Bezug) / Überschuss (Einspeisung).
        Vorschlag:

        Blockly_temp.JPG

        EDIT: Ergänzt um Setzen von manuellAus bei Skriptstart und Ausschalten um 19:00 Uhr.

        G 1 Reply Last reply Reply Quote 1
        • G
          G.Hawk @paul53 last edited by

          @paul53

          Ok. Das sieht super aus.
          Was macht den setzte "manuel aus" genau?
          Manuell aus soll alles sein, außer das Script schaltet die Pumpe aus, dann darf sie sie auch wieder einschalten, aber nur an diesem Tag, nicht das die ab 11 am nächsten Tag dann einfach angeht.

          Eine Frage habe ich noch, das habe ich leider nie verstanden was passiert mit mehreren Trägern in einem Skript wenn diese aneinander hängen, ich habe die immer einfach auseinander gezogen, wo ist der Unterschied?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @G.Hawk last edited by paul53

            @g-hawk sagte: auseinander gezogen, wo ist der Unterschied?

            Es gibt keinen Unterschied. Man darf nur nicht Trigger innerhalb von Triggern verwenden.

            @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

            nicht das die ab 11 am nächsten Tag dann einfach angeht.

            Doch das geht sie bei <-300 W und Freigabe durch "Poolstromautomatik".

            @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

            Was macht den setzte "manuel aus" genau?

            Wenn die Pumpe ausschaltet, wird geprüft, ob die Ursache dafür ein Skript ist oder eben nicht.

            G 1 Reply Last reply Reply Quote 0
            • G
              G.Hawk @paul53 last edited by

              @paul53
              Das darf sie aber nicht.
              Ich könnte ja um 19 Uhr einen Ausbefehl senden und dann habe ich ja manuell ausgeschaltet und das Skript dürfte ja nicht anlaufen.

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @G.Hawk last edited by

                @g-hawk sagte: habe ich ja manuell ausgeschaltet

                Wenn vor 19:00 Uhr manuell ausgeschaltet wird, bleibt die Sperre manuellAus so lange erhalten, bis die Pumpe wieder eingeschaltet wird - oder bis zum nächsten Skriptstart.

                G 1 Reply Last reply Reply Quote 0
                • G
                  G.Hawk @paul53 last edited by

                  @paul53
                  Ok und nach 19:00 Uhr?
                  Es gibt zwei Sachen die ich nicht ganz verstehe das ist einmal manuell aus, was macht genau "nicht Wert" und Ursprung?
                  Und "sonst falls nicht Verzögerung Timeout" verstehe ich auch nicht ganz.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @G.Hawk last edited by paul53

                    @g-hawk sagte: nach 19:00 Uhr?

                    Wenn manuellAus Vorrang haben soll, dann setze die Variable bei Skriptstart und beim Ausschalten um 19:00 Uhr auf wahr.

                    Blockly_temp.JPG

                    @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

                    was macht genau "nicht Wert"

                    "nicht Wert" bedeutet: Pumpe hat gerade ausgeschaltet.
                    "Ursprung != system.adapter.javascript.0" bedeutet: Der Ausschaltbefehl kam nicht von einem Skript.

                    G 1 Reply Last reply Reply Quote 1
                    • G
                      G.Hawk @paul53 last edited by

                      @paul53
                      Aha. Das bedeutet wenn die Pumpe wahr ist, dann soll "manuell aus" auf falsch gestellt werden wenn die Änderung nicht von einem Script kommt.
                      " nicht wert" ist also immer das Gegenteil von dem was gerade anliegt, oder?

                      paul53 Homoran 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @G.Hawk last edited by paul53

                        @g-hawk sagte: " nicht wert" ist also immer das Gegenteil von dem was gerade anliegt, oder?

                        Ja, umgangssprachlich sagt man auch: Die Pumpe läuft nicht.

                        @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

                        "sonst falls nicht Verzögerung Timeout" verstehe ich auch nicht ganz.

                        Diese Sperre verhindert, dass der Timeout mehrfach gestartet wird, denn dann kann er nicht mehr gestoppt werden.

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          G.Hawk @paul53 last edited by

                          @paul53
                          Zum Verständnis
                          Wäre das so richtig? Eben nur aufwändiger geschrieben?

                          Unbenannt.PNG

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @G.Hawk last edited by

                            @g-hawk sagte: Wäre das so richtig? Eben nur aufwändiger geschrieben?

                            Ja.

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              G.Hawk @paul53 last edited by G.Hawk

                              @paul53
                              Um die Logik zuverstehen, habe ich es mal nachgebaut.
                              Wenn das so richtig ist, habe ich das "nicht" vielleicht verstanden:

                              Unbenannt.PNG

                              paul53 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @G.Hawk last edited by

                                @g-hawk sagte in Poolsteuerung in Abhängigkeit von Stromertrag (Solar):

                                Änderung nicht von einem Script kommt.
                                " nicht wert" ist also immer das Gegenteil von dem was gerade anliegt, oder?

                                in der Bool'schen Algebra dient das nicht zum invertieren eine Bedingung.
                                bei Werten vom Typ bool true/false noch relativ einfach, aber zb beispiel wäre nicht schwarz keinesfalls zwingend weiß.
                                Das ist zwar auch richtig, aber nur eine Möglichkeit.

                                1 Reply Last reply Reply Quote 1
                                • paul53
                                  paul53 @G.Hawk last edited by paul53

                                  @g-hawk sagte: habe ich es mal nachgebaut.

                                  Der Trigger ist falsch! Es wird nur getriggert, wenn der Grenzwert über- oder unterschritten wird. Damit kann man nicht mitbekommen, dass die Leistung unter -300 W sinkt, denn es wird nicht mehr getriggert. Verwende als Trigger-DP "Stromverbrauch_aktuell"!

                                  Ein Vergleich mit wahr ist unnötig, da das Ergebnis eines Vergleichs immer falsch oder wahr ist.
                                  Wenn der Wert der Poolpumpe schon in der Variablen Poolpumpe vorliegt, sollte man auch diese Variable verwenden, denn das erneute Einlesen des Wertes ist Ressourcenverschwendung.

                                  Der Datenpunkt "Stromverbrauch_ueber_500W" ist überflüssig (kontraproduktiv).

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    G.Hawk @paul53 last edited by

                                    @paul53
                                    Ok habe es geändert.
                                    Er aktualisiert den Datenpunkt "Stromverbrauch aktuell" aber ständig, ich wollte verhindern, dass das Script ständig startet, wenn der Datenpunkt sich ändert.

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @G.Hawk last edited by paul53

                                      @g-hawk sagte: aktualisiert den Datenpunkt "Stromverbrauch aktuell" aber ständig

                                      Das ist auch erforderlich, da die Leistung (500 W / -300 W) geprüft wird. Für die CPU ist das "selten".

                                      G 1 Reply Last reply Reply Quote 0
                                      • G
                                        G.Hawk @paul53 last edited by

                                        @paul53
                                        OK, dann teste ich mal.
                                        Vielen Dank.

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @G.Hawk last edited by

                                          @g-hawk sagte: habe ich das "nicht" vielleicht verstanden

                                          Ja, i.d.R. kann man anstelle von "nicht Wert" auch "Wert = falsch" verwenden.
                                          Dadurch, dass die Variable manuellAus bei Skriptstart auf wahr initialisiert wird, klappt es auch damit. Würde die Variable bei Skriptstart nicht initialisiert (Skriptablauf hätte Vorrang), dann wäre sie erst einmal undefined und der Vergleich mit falsch würde nicht funktionieren - aber "nicht".

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          943
                                          Online

                                          32.0k
                                          Users

                                          80.5k
                                          Topics

                                          1.3m
                                          Posts

                                          3
                                          19
                                          528
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo