Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Problem bei Blockly und Shelly

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Problem bei Blockly und Shelly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Schmakus
      Schmakus Developer @paul53 last edited by Schmakus

      @paul53 Welchen Sinn hat die Abfrage, ob die Steckdose ein ist, bevor sie ausgeschaltet wird und andersrum? Dem js-controller ist es wurst, wenn der state mehrfach auf false oder true gesetzt wird. Mehr als AUS oder EIN gibt es nicht. 😉

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Schmakus last edited by paul53

        @schmakus sagte: Dem js-controller ist es wurst, wenn der state mehrfach auf false gesetzt wird.

        Dem js-controller schon, aber es wird unnötig gesendet, was andere zur gleichen Zeit gesendeten Telegramme stören kann.

        Schmakus 1 Reply Last reply Reply Quote 0
        • Schmakus
          Schmakus Developer @paul53 last edited by

          @paul53 Kommt auf den jweiligen Adapter an. Die meisten Adapter verarbeiten oft nur ne Änderung eines Werts. Somit wird nix zusätzlich "gesendet".

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Schmakus last edited by

            @schmakus sagte: Die meisten Adapter verarbeiten oft nur ne Änderung eines Werts.

            Sicher die meisten Adapter?

            Schmakus 1 Reply Last reply Reply Quote 0
            • Schmakus
              Schmakus Developer @paul53 last edited by

              @paul53 dazu kann ich keine Aussage machen. Deckel drauf.

              1 Reply Last reply Reply Quote 0
              • R
                Ronnyempire @maximal1981 last edited by

                @maximal1981 Ich will damit verhindern, dass wenn sich mal eine Wolke vorbei schleicht und der Ertrag kurzfristig runter geht die Anlage nicht immer Aus/An springt, was ja nicht gut für die Lebensdauer der Pumpe ist.

                maximal1981 1 Reply Last reply Reply Quote 0
                • maximal1981
                  maximal1981 @Ronnyempire last edited by

                  @ronnyempire dachte ich mir, wollte nur nachfragen. Da bist du eh bei @paul53 gut aufgehoben.

                  1 Reply Last reply Reply Quote 0
                  • R
                    Ronnyempire @paul53 last edited by

                    @paul53 Vielen Dank für den Vorschlag. Kurze Rückfrage dazu. Die Limitierung auf vor 16:00Uhr gilt dem Einschalten. Ausschalten soll aber nach 16:00Uhr weiterhin möglich sein. Dies soll dazu dienen einen harten Cut zu machen, weil die Anlage bei den Schwankungen ab 16:00Uhr sonst wie bei den Wolken ständig ein und aus gehen würde. Wenn also nach 16:00Uhr die Anlage einmal aus geht, soll sie es bleiben. Ist das mit deinem Vorschlag so gemacht, ich lese das so (aber ich bin auch Anfänger), dass die Zeit 16:00Uhr für beide gilt.???

                    Codierknecht paul53 2 Replies Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @Ronnyempire last edited by Codierknecht

                      @ronnyempire sagte in Problem bei Blockly und Shelly:

                      bei den Schwankungen ab 16:00Uhr

                      Die sind aber Jahrezeitabhängig.
                      Im Hochsommer kann das auch deutlich später noch sinnvoll sein. Und im Winter eben nicht.
                      Da wäre es möglicherweise besser, die "Elevation" zu bestimmen und damit zu arbeiten.
                      Oder aber über die Astrofunktion einen Zeitraum zwischen Sonnenauf und -untergang bestimmen.

                      Code dazu:

                      const  suncalc = require('suncalc');
                      
                      createState('0_userdata.0.Astro.Elevation', 0, {type: 'number', unit: '°'})
                      createState('0_userdata.0.Astro.Azimut', 0, {type: 'number', unit: '°'})
                      
                      schedule("0 0 * * *", async function () {
                          setState('0_userdata.0.Astro.Sonnenaufgang', getAstroDate("sunrise").toLocaleTimeString('de-DE',{ hour12: false, hour:'2-digit', minute:'2-digit' }), true);
                          setState('0_userdata.0.Astro.Sonnenuntergang', getAstroDate("sunset").toLocaleTimeString('de-DE',{ hour12: false, hour:'2-digit', minute:'2-digit' }), true);
                      });
                       
                      schedule("* * * * *", function () {
                          var now = new Date();
                          var sunpos = suncalc.getPosition(now, 51, 6);
                          var h = sunpos.altitude * 180 / Math.PI; 
                          var a = sunpos.azimuth * 180 / Math.PI + 180;
                       
                          setState("0_userdata.0.Astro.Elevation", Math.round(10 * h) / 10, true);
                          setState("0_userdata.0.Astro.Azimut", Math.round(a), true);
                       
                      });
                      
                      R 1 Reply Last reply Reply Quote 0
                      • R
                        Ronnyempire @Codierknecht last edited by

                        @codierknecht Das ist nicht das Problem, der Pool steht nur von Mai bis September. Und was die Uhrzeit angeht, die ist noch nicht fix, ich muss beobachten bis wann das sinnvoll ist und würde das dann anpassen.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Ronnyempire last edited by paul53

                          @ronnyempire sagte: Ausschalten soll aber nach 16:00Uhr weiterhin möglich sein.

                          Bei meinem Vorschlag oben wird kurz nach 16:00 Uhr ausgeschaltet.
                          Soll nach 16:00 Uhr nur ein Wiedereinschalten verhindert werden, dann kann es so aussehen:

                          Blockly_temp.JPG

                          Codierknecht R 2 Replies Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @paul53 last edited by

                            @Ronnyempire @paul53
                            Nur so als Idee, um die Sonnenscheindauer besser auszunutzen:
                            55a29376-96b0-4af9-a63a-0c908cd720e2-image.png

                            Homoran R 2 Replies Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Codierknecht last edited by

                              @codierknecht isDayTime gibt es als Systemdatenpunkt.
                              muss ur irgendwo konfiguriert werden

                              Codierknecht Schmakus 2 Replies Last reply Reply Quote 0
                              • R
                                Ronnyempire @Codierknecht last edited by

                                @codierknecht Leider kann ich mich nicht so von der Sonnenuntergangszeit orientieren, da wir ganz am Ende des Tages sehr viele Bäume im Weg haben.

                                Codierknecht 1 Reply Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @Homoran last edited by

                                  @homoran
                                  OK, ungünstig gewählter Name für die Variable.
                                  Sollte ggf. anders benannt werden, da die Sytemvariable ja nur angibt ob gerade Tag oder Nacht ist. Das muss ja nicht mit der idealen Zeit bzgl. Sonnenschein korrelieren.
                                  Also isSunshine o.ä. ... kann auch Kurt oder Horst heißen - Namen sind Schall und Rauch 😁

                                  1 Reply Last reply Reply Quote 1
                                  • Codierknecht
                                    Codierknecht Developer Most Active @Ronnyempire last edited by

                                    @ronnyempire sagte in Problem bei Blockly und Shelly:

                                    da wir ganz am Ende des Tages sehr viele Bäume im Weg haben

                                    Ließe sich über den Offset regeln.
                                    Oder eben die "große Lösung" über die Elevation.

                                    R 1 Reply Last reply Reply Quote 0
                                    • Schmakus
                                      Schmakus Developer @Homoran last edited by

                                      @homoran sagte in Problem bei Blockly und Shelly:

                                      @codierknecht isDayTime gibt es als Systemdatenpunkt.
                                      muss ur irgendwo konfiguriert werden

                                      In den Instanzeinstellungen des Javascript Adapters kann es konfiguriert werden. Der Datenpunkt ist dann unter javascript.x verfügbar.

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        Ronnyempire @Codierknecht last edited by

                                        @codierknecht Vielen dank allen für die Wunderbaren Ideen und Vorschläge. Ich möchte das ganze erstmal nur so einfach wie möglich halten, damit ich es auch verstehen kann. Ist ja mein erstes Projekt 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          Ronnyempire @paul53 last edited by Ronnyempire

                                          @paul53 Ich habe das ganze jetzt einmal nachgebaut. Testweise habe ich, da heute keine Einspeisung und sich der Wert von 0 nicht ändert, den Trigger auf aktualisieren gesetzt. Ebenso um zu testen die Delay auf Sekunden. Dann habe ich den Shelly manuell eingeschaltet. Jedoch schaltet er sich nicht aus. Wodran kann es liegen ?blockly4.jpg

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Ronnyempire last edited by paul53

                                            @ronnyempire sagte: Wodran kann es liegen ?

                                            Die Vergleiche sind falsch herum.
                                            Unten muss delayoff als Sperre verwendet werden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            895
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            55
                                            2248
                                            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