Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. 2 Trigger Abhängigkeit definieren

    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

    UNSOLVED 2 Trigger Abhängigkeit definieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jjmargis last edited by

      Hallo zusammen,

      ich habe mit Blockly ein Script mit Geofence erstellt, dass bestimmte Aktivitäten bei Betreten des Home Bereiches erfolgen.
      Ich habe es für Person 1 und Person 2 erstellt.
      Das funktioniert auch soweit.
      Mein Problem...
      Wenn nun Person 1 und Person 2 gleichzeitig (Bsp. in einem Auto) den Home Bereich betreten, werden Aktionen 2x ausgeführt.
      Ich bin auf der Suche nach einer Lösung, dass in diesem Fall die Aktionen nur 1x ausgeführt werden.

      Ich hoffe jemand kann helfen.

      R paul53 2 Replies Last reply Reply Quote 0
      • R
        RappiRN Most Active @jjmargis last edited by

        @jjmargis
        Zeige uns doch mal bitte deinen Versuch!

        Enrico

        J 1 Reply Last reply Reply Quote 0
        • J
          jjmargis @RappiRN last edited by

          @RappiRN
          Ich habe noch keinen. Ich habe nur die Einzelscripte und noch keine Idee, wie ich die kombinieren kann.

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

            @jjmargis
            Eigentlich recht simpel. Da es sehr unwahrscheinlich ist das beide Ereignisste zur selben Zeit sattfinden, einfach ne Variable bei beiden setzen wenn das Ereignis eintritt und diese als UND mit in die Falls Bedingung rein.

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

              @Jan1
              Naja, eigentlich doch.
              Wenn beide Personen im Auto sitzen und das Auto dem Home Bereich erreicht, dann schon.
              Es geht quasi um die Steuerung des Garagentores über einen Impulstaster.
              Bei dem sendet man ja immer nur einen Impuls und dann reagiert der.
              Wenn also von Person 1 der Trigger kommt, reagiert der Impulstaster und das Tor geht auf. Wenn Person 2 mit Person 1 im Auto ist, sind es nur Millisekunden und der Trigger kommt erneut zum Impulstaster, diesmal von Person 2.
              Das führt dazu, dass das Tor stoppt.

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

                @jjmargis
                Selbst wenn Ihr im Auto aufeinander sitzt wird das nicht in der selben Zeit eintreffen. Wir reden hier von Millisekunden.
                Schau Dir doch mal die Zeit der DPs an.

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

                  @Jan1
                  Ja, da ist ein leichter Versatz.
                  Das ist ja das Problem.
                  Wenn der Trigger von Person 1 kommt, dann wird der Impulstaster angesteuert und das Tor geht auf.
                  Wenn der Trigger kurze Zeit danach von Person 2 kommt, dann wird der Impulstaster wieder angesteuert und das Tor stoppt.

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

                    @jjmargis sagte:

                    Wenn nun Person 1 und Person 2 gleichzeitig (Bsp. in einem Auto) den Home Bereich betreten, werden Aktionen 2x ausgeführt.

                    Suche mal im Forum nach "Entprellen".

                    ecd6bdc7-c63a-40d7-9924-33c772e59493-grafik.png

                    Die Timeout-Zeit muss natürlich größer sein als 100 ms.

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

                      @jjmargis
                      Hast mein Vorschlag mit der Variable nicht verstanden?
                      Damit kannst das gegenseitig verriegeln. Hat einer ausgelöst, ist der andere gesperrt.

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

                        @Jan1
                        Nein, nicht wirklich...

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

                          @jjmargis
                          Ereignis setzt Variable und diese sperrt das zweite Ereigniss und umgekehrt, eigentlich ne einfache gegenseitige Verriegelung.

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

                            @Jan1
                            Ich glaube ich kann dir folgen.

                            Das wären dann 2 Scripts.

                            Script 1:
                            Wenn Person 1 den Home Bereich betritt (true) und Variable 2 = false dann sende Befehl an Impulstaster für Tor und setze Variable 1 auf true.

                            Script 2:
                            Wenn Person 2 den Home Bereich betritt (true) und Variable 1 = false dann sende Befehl an Impulstaster für Tor und setze Variable 2 auf true.

                            Damit sollten sich die Verhalten gegenseitig steuern.
                            Jetzt müsste ich die Variablen aber nach (sagen wir mal) 30 Sekunden wieder auf false zurücksetzen.

                            Das müsste doch mit rein in die Scripts - am Ende.
                            Wie sollte das wohl aussehen?

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

                              @jjmargis
                              Genau so wie Du es geschrieben hast kommt das mit ins Blocky rein. Ersetzte einfach das "wenn" am Anfang mit Namen von vorhandenen Blöcken "falls", Dann hast schon Dein Blockly😉

                              Ist eigentlich das was @paul53 oben schon gepostet hat nur mit dem UND in der falls Bedingung mit drin. Der Trigger ist dann auch wie oben nur Deine Geofence Ereignisse.

                              J paul53 2 Replies Last reply Reply Quote 0
                              • J
                                jjmargis @Jan1 last edited by

                                @Jan1
                                Dann versuche ich mich mal am Wochenende daran.
                                😉

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

                                  @Jan1 sagte:

                                  nur mit dem UND in der falls Bedingung mit drin.

                                  Ist UND wirklich nötig ?

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

                                    @paul53
                                    Wenn er das gleich mit ins sein Script einbaut schon, wobei wenn ich drüber nachdenke, könnte da auch ohne funktionieren. Bist eben echt ein Fuchs beim ums Eck denken😉

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

                                      @jjmargis
                                      Ist wie es @paul53 schreibt. Kannst das Script von oben so verwenden, musst nur noch zusätzlich Deine Aktion einfügen und die zwei Trigger DPs anpassen, fertig.
                                      Das Ereignis das zuerst eintrifft sperrt eh das andere und somit wird immer nur eins der beiden Ereignisse abgearbeitet. Beim Timeout musst mal schauen, wie weit die Ereignisse bei einer gemeinsamen Autofahrt auseinander liegen und dem entsprechend anpassen, dass das zuverlässig läuft (lieber bisschen mehr als zu wenig).

                                      Manchmal kann man mit einer Erweiterung ein Programm tatsächlich verkürzen 😊

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

                                        @Jan1
                                        Ich habe jetzt mal einiges probiert. Leider komme ich nicht zum Ergebnis mit dem "Prell Hinweis"..
                                        Ich habe einen Außenkontakt angebracht, über den ich dann noch gleich eine Zustandsmeldung bekomme. Den habe ich in die Scripts eingebaut.
                                        Siehe:
                                        Bildschirmfoto 2019-10-31 um 21.42.20.png
                                        Bildschirmfoto 2019-10-31 um 21.42.33.png

                                        Das läuft nun so:
                                        Wenn das erste Script reagiert hat, ist der Kontakt offen und das zweite Script reagiert dann nicht.
                                        Das ist auch soweit in Ordnung.
                                        Allerdings reagiert das zweite Script, wenn ich den Carport wieder schließe.
                                        😞

                                        Ich habe keine Idee wie ich das verhindern kann.
                                        😞

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        368
                                        Online

                                        31.9k
                                        Users

                                        80.3k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        18
                                        775
                                        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