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
      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
        • rantanplan
          rantanplan last edited by

          @mikiline:

          Und so hat er es ja auch abgefragt und sollte gehen 🙂 `
          Die Frage im Betreff lautet aber: "Lampe einschalten, wenn PC zwischen Sonnenuntergang und Sonnenaufgang eingeschaltet ist" 😉

          Grüße

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

            @rantanplan:

            @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. `

            Vielen Dank 🙂

            Ich habe es nun wie folgt angepasst und werde es testen.

            VG

            Modjo
            4811_unbenannt.jpg

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

              Habe jetzt nicht mehr alles verfolgt, Rantanplan macht das ja eh besser 😉 , aber was spricht dagegen daen UND-Block zu negieren:

              UND Zeit ist nicht zwischen Sonnenaufgang und untergang?

              Gruß

              Rainer

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

                @Homoran:

                Habe jetzt nicht mehr alles verfolgt, Rantanplan macht das ja eh besser 😉 , aber was spricht dagegen daen UND-Block zu negieren:

                UND Zeit ist nicht zwischen Sonnenaufgang und untergang?

                Gruß

                Rainer `

                Hallo Rainer,

                wenn ich dich richtig verstanden habe, dann meinst du das wie im beigefügten Bild. So hatte ich das ja, was leider nicht funktioniert hatte.
                4811_unbenannt.jpg

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

                  @Modjo:

                  Ich habe es nun wie folgt angepasst und werde es testen. `
                  Ha, da kann ich ja mal wieder einer meiner Standardfloskeln loswerden 😄

                  Dein Trigger reagiert auf "aktualisieren".

                  Adapter "aktualisieren" ihren Status häufiger. Auch wenn sich nichts geändert hat.

                  Man sollte sich angewöhnen nur etwas zu schalten wenn es auch etwas zu schalten gibt.

                  Stichwort: DutyCycle
                  147_beispiel.png

                  Grüße

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

                    @rantanplan:

                    @Modjo:

                    Ich habe es nun wie folgt angepasst und werde es testen. `
                    Ha, da kann ich ja mal wieder einer meiner Standardfloskeln loswerden 😄

                    Dein Trigger reagiert auf "aktualisieren".

                    Adapter "aktualisieren" ihren Status häufiger. Auch wenn sich nichts geändert hat.

                    Man sollte sich angewöhnen nur etwas zu schalten wenn es auch etwas zu schalten gibt.

                    Stichwort: DutyCycle

                    Beispiel.png

                    Grüße `

                    Hi,

                    das hatte ich ja auch, aber jetzt stell dir das Szenario vor, ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. Deshalb habe ich es auf aktualisieren gemacht. Oder sehe ich das falsch?

                    VG

                    1 Reply Last reply Reply Quote 0
                    • R
                      RappiRN Most Active last edited by

                      Für diesen Fall nehme ich noch einen anderen Trigger, in deinem Fall dann die Tageszeitänderung. Und wenn der PC an dann Lampe an.

                      Enrico

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

                        @Modjo:

                        das hatte ich ja auch, aber jetzt stell dir das Szenario vor, ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. Deshalb habe ich es auf aktualisieren gemacht. Oder sehe ich das falsch? `
                        Es geht bei meinem Hinweis nicht um das "aktualisieren".

                        Sondern darum das man, grundsätzlich, nur schalten sollte wenn etwas geschaltet werden muss.

                        Wenn eine Lampe schon eingeschaltet ist, muss sie nicht nochmal eingeschaltet werden.

                        Wenn die Solltemperatur einer Heizung schon bei 21 Grad eingestellt ist muss die nicht laufend auf 21 Grad eingestellt werden.

                        Usw. usw.

                        Die Befehle werden zum Aktor gesendet. Ob notwendig oder nicht.

                        Da kann der DutyCycle schon mal permanent hoch sein.

                        Und schlimmstenfalls seinen Dienst mal für eine Stunde einstellten :shock:

                        Grüße

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

                          @Modjo:

                          ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. `
                          Dafür braucht es noch zwei Astro-Trigger. Etwa so:

                          493_ping_nachts.jpg
                          Hier der Export, in dem noch die Datenpunkt-IDs eingesetzt werden müssen:

                          ! ````
                          <block xmlns="http://www.w3.org/1999/xhtml" type="variables_set" id="B0M,XF@Ebi0#EwzvOJvp" x="-587.6981554662608" y="-511.1388272105397"><field name="VAR">nacht</field>
                          <value name="VALUE"><block type="time_compare_ex" id="Qtlm^0L^oN[UoH-PauPc"><mutation end_time="true" actual_time="true"></mutation>
                          <field name="USE_ACTUAL_TIME">TRUE</field>
                          <field name="OPTION">not between</field>
                          <value name="START_TIME"><shadow type="text" id="tPo^_S^9UYh]^1,T!b,5"><field name="TEXT">12:00</field></shadow>
                          <block type="time_astro" id="[;]mY5K0=5l)x,wfRbaq"><field name="TYPE">sunriseEnd</field>
                          <field name="OFFSET">0</field></block></value>
                          <value name="END_TIME"><shadow type="text" id="Id:|HQ}w.^KeqbRnK(`!"><field name="TEXT">18:00</field></shadow>
                          <block type="time_astro" id="W3/Q[pO9Xbbd_2w(*d[!"><field name="TYPE">sunset</field>
                          <field name="OFFSET">0</field></block></value></block></value></block>

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

                            @paul53:

                            Dafür braucht es noch zwei Astro-Trigger. Etwa so: `
                            Ja, das würde Tag und Nacht abdecken.

                            Wobei "ledkugel" auch mal "unwahr" werden müsste 😉

                            Grüße

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

                              @rantanplan:

                              Wobei "ledkugel" auch mal "unwahr" werden müsste 😉 `
                              Das sind zwei Datenpunkte "Büro Kugel ein" und "Büro Kugel aus". "ledkugel()" ist eine Funktion, die diese beiden Datenpunkte setzt.

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

                                @paul53:

                                Das sind zwei Datenpunkte "Büro Kugel aus" und "Büro Kugel aus". "ledkugel()" ist eine Funktion, die diese beiden Datenpunkte setzt. `
                                Jepp, habe ich nicht aufgepasst :oops:

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

                                  @paul53:

                                  @Modjo:

                                  ich habe den PC Tagsüber an, bis in die Nacht hinein. Der Zustand ändert sich ja nicht, was zur Folge hätte, dass dann die Lampe nicht angeht, sobald es Abend wird. `
                                  Dafür braucht es noch zwei Astro-Trigger. Etwa so:

                                  Ping_nachts.JPG

                                  Hier der Export, in dem noch die Datenpunkt-IDs eingesetzt werden müssen:

                                  ! <block xmlns="http://www.w3.org/1999/xhtml" type="variables_set" id="B0M,XF@Ebi0#EwzvOJvp" x="-587.6981554662608" y="-511.1388272105397"><field name="VAR">nacht</field> <value name="VALUE"><block type="time_compare_ex" id="Qtlm^0L^oN[UoH-PauPc"><mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"><shadow type="text" id="tPo^_S^9UYh]^1,T!b,5"><field name="TEXT">12:00</field></shadow> <block type="time_astro" id="[;]mY5K0=5l)x,wfRbaq"><field name="TYPE">sunriseEnd</field> <field name="OFFSET">0</field></block></value> <value name="END_TIME"><shadow type="text" id="Id:|HQ}w.^KeqbRnK(`!"><field name="TEXT">18:00</field></shadow> <block type="time_astro" id="W3/Q[pO9Xbbd_2w(*d[!"><field name="TYPE">sunset</field> <field name="OFFSET">0</field></block></value></block></value></block> `

                                  Also ist das so richtig (Anhang)?

                                  Mit dem gelb markierten "Value" kann ich noch nicht so viel anfangen. Ist das eine eigene Variable, die so benannt ist (so hab ich es jetzt gemacht), wie PC oder Büro Kugel?
                                  4811_unbenannt.jpg

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

                                    @Modjo:

                                    Mit dem gelb markierten "Value" kann ich noch nicht so viel anfangen. Ist das eine eigene Variable, die so benannt ist (so hab ich es jetzt gemacht), wie PC oder Büro Kugel? `
                                    value (klein geschrieben !!) ist eine vordefinierte lokale Skriptvariable, die den Wert des auslösenden Datenpunktes enthält. Nacht und PC sind globale Skriptvariablen.

                                    Ich hatte die Skriptvariable pc extra klein geschrieben, damit sie sich vom Namen "PC" des auslösenden Datenpunktes unterscheidet, was auf die Funktion aber keine Auswirkung hat.

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

                                      @Modjo:

                                      Mit dem gelb markierten "Value" kann ich noch nicht so viel anfangen. Ist das eine eigene Variable, die so benannt ist (so hab ich es jetzt gemacht), wie PC oder Büro Kugel? `

                                      Paul53 benutzt die englische Variante.
                                      147_beispiel.png
                                      147_beispiel_2.png

                                      Dieser Baustein ist nur innerhalb eines Triggers gültig und enthält verschiedene Information vom ausgelösten Trigger-Wert.

                                      Grüße

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

                                        @paul53:

                                        value (klein geschrieben !!) ist eine vordefinierte lokale Skriptvariable, die den Wert des auslösenden Datenpunktes enthält. `

                                        Ich benutze lieber den Baustein.

                                        Ist leichter zu vermitteln und der Gültigkeitsbereich von "value" ist, für mich leider, nicht nur auf die Trigger-Funktion begrenzt.

                                        Grüße

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

                                          @rantanplan:

                                          Paul53 benutzt die englische Variante. `
                                          Nein, ich benutze die Bezeichnung der schon vordefinierten lokalen Skriptvariablen.

                                          on({id: "Object ID", change: "ne"}, function (obj) {
                                            var value = obj.state.val;       // lokale Variable, die zu jedem Datenpunkt-Trigger automatisch erzeugt wird
                                            var oldValue = obj.oldState.val; // lokale Variable, die zu jedem Datenpunkt-Trigger automatisch erzeugt wird
                                            pc = value;
                                            ledkugel();
                                          });
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 last edited by

                                            @rantanplan:

                                            Ich benutze lieber den Baustein.

                                            Ist leichter zu vermitteln `
                                            Da gebe ich Dir recht.
                                            @rantanplan:

                                            der Gültigkeitsbereich von "value" ist, für mich leider, nicht nur auf die Trigger-Funktion begrenzt. `
                                            Doch, ist er. value wird innerhalb der Funktion mit var deklariert (var value = …) und ist deshalb nur auf die Funktion begrenzt, unabhängig davon, welche Skriptvariablen noch value genannt werden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            679
                                            Online

                                            31.8k
                                            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