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,

      ich stehe total auf dem Schlauch und benötige eure Hilfe.

      Ich möchte folgendes realisieren:

      Falls (if) ping.0.ioBroker.192_168_0_2 = true & Uhrzeit zwischen 18-06 Uhr

      Mache broadlink.0.learnedSignals.CODE_b21d34000c23230c230c230c0c23230c0d22230c0c23230c0c23230c230c230c0c230c230c230c220c230d22230c230c0c230c230c00016200000000 = button (Funksteckdose mit LED Kugel dran)

      Sonst (else) ping.0.ioBroker.192_168_0_2 = false & broadlink.0.learnedSignals.CODE_b21d34000c23230c230c230c0c23230c0d22230c0c23230c0c23230c230c230c0c230c230c230c220c230d22230c230c0c230c230c00016200000000 = button

      Mache broadlink.0.learnedSignals.CODE_b21d34000c23230c230c230c0c23230c0d22230c0c23230c0c23230c230c230c0c230c230c230c220c230d22230c230c0c230c230c00016200000000 = button

      Nochmal in Worten:

      Wenn ich den PC einschalte & es zwischen 18 & 6 Uhr morgens ist, dann schalte LED Kugel ein. Wenn der PC ausgeschaltet wird, schalte LED Kugel aus (auch nur zwischen 18-6 Uhr)

      Vielen Dank vorab für eure Hilfe.

      VG

      Modjo

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

        Moin,

        hast du das schon mal mit Blockly versucht? Ist damit eigentlich relativ einfach.

        Gruß

        Matze

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

          Ich glaube es gelöst zu haben. Ich habe jetzt nicht mit Uhrzeiten, sondern mit "Abenddämmerung" und "Sonnenaufgang" gearbeitet.
          4811_unbenannt.jpg

          1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            510
                                            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