Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Garagentor mit 2 Sensoren

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Garagentor mit 2 Sensoren

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Graydens @paul53 last edited by

      @paul53

      Ohh ja danke, hatte ich gestern schon bemerkt und geändert.

      Puhhhh wirklich nicht leicht für mich als Neuling das Projekt umzusetzen.
      Value habe ich jetzt bei current auf boolean umgeändert, geht aber leider trotzdem nicht.

      1.JPG

      Der Impuls (1Sekunde) ist ja nur ein virtueller Taster den ich ja auch physisch in der Garage habe. Dieser macht ja nix anderes wie einen Eingang bei der Steuerung kurzzeitig kurz zu schließen und das Tor zu öffnen/stoppen/schließen.
      Somit sollte auch eine andere Ansteuerung wie zb mit dem Tortaster oder der Gira App zu der Homekit App möglich sein.

      Die Homekit ist halt praktischer da sie am iphone gleich direkt im Sofortzugriff zum belegen ist.

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

        @graydens sagte: Value habe ich jetzt bei current auf boolean umgeändert, geht aber leider trotzdem nicht.

        ?? Welchen Datenpunkt hast Du wie geändert ?
        Poste bitte die RAW-Ansicht der Eigenschaften von "Currentdoorstate" und "Targetdoorstate" in Code tags.

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

          @paul53

          so richtig?

          {
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1610818991491,
            "common": {
              "name": "Currentdoorstate",
              "role": "boolean",
              "type": "number",
              "desc": "Manuell erzeugt",
              "states": {
                "0": "Offen",
                "1": "Geschlossen",
                "2": "Offen/Bewegung"
              },
              "min": 0,
              "max": 2,
              "def": 0,
              "read": true,
              "write": false
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "0_userdata.0.Currentdoorstate",
            "type": "state"
          }
          
          
          {
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1610819016433,
            "common": {
              "name": "Targetdoorstate",
              "role": "value",
              "type": "number",
              "desc": "Manuell erzeugt",
              "read": true,
              "write": true,
              "def": false
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "0_userdata.0.Targetdoorstate",
            "type": "state"
          }
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Graydens last edited by paul53

            @graydens sagte: so richtig?

            Nein:

              "common": {
                "name": "Currentdoorstate",
                "role": "value",
                "type": "number",
                "desc": "Manuell erzeugt",
                "states": {
                  "0": "Geschlossen",
                  "1": "Offen",
                  "2": "Offen/Bewegung"
                },
            
              "common": {
                "name": "Targetdoorstate",
                "role": "switch",
                "type": "boolean",
                "states": {
                    "false": "Zu",
                    "true": "Auf"
                }
            

            Außerdem solltest Du "Targetdoorstate" mit den Endlagen synchronisieren:

            Bild_2021-01-21_144301.png

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

              @paul53

              geändert, aber trotzdem bleibt er auf 2 wenn er von 0 auf 1 springen sollte.
              Was mache ich hier nur falsch 😞

              {
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1610818991491,
                "common": {
                  "name": "Currentdoorstate",
                  "role": "value",
                  "type": "number",
                  "desc": "Manuell erzeugt",
                  "states": {
                    "0": "Geschlossen",
                    "1": "Offen",
                    "2": "Offen/Bewegung"
                  },
                  "min": 0,
                  "max": 2,
                  "def": 0,
                  "read": true,
                  "write": false
                },
                "native": {},
                "acl": {
                  "object": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator",
                  "state": 1636
                },
                "_id": "0_userdata.0.Currentdoorstate",
                "type": "state"
              }
              
              {
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1610819016433,
                "common": {
                  "name": "Targetdoorstate",
                  "role": "switch",
                  "type": "boolean",
                  "desc": "Manuell erzeugt",
                  "read": true,
                  "write": true,
                  "def": false
                },
                "native": {},
                "acl": {
                  "object": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator",
                  "state": 1636
                },
                "_id": "0_userdata.0.Targetdoorstate",
                "type": "state"
              }
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Graydens last edited by

                @graydens sagte: bleibt er auf 2 wenn er von 0 auf 1 springen sollte.

                "Currentdoorstate" kann nie von 0 auf 1 springen, da einige Zeit vergeht bis das Tor offen ist. Erst wenn die Endlage "Offen" erreicht ist, springt der Wert von 2 auf 1.

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

                  @paul53

                  Genau das passiert eben nicht.

                  Ich beobachte:
                  von TDS(TargetDoorState) und CTS (CurrentDoorState) 1 auf 0 kein Problem! zwar wird offen mit geschlossen verwechselt, aber sollte zum testen ja egal sein?

                  ändert man jetzt TDS mit der App auf 1, springt CTS um auf 2 und verharrt hier.

                  Auch wenn der KNX Sensor für den Sensor auf True geht, bleibt CTS auf 2.

                  Ändere ich dann wieder TDS mit der APP auf 0, fährt das Tor (zwar in die falsche Richtung) aber aus 2 wird dann wieder 0 wenn der KNX Sensor anspricht....und es wird als beendet in der App dargestellt. Das Tor ist in Wirklichkeit ZU, wird aber als Offen angezeigt.

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

                    @graydens sagte: Auch wenn der KNX Sensor für den Sensor auf True geht, bleibt CTS auf 2.

                    Poste bitte den erzeugten Javascript Code ohne die letzte Zeile in Code tags.

                    @graydens sagte in Garagentor mit 2 Sensoren:

                    Das Tor ist in Wirklichkeit ZU, wird aber als Offen angezeigt.

                    Deshalb solltest Du TDS mit den Endlagen synchronisieren.

                    Bild_2021-01-21_150502.png

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

                      @paul53

                      Sorry hatte ich übersehen, ist nun eingepflegt.

                      Du meinst vermutlich den ganzen Code ohne die letzte (grüne)Zeile?

                      var offen, geschlossen, current;
                      
                      // Beschreibe diese Funktion …
                      function tor() {
                        if (offen) {
                          current = 1;
                        } else if (geschlossen) {
                          current = 0;
                        } else {
                          current = 2;
                        }
                        setState("0_userdata.0.Currentdoorstate"/*Currentdoorstate*/, current, true);
                      }
                      
                      
                      on({id: '0_userdata.0.Targetdoorstate', change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        setState("knx.0.Tür_und_Tor.Tor.Garage_Garagentor_Auf_Zu_Stop_Schalten"/*Garage_Garagentor Auf/Zu/Stop_Schalten*/, true);
                        setStateDelayed("knx.0.Tür_und_Tor.Tor.Garage_Garagentor_Auf_Zu_Stop_Schalten"/*Garage_Garagentor Auf/Zu/Stop_Schalten*/, false, 1000, false);
                      });
                      offen = getState("knx.0.Tür_und_Tor.Tor.Garage_Garagentor_Status_offen").val;
                      geschlossen = getState("knx.0.Tür_und_Tor.Tor.Garage_Garagentor_Status_zu").val;
                      tor();
                      on({id: 'knx.0.Tür_und_Tor.Tor.Garage_Garagentor_Status_zu', change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        geschlossen = (obj.state ? obj.state.val : "");
                        tor();
                        setState("0_userdata.0.Targetdoorstate"/*Targetdoorstate*/, false, true);
                      });
                      on({id: 'knx.0.Tür_und_Tor.Tor.Garage_Garagentor_Status_offen', change: "ne", ack: false}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        offen = (obj.state ? obj.state.val : "");
                        tor();
                        setState("0_userdata.0.Targetdoorstate"/*Targetdoorstate*/, true, true);
                      });
                      
                      1;
                      
                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Graydens last edited by paul53

                        @graydens
                        Der erste Trigger (Targetdoorstate) darf nur auf Befehl reagieren!
                        Der dritte Trigger (Garage_Garagentor_Status_offen) darf nicht nur auf Befehl reagieren (egal)!

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

                          @paul53

                          Vielen Dank, jetzt läuft es einwandfrei, habe noch etwas mit der Polarität für AUF und ZU gespielt und jetzt wird es auch in meiner App richtig angezeigt.

                          Super Unterstützung, danke

                          Anbei das Endprodukt!

                          1.JPG

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

                            @graydens sagte: Anbei das Endprodukt!

                            Stimmt es mit den Zustandtexten (states) von CDS überein, dass 0 = offen und 1 = geschlossen ist ?

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

                              @paul53

                              Hatte nicht gepasst, habe ich in den Objekten dann einfach umgeschrieben.

                              Jetzt hab ich nur noch ein Problem, dass wenn ich das Tor von einer anderen Stelle (zb Gira App, oder Taster) ansteuere, dass sich auch der TDS demensprechend ändert.

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

                                @graydens sagte:

                                wenn ich das Tor von einer anderen Stelle (zb Gira App, oder Taster) ansteuere, dass sich auch der TDS demensprechend ändert.

                                Was ist das Problem ?

                                G 2 Replies Last reply Reply Quote 0
                                • G
                                  Graydens @paul53 last edited by

                                  @paul53

                                  Ach, eigentlich gar keines mehr nach einem Neustart 🙂

                                  Alles so wie es sein sollte, zu mindestens ist mir nichts weiteres aufgefallen.

                                  Danke

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

                                    @paul53

                                    Eine Kleinigkeit gibt es doch noch.

                                    Wenn das Tor in Wirklichkeit schließt, zeigt die App während der Bewegung an: Tor wird geöffnet.
                                    Nach Motorstop -> Tor geschlossen

                                    Wenn das Tor in Wirklichkeit öffnet, zeigt die App während der Bewegung an: Tor wird geschlossen.
                                    Nach Motorstop -> Tor geöffnet

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

                                      @graydens sagte: Wenn das Tor in Wirklichkeit schließt, zeigt die App während der Bewegung an: Tor wird geöffnet. Nach Motorstop -> Tor geschlossen

                                      Du möchtest, dass bei Verlassen der Endlage TDS aktualisiert wird? Dann versuche es mal so:

                                      Bild_2021-01-21_185914.png

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

                                        @paul53

                                        Habe deine Änderung noch eingepflegt vielen Dank dafür.
                                        Leider hat es dann trotzdem nicht funktioniert.
                                        Nach etwas herumspielen bin ich dann auf die richtige Lösung gekommen.

                                        Ich habe nur noch unter der Tor Schleife den Status 2 gelöscht, der wird irgendwie nicht benötigt.

                                        Somit wenn das Tor geschlossen ist und man drückt in der App Öffnen, steht auch in der App, Tor wird geöffnet.
                                        Das gleiche Spiel beim schließen -> Tor wird geschlossen.

                                        Nun funktioniert alles wie gewünscht.

                                        Vielen Dank für deine super Unterstützung und dein starkes Knowhow!!!!

                                        Anbei der aktuelle Status

                                        lg und Danke

                                        1.JPG

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        422
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

                                        2
                                        27
                                        1265
                                        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