Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Yahka Konfiguration für Garagentor mit Licht

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Yahka Konfiguration für Garagentor mit Licht

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
144 Beiträge 11 Kommentatoren 21.9k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • eumatsE Offline
    eumatsE Offline
    eumats
    schrieb am zuletzt editiert von
    #96

    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 Antwort Letzte Antwort
    0
    • V Offline
      V Offline
      Vossi80
      schrieb am zuletzt editiert von
      #97

      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 Antwort Letzte Antwort
      0
      • eumatsE Offline
        eumatsE Offline
        eumats
        schrieb am zuletzt editiert von
        #98

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

        1 Antwort Letzte Antwort
        0
        • eumatsE Offline
          eumatsE Offline
          eumats
          schrieb am zuletzt editiert von
          #99

          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 Antwort Letzte Antwort
          0
          • V Offline
            V Offline
            Vossi80
            schrieb am zuletzt editiert von
            #100

            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 Antwort Letzte Antwort
            0
            • eumatsE Offline
              eumatsE Offline
              eumats
              schrieb am zuletzt editiert von
              #101

              @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 Antwort Letzte Antwort
              0
              • V Offline
                V Offline
                Vossi80
                schrieb am zuletzt editiert von
                #102

                @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 :D

                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 Antwort Letzte Antwort
                0
                • V Offline
                  V Offline
                  Vossi80
                  schrieb am zuletzt editiert von
                  #103

                  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 Antwort Letzte Antwort
                  0
                  • eumatsE Offline
                    eumatsE Offline
                    eumats
                    schrieb am zuletzt editiert von
                    #104

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

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Haciendaloca
                      schrieb am zuletzt editiert von
                      #105

                      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. :o :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 Antwort Letzte Antwort
                      0
                      • eumatsE Offline
                        eumatsE Offline
                        eumats
                        schrieb am zuletzt editiert von
                        #106

                        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 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          Haciendaloca
                          schrieb am zuletzt editiert von
                          #107

                          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 Antwort Letzte Antwort
                          0
                          • H Offline
                            H Offline
                            Haciendaloca
                            schrieb am zuletzt editiert von
                            #108

                            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 Antwort Letzte Antwort
                            0
                            • eumatsE Offline
                              eumatsE Offline
                              eumats
                              schrieb am zuletzt editiert von
                              #109

                              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 Antwort Letzte Antwort
                              0
                              • H Offline
                                H Offline
                                Haciendaloca
                                schrieb am zuletzt editiert von
                                #110

                                und javascript gibt nen Fehler aus

                                16:47:31.920 [error] javascript.0 script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK: script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:15

                                16:47:31.921 [error] javascript.0 at script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:15:32

                                1 Antwort Letzte Antwort
                                0
                                • H Offline
                                  H Offline
                                  Haciendaloca
                                  schrieb am zuletzt editiert von
                                  #111

                                  Der Status ist CLOSED (0) ""

                                  aber du verweist doch hier auch auf das 1. Script

                                  var schalteGaragentor = 'javascript.0.virtualDevices.Garagentor.schalteGaragentor_HK',

                                  LageGaragentor = 'javascript.0.virtualDevices.Garagentor.LageGaragentor_HK',

                                  TimeoutHKSetzen = 5000,

                                  timeout;

                                  1 Antwort Letzte Antwort
                                  0
                                  • H Offline
                                    H Offline
                                    Haciendaloca
                                    schrieb am zuletzt editiert von
                                    #112

                                    Weißt du wo mein Fehler liegt?

                                    1 Antwort Letzte Antwort
                                    0
                                    • eumatsE Offline
                                      eumatsE Offline
                                      eumats
                                      schrieb am zuletzt editiert von
                                      #113

                                      @Haciendaloca:

                                      Weißt du wo mein Fehler liegt? `

                                      Immer mal langsam mit den Pferden. Du musst mir schon etwas Zeit zum Antworten geben. Ich helfe im Rahmen meiner Möglichkeiten gerne, aber etwas Geduld musst Du schon mitbringen.

                                      Wie alle anderen hier auch, habe ich ein Privatleben mit Familie und mache das in meiner begrenzten freien Zeit!

                                      Nun zu Deinem Problem:
                                      @Haciendaloca:

                                      aber du verweist doch hier auch auf das 1. Script

                                      var schalteGaragentor = 'javascript.0.virtualDevices.Garagentor.schalteGaragentor_HK',

                                      LageGaragentor = 'javascript.0.virtualDevices.Garagentor.LageGaragentor_HK',

                                      TimeoutHKSetzen = 5000,

                                      timeout; `
                                      Hier verweise ich nicht auf ein Skript, sondern auf die Datenpunkte die im Skript V1.3 für yahka gefüllt werden.

                                      Am Besten löschst Du mal alles unterhalb von javascript.0.virtualDevices.Garagentor und Startest das V1.3 Skript neu (und das andere Skript kann weg).

                                      Um herauszufinden, was der wirkliche Status deines Sensors ist, bitte mal den folgenden Teil des Skripts wie folgt erweitern und die Log-Ausgabe posten:

                                      ! ````
                                      on({id: Sensor, change: "ne"}, function (obj) {
                                      var value = obj.state.val;
                                      var StatusSensor = value;

                                      // ### NEU ###
                                      console.log('Status Sensor: ###' + StatusSensor + '###');
                                      // ### ENDE NEU ###
                                      
                                      console.log('Manuelle Tor Betätigung (Sensor).');
                                      
                                      ...
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • H Offline
                                        H Offline
                                        Haciendaloca
                                        schrieb am zuletzt editiert von
                                        #114

                                        Hi sorry bin gerade erst wieder nach Hause gekommen:

                                        Hab es jetzt so angepasst:

                                        ! // 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;
                                        ! on({id: Sensor, change: "ne"}, function (obj) {
                                        ! var value = obj.state.val;
                                        ! var StatusSensor = value;
                                        ! // ### NEU ###
                                        ! console.log('Status Sensor: ###' + StatusSensor + '###');
                                        ! // ### ENDE NEU ###
                                        ! console.log('Manuelle Tor Betätigung (Sensor).');
                                        ! });

                                        Unten drunter steht dann folgender Fehler:

                                        23:07:25.347 [error] javascript.0 script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK: script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:15

                                        23:07:25.347 [error] javascript.0 at script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:15:32

                                        Im Log folgendes:

                                        javascript.0 2018-06-02 21:08:30.049 error at ContextifyScript.Script.runInContext (vm.js:35:29)

                                        javascript.0 2018-06-02 21:08:30.048 error at script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:15:32

                                        javascript.0 2018-06-02 21:08:30.047 error ReferenceError: CLOSED is not defined

                                        javascript.0 2018-06-02 21:08:30.047 error ^

                                        javascript.0 2018-06-02 21:08:30.046 error SensorStatusTor_geschlossen = CLOSED; // Status des Aktors wenn das Tor geschlossen ist

                                        javascript.0 2018-06-02 21:08:30.045 error script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK: script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:15

                                        javascript.0 2018-06-02 21:08:30.025 info Start javascript script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK

                                        javascript.0 2018-06-02 21:08:29.001 info Stop script script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK

                                        Im Garagentorsensor steht folgendes - macht es evtl Sinn den anzupassen das die "richtigen" Meldungen an das Script kommen?:

                                        ! {
                                        ! "from": "system.adapter.hm-rega.1",
                                        ! "ts": 1527787596739,
                                        ! "common": {
                                        ! "name": "HMIP-SWDO 0000D7099A6ABD:1.STATE",
                                        ! "def": "CLOSED",
                                        ! "type": "number",
                                        ! "min": "CLOSED",
                                        ! "max": "OPEN",
                                        ! "unit": "",
                                        ! "role": "state",
                                        ! "read": true,
                                        ! "write": false,
                                        ! "states": {
                                        ! "0": "CLOSED",
                                        ! "1": "OPEN"
                                        ! }
                                        ! },
                                        ! "native": {
                                        ! "MIN": "CLOSED",
                                        ! "UNIT": "",
                                        ! "MAX": "OPEN",
                                        ! "ID": "STATE",
                                        ! "TYPE": "ENUM",
                                        ! "DEFAULT": "CLOSED",
                                        ! "CONTROL": "DOOR_SENSOR.STATE",
                                        ! "OPERATIONS": 5,
                                        ! "FLAGS": 1,
                                        ! "TAB_ORDER": 0,
                                        ! "VALUE_LIST": [
                                        ! "CLOSED",
                                        ! "OPEN"
                                        ! ]
                                        ! },
                                        ! "acl": {
                                        ! "object": 1636,
                                        ! "owner": "system.user.admin",
                                        ! "ownerGroup": "system.group.administrator",
                                        ! "state": 1636
                                        ! },
                                        ! "_id": "hm-rpc.2.0000D7099A6ABD.1.STATE",
                                        ! "type": "state"
                                        ! }

                                        1 Antwort Letzte Antwort
                                        0
                                        • eumatsE Offline
                                          eumatsE Offline
                                          eumats
                                          schrieb am zuletzt editiert von
                                          #115

                                          Keine Ahnung was da falsch läuft. Poste mal Dein gesamtes Skript…

                                          Ist das alte Skript wirklich gestoppt?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          655

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe