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.
    • 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
                            • R
                              Ronnyempire @paul53 last edited by

                              @paul53 Sorry, ich hatte ein bischen rumgespielt und den falschen Screenshot verwendet. Dies ist der aktuelle, es passiert aber weiterhin nichts.blockly5.jpg

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

                                @ronnyempire sagte: passiert aber weiterhin nichts.

                                Wird denn getriggert? Bau mal einen Debug-Block zur Kontrolle ein.

                                Blockly_temp.JPG

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

                                  @paul53 Ok habe ich gemacht, was genau sollte jetzt passieren bzw. wo finde ich die Ausgabe?

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

                                    @ronnyempire sagte: was genau sollte jetzt passieren bzw. wo finde ich die Ausgabe?

                                    Wenn getriggert wird, erscheint die Log-Ausgabe unterhalb des Blockly-Editorfensters. Wenn dort kein Log erscheint, wird nicht getriggert.
                                    Schau mal den Zeitstempel von "currentFeedIn" an. Wenn der schon älter ist, wird auch bei "wurde aktualisiert" nicht getriggert.

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

                                      @paul53 Nein unten kommt nichts. Der Zeitstempel ist minutenaktuell.

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

                                        @ronnyempire sagte: unten kommt nichts.

                                        Auch nicht im Tab "Protokolle"? Das Skript wurde gestartet?

                                        @ronnyempire sagte in Problem bei Blockly und Shelly:

                                        habe ich gemacht,

                                        Bitte zeigen!

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

                                          @paul53 blockly6.jpg

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

                                            @ronnyempire
                                            Passt. So müssen bei jeder Aktualisierung des Zeitstempels von "currentFeedIn" zwei Log-Ausgabe erfolgen.
                                            Die Vergleiche sind wieder falsch herum!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            857
                                            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