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.
    • S
      Semmy last edited by

      Hallo
      Ich habe in der Vis einen Schalter, der eine Steckdose ein und ausschaltet. Damit ich nicht aus Versehen mal den Schalter betätige, möchte ich diesen mit einen zweiten Schalter verriegeln. Wie müsste hierzu ein Blockly aussehen?

      Gruß
      Semmy

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

        @semmy Du erstellst einen eigenen Datenpunkt für Deinen 2. Schalter und fragst bei Deinem jetzigen Schalter diesen ab, bevor Du den Befehl ausführst.

        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 Du erstellst einen eigenen Datenpunkt für Deinen 2. Schalter und fragst bei Deinem jetzigen Schalter diesen ab, bevor Du den Befehl ausführst.

          Hallo
          Irgendwie stehe ich auf den Schlauch, Datenpunkt für zweiten Schalter habe ich erstellt, aber wie frage ich den mit den ersten Schalter ab?

          mickym 1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            640
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

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