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 @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

                                707
                                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