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.
    • 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
                                    • Homoran
                                      Homoran Global Moderator Administrators @BertDerKleine last edited by

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

                                      Die Objekt ID steht da doch.

                                      nein! da steht Wert von objectID

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

                                        Weil ich eh gerade dran bin, gibts bald ein kleines Ausrufezeichen mit einer Warnung wenn man den Block dort verbindet 🙂

                                        Ist erstmal nur ein Hinweis - könnte ja sein, dass der Wert eine Objekt-ID ist. Und dann würde es wieder gehen...

                                        Screenshot 2024-03-21 at 13.07.00.png

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        868
                                        Online

                                        31.7k
                                        Users

                                        79.8k
                                        Topics

                                        1.3m
                                        Posts

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