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

      Na dann musst du es ja nur noch hinbekommen, das dein Taster true/false anzeigt…

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

        Ok wenn ich das richtig verstehe benötige ich ein Taster dir dauerhaft auf false steht und nur beim drücken kurz auf true und dann direkt wieder auf false. Das macht mein Homematictaster leider nicht. Der Aktor der zum schalten des Tores verbaut ist steht dauerhaft auf false und brauch auch nur den kurzen Impuls mit true. Habe dann im Script bei Schalter direkt den Aktor eingetragen jedoch auch ohne Erfolg. Dann habe ich ein Xiaomi Taster der auch dauerhaft auf false steht und beim druck kurz auf true geht genau wie es sein soll genommen. Hab ihn mit dem Garagenaktor per Script verknüpft und das Tor reagiert auch wie gewollt auf den Schalter. Schalter ID im Script eingetragen und mit HK versucht doch wieder tut sich nichts 😞

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

          Was steht im Log?

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

            Leider garnichts wenn ich mit HK öffne. Nur manuell schreibt er …..

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

              Komisch. Dann nimm dich mal das Blocky und fügen anstelle des Sensors deinen Taster ein und passe den Text im Debug etwas an…

              Dann 2-3x den Taster drücken und Log posten...

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

                @Vossi80:

                Leider garnichts wenn ich mit HK öffne. Nur manuell schreibt er ….. `

                Grade nochmal probiert, warum auch immer schreibt er jetzt beim betätigen durch HK folgendes im Log….
                6387_bildschirmfoto_2018-03-30_um_22.14.40.png

                bei deinem Blocky hab ich mal den Aktor am Garagentor eingetragen, da kommt folgender Log…

                6387_bildschirmfoto_2018-03-30_um_22.18.27.png

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

                  Die Log Ausgaben "Taster wurde betätigt.", "Taster wurde betätigt: Setze HK auf "wird geöffnet…" und "Taster wurde betätigt: Setze HK auf "wird geschlossen..." sollten mit Deinen Xiaomi Taster auch im Log zu finden sein. Korrekt?

                  Ich habe das Skript mal um zzgl. Log-Ausgaben erweitert...

                  ! ````
                  // 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.
                  // V1.2 (30.03.2018): zzgl. Log-Ausgaben eingebaut
                  ! //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)');
                  console.log('StatusLageGaragentor = ' + StatusLageGaragentor);
                  console.log('StatusSchalteGaragentor = ' + StatusSchalteGaragentor);
                  
                  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
                  • V
                    Vossi80 last edited by

                    Hier das Log mit deinem neuen Script wenn ich den Xiaomi Taster manuell betätige(Tor reagiert auch wie gewünscht und zeigt im HK auch richtigen Zustand an)

                    undefined2018-03-31 09:27:29.037 - info: javascript.0 script.js.Intern.GarageHK: Taster wurde betätigt.
                    2018-03-31 09:27:29.038 - info: javascript.0 script.js.Intern.GarageHK: Taster wurde betätigt: Setze HK auf "wird geöffnet..."
                    2018-03-31 09:27:29.045 - info: javascript.0 script.js.Intern.GarageHK: schalteGaragentor (HK)
                    2018-03-31 09:27:29.046 - info: javascript.0 script.js.Intern.GarageHK: StatusLageGaragentor = 0
                    2018-03-31 09:27:29.047 - info: javascript.0 script.js.Intern.GarageHK: StatusSchalteGaragentor = 0
                    2018-03-31 09:27:29.335 - info: javascript.0 script.js.Intern.GarageHK: Taster wurde betätigt.
                    2018-03-31 09:27:31.310 - info: javascript.0 script.js.Intern.GarageHK: Manuelle Tor Betätigung (Sensor).
                    2018-03-31 09:27:36.312 - info: javascript.0 script.js.Intern.GarageHK: Manuelle Tor Betätigung (Sensor): Setze Tor in HK als offen.
                    

                    Hier der Log wenn ich über HK steuern will, 4x dedrückt(Tor reagiert nicht, im HK wird der Zustand angezeigt als ob sich Tor öffnet)

                    undefined2018-03-31 09:31:50.573 - info: javascript.0 script.js.Intern.GarageHK: schalteGaragentor (HK)
                    2018-03-31 09:31:50.574 - info: javascript.0 script.js.Intern.GarageHK: StatusLageGaragentor = 1
                    2018-03-31 09:31:50.574 - info: javascript.0 script.js.Intern.GarageHK: StatusSchalteGaragentor = 1
                    2018-03-31 09:32:09.728 - info: javascript.0 script.js.Intern.GarageHK: schalteGaragentor (HK)
                    2018-03-31 09:32:09.729 - info: javascript.0 script.js.Intern.GarageHK: StatusLageGaragentor = 0
                    2018-03-31 09:32:09.730 - info: javascript.0 script.js.Intern.GarageHK: StatusSchalteGaragentor = 0
                    2018-03-31 09:32:22.542 - info: javascript.0 script.js.Intern.GarageHK: schalteGaragentor (HK)
                    2018-03-31 09:32:22.543 - info: javascript.0 script.js.Intern.GarageHK: StatusLageGaragentor = 1
                    2018-03-31 09:32:22.543 - info: javascript.0 script.js.Intern.GarageHK: StatusSchalteGaragentor = 1
                    2018-03-31 09:32:32.031 - info: javascript.0 script.js.Intern.GarageHK: schalteGaragentor (HK)
                    2018-03-31 09:32:32.032 - info: javascript.0 script.js.Intern.GarageHK: StatusLageGaragentor = 0
                    2018-03-31 09:32:32.032 - info: javascript.0 script.js.Intern.GarageHK: StatusSchalteGaragentor = 0
                    

                    Hoffe das reicht dir so um was raus lesen zu können

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

                      Ist ein Fehler in meinem Skript. Ich schauen es mir mal an…

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

                        Hier nun eine funktionierende Version des Skripts…

                        Wenn es funktioniert, kannst Du die "console.log" Zeilen auskommentieren oder löschen.

                        <u>V1.3 (aktuelle Version) des Skripts:</u>

                        ! ````
                        // 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.3 (01.04.2018): Fehlerkorrekturen
                        // V1.2 (30.03.2018): zzgl. Log-Ausgaben eingebaut
                        // 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 = 'zwave.0.NODE4.SWITCH_BINARY.Switch_1',
                        Sensor = 'zwave.0.NODE2.SENSOR_BINARY.Sensor_1',
                        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,
                        	StatusLageGaragentor = getState(LageGaragentor).val;
                        
                        console.log('Taster wurde betätigt.');
                        
                        if (StatusLageGaragentor === 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 (StatusLageGaragentor === 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 = getState(LageGaragentor).val,
                        StatusSchalteGaragentor = value;

                        console.log('schalteGaragentor (HK)');
                        console.log('StatusLageGaragentor = ' + StatusLageGaragentor);
                        console.log('StatusSchalteGaragentor = ' + StatusSchalteGaragentor);
                        
                        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
                        • V
                          Vossi80 last edited by

                          Super danke….kann es morgen leider erst probieren da ich nicht zuhause bin.

                          Sag mal , was muss ich denn machen wenn ich ein 2. Tor auf diese Art einbinden will oder wäre das so einfach nicht möglich?

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

                            @Vossi80:

                            Super danke….kann es morgen leider erst probieren da ich nicht zuhause bin.

                            Sag mal , was muss ich denn machen wenn ich ein 2. Tor auf diese Art einbinden will oder wäre das so einfach nicht möglich? `

                            Skript kopieren, umbenennen, Sensor und Aktor von Tor 2 eintragen, fertig…

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

                              @eumats:

                              @Vossi80:

                              Super danke….kann es morgen leider erst probieren da ich nicht zuhause bin.

                              Sag mal , was muss ich denn machen wenn ich ein 2. Tor auf diese Art einbinden will oder wäre das so einfach nicht möglich? `

                              Skript kopieren, umbenennen, Sensor und Aktor von Tor 2 eintragen, fertig… `

                              Also erstmal Herzlichen Dank für deine Mühe und Geduld, das Tor lässt sich jetzt wie gewollt mit deinem überarbeiteten Script steuern 😄

                              Tor 2 läuft leider noch nicht, nachdem ich wie von dir empfohlen Script kopiert, unbenannt und Sensoren eingetragen habe fährt es zwar auf und zu allerdings das andere Tor auch parallel :lol:

                              Ich denke ich müsste dann auch 2 neue Datenpunkte haben die ich dann in den HK eintrage oder?

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

                                Hab es selber hinbekommen. Hab im Script auf "javascript.0.virtualDevices.Garagentor.schalteGaragentor2_HK" geändert dann die 2 neuen Datenpunkte beim 2. Tor eingetragen und jetzt läuft es….

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

                                  Stimmt. Die Datenpunkte solle man auch ändern… <emoji seq="1f92a">🤪</emoji>

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Haciendaloca last edited by

                                    Hallo, ich würde mich gerne hier mal mit einklinken.

                                    Ich nutze den HMIP-PCBS zur Schaltung des Garagentorantriebs Promatic 3 (welcher die besagten Stellungen kennt Taste drücken geht auf, Taste drücken Stoppt, Taste drücken geht wieder zu). Virtuelle Taste bzw. Programm ist angelegt das der Schaltaktor für 0,5 Sekunden einen Impuls bekommt und nach 3 Sekunden wieder abschaltet.

                                    Zusätzlich nutze ich einen TFK zur Meldung ob das Garagentor zu oder offen ist - HMIP-SWDO

                                    Mit Yahka kann ich das Garagentor mit Homekit zwar steuern (als Schalter) aber der echte Status wird mir so nicht angezeigt. Ich drücke den Schalter im Homekit und das Garagentor bewegt sich. Der echte Status ob offen oder geschlossen wird nicht übermittelt.

                                    Habe dann dank eures Threads mir die Datenpunkte gesetzt das Javascript (hier aus dem Thread - Version 1.3) erstellt - meine Adapter hinterlegt. Das in Yahka hinterlegt usw. Ich wollte damit anfangen das der richtige Torstatus über den TFK an Homekit übermittelt wird (was ja Grundvorraussetzung für die Schaltung ist) . Nach eurem Scripten sollte der TFK eigentlich true or false melden bei mir steht OPEN and CLOSED. Dadurch kommt das Teil wohl etwas durcheinander der TFK Status meldet CLOSED in Homekit steht das Garagentor würde aufgehen. Und genauso umgekehrt bei OPEN sagt er das Garagentor schließt bzw. ist geschlossen. 😮 :idea:

                                    Habe mir schon nen Wolf gebastelt bei dem Sensor das der true / false zurückmeldet - hat nicht geklappt - aber 1 oder 0 hatte ich hinbekommen. Das hatte ich auch mal ins Javascript eingebaut. Kurzfassung hat alles nicht funktioniert. Hatte auch mal im Javascript OPEN / CLOSED probiert - das hat auch nicht geklappt. :shock: :? :?:

                                    Habe jetzt alle meine Änderungen wieder zurückgesetzt und stehe jetzt wieder jungfräulich da. Habt ihr eine Idee oder evtl. noch ein funktionierendes Script das den Status meldet nach Homekit und das ich bei Siri sagen kann öffne das Garagentor und schließe das Garagentor?

                                    Wäre über jede Hilfe wirklich sehr dankbar!!!!

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

                                      Du musst einfach nur die Zeile

                                      SensorStatusTor_geschlossen = false; // Status des Aktors wenn das Tor geschlossen ist
                                      

                                      im Skript V1.3 durch

                                      SensorStatusTor_geschlossen = CLOSED; // Status des Aktors wenn das Tor geschlossen ist
                                      

                                      ersetzen. Dann sollte es gehen

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Haciendaloca last edited by

                                        Das hatte ich auch schon mal probiert meine ich. Aber ich versuche mein Glück heute Abend nochmal und werde berichten.

                                        Gerade weil die Steuerung über Homekit auch noch nicht funktioniert hatte. Habe das auf meinen virtuellen Taster verlinkt der nach 3 Sekunden den Aktor auf aus setzt.

                                        Aber erst mal den richtigen Status im Homekit hinkriegen dann sehen wir weiter!

                                        Vielen Dank schon mal!

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Haciendaloca last edited by

                                          Also das Problem besteht weiterhin - der Adapter steht auf Closed - Homekit zeigt geöffnet an.

                                          Öffnen oder Schließen lässt sich über Homekit leider auch nicht.

                                          Hier mal meine Dateien:

                                          javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK

                                          ! var timeout;
                                          ! on({id: 'HMIP-SWDO 0000D7099A6ABD:1.STATE', change: "ne"}, function (obj) {
                                          ! var value = obj.state.val;
                                          ! var oldValue = obj.oldState.val;
                                          ! timeout = setTimeout(function () {
                                          ! if (getState("HMIP-SWDO 0000D7099A6ABD:1.STATE").val === CLOSED) {
                                          ! // 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);
                                          ! });

                                          javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK

                                          ! // 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.3 (01.04.2018): Fehlerkorrekturen
                                          ! // V1.2 (30.03.2018): zzgl. Log-Ausgaben eingebaut
                                          ! // 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 = 'HmIP-PCBS 0004570993E67E:3.STATE',
                                          ! Sensor = 'HMIP-SWDO 0000D7099A6ABD:1.STATE',
                                          ! SensorStatusTor_geschlossen = CLOSED; // 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,
                                          ! StatusLageGaragentor = getState(LageGaragentor).val;
                                          ! console.log('Taster wurde betätigt.');
                                          ! if (StatusLageGaragentor === 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 (StatusLageGaragentor === 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 = getState(LageGaragentor).val,
                                          ! StatusSchalteGaragentor = value;
                                          ! console.log('schalteGaragentor (HK)');
                                          ! console.log('StatusLageGaragentor = ' + StatusLageGaragentor);
                                          ! console.log('StatusSchalteGaragentor = ' + StatusSchalteGaragentor);
                                          ! 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);
                                          ! });

                                          Sensor

                                          ~~![](</s><URL url=)http://up.picr.de/32854139jy.jpg" />

                                          Schalter

                                          ![](</s><URL url=)http://up.picr.de/32854140zh.jpg" />~~

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

                                            Heißt der Status Closed oder CLOSED?

                                            Das erste Skript darf nicht laufen, sondern nur das 2. Das erste war eine frühe Version und die V1.3 ist die Dose etwas ausgefeiltere.

                                            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

                                            806
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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