Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blocky bringt mich in den Wahnsinn

    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

    Blocky bringt mich in den Wahnsinn

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      smartysmart @ITCrowd last edited by

      @ITCrowd sagte in Blocky bringt mich in den Wahnsinn:

      Geht auch einfacher
      Dabei spielt es keine Rolle woher der Ein-Befehl kommt.

      Was macht das "falls - [Wert]" siehe Pfeil
      Was maht das "löschen falls läuft" siehe Pfeil
      33a6fdeb-0eab-42f6-9f6c-561ff95b460f-image.png

      Diese Methode schaut am einfachsten aus aber ich muss noch verstehen was diese zwei Sachen machen.

      Asgothian 1 Reply Last reply Reply Quote 0
      • S
        smartysmart @Hoffiheller last edited by

        @Hoffiheller
        Danke dir für deinen Ansatz, was passiert mit der Verzögerung, wenn das Licht dann doch davor aus geht ?
        Greift dann der "sonst" Baustein ?

        Und noch eine Frage ... Was passiert wenn bei 59:50 dann Bewegung passiert. Macht die Verzögerung trotzdem nach 60:00 aus ? Das befürchte ich fast bei dieser Lösung

        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @smartysmart last edited by

          @mend

          Das falls wert ist ein einfacher Trick. “Wert” entspricht dem Wert des datenpunktes der den trigger ausgelöst hat. Falls erwartet etwas das ‘wahr” oder “falsch” sei kann. Da der datenpunkt genau diese beiden Werte annehmen kann entspricht das “falls wert = wahr”

          ‘Löschen falls läuft” sorgt dafür da du nicht für jeden trigger je einen schalt Befehl bekommst, sondern immer nur für den letzten.

          Zum Thema “Not aus” - das wird in genau dieser Konfiguration auch dann getriggert wenn durch den bwm das Licht an geschaltet wird. Durch das ‘löschen falls läuft’ wird also wenn wenige Sekunden vor der Not Ausschaltung jemand nach oben geht der Timer für die Abschaltung auf 60 Minuten (neu) gesetzt.

          Das geht aber nur deswegen weil

          • du auf jede Aktualisierung triggerst
          • du bei trigger des BWM den datenpunkt on explizit aktivierst. so wie du das oben gelöst hattest (“nur” Helligkeit hoch setzen würde das dann nicht passieren und das Licht wäre aus.

          A.

          1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @smartysmart last edited by

            @mend sagte in Blocky bringt mich in den Wahnsinn:

            Danke dir für deinen Ansatz, was passiert mit der Verzögerung, wenn das Licht dann doch davor aus geht ?
            Greift dann der "sonst" Baustein ?

            Welcher “sonst” Baustein ? Den gibt es im Beispiel nicht. Wenn du einen einfügst dann bring das nichts, da der Befehl zum abschalten sofort gesetzt wird (er wird halt nur 60 Minuten Kannst bei dieser Methode nicht feststellen wann die not Abschaltung greift.

            A.

            1 Reply Last reply Reply Quote 0
            • H
              Hoffiheller last edited by

              @mend

              habe es nochmal umgebaut so geht es wie gewünscht aber man bekommt direkt eine telegram Nachricht so wie das Licht angeht. ich bekomme so auch immer direkt 5 nachrichten.
              Bildschirmfoto 2020-01-15 um 21.35.19.png

              J Asgothian 2 Replies Last reply Reply Quote 0
              • J
                Jan1 @Hoffiheller last edited by

                @Hoffiheller
                Der Trigger ist falsch abgefragt. Die DPssind wohl nur true oder false, wie willst die auf größer abfragen.
                Die falls kannst ganz weg lassen wenn das schon im Trigger erledigst und wenn nicht, Werte Oder zu prüfen und jedesmal auf true abfragen ist auch Overkill, da der Block das eh macht und das true komplett überflüssig ist.

                H Asgothian 2 Replies Last reply Reply Quote 0
                • H
                  Hoffiheller @Jan1 last edited by

                  @Jan1

                  Der Trigger ist falsch abgefragt. Die DPssind wohl nur true oder false, wie willst die auf größer abfragen.

                  hat aber irgendwie Funktioniert

                  Die falls kannst ganz weg lassen wenn das schon im Trigger erledigst und wenn nicht, Werte Oder zu prüfen und jedesmal auf true abfragen ist auch Overkill, da der Block das eh macht und das true komplett überflüssig ist.

                  Danke für den tip das macht in Zukunft einiges übersichtlicher und schneller.

                  1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @Jan1 last edited by

                    @Jan1 sagte in Blocky bringt mich in den Wahnsinn:

                    @Hoffiheller
                    Der Trigger ist falsch abgefragt. Die DPssind wohl nur true oder false, wie willst die auf größer abfragen.
                    Die falls kannst ganz weg lassen wenn das schon im Trigger erledigst und wenn nicht, Werte Oder zu prüfen und jedesmal auf true abfragen ist auch Overkill, da der Block das eh macht und das true komplett überflüssig ist.

                    Sind sie nicht. Fun fact in JS: true > false !

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      Jan1 @Asgothian last edited by Jan1

                      @Asgothian
                      True größer false, ok bolisch gesehen macht das sogar Sinn.

                      1 Reply Last reply Reply Quote 0
                      • Asgothian
                        Asgothian Developer @Hoffiheller last edited by Asgothian

                        @Hoffiheller das macht so wenig Sinn:

                        • der trigger auf “größer oder gleich als vorher” in diesem Fall fast identisch zu “wurde aktualisiert” (true->true triggert, false->false triggert, false->true triggert, nur true->false triggert nicht.
                        • der wenn Fall wird bei jedem trigger wenn mindestens ein Licht an ist gestartet.
                        • Der sonst Fall tritt nur auf wenn beide Lichter aus sind und mindestens einer der Werte aktualisiert wurde.
                        • Die Nachricht (Telegramm) wird geschickt wenn der trigger kommt, nicht wenn das Licht vor Ablauf der 60 Minuten ausgeschaltet wurde.
                        • es erfolgt keine Nachricht wenn das Licht nach der Stunde ausgeschaltet wurde.

                        Der Ausweg sieht so aus:
                        8C823BAA-ADB0-4A86-93F3-F85CBFE2451C.jpeg

                        Natürlich musst du die Objekt ids noch korrekt setzen.

                        Nachtrag: ich hab im falls einen Fehler, da muss oder statt und stehen.

                        A.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        417
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        5
                        16
                        959
                        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