Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Blockly] Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist

NEWS

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    5
    1
    75

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    840

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.4k

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

Scheduled Pinned Locked Moved Skripten / Logik
73 Posts 9 Posters 6.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Modjo
    wrote on last edited by
    #64

    @paul53:

    @Matzebhv:

    desto komplizierter wird das Blockly Es brauchen nur die 3 Funktionsaufrufe __buero_kugel__, die jetzt unterhalb der Triggerfunktion angeordnet sind, in die Triggerfunktion hinter das Setzen der zugehörigen Skriptvariablen verschoben werden, damit es funktioniert.

    Hallo Paul,

    vielen Dank für den Hinweis, das hatte ich echt falsch. Wenn ich es berichtige funktioniert es. Nur habe ich hier ein Problem:

    Hier wird nur auf das Objekt PC getriggert… Was ist aber, wenn ich die Nacht über den PC anhabe und die Nacht (Astrozeit) vorüber ist. Dann bleibt das Licht trotzdem so lange an, bis ich den PC herunterfahre und der Wert damit auf false springt.

    @mikiline: Vielen Dank für deine Hilfe! Ich habe mir das angesehen, glaube aber dass das schwierig für mich wird, da du ja feste Zeiten definierst und keine "Astrozeiten". Deshalb tue ich mich damit schwer das nach deinem Schema hinzubekommen.

    Und weil ich mich damit zu doof angestellt habe, hatte ich zunächst das "alte" Script wieder fokussiert.

    Ich muss mir jetzt nochmal die vielen Lösungsansätze ansehen. Ich bin gerade sehr verwirrt. Ich merke schon, dass viele Wege nach Rom führen, aber ich muss halt alle noch einmal ansehen und versuchen sie zu verstehen :-D

    Ich bin euch auf jedenfall ALLEN für die Hilfe und Unterstützung sehr dankbar.

    VG

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #65

      @Modjo:

      Was ist aber, wenn ich die Nacht über den PC anhabe und die Nacht (Astrozeit) vorüber ist. Dann bleibt das Licht trotzdem so lange an, bis ich den PC herunterfahre `
      Nein, der Trigger zum Sonnenaufgang-Ende setzt nacht = false und ruft anschließend die Funktion buero_kugel() auf, die das Licht ausschaltet.

      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 Reply Last reply
      0
      • MatzebhvM Offline
        MatzebhvM Offline
        Matzebhv
        wrote on last edited by
        #66

        @Modjo:

        [Was ist aber, wenn ich die Nacht über den PC anhabe und die Nacht (Astrozeit) vorüber ist. Dann bleibt das Licht trotzdem so lange an, bis ich den PC herunterfahre und der Wert damit auf false springt. `

        Deswegen mein Beispiel. Damit umgehst du das alles und kannst außerdem den Datenpunkt Astro_Nacht noch in weiteren Scripten mit ähnlicher Aufgabenstellung verwenden.

        Matze

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Modjo
          wrote on last edited by
          #67

          So ich habe mir noch einmal in Ruhe 3 Lösungen angesehen.

          1. paul53

          2. mikiline

          3. Matzebhv

          In der Zwischenzeit habe ich alle verstanden, wobei ich die Ausführung von Matzebhv eim einfachsten (als Noob) umzusetzen konnte (inkl. der 2 Trigger von mikiline), was ich auch in 2 Wochen noch verstehe :-D

          Also habe ich den derzeitigen Stand wie folgt:

          1. Ich habe ein Objekt erstellt "Astro_Nacht", welches "true" oder "false" sein kann. (Astro_Nacht_Objekt.JPG)

          2. Ein Script erstellt, welches das Objekt "Astro_Nacht" auf "true" oder "false" setzt, je nach Zustand Sonnenuntergang-Anfang & Sonnenaufgang-Ende. (Astro_Nacht_Script.JPG)

          3. Ein Script erstellt, welches das Objekt "PC" und "Astro_Nacht" antriggert und dann die Lampe schaltet. (PC Licht.JPG)

          Ich werde das jetzt mal durchtesten und Rückmeldung geben.

          Ich bedanke mich noch einmal für den tollen Support!

          VG

          Modjo
          4811_astro_nacht_objekt.jpg
          4811_astro_nacht_script.jpg
          4811_pc_licht.jpg

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mikiline
            wrote on last edited by
            #68

            Tip Top ! Jetzt sieht es doch viel besser aus ;) und vor allem übersichtlich

            1 Reply Last reply
            0
            • paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #69

              @mikiline:

              vor allem übersichtlich `
              Es fehlt ja auch die Auswertung bei Skriptstart.

              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 Reply Last reply
              0
              • M Offline
                M Offline
                Modjo
                wrote on last edited by
                #70

                @paul53:

                @mikiline:

                vor allem übersichtlich Es fehlt ja auch die Auswertung bei Skriptstart.
                Hallo paul53,

                welche Auswertung fehlt? Kann dem gerade nicht ganz folgen.

                Vielen Damk & Gruß

                Modjo

                1 Reply Last reply
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #71

                  Diese Skripte reagieren nur auf Ereignisse (SA, SU, ping ein/aus). Sollte der Pi mal runtergefahren werden (z.B. um dis SD Card zu kopieren) und dann wieder hochgefahren werden, wobei der PC läuft und in der Zwischenzeit die Sonne untergegangen ist, schaltet beim Hochfahren (Skriptstart) die Büro-Kugel nicht ein, denn das Ereignis "Sonnenuntergang" wurde verpasst.

                  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 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    radierer
                    wrote on last edited by
                    #72

                    Nabend,

                    ich glaube wenn man die Objektwerte aus Matzes Skript verwendet, kann man auch ohne große Umwege die Zeit zwischen Sonnenuntergang und Sonnenaufgang verwenden.

                    @Matzebhv:

                    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()); `

                    Hab das gerade mal getestet und es wird "true" ausgegeben. Daher sollte es so gehen. Evtl. hilfts ja dem einen oder anderen.

                    9657_screenshot_20190116-193616_chrome.jpg

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      TDCroPower
                      wrote on last edited by
                      #73

                      Ich wollte mich mal bei euch bedanken für die Tipps/Hinweise, konnte so meine Yeelight LED Strip Steuerung hinter dem TV optimieren/erweitern.

                      Ich habe ein Objekt "Astrocheck" erstellt unter "javascript.0" das ich über das Script "Astrocheck" mit true oder false steuere..
                      17691_datenpunkt.png

                      17691_astrocheck.png

                      ! Blockly Code hierzu…

                      l xmlns="http://www.w3.org/1999/xhtml">
                        <block type="astro" id="{C7?|IEcvW3KqGXe+pmm" x="13" y="13"><field name="TYPE">goldenHour</field>
                          <field name="OFFSET">0</field>
                          <statement name="STATEMENT"><block type="comment" id="/mWkI8#vOxhyNl2ZtNRH"><field name="COMMENT">Nacht beginnt</field>
                              <next><block type="control" id="}40OV;6@qyy38I~q_1#G"><mutation delay_input="false"></mutation>
                                  <field name="OID">javascript.0.Nachtcheck</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE"><block type="logic_boolean" id="_PXiN|97w.IGgI_NrEiP"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                          <next><block type="astro" id="6HS^L{J?9K0=%pa`rqfx"><field name="TYPE">sunriseEnd</field>
                              <field name="OFFSET">0</field>
                              <statement name="STATEMENT"><block type="comment" id="Z2=kjcw.l]pAxZu|(z0r"><field name="COMMENT">Nacht beendet</field>
                                  <next><block type="control" id="3BBce0;71KXbhq!WRl-g"><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.0.Nachtcheck</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="logic_boolean" id="SbQaGZo1)v|LNW_U09BU"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> 
                              <next><block type="controls_if" id="*-8_*Ve#qc@lmJf=?9^7"><mutation else="1"></mutation>
                                  <value name="IF0"><block type="logic_operation" id="2_Y8Md:e`zC`N2!}Z7jx" inline="false"><field name="OP">OR</field>
                                      <value name="A"><block type="time_compare_ex" id="m,nakXP=.[jQr08W3I{z"><mutation end_time="false" actual_time="true"></mutation>
                                          <field name="USE_ACTUAL_TIME">TRUE</field>
                                          <field name="OPTION"><</field>
                                          <value name="START_TIME"><shadow type="text" id="o?zB{!dl`ZWe41^;o=B)"><field name="TEXT">12:00</field></shadow> 
                                            <block type="time_astro" id="FHJTfX]K6p[qvhY8pD=%"><field name="TYPE">sunriseEnd</field>
                                              <field name="OFFSET">0</field></block></value></block></value> 
                                      <value name="B"><block type="time_compare_ex" id="J0oB^5g)5VlF7G*c2%O{"><mutation end_time="false" actual_time="true"></mutation>
                                          <field name="USE_ACTUAL_TIME">TRUE</field>
                                          <field name="OPTION">></field>
                                          <value name="START_TIME"><shadow type="text" id="o?zB{!dl`ZWe41^;o=B)"><field name="TEXT">12:00</field></shadow> 
                                            <block type="time_astro" id="*,VxQdKsUdy9puwr:k7~"><field name="TYPE">goldenHour</field>
                                              <field name="OFFSET">0</field></block></value></block></value></block></value> 
                                  <statement name="DO0"><block type="comment" id="vs1/mNZX2p?iVe3Qj9;:"><field name="COMMENT">Nacht</field>
                                      <next><block type="update" id="ke8W;G9=7siBdgi8q=at"><mutation delay_input="false"></mutation>
                                          <field name="OID">javascript.0.Nachtcheck</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="QyK%hO/3wWg^N9OBxUq5"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                                  <statement name="ELSE"><block type="comment" id="en([|+q[X=l{0}1N0[=p"><field name="COMMENT">Tag</field>
                                      <next><block type="update" id="KKsw{Y|~rdU(%qLLv598"><mutation delay_input="false"></mutation>
                                          <field name="OID">javascript.0.Nachtcheck</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="xe(T=h=hti/s.:l9{pw="><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></next></block> 
                      >! ```` 
                      
                      Dann habe ich ein Script erstellt das auf den Receiver Standby Wert und dem Astrocheck Wert triggert.
                       ![17691_yeelightsteuern2.png](/assets/uploads/files/17691_yeelightsteuern2.png) 
                      
                      >! Blockly Code hierzu…
                      

                      l xmlns="http://www.w3.org/1999/xhtml">
                      <block type="on_ext" id="*ctj5(w8M#@^j=zB-ic=" x="13" y="13"><mutation items="2"></mutation>
                      <field name="CONDITION">ne</field>

                      <value name="OID0"><shadow type="field_oid" id="CE=xcG061g|xnoYnT8`;"><field name="oid">enigma2.0.enigma2.STANDBY</field></shadow></value> 
                      <value name="OID1"><shadow type="field_oid" id="YbLd3fuPb{Ct|N|gQmP,"><field name="oid">javascript.0.Nachtcheck</field></shadow></value> 
                      <statement name="STATEMENT"><block type="comment" id="0Uq*WE2I^QkX5J[9Tk^e"><field name="COMMENT">Yeelight ausschalten</field>
                          <next><block type="controls_if" id="_@z*T/e|S/KN!,KJn=LU"><value name="IF0"><block type="logic_operation" id="J()`x(SC,p.1Sif=:8r2" inline="false"><field name="OP">OR</field>
                                  <value name="A"><block type="logic_compare" id="Wl]-cig_2`lY5?T,vK|k"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="*!wI%miKD6Y!,LjcLo|R"><field name="ATTR">val</field>
                                          <field name="OID">enigma2.0.enigma2.STANDBY</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="OtcaN2oI!v;=._D.+1mK"><field name="BOOL">TRUE</field></block></value></block></value> 
                                  <value name="B"><block type="logic_compare" id="P}`JBjN3xcW:G+q`SpPl"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="lcJiDjY*!,[81k0A9S*%"><field name="ATTR">val</field>
                                          <field name="OID">javascript.0.Nachtcheck</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="7,F}%3uG#Bi:uD%p]%}o"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                              <statement name="DO0"><block type="control" id="7Y;9Y2Z_rMOf1sdc}10y"><mutation delay_input="false"></mutation>
                                  <field name="OID">yeelight-2.0.Yeelight_Strip.control.power</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE"><block type="logic_boolean" id="ZEePuUdX9,I0rWdANKfB"><field name="BOOL">FALSE</field></block></value></block></statement> 
                              <next><block type="comment" id="Og0Rb,EQwNceqy4aW0AW"><field name="COMMENT">Yeelight einschalten</field>
                                  <next><block type="controls_if" id="%U{[fwxDo~MPOY2evjWi"><value name="IF0"><block type="logic_operation" id="Kxn,vc`D0%7jZ29rkZwT" inline="false"><field name="OP">AND</field>
                                          <value name="A"><block type="logic_compare" id="fS.^i)Q%+vfq5*}.3l=k"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="Bb.E||xq{Hw=I#,SMKs{"><field name="ATTR">val</field>
                                                  <field name="OID">enigma2.0.enigma2.STANDBY</field></block></value> 
                                              <value name="B"><block type="logic_boolean" id="ecE+I#_=R`MR7`rQ={x3"><field name="BOOL">FALSE</field></block></value></block></value> 
                                          <value name="B"><block type="logic_compare" id="IiRd`UdKQmR!0WjiBF:4"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="?=8cgZPIF6Mp|btvHoKz"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Nachtcheck</field></block></value> 
                                              <value name="B"><block type="logic_boolean" id="LnM1Ey)v6`ib{7v~QqIw"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                      <statement name="DO0"><block type="control" id="84Gc(]CVJMbIJ?wZ![a/"><mutation delay_input="false"></mutation>
                                          <field name="OID">yeelight-2.0.Yeelight_Strip.control.power</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="LmB+bfCyl5B)M0BX)v?#"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></next></block></next></block></statement></block> 
                      

                      ! ````

                      Funktioniert mit euren Tipps perfekt und ich bin wieder mehr als zufrieden.

                      Und dazu habe ich gelernt wie man eigene Objekte erstellt und diese über 2 Scripte übergeben kann… das ist seeehr hilfreich um nicht in jedem Script das gleiche abzufragen.

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      213

                      Online

                      32.8k

                      Users

                      82.7k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe