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.
    • V
      Vossi80 last edited by

      vielen dank erstmal für deine Erklärung. Dann ist es ja kein Wunder das es nicht funktioniert. Wo genau werden denn dann die Datenpunkte in Yahka eingetragen? Ich habe es so verstanden das nur die Scripte eingetragen werden? Die Beschreibung setzt sicher Grundkenntnisse voraus die ich so wie es aussieht (noch) nicht habe. :roll:

      1 Reply Last reply Reply Quote 0
      • T
        Turbo last edited by

        So siehts bei mir aus:

        1850_bildschirmfoto_2018-03-25_um_18.01.13.png

        Wobei ich bei mir den zweiten Unterordner weggelassen habe.

        Diese Datenpunkte müssen in Yahka.

        Im Script sieht es dann so aus:

        ! var timeout;
        ! on({id: 'hm-rpc.0.MEQ18541209.1.STATE', change: "ne"}, function (obj) {
        ! var value = obj.state.val;
        ! var oldValue = obj.oldState.val;
        ! timeout = setTimeout(function () {
        ! if (getState("hm-rpc.0.MEQ18541209.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"/schalteGaragentor_HK/, 1, true);
        ! } else {
        ! // Definiere Tor f¸r HK als offen
        ! setState("javascript.0.LageGaragentor_HK"/LageGaragentor_HK/, 0, true);
        ! setState("javascript.0.schalteGaragentor_HK"/schalteGaragentor_HK/, 0, true);
        ! }
        ! }, 5000);
        ! });

        Im zweiten Script natürlich auch. Das hm-rpc.0 musst Du natürlich für Dich abändern.

        Ich hoffe, Du kannst damit was anfangen…

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

          Es funktioniert!!! Hatte das nicht richtig verstanden mit den Datenpunkten :roll:

          Allerdings wird es obwohl es funktioniert im Log noch rot. Kannst du daraus was lesen?

          2018-03-25 18:35:03.030 - error: javascript.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995703012,"_id":null}
          2018-03-25 18:35:03.041 - error: history.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995703012,"_id":null}
          2018-03-25 18:35:03.035 - error: admin.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995703012,"_id":null}
          2018-03-25 18:35:37.977 - error: admin.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995737973,"_id":null}
          2018-03-25 18:35:37.978 - error: history.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995737973,"_id":null}
          2018-03-25 18:35:37.985 - error: javascript.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995737973,"_id":null}
          2018-03-25 18:39:01.296 - error: admin.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995941292,"_id":null}
          2018-03-25 18:39:01.297 - error: history.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995941292,"_id":null}
          2018-03-25 18:39:01.299 - error: javascript.0 change ID is empty: {"common":{"enabled":1},"from":"system.adapter.javascript.0","ts":1521995941292,"_id":null}
          2018-03-25 18:39:05.650 - error: admin.0 change ID is empty: {"common":{"enabled":0},"from":"system.adapter.javascript.0","ts":1521995945646,"_id":null}
          2018-03-25 18:39:05.651 - error: history.0 change ID is empty: {"common":{"enabled":0},"from":"system.adapter.javascript.0","ts":1521995945646,"_id":null}
          2018-03-25 18:39:05.653 - error: javascript.0 change ID is empty: {"common":{"enabled":0},"from":"system.adapter.javascript.0","ts"
          
          1 Reply Last reply Reply Quote 0
          • T
            Turbo last edited by

            Schau nochmal in den Objekten, ob die Datenpunkte auch geschaltet werden. Die müssen von 0 auf 1 und umgekehrt springen.

            Hast Du die auch als Zahl (number) angelegt?

            1850_bildschirmfoto_2018-03-25_um_19.55.39.png

            Ansonsten kann vielleicht eumats noch was dazu sagen?

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

              @eumats:

              Wobei es nicht ratsam ist die Datenpunkte unter ScriptEnabled abzulegen… `

              Das ist der Grund…

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

                Da das von einige genutzt Skript aus meinen 1. Gehversuchen mit iobroker und HomeKit stammt, war es etwas "verbesserungswürdig". 😄

                Daher gibt es hier nun eine etwas modifizierte Variante. Ich hoffe, dass mir beim Zusammenkopieren keine Fehler unterlaufen sind, denn ich persönlich nutze das Ganze noch mit dem Skript VirtualDevices (https://forum.iobroker.net/viewtopic.php?f=21&t=8192). Aber das würde das hier etwas überfrachten…

                Es werden nun die Datenpunkte zum Steuern beim Start des Skriptes erzeugt (ggf. muss das Skript beim ersten Mal 2x gestartet werden).

                Bei den Variablen "Schalter" und "Sensor" müssen dann die genutzten Aktoren eingefügt werden.

                ! ````
                var Schalter = 'hm-rpc.0.BidCoS-RF.8.PRESS_SHORT',
                Sensor = 'hm-rpc.0.KEQ0905365.1.STATE',
                schalteGaragentor = 'javascript.0.virtualDevices.Garagentor.schalteGaragentor_HK',
                LageGaragentor = 'javascript.0.virtualDevices.Garagentor.LageGaragentor_HK',
                TimeoutHKSetzen = 5000,
                timeout;
                ! createState(LageGaragentor, {
                type: 'number',
                name: 'Lage des Garagentors (HK)',
                min: 0,
                max: 1,
                def: 1,
                role: 'value'
                });
                ! createState(schalteGaragentor, {
                type: 'number',
                name: 'Schalte das Garagentor (HK)',
                min: 0,
                max: 1,
                def: 1,
                role: 'value'
                });
                ! // Folgender Abschnitt sorgt für die korrekte Darstellung in HK beim Schalten
                on({id: Schalter, change: "ne"}, function (obj) {
                var value = obj.state.val,
                oldValue = obj.oldState.val,
                StatusSchalter = value,
                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 value = obj.state.val,
                oldValue = obj.oldState.val;

                var StatusLageGaragentor = value,
                	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);
                    }
                }
                

                });

                ! // Bei einer manuellen Öffnen/Schließen des Garagentors, muss die Anzeige in Homekit wieder korrekt gesetzt werden.
                on({id: Sensor, change: "ne"}, function (obj) {
                var value = obj.state.val,
                oldValue = obj.oldState.val,
                StatusSensor = value;

                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
                • V
                  Vossi80 last edited by

                  Hey eumats,

                  danke für dein Script. Hab es mal probiert und die beiden Datenpunkte wurden auch erstellt. Diese habe ich in Yahka auch eingetragen doch leider öffnet das Tor auch nicht. Liegt der Fehler bei mir? Im Log ist nichts zu finden doch die Datenpunkte zeigen beide 1 an was ja denke ich nicht richtig ist
                  6387_bildschirmfoto_2018-03-27_um_19.56.24.png

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

                    @eumats:

                    Bei den Variablen "Schalter" und "Sensor" müssen dann die genutzten Aktoren eingefügt werden. `

                    Hast Du das gemacht?

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

                      Klar, hab ich geändert

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

                        @Vossi80:

                        Klar, hab ich geändert `

                        Ändern sich hier die Zustände? Also true/false?

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

                          Meinst du die Zustände von den Sensor/Aktor ??

                          Nein die ändern sich nicht wenn ich über hk schalte. Oder hab ich Deine Frage nicht richtig verstanden

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

                            @Vossi80:

                            Meinst du die Zustände von den Sensor/Aktor ??

                            Nein die ändern sich nicht wenn ich über hk schalte. Oder hab ich Deine Frage nicht richtig verstanden `
                            Genau die meine ich. Was passiert denn, wenn die den Schaltaktor zum Öffnen/Schließen manuell in iobroker auf true setzt? Bewegt sich dann das Garagentor?

                            Poste mal bitte einen Screenshot Deiner yahka Konfiguration.

                            NACHTRAG:

                            "Mein" Skript geht von gewissen Grundvoraussetzungen aus. Treffen die bei Dir auch zu?

                            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

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

                              @eumats:

                              @Vossi80:

                              Meinst du die Zustände von den Sensor/Aktor ??

                              Nein die ändern sich nicht wenn ich über hk schalte. Oder hab ich Deine Frage nicht richtig verstanden `
                              Genau die meine ich. Was passiert denn, wenn die den Schaltaktor zum Öffnen/Schließen manuell in iobroker auf true setzt? Bewegt sich dann das Garagentor?

                              Poste mal bitte einen Screenshot Deiner yahka Konfiguration.

                              NACHTRAG:

                              "Mein" Skript geht von gewissen Grundvoraussetzungen aus. Treffen die bei Dir auch zu?

                              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 `

                              Also hab jetzt folgende Unstimmigkeiten entdeckt …

                              Mein Tor zeigt im geschlossenen Zustand "true" und nicht wie bei dir "false" (Kann ich das ändern?)

                              Gebe ich im iobroker beim Aktor true ein, fährt das Tor...

                              Lg

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

                                Ich möchte Dir schon gerne helfen. Ich finde es aber etwas bescheiden, wenn ich Fragen zur Fehlereingrenzung stelle und Du auf diese einfach nicht antwortest bzw. sie ignorierst.

                                <u>Also:</u>

                                1. Poste mal bitte einen Screenshot Deiner yahka Konfiguration.

                                2. "Mein" Skript geht von gewissen Grundvoraussetzungen aus. Treffen die bei Dir auch zu?

                                • Mein Tor hat nur einen Taster (kurzer Impuls für 1sec) für hoch und runter. (true für 1sec, danach wieder false)

                                • 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, ….

                                <u>Skript V1.1</u>

                                Ich habe das Skript noch mal aktualisiert. Der Sensor-Status bei Tor geschlossen ist nun per Variable einstellbar. Also in Deinem Falle Vossi80 musst Du SensorStatusTor_geschlossen = true setzen.

                                ! ````
                                // Skript zum Steuern eines Garagentores mit Homekit und per Taster
                                //
                                // Voraussetzung:
                                // Das Tor hat nur einen Taster (kurzer Impuls für 1sec) für hoch und runten. (true für 1sec, danach wieder false)
                                // 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, …
                                //
                                // ChangeLog:
                                // V1.1 (28.03.2018): Status des Sensors bei Garagentor geschlossen kann nun per Variable definiert werden.
                                ! //Die folgenden Variablen müssen an die eigene Umgebung angepasst werden.
                                var Schalter = 'hm-rpc.0.BidCoS-RF.8.PRESS_SHORT',
                                Sensor = 'hm-rpc.0.KEQ0905365.1.STATE',
                                SensorStatusTor_geschlossen = false; // Status des Aktors wenn das Tor geschlossen ist
                                ///

                                var schalteGaragentor = 'javascript.0.virtualDevices.Garagentor.schalteGaragentor_HK',
                                LageGaragentor = 'javascript.0.virtualDevices.Garagentor.LageGaragentor_HK',
                                TimeoutHKSetzen = 5000,
                                timeout;

                                ! createState(LageGaragentor, {
                                type: 'number',
                                name: 'Lage des Garagentors (HK)',
                                min: 0,
                                max: 1,
                                def: 1,
                                role: 'value'
                                });
                                ! createState(schalteGaragentor, {
                                type: 'number',
                                name: 'Schalte das Garagentor (HK)',
                                min: 0,
                                max: 1,
                                def: 1,
                                role: 'value'
                                });
                                ! // Folgender Abschnitt sorgt für die korrekte Darstellung in HK beim Schalten
                                on({id: Schalter, change: "ne"}, function (obj) {
                                var value = obj.state.val;

                                var StatusSchalter = value,
                                	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 value = obj.state.val;

                                var StatusLageGaragentor = value,
                                	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);
                                    }
                                }
                                

                                });

                                ! // Bei einer manuellen Öffnen/Schließen des Garagentors, muss die Anzeige in Homekit wieder korrekt gesetzt werden.
                                on({id: Sensor, change: "ne"}, function (obj) {
                                var value = obj.state.val;

                                var StatusSensor = value;
                                
                                timeout = setTimeout(function () {
                                    if (StatusSensor === SensorStatusTor_geschlossen) {
                                        // 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
                                • V
                                  Vossi80 last edited by

                                  Hey eumats…. sorry wenn ich was übersehen habe, selbstverständlich bin ich dankbar für deine Hilfe.

                                  Zu 1:

                                  6387_bildschirmfoto_2018-03-28_um_21.05.53.png

                                  Zu 2.

                                  Deine Voraussetzungen treffen eigentlich zu. Auch mein Taster gibt kurzen Impuls (schaltet 1 sec auf true) und Tor bewegt sich. Das einzige was nicht zutrifft ist das Verhalten beim Drücken des Taster. Bei mir siehts so aus:

                                  1x drücken…Tor fährt hoch

                                  nochmal drücken Tor stoppt....

                                  nochmal drücken Tor fährt "wieder runter"

                                  glaub aber nicht das das was zu sagen hat oder?

                                  Habe dein neues Script jetzt verwendet und die Variable für mich geändert, doch leider kein Erfolg 😞

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

                                    @Vossi80:

                                    Das einzige was nicht zutrifft ist das Verhalten beim Drücken des Taster. Bei mir siehts so aus:

                                    1x drücken…Tor fährt hoch

                                    nochmal drücken Tor stoppt....

                                    nochmal drücken Tor fährt "wieder runter"

                                    glaub aber nicht das das was zu sagen hat oder? `
                                    Öhm. Das von Dir beschriebene Verhalten entspricht doch 1zu1 meiner Beschreibung, oder?!

                                    Geht Dein Taster nach der 1sec auch wieder auf false?

                                    Wenn Du das Tor per Taster hochfährst zeigt dann HomeKit geöffnet? Bzw. zeigt HomeKit geschlossen bei Tor zu?

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

                                      @eumats:

                                      @Vossi80:

                                      Das einzige was nicht zutrifft ist das Verhalten beim Drücken des Taster. Bei mir siehts so aus:

                                      1x drücken…Tor fährt hoch

                                      nochmal drücken Tor stoppt....

                                      nochmal drücken Tor fährt "wieder runter"

                                      glaub aber nicht das das was zu sagen hat oder? `
                                      Öhm. Das von Dir beschriebene Verhalten entspricht doch 1zu1 meiner Beschreibung, oder?!

                                      Geht Dein Taster nach der 1sec auch wieder auf false?

                                      Wenn Du das Tor per Taster hochfährst zeigt dann HomeKit geöffnet? Bzw. zeigt HomeKit geschlossen bei Tor zu? `

                                      Bei mir fährt es nach dem stoppen in die andere Richtung und bei dir fährt es nach dem stoppen weiter oder hab ich das falsch gelesen??

                                      In HK tut sich nichts wenn ich das Tor manuel fahre auch bleibt bei den Datenpunkten immer die 1 dahinter…
                                      6387_bildschirmfoto_2018-03-28_um_21.48.55.png

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

                                        @eumats:

                                        Geht Dein Taster nach der 1sec auch wieder auf false? `
                                        ?

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

                                          @eumats:

                                          @eumats:

                                          Geht Dein Taster nach der 1sec auch wieder auf false? ?

                                          Mist… ich glaube da liegt der Fehler.... also wenn ich drücke ändert sich da nichts allerdings kann ich das wie auf den Foto auch nicht sehen....
                                          6387_bildschirmfoto_2018-03-28_um_22.05.10.png

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

                                            @Vossi80:

                                            In HK tut sich nichts wenn ich das Tor manuel fahre auch bleibt bei den Datenpunkten immer die 1 dahinter… `
                                            Irgendetwas scheint da generell faul zu sein. Ich habe in mein Skript mal Log Ausgaben eingefügt. Bitte mal die Log-Ausgaben posten.

                                            ! ````
                                            // Skript zum Steuern eines Garagentores mit Homekit und per Taster
                                            //
                                            // Voraussetzung:
                                            // Das Tor hat nur einen Taster (kurzer Impuls für 1sec) für hoch und runten. (true für 1sec, danach wieder false)
                                            // 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, …
                                            //
                                            // ChangeLog:
                                            // V1.1 (28.03.2018): Status des Sensors bei Garagentor geschlossen kann nun per Variable definiert werden.
                                            ! //Die folgenden Variablen müssen an die eigene Umgebung angepasst werden.
                                            var Schalter = 'hm-rpc.0.BidCoS-RF.8.PRESS_SHORT',
                                            Sensor = 'hm-rpc.0.KEQ0905365.1.STATE',
                                            SensorStatusTor_geschlossen = false; // Status des Aktors wenn das Tor geschlossen ist
                                            ///

                                            var schalteGaragentor = 'javascript.0.virtualDevices.Garagentor.schalteGaragentor_HK',
                                            LageGaragentor = 'javascript.0.virtualDevices.Garagentor.LageGaragentor_HK',
                                            TimeoutHKSetzen = 5000,
                                            timeout;

                                            ! createState(LageGaragentor, {
                                            type: 'number',
                                            name: 'Lage des Garagentors (HK)',
                                            min: 0,
                                            max: 1,
                                            def: 1,
                                            role: 'value'
                                            });
                                            ! createState(schalteGaragentor, {
                                            type: 'number',
                                            name: 'Schalte das Garagentor (HK)',
                                            min: 0,
                                            max: 1,
                                            def: 1,
                                            role: 'value'
                                            });
                                            ! // Folgender Abschnitt sorgt für die korrekte Darstellung in HK beim Schalten
                                            on({id: Schalter, change: "ne"}, function (obj) {
                                            var value = obj.state.val;

                                            var StatusSchalter = value,
                                            	StatusSchalteGaragentor = getState(schalteGaragentor).val;
                                            
                                            console.log('Taster wurde betätigt.');
                                            
                                            if (StatusSchalteGaragentor === 1) {
                                                // Tor geschlossen
                                                if (StatusSchalter === true) {
                                                    // Öffne das Tor
                                                    console.log('Taster wurde betätigt: Setze HK auf "wird geöffnet..."');
                                                    setState(schalteGaragentor , 0);
                                                }
                                            } else if (StatusSchalteGaragentor === 0) {
                                                // Tor offen
                                                if (StatusSchalter === true) {
                                                    // Schließe das Tor
                                                    console.log('Taster wurde betätigt: Setze HK auf "wird geschlossen..."');
                                                    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 value = obj.state.val;
                                            var StatusLageGaragentor = value,
                                            StatusSchalteGaragentor = getState(schalteGaragentor).val;

                                            console.log('schalteGaragentor (HK)');
                                            
                                            if (StatusLageGaragentor === 1) {
                                                // Tor geschlossen
                                                if (StatusSchalteGaragentor === 0) {
                                                    // Öffne das Tor
                                                    console.log('schalteGaragentor (HK): Tor wird geöffnet');
                                                    setState(Schalter, true);
                                                }
                                            } else if (StatusLageGaragentor === 0) {
                                                // Tor offen
                                                if (StatusSchalteGaragentor === 1) {
                                                    // Schließe das Tor
                                                    console.log('schalteGaragentor (HK): Tor wird geschlossen');
                                                    setState(Schalter, true);
                                                }
                                            }
                                            

                                            });

                                            ! // Bei einer manuellen Öffnen/Schließen des Garagentors, muss die Anzeige in Homekit wieder korrekt gesetzt werden.
                                            on({id: Sensor, change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var StatusSensor = value;

                                            console.log('Manuelle Tor Betätigung (Sensor).');
                                            
                                            timeout = setTimeout(function () {
                                                if (StatusSensor === SensorStatusTor_geschlossen) {
                                                    console.log('Manuelle Tor Betätigung (Sensor): Setze Tor in HK als geschlossen.');
                                                    // Definiere Tor für HK als geschlossen
                                            	    setState(LageGaragentor, 1);
                                            	    setState(schalteGaragentor, 1);
                                                } else {
                                            	    console.log('Manuelle Tor Betätigung (Sensor): Setze Tor in HK als offen.');
                                            	    // Definiere Tor für HK als offen
                                                    setState(LageGaragentor, 0);
                                                    setState(schalteGaragentor, 0);
                                                }
                                            }, TimeoutHKSetzen);
                                            

                                            });

                                            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

                                            786
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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