Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Schalter in der Vis durch zweiten Schalter verriegeln

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Schalter in der Vis durch zweiten Schalter verriegeln

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Semmy last edited by mickym

      @semmy Na mit Deiner Logikmaschine setzt Du doch wenn Schalter on ist einen Befehl ab. Bevor Du den absetzt prüfst Du noch den Zustand des 2. Datenpunktes.

      Ich bin leider kein Blockly Programmierer ... ein Versuch sie Posting weiter oben. 😉

      Du lässt den 1. Schalter triggern und prüfst dann den Zustand von beiden Schaltern. Wenn der 2. Wert auf false steht, dann wird die Bedingung nie wahr und der 1. Schalter ist blockiert. Somit würde der Schalter nur dann funktionieren wenn der Wert des 2. Schalters true ist. Sowas kannst Du doch sicher selbst machen - wie gesagt ich such mir hier immer einen Wolf. Ich hoffe das entspricht halt dem JS:

      if (schalter1 && schalter2) {
      ....
      }
      

      Im Prinzip musst Du ja nur die Fälle behandeln, in den der 2. Schalter auf true steht, also

      wenn Schalter 1 === true und Schalter 2 === true ==> schalte EIN
      wenn Schalter 1 === false und Schalter 2 === true ==> schalte AUS

      und ansonsten muss ja nichts gemacht werden.

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

        @mickym sagte: Bevor Du den absetzt prüfst Du noch den Zustand des 2. Datenpunktes.

        Du gehst davon aus, dass @Semmy 2 virtuelle Datenpunkte verwendet: Einen virtuellen Schalter und eine Freigabe. Dann kann man es so machen:

        Bild_2021-04-09_182344.png

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

          @mickym Hallo
          Ich habe es jetzt hin bekommen, aber ist es möglich, dass dieser Schalter (links) gesperrt ist, wenn das Schloss verriegelt ist? Der lässt sich nämlich immer noch betätigen. Schalter.jpg

          mickym paul53 2 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active @Semmy last edited by

            @semmy sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

            Das sind 2 paar Stiefel - damit man ein Widget im VIS glaub sperren kann. muss dieses dies vorsehen.

            Die Frage ist halt, ob das erforderlich ist. Normalerweise sollte also der Schalter ja immer den aktuellen Zustand anzeigen, d.h auch wenn Du den betätigst müsste der ja eigentlich visuell wieder in die Ausgangsposition zurückspringen.

            Ich habe auch keine Ahnung ob man bei dem Widget das "Nur Lesen" Flag irgendwo programmtechnisch lösen kann.

            Ich habe auch gesehen, dass man dem Schloß 2 Datenpunkte angeben kann - aber da muss Dir jemand helfen, der vis gut kennt.

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

              @mickym So sieht es jetzt aus, funktioniert. Wäre halt schön, wenn der Schalter gesperrt ist, wenn das Schloss zu ist. Homematic Lock ist das Schloss
              Schalter1.jpg

              paul53 mickym 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @Semmy last edited by

                @semmy sagte: Homematic Lock ist das Schloss

                Soll wirklich darauf getriggert werden?

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

                  @paul53 sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

                  @semmy sagte: Homematic Lock ist das Schloss

                  Soll wirklich darauf getriggert werden?

                  Ok, hab das Schloss entfernt, funktioniert . Danke

                  1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Semmy last edited by mickym

                    @semmy Nun ich bin KEIN Blockly Programmierer - aber ich glaube Du hast einen Logikfehler drin.

                    49a3c5f8-1989-43c3-a68a-f7c259fa4caa-image.png

                    Ich hätte es irgendwie so gemacht - aber da kann Dir @paul53 besser helfen.

                    Wie gesagt wenn der Schalter 2 falsch ist, kannst Du meines Erachtens den Trigger von Schalter 1 völlig ignorieren!

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

                      @mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

                      @semmy Nun ich bin KEIN Blockly Programmierer - aber ich glaube Du hast einen Logikfehler drin.

                      49a3c5f8-1989-43c3-a68a-f7c259fa4caa-image.png

                      Ich hätte es irgendwie so gemacht - aber da kann Dir @paul53 besser helfen.

                      Wie gesagt wenn der Schalter 2 falsch ist, kannst Du meines Erachtens den Trigger von Schalter 1 völlig ignorieren!

                      So gehts auch, jetzt müsste man nur noch irgendwie den Schalter sperren, dann wäre es perfekt.

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

                        @semmy sagte: Der lässt sich nämlich immer noch betätigen.

                        Man kann ihn per Skript zurück stellen (siehe sonst-Zweig).

                        Bild_2021-04-09_190447.png

                        Wert und Ursprung findet man unter "Trigger".

                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Semmy last edited by mickym

                          @semmy Du könntest den ganzen Schalter ausblenden, wenn der gesperrt ist - das wüsste ich wie es geht. 😉 oder so wie @paul53 vorschlägt unter den Schalter 2 mit dem sonst Ast auf den vorhergehenden Wert zurücksetzen. So würde auch in anderen Visualisierungen das funktionieren, wenn programmtechnisch keine Sperre vorgesehen ist.

                          ggf. musstest Du Dir halt andere Widgets anschauen - wie hier diese Material Design Geschichten:
                          https://github.com/Scrounger/ioBroker.vis-materialdesign#editor-settings-9

                          1 Reply Last reply Reply Quote 0
                          • S
                            Semmy last edited by

                            Funktioniert nicht, wenn Schloss offen ist, gehts, aber wenn das Schloss zu ist, nicht.
                            Gruß
                            Semmy

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Semmy last edited by mickym

                              @semmy Also wie gesagt ich bin KEIN Blockly Programmierer, aber Du könntest einfach versuchen, den Wert von Taste 1 mit dem negierten Wert von sich selbst zu aktualisieren:

                              ca2accd9-c784-4aba-b75e-a6932704c7c9-image.png

                              Also wenn gesperrt - dann aktualisiere den Schalter 1 nochmals mit dem negierten Wert von sich selbst. Wenn das true oder false ist.

                              Aber wie gesagt - ich bin da kein Spezialist. Ich hoffe das mit dem "nicht" Baustein das dem Javascript "!" entspricht.

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

                                @mickym sagte: dann aktualisiere den Schalter 1 nochmals mit dem negierten Wert von sich selbst.

                                Ohne Prüfung des Ursprungs entsteht so eine endlose Trigger-Schleife.

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @paul53 last edited by mickym

                                  @paul53 Klar Du hast Recht - versuch das was Du gerade als Bedingung gebaut hast nachzubauen.

                                  Habs mal von Dir abgeschaut:

                                  f939e7e7-4784-43ae-9db6-9e94672a8bad-image.png

                                  Ist das das Gleiche d1a66e54-eada-4064-a654-00f0b6c0f4fc-image.png

                                  Was ist der Unterschied zwischen Ursprung und Quelle?
                                  oder was ist die Quelle eines Datenpunktes? Quelle kann ja nicht nochmals der Pfad zum Datenpunkt sein, den ich ja mit der ID auswählen muss?

                                  Ursprung ist also die Quelle des Triggers? Richtig?

                                  und kann ich diesen Nicht Block nehmen um ein ! Wert zu erzeugen?

                                  Ah ich hab das mit dem vorigen Wert gefunden - dann müsste das nach meiner Logik so aussehen wo wird der zwischengespeichert in dem Objekt??:

                                  987f5f3e-c714-4f03-9c6c-852385424835-image.png

                                  Ok jetzt ist es mit Deinem Blockly bis auf die Steuerung des Tasmota Teils identisch. 😁

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

                                    @mickym sagte: Was ist der Unterschied zwischen Ursprung und Quelle?

                                    Es gibt keinen Unterschied.

                                    @mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

                                    kann ich diesen Nicht Block nehmen um ein ! Wert zu erzeugen?

                                    Ja, ist identisch.

                                    @mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

                                    wo wird der zwischengespeichert in dem Objekt??:

                                    Der "vorherige Wert" wird im Datenpunkt-Objekt des Triggers übergeben.

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @paul53 last edited by

                                      @paul53 sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

                                      Der "vorherige Wert" wird im Datenpunkt-Objekt des Triggers übergeben.

                                      Ah OK deswegen ist der Kasten rosa. 😉

                                      Na dann hoffe ich mal dass @Semmy inzwischen erfolgreich ist und mir die Dauerschleife verzeiht. 😞 😉

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

                                        @mickym Hallo
                                        Ich habe nochmal den selben Schalter direkt über den ersten in der Visualisierung gelegt, nur lesend eingestellt und den z-Wert so eingestellt, dass der Schalter nur angezeigt wird, wenn das Schloss offen ist. So soll es sein. Vielen Dank nochmal.

                                        Viele Grüße
                                        Semmy

                                        1 Reply Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @Semmy last edited by

                                          @semmy sagte in Schalter in der Vis durch zweiten Schalter verriegeln:

                                          Damit ich nicht aus Versehen mal den Schalter betätige, möchte ich diesen mit einen zweiten Schalter verriegeln.

                                          Mit einem Button´s Widget von materialdesign

                                          kannst du es ohne Blockly / Script lösen

                                          Beispiel :

                                          Ein click wird entriegelt .

                                          .
                                          tages mit chrom.gif
                                          .
                                          1.JPG

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          938
                                          Online

                                          32.0k
                                          Users

                                          80.5k
                                          Topics

                                          1.3m
                                          Posts

                                          4
                                          22
                                          983
                                          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