Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Blockly] Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
73 Beiträge 9 Kommentatoren 5.7k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Modjo
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • MatzebhvM Offline
      MatzebhvM Offline
      Matzebhv
      schrieb am zuletzt editiert von
      #2

      Moin,

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

      Gruß

      Matze

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Modjo
        schrieb am zuletzt editiert von
        #3

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

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Modjo
          schrieb am zuletzt editiert von
          #4

          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 Antwort Letzte Antwort
          0
          • MatzebhvM Offline
            MatzebhvM Offline
            Matzebhv
            schrieb am zuletzt editiert von
            #5

            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 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Modjo
              schrieb am zuletzt editiert von
              #6

              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 Antwort Letzte Antwort
              0
              • MatzebhvM Offline
                MatzebhvM Offline
                Matzebhv
                schrieb am zuletzt editiert von
                #7

                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 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Modjo
                  schrieb am zuletzt editiert von
                  #8

                  @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 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    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

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      Modjo
                      schrieb am zuletzt editiert von
                      #10

                      @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 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        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.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          Modjo
                          schrieb am zuletzt editiert von
                          #12

                          @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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            Modjo
                            schrieb am zuletzt editiert von
                            #13

                            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 Antwort Letzte Antwort
                            0
                            • HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #14

                              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

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                mikiline
                                schrieb am zuletzt editiert von
                                #15

                                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 Antwort Letzte Antwort
                                0
                                • rantanplanR Offline
                                  rantanplanR Offline
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #16

                                  @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:

                                  Rantanplan

                                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mikiline
                                    schrieb am zuletzt editiert von
                                    #17

                                    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 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      Modjo
                                      schrieb am zuletzt editiert von
                                      #18

                                      @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 Antwort Letzte Antwort
                                      0
                                      • rantanplanR Offline
                                        rantanplanR Offline
                                        rantanplan
                                        schrieb am zuletzt editiert von
                                        #19

                                        @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

                                        Rantanplan

                                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          Modjo
                                          schrieb am zuletzt editiert von
                                          #20

                                          @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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          698

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe