Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Etwas nur tagsüber laufen lassen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Etwas nur tagsüber laufen lassen

    This topic has been deleted. Only users with topic management privileges can see it.
    • DJMarc75
      DJMarc75 @BertDerKleine last edited by

      @bertderkleine

      Ich nutze dafür eigentlich immer folgenden Datenpunkt:

      javascript.0.variables.isDayTime
      

      Screenshot 2024-03-20 083727.png

      David G. BertDerKleine 2 Replies Last reply Reply Quote 3
      • Cluni
        Cluni @David G. last edited by Cluni

        @david-g Ok, das hatte ich falsch verstanden. Dachte, dass er dann z.B. ein anderes Skript aktivieren bzw. deaktivieren will. Würde übrigens auch funktionieren. In dem anderen Skript würde dann einfach nur auf den von ihm genannten Bewegungsmelder reagiert. Das würde den ständigen Vergleich auf die Zeit unnötig machen, der sonst bei jedem Trigger gemacht werden muss.

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

          Danke Euch. Was ist eigentlich der Unterschied zwischen "Zeit" und "aktuelle Zeit" (das, was mit dem Häkchen geschaltet wird)?

          1 Reply Last reply Reply Quote 0
          • David G.
            David G. @DJMarc75 last edited by David G.

            @djmarc75

            Den hatte ich grad garnicht am Schirm.....
            Bei der "zwischen" Variante hat man den Vorteil, dass man die verschiedenen Zeitpunkte für den Auf- und Untergang hat.

            Damit habe ich je nach Zweck schon ein paar mal experimentiert.
            So bekommt man es teilweise was genauer hin, falls man zB einen großen Berg hat der einem Abends schon früher die Sonne nimmt.

            EDIT
            @haus-automatisierung hat meinen Vorteil mit dem Beitrag nach diesen eben förmlichst vernichtet 🤣

            1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @BertDerKleine last edited by haus-automatisierung

              @bertderkleine sagte in Etwas nur tagsüber laufen lassen:

              konkret nach Sonnenaufgang und vor Sonnenuntergang.

              Dafür gibt es den Datenpunkt isDayTime unter javascript.0.variables. Auf welche Astro-Ereignisse der reagieren soll, kann in den Instanzeinstellungen festgelegt werden.

              Screenshot 2024-03-20 at 08.48.41.png

              Screenshot 2024-03-20 at 08.49.55.png

              EDIT: Sorry @DJMarc75 - hatte übersehen dass Du das schon geteilt hattest.

              BertDerKleine 1 Reply Last reply Reply Quote 3
              • BertDerKleine
                BertDerKleine @DJMarc75 last edited by

                @djmarc75 sagte in Etwas nur tagsüber laufen lassen:

                @bertderkleine

                Ich nutze dafür eigentlich immer folgenden Datenpunkt:

                javascript.0.variables.isDayTime
                

                Screenshot 2024-03-20 083727.png

                Ich gebe zu ich verstehe die Befehle so nicht.
                Was soll dieses Falls Objekte ist größer als bewirken?
                Was für ein Objekt würde man dahinter packen?

                Oder geht es nur um dieses "falls isdaytime"?

                DJMarc75 1 Reply Last reply Reply Quote 0
                • BertDerKleine
                  BertDerKleine @haus-automatisierung last edited by

                  @haus-automatisierung sagte in Etwas nur tagsüber laufen lassen:

                  Dafür gibt es den Datenpunkt isDayTime unter javascript.0.variables. Auf welche Astro-Ereignisse der reagieren soll, kann in den Instanzeinstellungen festgelegt werden.

                  Screenshot 2024-03-20 at 08.49.55.png

                  Interessant zu wissen, dass man den DP isDayTime so gut feintunen kann.

                  1 Reply Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 @BertDerKleine last edited by

                    @bertderkleine

                    Der Trigger ist Dein Bewegungsmelder, größer als letztes bedeutet dass nur dann getriggert wird wenn der Datenpunkt von false auf true oder 0 auf größer 0 springt.
                    Der blaue falls Block beinhaltet die Bedingung dass nur wenn Tag ist die Aktion ausgeführt wird.

                    BertDerKleine 1 Reply Last reply Reply Quote 1
                    • BertDerKleine
                      BertDerKleine @DJMarc75 last edited by

                      @djmarc75 sagte in Etwas nur tagsüber laufen lassen:

                      @bertderkleine

                      Der Trigger ist Dein Bewegungsmelder, größer als letztes bedeutet dass nur dann getriggert wird wenn der Datenpunkt von false auf true oder 0 auf größer 0 springt.

                      Ah, schlauer move. 👍 Diese Betrachtungsweise für den Wechsel einer Boolean Variable von false auf true als Zahlen zu sehen. Wieder was gelernt.

                      DJMarc75 1 Reply Last reply Reply Quote 0
                      • DJMarc75
                        DJMarc75 @BertDerKleine last edited by

                        @bertderkleine sagte in Etwas nur tagsüber laufen lassen:

                        als Zahlen zu sehen

                        kann natürlich auch von Zahl x auf größere Zahl als x sein - Hauptsache der Wert ist größer als der vorherige 😉

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

                          Ich habs jetzt mal ausporbieren können und bekomme das Ding irgendwie nicht zum Fliegen.

                          d.jpg

                          Das beschert mir nur einen Fehler:

                          script.js.Tests.Test_Tageszeit Error by subscription (trigger): Wrong ID of type boolean or number.
                          

                          Ich verstehe nicht, was für ein Problem er hat, denn der triggernde DP ist Boolean.

                          DJMarc75 Codierknecht haus-automatisierung 3 Replies Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @BertDerKleine last edited by DJMarc75

                            @bertderkleine Im Trigger den blauen Baustein entfernen und dann NUR die ObjektID auswählen

                            Screenshot 2024-03-21 120806.png

                            1 Reply Last reply Reply Quote 1
                            • Codierknecht
                              Codierknecht Developer Most Active @BertDerKleine last edited by Codierknecht

                              @bertderkleine
                              Den Fehler hat Dir @DJMarc75 genannt.

                              Du kannst das aber auch noch vereinfachen:

                              1. Du brauchst keine zwei "Falls". 1 Block mit "Falls/Sonst" tut's auch.
                              2. Wenn der Trigger schon auf den richtigen DP zeigt, musst Du den Wert nicht nochmal lesen. Nimm aus dem Bereich "Trigger" den Block "Wert".
                              3. Boolean muss man nicht mit "Falls Wert = True" oder "Falls Wert = False" prüfen.
                                Hier reicht ein "Falls Wert" bzw. "Falls Nicht Wert".

                              https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps

                              Edit: Vorschlag:
                              e407f1db-2812-4d6b-a7eb-74ca27ec0a5e-image.png

                              BertDerKleine 1 Reply Last reply Reply Quote 2
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @BertDerKleine last edited by

                                @bertderkleine sagte in Etwas nur tagsüber laufen lassen:

                                Ich verstehe nicht, was für ein Problem er hat, denn der triggernde DP ist Boolean.

                                Was Du machst, ist gerade:

                                "Lieber JavaScript-Adapter, sag mir mal wann sich das hier ändert: true"

                                Das ist der Wert des Datenpunktes (wie hier schon erläutert). Und damit gibt es keine Referenz mehr auf die Objekt-ID. Eigentlich hatte ich die Blöcke mal grün gefärbt, damit man sieht dass da ein String rein muss...

                                Da die Warnung für Dich scheinbar nicht verständlich ist: Wie hätte diese denn lauten müssen, damit Du weißt was falsch ist?

                                BertDerKleine 1 Reply Last reply Reply Quote 0
                                • BertDerKleine
                                  BertDerKleine @Codierknecht last edited by

                                  @codierknecht
                                  Danke Dir.
                                  Ich hoffe, so ist es nun richtig:
                                  e.jpg

                                  haus-automatisierung Codierknecht DJMarc75 3 Replies Last reply Reply Quote 0
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @BertDerKleine last edited by haus-automatisierung

                                    @bertderkleine sagte in Etwas nur tagsüber laufen lassen:

                                    Ich hoffe, so ist es nun richtig:

                                    Ja, würde zwar den Wert aus dem Trigger nehmen (siehe oben von @Codierknecht ), aber geht.

                                    Hat nur das Problem, dass auf jeden Fall nach 5 Min das Licht ausgeht, auch wenn danach wieder eine neue Bewegung erkannt wird. Nur der "keine Bewegung mehr erkannt"-Zweig verlängert das um weitere 5min.

                                    Ein manueller Timeout löst das Problem.

                                    1 Reply Last reply Reply Quote 2
                                    • Codierknecht
                                      Codierknecht Developer Most Active @BertDerKleine last edited by Codierknecht

                                      @bertderkleine

                                      Wie @haus-automatisierung schon schreibt: Versuche es mit einem selbst hinzugefügten Timeout zu lösen.

                                      https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/9

                                      1 Reply Last reply Reply Quote 3
                                      • DJMarc75
                                        DJMarc75 @BertDerKleine last edited by

                                        @bertderkleine wie schon von @haus-automatisierung geschrieben würde ein Timeout das lösen:

                                        Screenshot 2024-03-21 122638.png

                                        1 Reply Last reply Reply Quote 2
                                        • BertDerKleine
                                          BertDerKleine @haus-automatisierung last edited by

                                          @haus-automatisierung sagte in Etwas nur tagsüber laufen lassen:

                                          Was Du machst, ist gerade:
                                          "Lieber JavaScript-Adapter, sag mir mal wann sich das hier ändert: true"

                                          Genau, und das klingt für mich erstmal richtig. Ich will prüfen, ob sich true auf false und umgekehrt ändert.

                                          Das ist der Wert des Datenpunktes (wie hier schon erläutert). Und damit gibt es keine Referenz mehr auf die Objekt-ID.

                                          Tatsächlich weiss ich nicht, was Du ausdrücken willst. Die Objekt ID steht da doch.

                                          Eigentlich hatte ich die Blöcke mal grün gefärbt, damit man sieht dass da ein String rein muss...

                                          Für jemanden wie mich ist das noch verwirrender, denn ich verstehe vollends nicht wie hier ein String ins Spiel kommt.

                                          Da die Warnung für Dich scheinbar nicht verständlich ist: Wie hätte diese denn lauten müssen, damit Du weißt was falsch ist?

                                          1. Mir ergab sich aus der Formulierung nicht, ob der Fehler besagt, dass da irgendwo ein "boolean or number" hinmuss oder ob derlei irgendwo wegmuss.
                                          2. "Wrong ID" liest sich für mich auch erstmal so, als ob da ein anderer datenpunkt hinmuss oder umformatiert werden muss.
                                            Ich würde mir theoretisch wohl sowas wie "object ID expected, not value of one" wünschen.

                                          Am Ende sehe ich aber meinen Hauptfehler, denn in dem Blocklybaustein wird ja visuell genau eine ObjectID impliziert, die ich dann doof mit "Wert von" überschrieben habe.
                                          Sorry dafür.

                                          haus-automatisierung Homoran 2 Replies Last reply Reply Quote 0
                                          • haus-automatisierung
                                            haus-automatisierung Developer Most Active @BertDerKleine last edited by

                                            @bertderkleine sagte in Etwas nur tagsüber laufen lassen:

                                            Genau, und das klingt für mich erstmal richtig. Ich will prüfen, ob sich true auf false und umgekehrt ändert.

                                            Geht aber nicht, weil Du dem System nicht mitteilst was das ist. Sondern nur den aktuellen Wert von "irgendwas".

                                            Kannst mir bescheid sagen, wenn sich 42 ändert? 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            565
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            27
                                            1423
                                            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