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.
    • 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

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