Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Yahka Konfiguration für Garagentor mit Licht

    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

    Yahka Konfiguration für Garagentor mit Licht

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

      @juergen2908:

      Ok, super! Werde ich mal probieren. Wo soll ich die Datenpunkte dann ablegen? Lg

      Gesendet von iPhone mit Tapatalk `

      Fast wo du magst. Meine liegen nun unter javascript.0.virtualDevice.Schalter.Garagentor

      1 Reply Last reply Reply Quote 0
      • juergen2908
        juergen2908 last edited by

        Grüß Euch,

        danke für den tipp mit dem Skript.

        Leider funktioniert es nicht so richtig bzw. pfuscht irgendwas hinein und das Tor bleibt stehen wenn ich es mit der Homematic FB od den Homematic Taste öffne:

        HK funktioniert, alleine , nur wenn ich mit FB aufmache und Homekit zu machen will, funktioniert es nicht.

        hier der Code:

        `on({id: 'hm-rpc.0.BidCoS-RF.8.PRESS_SHORT', change: "ne"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (getState("javascript.0.schalteGaragentor_HK"/*schalteGaragentor_HK*/).val === 1) {
            // Tor geschlossen
            if (getState("hm-rpc.0.BidCoS-RF.8.PRESS_SHORT").val === true) {
              // Öffne das Tor
              setState("javascript.0.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 0, true);
            }
          } else if (getState("javascript.0.LageGaragentor_HK").val === 0) {
            // Tor offen
            if (getState("hm-rpc.0.BidCoS-RF.8.PRESS_SHORT").val === true) {
              // Schließe das Tor
              setState("javascript.0.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 1, true);
              // Tor wird geschlossen
            }
          }
        });
        
        on({id: 'javascript.0.schalteGaragentor_HK', change: "ne"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (getState("javascript.0.LageGaragentor_HK").val === 1) {
            // Tor geschlossen
            if (getState("javascript.0.schalteGaragentor_HK").val === 0) {
              // Öffne das Tor
              setState("hm-rpc.0.BidCoS-RF.8.PRESS_SHORT", true);
            }
          } else if (getState("javascript.0.LageGaragentor_HK").val === 0) {
            // Tor offen
            if (getState("javascript.0.schalteGaragentor_HK").val === 1) {
              // Schließe das Tor
              setState('hm-rpc.0.BidCoS-RF.8.PRESS_SHORT', true);
            }
          }
        });
        
        und hier die Konvertierung:
        
        [code]var timeout;
        
        on({id: 'hm-rpc.0.KEQ0905365.1.STATE', change: "ne"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          timeout = setTimeout(function () {
            if (getState("hm-rpc.0.KEQ0905365.1.STATE").val === false) {
              // Definiere Tor für HK als geschlossen
              setState("javascript.0.LageGaragentor_HK"/*LageGaragentor_HK*/, 1, true);
             setState("javascript.0.schalteGaragentor_HK", 1, true);
            } else {
              // Definiere Tor für HK als offen
              setState("javascript.0.schalteGaragentor_HK", 0, true);
              setState("javascript.0.LageGaragentor_HK"/*schalteGaragentor_HK*/, 0, true);
            }
          }, 1000);
        });
        [/code]`
        
        Irgendetwas passt da nicht bzw. habe ich da einen Denkfehler !?
        
        LG
        
        Jürgen
        
        1 Reply Last reply Reply Quote 0
        • eumats
          eumats last edited by

          "Mein" Skript geht von gewissen Grundvoraussetzungen aus.

          1. Mein Tor hat nur einen Taster (kurzer Impuls für 1sec) für hoch und runten. D.b. z.B. Tor offen, Tast-Aktor ansteuern -> Tor geht zu, Tast-Aktor erneut an steuern -> Tor stoppt, Tast-Aktor erneut an steuern -> Tor fährt wieder zu, ….

          2. Wenn der Sensor false zeigt ist das Tor zu, bei true offen

          Treffen diese Grundvoraussetzungen bei dir aus zu?

          NACHTRAG:

          Ich habe Deinen Code gerade mal an meinen aktuellen angepasst um ihn besser zu verstehen.

          Dabei habe ich das Timeout für das Setzen der Informationen für HK bei manueller Betätigung hochgesetzt.

          12:00 Uhr: Fehler im Code korrigiert

          ! ````
          var Schalter = 'hm-rpc.0.BidCoS-RF.8.PRESS_SHORT'
          Sensor = 'hm-rpc.0.KEQ0905365.1.STATE',
          schalteGaragentor = 'javascript.0.schalteGaragentor_HK',
          LageGaragentor = 'javascript.0.LageGaragentor_HK',
          TimeoutHKSetzen = 5000,
          timeout;
          ! on({id: Schalter, change: "ne"}, function (obj) {
          var StatusSchalter = getState(Schalter).val,
          StatusSchalteGaragentor = getState(schalteGaragentor).val;

          if (StatusSchalteGaragentor === 1) {
          // Tor geschlossen
          if (StatusSchalter === true) {
          // Öffne das Tor
          setState(schalteGaragentor , 0);
          }
          } else if (StatusSchalteGaragentor === 0) {
          // Tor offen
          if (StatusSchalter === true) {
          // Schließe das Tor
          setState(schalteGaragentor, 1);
          // Tor wird geschlossen
          }
          }
          });

          ! // Folgender Abschnitt sorgt für die Steuerung des Homematic-Aktors aus HK heraus
          on({id: schalteGaragentor, change: "ne"}, function (obj) {
          var StatusLageGaragentor = getState(LageGaragentor).val,
          StatusSchalteGaragentor = getState(schalteGaragentor).val;

          if (StatusLageGaragentor === 1) {
          // Tor geschlossen
          if (StatusSchalteGaragentor === 0) {
          // Öffne das Tor
          setState(Schalter, true);
          }
          } else if (StatusLageGaragentor === 0) {
          // Tor offen
          if (StatusSchalteGaragentor === 1) {
          // Schließe das Tor
          setState(Schalter, true);
          }
          }
          });

          ! //und hier die Konvertierung:
          ! on({id: Sensor, change: "ne"}, function (obj) {
          StatusSensor = getState(Sensor).val,

          timeout = setTimeout(function () {
          if (StatusSensor === false) {
          // Definiere Tor für HK als geschlossen
          setState(LageGaragentor, 1);
          setState(schalteGaragentor, 1);
          } else {
          // Definiere Tor für HK als offen
          setState(LageGaragentor, 0);
          setState(schalteGaragentor, 0);
          }
          }, TimeoutHKSetzen);
          });

          1 Reply Last reply Reply Quote 0
          • juergen2908
            juergen2908 last edited by

            Hallo eumats,

            danke für deine Antwort.

            Das Hochsetzten des Timouts habe ich schon probiert, der einzige unter schied ist, dass ich das konvertieren des HK Status in einem eigenen Skript mache, ist das ein Unter schied?

            Hier nochmal meine genaue Ausgangslage:

            Hörmann Gargentor mit Hörmann Modul für Status(offen/geschlossen)

            Homematic 4 Fach Aktor, wo ein Kanal für 1s eingeschaltet wird

            Homematic Schließer Interface, Frägt Status von Hörmann Modul ab (offen/geschlossen)

            Homematic Virtual Taster, kurzer Tastendruck schaltet Kanal am Aktor.

            Zusätlich habe ich 2 Homematic Fernbedienungen mi direkte Verknüpfungen zum Aktor (1s ein aus)

            Ich probiere aber mal dein Skript, mal schauen ob das ein Unterschied ist.

            LG

            1 Reply Last reply Reply Quote 0
            • eumats
              eumats last edited by

              Mein Skript sollte keinen Unterschied bringen. Ich habe es beim Durchgehen nur etwas "optimiert"…

              Was heißt denn Garagentor offen bei Dir? true oder false?

              Welchen Status hat denn der Taster bei 1sec geschlossen? true/false, 0/1

              NACHTRAG:

              Was passiert denn genau beim manuellen Bedienen? Das Tür läuft an und bleibt irgendwann stehen?

              1 Reply Last reply Reply Quote 0
              • juergen2908
                juergen2908 last edited by

                Hi,

                Was heißt denn Garagentor offen bei Dir? true oder false?

                das Schließerinterface gibt bei offen true zurück.

                Welchen Status hat denn der Taster bei 1sec geschlossen? true/false, 0/1

                Das ist eine Virutelle Taste von der ccu, die gilt als gedrückt wenn es auf true gesetzt ist, ohh oder brauche ich da einen virt schalter ein/aus!?

                NACHTRAG:

                Was passiert denn genau beim manuellen Bedienen? Das Tür läuft an und bleibt irgendwann stehen?

                das Tor bleibt stehen.

                lg

                1 Reply Last reply Reply Quote 0
                • eumats
                  eumats last edited by

                  @eumats:

                  "Mein" Skript geht von gewissen Grundvoraussetzungen aus.

                  1. Mein Tor hat nur einen Taster (kurzer Impuls für 1sec) für hoch und runten. D.b. z.B. Tor offen, Tast-Aktor ansteuern -> Tor geht zu, Tast-Aktor erneut an steuern -> Tor stoppt, Tast-Aktor erneut an steuern -> Tor fährt wieder zu, ….

                  2. Wenn der Sensor false zeigt ist das Tor zu, bei true offen

                  Treffen diese Grundvoraussetzungen bei dir aus zu? `
                  Treffen die Aussagen bei Dir auch zu?

                  PS: Ich habe Deine Code in meinem Post noch mal angepasst. Da war ein Fehler drin…

                  1 Reply Last reply Reply Quote 0
                  • juergen2908
                    juergen2908 last edited by

                    Was hast du geändert?

                    Sowie ich das Verstanden habe, ist es bei mir fast gleich, nur das der Datenpunkt beim Virtuellen Taster immer auf True bleibt, vlt ist das das Problem.

                    Geht dein taster von true wieder auf flase?

                    LG

                    Jürgen

                    1 Reply Last reply Reply Quote 0
                    • eumats
                      eumats last edited by

                      @juergen2908:

                      Was hast du geändert? `

                      Bei 2x setState hatte ich die falsche Variable drin…

                      @juergen2908:

                      Sowie ich das Verstanden habe, ist es bei mir fast gleich, nur das der Datenpunkt beim Virtuellen Taster immer auf True bleibt, vlt ist das das Problem.

                      Geht dein taster von true wieder auf flase? `

                      Mein Taster geht nach 1sec wieder auf false… Ich habe aber auch Fibaro Z-Wave Aktoren und kenne mich mit Homematic nicht aus...

                      Aber da im Skript der Status des Taster auf true abgefragt wird, sollte Du ein true/false abbilden..

                      1 Reply Last reply Reply Quote 0
                      • juergen2908
                        juergen2908 last edited by

                        Hi,

                        ok, jetzt habe ich es geschnallt:

                        habe jetzt direkt meinen Aktor eingetragen und wie es aussieht funktioniert es mit HK und mit Fernbedienung.

                        Nur was noch nicht ganz passt ist wenn ich das tor schließe, zeigt HK an Tor wird geschlossen und nach ein paar sek zeigt es wieder geöffnet an. Erst wenn der Tor Sensor geschlossen meldet zeigt HK geschlossen an, sollte nicht die Sanduhr kommen bis tor geschlossen ist ?

                        on({id: "hm-rpc.0.KEQ0595573.4.STATE"/*Tor-OEFFNER.STATE*/, change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("javascript.0.schalteGaragentor_HK"/*schalteGaragentor_HK*/).val === 1) {
                            // Tor geschlossen
                            if (getState("hm-rpc.0.KEQ0595573.4.STATE").val === true) {
                              // Öffne das Tor
                              setState("javascript.0.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 0, true);
                            }
                          } else if (getState("javascript.0.LageGaragentor_HK").val === 0) {
                            // Tor offen
                            if (getState("hm-rpc.0.KEQ0595573.4.STATET").val === true) {
                              // Schließe das Tor
                              setState("javascript.0.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 1, true);
                              // Tor wird geschlossen
                            }
                          }
                        });
                        
                        on({id: 'javascript.0.schalteGaragentor_HK', change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("javascript.0.LageGaragentor_HK").val === 1) {
                            // Tor geschlossen
                            if (getState("javascript.0.schalteGaragentor_HK").val === 0) {
                              // Öffne das Tor
                              setState("hm-rpc.0.BidCoS-RF.8.PRESS_SHORT", true);
                            }
                          } else if (getState("javascript.0.LageGaragentor_HK").val === 0) {
                            // Tor offen
                            if (getState("javascript.0.schalteGaragentor_HK").val === 1) {
                              // Schließe das Tor
                              setState('hm-rpc.0.BidCoS-RF.8.PRESS_SHORT', true);
                            }
                          }
                        });
                        
                        

                        Hier das Video zum Problem: https://www.youtube.com/watch?v=y3mbrshBlsA

                        LG

                        Jürgen

                        1 Reply Last reply Reply Quote 0
                        • eumats
                          eumats last edited by

                          Dann in die einzelnen Bereiche wo etwas gesetzt wird mal mit console.log sinnvolle Ausgaben reinpacken und mal das Log schicken.

                          1 Reply Last reply Reply Quote 0
                          • juergen2908
                            juergen2908 last edited by

                            Hi,

                            javascript.0 2018-03-01 19:12:55.938 warn at Object. (script.js.common.garagehomekit:10:6)

                            javascript.0 2018-03-01 19:12:55.935 warn Wrong type of javascript.0.schalteGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2018-03-01 19:12:55.932 warn at Object. (script.js.common.garagehomekit:9:7)

                            javascript.0 2018-03-01 19:12:55.929 warn Wrong type of javascript.0.LageGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2018-03-01 19:12:34.327 warn at Object. (script.js.common.garage_hk_konvertiert:8:7)

                            javascript.0 2018-03-01 19:12:34.313 warn Wrong type of javascript.0.schalteGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2018-03-01 19:12:17.190 warn at Object. (script.js.common.garagehomekit:14:7)

                            javascript.0 2018-03-01 19:12:17.187 warn Wrong type of javascript.0.LageGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2018-03-01 19:12:17.184 warn at Object. (script.js.common.garagehomekit:13:7)

                            javascript.0 2018-03-01 19:12:17.181 warn Wrong type of javascript.0.schalteGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2018-03-01 19:11:57.424 warn at Object. (script.js.common.garagehomekit:10:6)

                            javascript.0 2018-03-01 19:11:57.421 warn Wrong type of javascript.0.schalteGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2018-03-01 19:11:57.418 warn at Object. (script.js.common.garagehomekit:9:7)

                            javascript.0 2018-03-01 19:11:57.415 warn Wrong type of javascript.0.LageGaragentor_HK: "number". Please fix, while deprecated and will not work in next versions.

                            Kann das die Datenpunkte .LageGaragentor_HK und schalteGaragentor_HK nicht passen ? Ich habe die als Logik definiert?

                            LG

                            1 Reply Last reply Reply Quote 0
                            • eumats
                              eumats last edited by

                              LageGaragentor_HK und schalteGaragentor_HK müssen vom Typ number sein, denn es werden ja 0 und 1 eingetragen. Aber das ist nicht der Grund für das von dir beschriebene Verhalten.

                              1 Reply Last reply Reply Quote 0
                              • juergen2908
                                juergen2908 last edited by

                                Hallo,

                                wollte nur bescheid geben, dass es bei mir jetzt funktioniert.

                                Habe die Datenpunkte auf Numbers umgestellt und noch einen kleinen Fehler im Skript ausgebessert.

                                Werde meine Beschreibung noch hier posten, wenn ich mehr Zeit habe.

                                Danke für die Unterstützung.

                                LG

                                Jürgen

                                1 Reply Last reply Reply Quote 0
                                • R
                                  Rookie3 last edited by

                                  Hallo zusammen,

                                  ich bin neu hier und auf diese Lösung gestoßen.

                                  Das ist genau das was ich bräuchte.

                                  @ Jürgen kannst du bitte dein komplettes Skript einstellen?

                                  Wäre dir sehr dankbar, da ich mich noch nicht so gut auskenne und den Fehler, den du ausgebessert hast nicht finden kann.

                                  Das mit den Datenpunkten habe ich soweit umgesetzt.

                                  Besten Dank und LG

                                  1 Reply Last reply Reply Quote 0
                                  • V
                                    Vossi80 last edited by

                                    Hallo zusammen,

                                    Ich hätte da auch mal eine Frage zum Thema.

                                    Ich schalte mein Garagentorantrieb mit einem Homematic schaltaktor der kurz (1sec) schaltet. Den Zustand des Tores gibt mir ein Homematic fensterkontakt.

                                    Wenn ich im Yahka Adapter den Schalter als Lampe einstelle kann ich das Tor such öffnen und schließen. Schöner wäre es natürlich wenn ich alles als Garagentor konfigurieren könnte aber leider bekomme ich es nicht hin. Ist das überhaupt mit den beiden Geräten (schaltaktor und fensterkontakt) so möglich?

                                    Lg

                                    1 Reply Last reply Reply Quote 0
                                    • eumats
                                      eumats last edited by

                                      Ja, das geht. Wie ist in diesem und in dem "großen" yahka Thread beschrieben…

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        Vossi80 last edited by

                                        Heißt ich muss mit einem Script arbeiten und es geht nicht mit den normalen Einstellungen im Adapter.

                                        1 Reply Last reply Reply Quote 0
                                        • eumats
                                          eumats last edited by

                                          @Vossi80:

                                          Heißt ich muss mit einem Script arbeiten und es geht nicht mit den normalen Einstellungen im Adapter. `
                                          Korrekt. Ist aber alles hier beschrieben…

                                          1 Reply Last reply Reply Quote 0
                                          • V
                                            Vossi80 last edited by

                                            Danke….dann werde ich mich mal da einlesen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            443
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            144
                                            17285
                                            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