Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Blockly] Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Blockly] Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist

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

      Hallo zusammen,

      irgend etwas stimmt da noch nicht. Die Funksteckdose schaltet die Lampe zwar an, sobald der Rechner über Ping erreichbar ist & auch wieder aus, sobald er aus ist und nicht mehr per Ping erreichbar ist, aber halt immer.

      Bedeutet, dass er gar nicht auf Abenddämmerung und Sonnenaufgang reagiert.

      Was mache ich falsch?

      Gruß

      1 Reply Last reply Reply Quote 0
      • Matzebhv
        Matzebhv last edited by

        Moin,

        erstmal zu den Zeiten: die Astrozeiten sind ein tägliches, einmaliges Ereignis. Das kannst du so nicht verwenden. Dann triggerst du dein Script auf PC aus ganz ohne Zeit.

        Mach mal so:

        3514_blockly.png

        Musst natürlich die Datenpunkte für PC und Lampe einbauen.

        Matze

        1 Reply Last reply Reply Quote 0
        • M
          Modjo last edited by

          Jetzt müsste es passen. Ich habe die Uhrzeiten noch einmal angepasst. Doof nur, dass ich quasi im Winter und Sommer die Zeiten manuell ändern muss, da es unterschiedlich lange hell ist.

          Vielen Dank Matzebhv!

          Gruß
          4811_unbenannt.jpg

          1 Reply Last reply Reply Quote 0
          • Matzebhv
            Matzebhv last edited by

            Hmm,

            ich bin mir grade nicht sicher. Probiere das doch einfach mal.

            3514_blockly.png

            Matze

            EDIT: Für die Astrofunktion muss im Admin dein Wohnort konfiguriert sein.

            Mit diesem Script kannst du dir die Astrodaten für den Tag anzeigen lassen.

            ! ````
            // Astrozeiten für heute - V1.0
            ! log("=====================");
            log("Astro Werte für heute");
            log("=====================");
            //----------------------------------------------------------------- Werte vom 3.12.2015
            var nightEnd = getAstroDate("nightEnd");
            log(" (0) nightEnd (Ende der Nacht)........................: " + nightEnd.toLocaleTimeString());      // 05:37
            var nauticalDawn = getAstroDate("nauticalDawn");
            log(" (1) nauticalDawn (naut. Dämmerung Morgens)...........: " + nauticalDawn.toLocaleTimeString());  // 06:13
            var dawn = getAstroDate("dawn");
            log(" (2) dawn (Dämmerung Morgens).........................: " + dawn.toLocaleTimeString());          // 06:52
            var sunrise = getAstroDate("sunrise");
            log(" (3) sunrise (Sonnenaufgang)..........................: " + sunrise.toLocaleTimeString());       // 07:26
            var sunriseEnd = getAstroDate("sunriseEnd");
            log(" (4) sunriseEnd (Ende des Sonnenaufgangs).............: " + sunriseEnd.toLocaleTimeString());    // 07:26
            var goldenHourEnd = getAstroDate("goldenHourEnd");
            log(" (5) goldenHourEnd (Ende der Golden Hour VM)..........: " + goldenHourEnd.toLocaleTimeString()); // 08:17
            var solarNoon = getAstroDate("solarNoon");
            log(" (6) solarNoon (Mittag)...............................: " + solarNoon.toLocaleTimeString());     // 11:49
            var goldenHour = getAstroDate("goldenHour");
            log(" (7) goldenHour (Start der Golden Hour NM)............: " + goldenHour.toLocaleTimeString());    // 15:22
            var sunsetStart = getAstroDate("sunsetStart");
            log(" (8) sunsetStart (Start des Sonnenuntergangs).........: " + sunsetStart.toLocaleTimeString());   // 16:08
            var sunset = getAstroDate("sunset");
            log(" (9) sunset (Sonnenuntergang).........................: " + sunset.toLocaleTimeString());        // 16:12
            var dusk = getAstroDate("dusk");
            log("(10) dusk (Dämmerung Abends)..........................: " + dusk.toLocaleTimeString());          // 16:47
            var nauticalDusk = getAstroDate("nauticalDusk");
            log("(11) nauticalDusk (naut. Dämmerung Abends)............: " + nauticalDusk.toLocaleTimeString());  // 17:25
            var night = getAstroDate("night");
            log("(12) night (Start der Nacht)..........................: " + night.toLocaleTimeString());         // 18:02
            var nadir = getAstroDate("nadir");
            log("(13) nadir (Mitternacht)..............................: " + nadir.toLocaleTimeString());         // 23:49
            log("=====================");
            var today = new Date();
            var tomorrow = today.setDate(today.getDate()+1);
            var tomorrowNight = getAstroDate("night", tomorrow);
            log("Night starts tomorrow at " + tomorrowNight.toLocaleTimeString());

            1 Reply Last reply Reply Quote 0
            • M
              Modjo last edited by

              @Matzebhv:

              Hmm,

              ich bin mir grade nicht sicher. Probiere das doch einfach mal.

              blockly.PNG

              Matze

              EDIT: Für die Astrofunktion muss im Admin dein Wohnort konfiguriert sein.

              Mit diesem Script kannst du dir die Astrodaten für den Tag anzeigen lassen.

              ! // Astrozeiten für heute - V1.0 ! log("====================="); log("Astro Werte für heute"); log("====================="); //----------------------------------------------------------------- Werte vom 3.12.2015 var nightEnd = getAstroDate("nightEnd"); log(" (0) nightEnd (Ende der Nacht)........................: " + nightEnd.toLocaleTimeString());      // 05:37 var nauticalDawn = getAstroDate("nauticalDawn"); log(" (1) nauticalDawn (naut. Dämmerung Morgens)...........: " + nauticalDawn.toLocaleTimeString());  // 06:13 var dawn = getAstroDate("dawn"); log(" (2) dawn (Dämmerung Morgens).........................: " + dawn.toLocaleTimeString());          // 06:52 var sunrise = getAstroDate("sunrise"); log(" (3) sunrise (Sonnenaufgang)..........................: " + sunrise.toLocaleTimeString());       // 07:26 var sunriseEnd = getAstroDate("sunriseEnd"); log(" (4) sunriseEnd (Ende des Sonnenaufgangs).............: " + sunriseEnd.toLocaleTimeString());    // 07:26 var goldenHourEnd = getAstroDate("goldenHourEnd"); log(" (5) goldenHourEnd (Ende der Golden Hour VM)..........: " + goldenHourEnd.toLocaleTimeString()); // 08:17 var solarNoon = getAstroDate("solarNoon"); log(" (6) solarNoon (Mittag)...............................: " + solarNoon.toLocaleTimeString());     // 11:49 var goldenHour = getAstroDate("goldenHour"); log(" (7) goldenHour (Start der Golden Hour NM)............: " + goldenHour.toLocaleTimeString());    // 15:22 var sunsetStart = getAstroDate("sunsetStart"); log(" (8) sunsetStart (Start des Sonnenuntergangs).........: " + sunsetStart.toLocaleTimeString());   // 16:08 var sunset = getAstroDate("sunset"); log(" (9) sunset (Sonnenuntergang).........................: " + sunset.toLocaleTimeString());        // 16:12 var dusk = getAstroDate("dusk"); log("(10) dusk (Dämmerung Abends)..........................: " + dusk.toLocaleTimeString());          // 16:47 var nauticalDusk = getAstroDate("nauticalDusk"); log("(11) nauticalDusk (naut. Dämmerung Abends)............: " + nauticalDusk.toLocaleTimeString());  // 17:25 var night = getAstroDate("night"); log("(12) night (Start der Nacht)..........................: " + night.toLocaleTimeString());         // 18:02 var nadir = getAstroDate("nadir"); log("(13) nadir (Mitternacht)..............................: " + nadir.toLocaleTimeString());         // 23:49 log("====================="); var today = new Date(); var tomorrow = today.setDate(today.getDate()+1); var tomorrowNight = getAstroDate("night", tomorrow); log("Night starts tomorrow at " + tomorrowNight.toLocaleTimeString()); `

              Hey, vielen Dank für die Hilfe,

              ich werde es wie folgt probieren:

              VG
              4811_unbenannt.jpg

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

                Da die "Aktuelle Zeit Astro" nicht nur die Uhrzeit, sondern auch das heutige Datum enthält, muss die "Von-Zeit" vor der "Bis-Zeit" liegen. Damit man trotzdem auf "dunkel" prüfen kann, gibt es "nicht zwischen". Etwa so:

                493_ping_nachts.jpg

                1 Reply Last reply Reply Quote 0
                • M
                  Modjo last edited by

                  @paul53:

                  Da die "Aktuelle Zeit Astro" nicht nur die Uhrzeit, sondern auch das heutige Datum enthält, muss die "Von-Zeit" vor der "Bis-Zeit" liegen. Damit man trotzdem auf "dunkel" prüfen kann, gibt es "nicht zwischen". Etwa so:

                  Ping_nachts.JPG `

                  Hallo paul53,

                  jetzt habe ich einen Knoten im Kopf, hoffe aber, dass ich dich richtig verstanden habe.

                  Also nehmen wir mal folgendes Szenario an:

                  ****__Sonnenaufgang-Ende: 01.01.2018 06:00

                  Sonnenuntergang-Anfang 01.01.2018 20:00

                  Wenn: PC Wahr & Zeit nicht zwischen 01.01.2018 06:00 (Sonnenaufgang-Ende) und 01.01.2018 20:00 (Sonnenuntergang) (20:01-05:59)

                  Mache: Büro Kugel ein Wahr

                  Sonst Falls:

                  Wenn: PC Wahr & Zeit zwischen 01.01.2018 06:00 (Sonnenaufgang-Ende) und 01.01.2018 20:00 (Sonnenuntergang-Anfang) (06:00-20:00)

                  Mache: Büro Kugel aus Wahr

                  Sonst Falls:

                  Wenn: PC Unwahr

                  Mache: Büro Kugel aus Wahr__****

                  <u>ACHTUNG: Die Werte entsprechen nicht der Realität zur Jahreszeit, habe es nur zur Vereinfachung so gesetzt.</u>

                  Habe ich das richtig interpretiert?

                  Dann müsste es so aussehen:
                  4811_unbenannt.jpg

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

                    Ein einfaches "sonst" zum Ausschalten der Kugel (s. mein Beispiel) macht das ganauso.

                    Anstelle "Wert von Objekt ID PC" kann man die Skriptvariable "value" testen, da sie bereits den Wert des Ping-Datenpunktes enthält.

                    1 Reply Last reply Reply Quote 0
                    • M
                      Modjo last edited by

                      @paul53:

                      Ein einfaches "sonst" zum Ausschalten der Kugel (s. mein Beispiel) macht das ganauso.

                      Anstelle "Wert von Objekt ID PC" kann man die Skriptvariable "value" testen, da sie bereits den Wert des Ping-Datenpunktes enthält. `
                      Also das "value" mag er nicht so gerne, also belasse ich bei "Wert von Objekt ID PC".

                      Nun sieht es wie folgt aus, was ich testen werde.

                      Vielen Dank für die Hilfe.

                      Gruß
                      4811_unbenannt.jpg

                      1 Reply Last reply Reply Quote 0
                      • M
                        Modjo last edited by

                        Leider funktioniert das irgendwie nicht. Tagsüber schaltet er das Licht auch an, sobald der Rechner per Ping erreichbar ist, als ob die "und" Bedinungung gar nicht vorhanden wäre.

                        Hat Jemand noch eine Idee?

                        VG

                        Modjo

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          Nicht dass hier wieder der Tagesübergang probleme macht.

                          Dann musst du die Logik so umbauen, dass du in der Zeit keinen Tagesübergang hast.

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • M
                            mikiline last edited by

                            wahrscheinlich liegt es an UTC und aktueller Zeit vor Ort….

                            Bitte mal nur mit Debug Output die Zeiten ausgeben lassen. Dann findest den Fehler ganz bestimmt
                            2678_zeit.png

                            1 Reply Last reply Reply Quote 0
                            • rantanplan
                              rantanplan last edited by

                              @Homoran:

                              Nicht dass hier wieder der Tagesübergang probleme macht. `
                              Wahrscheinlich.

                              Der Tageswechsel muss berücksichtigt werden.
                              147_beispiel.png

                              Grüße

                              [EDIT] Warum können die Leute im Betreff nicht Blockly erwähnen, wenn es um Blockly geht? :roll:

                              1 Reply Last reply Reply Quote 0
                              • M
                                mikiline last edited by

                                Hmmmm…... es gibt an einem Tag nur einen Sonnenaufgang und einen Sonnenuntergang.

                                Versteht nicht ganz wieso man den Tageswechsel noch gesondert berücksichtigen muss......

                                Ansonsten ist ja z.B 8 Uhr morgens der Aufgang und 18 Uhr der Untergang. Also wie man es dreht und wendet sollten da nur die Uhrzeiten berücksichtigt werden und nicht das Datum?

                                Steh ich da auf dem Schlauch?

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Modjo last edited by

                                  @Homoran:

                                  Nicht dass hier wieder der Tagesübergang probleme macht.

                                  Dann musst du die Logik so umbauen, dass du in der Zeit keinen Tagesübergang hast.

                                  Gruß

                                  Rainer `

                                  Hallo Rainer,

                                  leider verstehe ich nur Bahnhof 😄

                                  @mikiline:

                                  Hmmmm…... es gibt an einem Tag nur einen Sonnenaufgang und einen Sonnenuntergang.

                                  Versteht nicht ganz wieso man den Tageswechsel noch gesondert berücksichtigen muss......

                                  Ansonsten ist ja z.B 8 Uhr morgens der Aufgang und 18 Uhr der Untergang. Also wie man es dreht und wendet sollten da nur die Uhrzeiten berücksichtigt werden und nicht das Datum?

                                  Steh ich da auf dem Schlauch? `

                                  Sieht für mich ok aus:
                                  4811_unbenannt.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • rantanplan
                                    rantanplan last edited by

                                    @Modjo:

                                    leider verstehe ich nur Bahnhof 😄 `
                                    Obwohl ich nur Quereinsteiger bin, antworte ich mal für Rainer 😉

                                    Abfrage zwischen Sonnenaufgang und Sonnenuntergang geht. Ist ja der selbe Tag.

                                    Abfrage zwischen Sonnenuntergang und Sonnenaufgang geht nicht. Tageswechsel.

                                    Grüße

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Modjo last edited by

                                      @rantanplan:

                                      @Homoran:

                                      Nicht dass hier wieder der Tagesübergang probleme macht. `
                                      Wahrscheinlich.

                                      Der Tageswechsel muss berücksichtigt werden.

                                      Beispiel.png

                                      Grüße

                                      [EDIT] Warum können die Leute im Betreff nicht Blockly erwähnen, wenn es um Blockly geht? :roll: `

                                      Hi,

                                      ich will gerade dein Beispiel folgen und es ausprobieren, nur leider finde ich dieses verschachtelte "oder" nicht in den Blöcken. Kannst du mir hier einen Tipp geben, wo ich das finde?

                                      Danke & Gruß

                                      1 Reply Last reply Reply Quote 0
                                      • rantanplan
                                        rantanplan last edited by

                                        @Modjo:

                                        ich will gerade dein Beispiel folgen und es ausprobieren, nur leider finde ich dieses verschachtelte "oder" nicht in den Blöcken. Kannst du mir hier einen Tipp geben, wo ich das finde? `

                                        Das ist der normale und/oder Baustein.

                                        Mit rechter Maustaste draufklicken und "externe Eingänge" wählen.

                                        Prima, das Du den Betreff angepasst hast.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mikiline last edited by

                                          @rantanplan:

                                          Obwohl ich nur Quereinsteiger bin, antworte ich mal für Rainer 😉

                                          Abfrage zwischen Sonnenaufgang und Sonnenuntergang geht. Ist ja der selbe Tag.

                                          Abfrage zwischen Sonnenuntergang und Sonnenaufgang geht nicht. Tageswechsel.

                                          Grüße `

                                          Und so hat er es ja auch abgefragt und sollte gehen 🙂

                                          Ich verstehe trotzdem nicht ganz wieso bei einer 24 Std Angabe noch der Tageswechsel berücksichtigt werden muss :oops:

                                          –--> Nachtrag....leuchtet mir nun doch ein 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            @rantanplan:

                                            Obwohl ich nur Quereinsteiger bin, antworte ich mal für Rainer 😉 `
                                            Ich bin noch viel querer!

                                            Der Tageswechsel ist nur deshalb bei mir im Gedächtnis geblieben, weil der auch im Klickibunti der CCU immer wieder zu Problemem führt.

                                            Gruß

                                            Rainer

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            73
                                            5092
                                            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