Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Lösung für eine Prüfung gesucht

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Lösung für eine Prüfung gesucht

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

      @schonwiederich IMG_20211004_210134.jpg

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

        @schonwiederich sagte: Bewegung triggert, bevor die variable auf True gesetzt werden kann.

        Dauert die Reaktion der Direktverknüpfung so lange?
        Dann muss man die Bewegungserkennung verzögern.

        Bild_2021-10-04_220414.png

        S 1 Reply Last reply Reply Quote 0
        • S
          schonwiederich @paul53 last edited by

          @paul53 es ist ja knopf drücke - Direktverbindung schaltet - Aktor meldet Status Änderung an ccu - statusanderung wird von ccu an iob übertragen bzw dort registriert - Programm erkennt diese Änderung und setzt die variable.

          Wenn man also quasi in einer Bewegung den Knopf drückt und ins Bad hineingeht ist der bewegungsmelder ggf schneller als die variablenänderung

          Ich werde den timeout mal testen.
          An könnte auch auf... Wenn Taster aktualisiert.... Reagieren. Das wäre dann evtl schneller als den Aktor auszuwerten.
          Danke

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

            @schonwiederich sagte: Wenn Taster aktualisiert.... Reagieren. Das wäre dann evtl schneller als den Aktor auszuwerten.

            Zum Taster existiert ein Datenpunkt (PRESS_SHORT) in ioBroker?

            S 2 Replies Last reply Reply Quote 0
            • S
              schonwiederich @paul53 last edited by

              @paul53
              jepp, der mit diesem "Tasersymbol" was aussieht wie so eine Hotelempfangsklingel.
              Ich habe den Zustand mal im History geloggt. Der Taster steht immer auf True.
              Wenn man ihn betätigt wird er mit Abstand von ca 0,2 Sekunden 2 mal auf True aktualisiert.

              1 Reply Last reply Reply Quote 0
              • S
                schonwiederich @paul53 last edited by

                @paul53 zzz.JPG

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

                  @schonwiederich
                  Letztendlich hast du in deinem Skript schon alles was du brauchst. Nur die Reihenfolge der Abfragen muss geändert werden:

                  Aktuell machst du:

                  falls nicht manuell ein:
                  falls wenig licht und BWM aktiv dann mach was
                  sonst falls bwm und nacht dann mach was anderes
                  sonst falls BWM falsch mach licht aus.

                  was Du willst ist:

                  falls wenig licht und BWM aktiv mach was
                  sonst falls BWM aktiv und nacht dann mach was anderes
                  sonst falls BWM inaktiv und nicht manuell ein mach licht aus.

                  Was passieren kann :

                  • Es wird der Knopf gedrückt und man wartet mit dem rein gehen - dann bekommt man das Verhalten des automatischen Licht an.
                  • Es wird der Knopf gedrückt und man geht direkt rein - dann sollte erst die BWM steuerung zuschlagen und danach das Licht wie vom Knopf gesteuert an gehen.

                  In beiden Fällen geht das licht nur dann automatisch aus wenn es nicht manuell eingeschaltet wurde.

                  A.

                  Nachtrag: Mir ist noch eine Sache aufgefallen: Wenn du die Lampe über den Taster direkt toggelst dann kann es dazu kommen das die Lampe abgeschaltet wird wenn das Tastersignal erst nach dem Auslösen der BWM erkannt wird.
                  In diesem Fall würde ich bei dem Skript welches die Lampe einschaltet (sofern es eines gibt) noch den BWM abfragen - ist der BWM aktiv dann sollte der Taster die Lampe nie ausschalten.

                  A.

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

                    @asgothian
                    Hi danke für dein Feedback.
                    ich bin nicht sicher ob wir uns richtig verstehen 🙂

                    das was du bei "was du willst" schreibst ist nicht ganz richtig.
                    was ich will ist, das wenn man das licht per hand eingeschlatet hat, das programm für den bwm garnicht reagiert, weder mit ein- noch mit ausschalten. = es bleibt so lange an bis man es von hand wieder ausschaltet.
                    wenn man das licht nicht zuvor eingeschlatet hat , dann soll das programm des bewegungsmelders durchlaufen und entsprechend an und aus schalten.

                    Demnach denke ich die reihenfolge die ich jetzt habe ist schon die richitige...

                    Nachtrag: Der Taster togeelt die Lampe nicht. Kanel 1 schaltet per HM direktverknüpfung an und Kanal 2 aus, unabhängig vom IOB.

                    VG und danke

                    Asgothian paul53 2 Replies Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @schonwiederich last edited by

                      @schonwiederich sagte in Lösung für eine Prüfung gesucht:

                      @asgothian
                      Hi danke für dein Feedback.
                      ich bin nicht sicher ob wir uns richtig verstehen 🙂

                      das was du bei "was du willst" schreibst ist nicht ganz richtig.
                      was ich will ist, das wenn man das licht per hand eingeschlatet hat, das programm für den bwm garnicht reagiert, weder mit ein- noch mit ausschalten. = es bleibt so lange an bis man es von hand wieder ausschaltet.
                      wenn man das licht nicht zuvor eingeschlatet hat , dann soll das programm des bewegungsmelders durchlaufen und entsprechend an und aus schalten.

                      Demnach denke ich die reihenfolge die ich jetzt habe ist schon die richitige...

                      Nachtrag: Der Taster togeelt die Lampe nicht. Kanel 1 schaltet per HM direktverknüpfung an und Kanal 2 aus, unabhängig vom IOB.

                      VG und danke

                      So hatte ich dich durchaus verstanden. Entscheidend ist folgendes:

                      Solange der Status des Schalters verzögert weiter gegeben wird kannst du nur wie @paul53 geschrieben hat das Auslösen des BWM um diese Zeit verzögern - mit dem Effekt das die Lampe ggf. erst einige Zeit nach betreten des Raumes an geht.

                      Alternativ kannst du zulassen das der BWM die Lampe auch einschaltet - was wenn sie schon eingeschaltet ist erst einmal kein Problem darstellen sollte - und dann das ausschalten der Lampe über den BWM verhindern. Genau das würde mein Ansatz oben realisieren.

                      Eine dritte Möglichkeit sehe ich ehrlich gesagt nicht.

                      A.

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

                        @asgothian
                        Nochmal danke,
                        Ich denke es gibt 3 Ansätze:

                        1. Den von @paul53 (Verzögerung)
                        2. Den von Dir (Wobei ich dann schauen müsste, ob der zu anderen "ungewünschten" effekten führt.
                          3, Das was ich noch vorgeschlagen hatte. (Nicht auf "Aktor wurde geändert" reagieren um die Variable zu setzen sondern auf "Taster wurde aktualsisert" Ich kann mir vorstellen dass das "schneller" ankommt als die Aktoränderung.

                        Wenn ich deinen Fall ausprobiere nehme ich das "Falls - nicht - manuell ein" am Anfang raus und setze es ausschließlich als zweite Bedingung zum AUS Befehl hinzu?!

                        VG

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

                          @schonwiederich sagte: Der Taster togeelt die Lampe nicht. Kanel 1 schaltet per HM direktverknüpfung an und Kanal 2 aus

                          Dann versuche mal, ob so schneller auf den Kanal-1-Taster reagiert wird:

                          Bild_2021-10-05_131603.png

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            schonwiederich @paul53 last edited by

                            @paul53
                            Danke.
                            Sollte ich den oberen Falls Block dann nicht rausnehmen? Nicht das die beiden Blöche sich "gegenseitig stören" wenn Sie beide die Variable schrieben wollen?!

                            Verständnissfrrage:
                            Press short ist immer "wahr" kann ich dennoch "ist wahr" nehmen oder muss ich "bei aktualisierung" nehmen?

                            Muss ich dann nicht noch ebenso einen Falls Block für Press short Kanal 2 und setzte manuell_ein auf "falsch" mit reinnehmen? Sonst bleibt doch die Variable für immer auf "wahr" stehen, oder?

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

                              @schonwiederich sagte: Sollte ich den oberen Falls Block dann nicht rausnehmen?

                              Nein, denn der stellt sicher, dass auch bei Einschalten über Vis oder Tab "Objekte" die Variable gesetzt wird und dass beim Ausschalten - egal wodurch - die Variable zurück gesetzt wird.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                schonwiederich @paul53 last edited by

                                @paul53
                                ttttt.JPG
                                Es ist wie ich vermutet hatte. Der Trigger über den Aktor dauert zu lange.
                                Ich habe den Debug Block in beide Falls Blöcke (Aktor UND Taster) gepackt.
                                Wie man sehen kann wird die Variable auf True gesetzt , fast unmittelbar nach Tastendruck, das zweite True kommt vom Aktor und kommt sage und schreibe 2,8 bis 2,9 Sekunden nach dem True des Tasters.

                                Ich werde also heute Abend testen und dann wieder berichten.

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

                                  @schonwiederich
                                  Log-Ausgaben bitte in Code tags posten!
                                  Man kann nicht unterscheiden, welcher Debug-Baustein ausgibt. Deshalb bitte um einen Text ergänzen.

                                  Bild_2021-10-05_143515.png

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    schonwiederich @paul53 last edited by schonwiederich

                                    @paul53

                                    15:41:26.118	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Tastertrue
                                    15:41:28.930	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Aktortrue
                                    15:41:39.499	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Aktorfalse
                                    15:41:41.800	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Tastertrue
                                    15:41:44.952	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Aktortrue
                                    15:41:46.239	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Tastertrue
                                    15:41:47.877	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Tastertrue
                                    15:41:48.870	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Tastertrue
                                    15:41:49.861	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Tastertrue
                                    15:41:55.036	info	javascript.0 (485) script.js.common.Xiaomi_Schalter.Bewegungsmelder_Bad2: Aktorfalse
                                    

                                    Jetzt nochmal zur besseren Nachvollziehbarkeit 🙂
                                    Vielen Dank !

                                    Nachtrag: Die mehrfachen Tastertrue einträge sind klicks nacheinander, wenn der Zustand bereits "AN" war.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      schonwiederich @schonwiederich last edited by

                                      Kurzer Zwischenstand: Bisher kein unerwünschtes Verhalten mehr.
                                      Teste weiter......

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        schonwiederich @schonwiederich last edited by

                                        @schonwiederich
                                        Lange beobachtet.

                                        Alles funktioniert einwandfrei.

                                        DANKE

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        703
                                        Online

                                        32.1k
                                        Users

                                        80.6k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        37
                                        1825
                                        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