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.
    • H
      Haciendaloca last edited by

      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 Reply Last reply Reply Quote 0
      • H
        Haciendaloca last edited by

        Weißt du wo mein Fehler liegt?

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

          @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 Reply Last reply Reply Quote 0
          • H
            Haciendaloca last edited by

            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 Reply Last reply Reply Quote 0
            • eumats
              eumats last edited by

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

              Ist das alte Skript wirklich gestoppt?

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

                Das alte Skript LageGaragentor habe ich gelöscht und nur noch dein 1.3 Skript aktiv.

                Das hier ist die Versionen die aktuell läuft und irgendwie mit dem Status des Tores nicht zurecht kommt. Habe wie von dir gesagt alles gelöscht und deinen Text eingefügt.

                ! // 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',
                ! });
                ! 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).');

                Mein Ansatz wäre erst mal den Status des Tors in den Griff zu kriegen um dann halt sich mit der Öffnung und Schließung zu befassen.

                Könnten wir nicht den Status des TFK anpassen das der für das Skript lesbare "richtige" Status übermittelt wird?

                ! {
                ! "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 Reply Last reply Reply Quote 0
                • eumats
                  eumats last edited by

                  @Haciendaloca:

                  Das alte Skript LageGaragentor habe ich gelöscht und nur noch dein 1.3 Skript aktiv.

                  Das hier ist die Versionen die aktuell läuft und irgendwie mit dem Status des Tores nicht zurecht kommt. Habe wie von dir gesagt alles gelöscht und deinen Text eingefügt. `

                  Da hast Du mich nicht richtig verstanden. Du sollte nur die eine Zeile die mit NEU gekennzeichnet ist an der von mir beschriebenen Position einfügen. Nicht alles löschen…

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

                    Jetzt stehe ich total am Schlauch? Welche Zeile meinst du da genau - ich finde das Wort NEU gar nicht im Skript?

                    Wärst du so lieb und würdest mir das kurz zusammenschneiden vom Skript her was du da meinst?

                    Das hier war ja dein 1.3 Skript

                    ! // 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);
                    ! });

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

                      Ok. Dann bereite ich mal alles mundgerecht auf….

                      Bitte alle Versionen des Skriptes stoppen, löschen und die folgende Version neu einfügen und starten.

                      Dann bitte das Tor einmal öffnen und wieder schließen und die LOG-Ausgaben posten.

                      Zzgl. bitte die yahka Konfiguration des Garagentors posten. Die dort eingetragenen Datenpunkte müssen lesbar sein...

                      // 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('Status Sensor: ###' + StatusSensor + '###'); // 04.06.2018: Log-Ausgaben hinzugefügt.
                          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);
                      });
                      

                      MOD EDIT: 10.01.2022 Script erneut in Code Tags gepackt da Formatierung defekt

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

                        OK vielen vielen Dank dafür!

                        Ich benenne die Adapter dann nur noch um auf meine und füge den Rest so ein. Mal sehen was passiert 🙂 Freu!

                        Hab heute leider meinen Laptop vergessen, daher aktuell nur übers Handy Zugriff. Da gestaltet sich sowas immer schwierig.

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

                          Also schalten ließ es sich nicht mit Homekit, habe es dann mal mit Homematic angestossen. Da geht das Tor zu aber die Meldung wird nicht ins Homekit übernommen. Irgendwie sehe ich den Wald vor lauter Bäumen nicht. :roll:

                          Im Yahka ist folgendes eingetragen - Garage Door Opener Konfiguration:

                          CurrentDoorState mein Datenpunkt

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

                          TargetDoorState

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

                          Objektübersicht

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

                          Homekit am Iphone:

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

                          Das Script gibt gar keinen Log mehr aus

                          Log Datei

                          ! javascript.0 2018-06-04 15:43:19.927 info script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK: registered 3 subscriptions and 0 schedules
                          ! javascript.0 2018-06-04 15:43:19.915 info Start javascript script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK
                          ! javascript.0 2018-06-04 15:43:18.884 info Stop script script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK
                          ! yahka.0 2018-06-04 15:43:05.680 info adding Garage with UUID: 49a7c3bb-310e-48fb-bc28-a290d7aa6e29
                          ! yahka.0 2018-06-04 15:43:05.662 info adding Steckdose Wohnzimmer Lampe with UUID: 32d3b638-53fa-45bc-a087-f6233a6d8be2
                          ! yahka.0 2018-06-04 15:43:05.637 info adapter ready, checking config
                          ! yahka.0 2018-06-04 15:43:05.612 info starting. Version 0.7.1 in /opt/iobroker/node_modules/iobroker.yahka, node: v6.13.0
                          ! host.raspberrypi 2018-06-04 15:43:03.610 info instance system.adapter.yahka.0 started with pid 10009
                          ! host.raspberrypi 2018-06-04 15:43:03.592 info object change system.adapter.yahka.0
                          ! hm-rpc.2 2018-06-04 15:43:03.348 info new HmIP devices/channels after filter: 0
                          ! hm-rpc.2 2018-06-04 15:43:03.336 info xmlrpc <- newDevices 46
                          ! hm-rpc.2 2018-06-04 15:43:02.842 info xmlrpc -> 0 devices
                          ! hm-rpc.2 2018-06-04 15:43:02.822 info xmlrpc <- listDevices ["hm-rpc.2"]
                          ! host.raspberrypi 2018-06-04 15:43:01.270 info instance system.adapter.yahka.0 terminated with code 0 (OK)~~~~~~~~

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

                            Du musst schon in yahka die Datenpunkte einbinden die im Skript v1.3 stehen.

                            Also alles was unter virtualDevice.Garagentor steht…

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

                              OK ich hab jetzt die Virtual Devices Garagentor Datenpunkte in Yahka eingebunden.

                              Allerdings kommt jetzt im LOG folgendes:

                              Caught 2018-06-04 20:04:22.989 error by controller[21]: Mon, 04 Jun 2018 20:04:22 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":false,"ack":true,"from":"system.adapter.yah
                              
                              Caught 2018-06-04 20:04:22.989 error by controller[20]: Mon, 04 Jun 2018 20:04:22 GMT socket.io-client:socket emitting packet with ack id 49
                              
                              Caught 2018-06-04 20:04:22.989 error by controller[19]: Mon, 04 Jun 2018 20:04:22 GMT socket.io-client:socket calling ack 48 with [null,"system.adapter.yahka.0.alive"]
                              
                              Caught 2018-06-04 20:04:22.989 error by controller[18]: Mon, 04 Jun 2018 20:04:22 GMT engine.io-client:socket socket receive: type "message", data "348[null,"system.adapter.yahka.0.alive"]"
                              
                              Caught 2018-06-04 20:04:22.988 error by controller[17]: Mon, 04 Jun 2018 20:04:22 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.988 error by controller[16]: Mon, 04 Jun 2018 20:04:22 GMT socket.io-client:manager writing packet {"type":2,"data":["pushLog","system.adapter.admin.0",{"message":"yahka.0 cleaned everything up…","severity":
                              
                              Caught 2018-06-04 20:04:22.988 error by controller[15]: Mon, 04 Jun 2018 20:04:22 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.988 error by controller[15]: Mon, 04 Jun 2018 20:04:22 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":false,"ack":true,"from":"system.adapter.yah
                              
                              Caught 2018-06-04 20:04:22.988 error by controller[15]: Mon, 04 Jun 2018 20:04:22 GMT socket.io-client:socket emitting packet with ack id 48
                              
                              Caught 2018-06-04 20:04:22.987 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT engine.io-client:socket flushing 7 packets in socket
                              
                              Caught 2018-06-04 20:04:22.987 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.outputCount",{"val":8,"ack":true,"from":"system.adapter.y
                              
                              Caught 2018-06-04 20:04:22.986 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.inputCount",{"val":0,"ack":true,"from":"system.adapter.ya
                              
                              Caught 2018-06-04 20:04:22.986 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.uptime",{"val":527,"ack":true,"from":"system.adapter.yahk
                              
                              Caught 2018-06-04 20:04:22.986 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapUsed",{"val":9.72,"ack":true,"from":"system.adapte
                              
                              Caught 2018-06-04 20:04:22.986 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapTotal",{"val":15.98,"ack":true,"from":"system.adap
                              
                              Caught 2018-06-04 20:04:22.986 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memRss",{"val":35.27,"ack":true,"from":"system.adapter.ya
                              
                              Caught 2018-06-04 20:04:22.986 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.connected",{"val":true,"ack":true,"expire":30,"from":"sys
                              
                              Caught 2018-06-04 20:04:22.985 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.985 error by controller[14]: Mon, 04 Jun 2018 20:04:21 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":true,"ack":true,"expire":30,"from":"system.
                              
                              Caught 2018-06-04 20:04:22.985 error by controller[13]: Mon, 04 Jun 2018 20:04:20 GMT engine.io-client:socket socket receive: type "pong", data "undefined"
                              
                              Caught 2018-06-04 20:04:22.985 error by controller[12]: Mon, 04 Jun 2018 20:04:20 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.984 error by controller[12]: Mon, 04 Jun 2018 20:04:20 GMT engine.io-client:socket writing ping packet - expecting pong within 60000ms
                              
                              Caught 2018-06-04 20:04:22.984 error by controller[11]: Mon, 04 Jun 2018 20:04:20 GMT engine.io-client:socket socket receive: type "pong", data "undefined"
                              
                              Caught 2018-06-04 20:04:22.984 error by controller[10]: Mon, 04 Jun 2018 20:04:20 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.984 error by controller[10]: Mon, 04 Jun 2018 20:04:20 GMT engine.io-client:socket writing ping packet - expecting pong within 60000ms
                              
                              Caught 2018-06-04 20:04:22.983 error by controller[9]: Mon, 04 Jun 2018 20:04:06 GMT engine.io-client:socket flushing 7 packets in socket
                              
                              Caught 2018-06-04 20:04:22.982 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.outputCount",{"val":8,"ack":true,"from":"system.adapter.ya
                              
                              Caught 2018-06-04 20:04:22.982 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.inputCount",{"val":0,"ack":true,"from":"system.adapter.yah
                              
                              Caught 2018-06-04 20:04:22.981 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.uptime",{"val":512,"ack":true,"from":"system.adapter.yahka
                              
                              Caught 2018-06-04 20:04:22.980 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapUsed",{"val":9.61,"ack":true,"from":"system.adapter
                              
                              Caught 2018-06-04 20:04:22.980 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapTotal",{"val":15.98,"ack":true,"from":"system.adapt
                              
                              Caught 2018-06-04 20:04:22.980 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memRss",{"val":35.27,"ack":true,"from":"system.adapter.yah
                              
                              Caught 2018-06-04 20:04:22.980 error by controller[8]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.connected",{"val":true,"ack":true,"expire":30,"from":"syst
                              
                              Caught 2018-06-04 20:04:22.979 error by controller[7]: Mon, 04 Jun 2018 20:04:06 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.979 error by controller[6]: Mon, 04 Jun 2018 20:04:06 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":true,"ack":true,"expire":30,"from":"system.a
                              
                              Caught 2018-06-04 20:04:22.979 error by controller[5]: Mon, 04 Jun 2018 20:03:55 GMT engine.io-client:socket socket receive: type "pong", data "undefined"
                              
                              Caught 2018-06-04 20:04:22.979 error by controller[4]: Mon, 04 Jun 2018 20:03:55 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.978 error by controller[3]: Mon, 04 Jun 2018 20:03:55 GMT engine.io-client:socket writing ping packet - expecting pong within 60000ms
                              
                              Caught 2018-06-04 20:04:22.978 error by controller[2]: Mon, 04 Jun 2018 20:03:55 GMT engine.io-client:socket socket receive: type "pong", data "undefined"
                              
                              Caught 2018-06-04 20:04:22.978 error by controller[1]: Mon, 04 Jun 2018 20:03:55 GMT engine.io-client:socket flushing 1 packets in socket
                              
                              Caught 2018-06-04 20:04:22.977 error by controller[1]: Mon, 04 Jun 2018 20:03:55 GMT engine.io-client:socket writing ping packet - expecting pong within 60000ms
                              
                              

                              MOD EDIT: LOG IN CODE TAGS GESETZT

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

                                Das hat nix mit dem Skript zu tun. Ist der yahka Adapter grün? Wenn nicht stoppen und neu starten.

                                Poste mal ein Scrennshot der yahka Konfiguration. Hast du das Tor mal hoch und wieder runtergefahren?

                                PS: Bitte die Spoiler-Funktion und Code-Tags nutzen…

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

                                  Also jetzt treibts mich langsam in den Wahnsinn - drücke Garagentor öffnen in der Home App dort steht dann wird geöffnet.

                                  Im Log kommt dann das hier

                                  javascript.0 2018-06-05 06:04:35.636 warn at Object. <anonymous>(script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:83:13)

                                  javascript.0 2018-06-05 06:04:35.636 warn State "HmIP-PCBS 0004570993E67E:3.STATE" not found

                                  Angeblich findet er jetzt meinen Schalter nicht? Wenn ich den Wert dort auf true setze fährt das Tor hoch und 3 Sekunden später stellt er wieder auf false.

                                  ![](</s><URL url=)http://up.picr.de/32888295cs.jpg" /></anonymous>

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

                                    @Haciendaloca:

                                    Also jetzt treibts mich langsam in den Wahnsinn - drücke Garagentor öffnen in der Home App dort steht dann wird geöffnet.

                                    Im Log kommt dann das hier

                                    javascript.0 2018-06-05 06:04:35.636 warn at Object. <anonymous>(script.js.common.javascript_0_scriptEnabled_common_schalteGaragentor_HK_schalteGaragentor_HK:83:13)

                                    javascript.0 2018-06-05 06:04:35.636 warn State "HmIP-PCBS 0004570993E67E:3.STATE" not found

                                    Angeblich findet er jetzt meinen Schalter nicht? Wenn ich den Wert dort auf true setze fährt das Tor hoch und 3 Sekunden später stellt er wieder auf false.</anonymous> `

                                    Es würde schneller gehen, wenn Du ohne Aufforderung die notwendigen Informationen bereitstellen würdest. Also poste mal Dein modifiziertes Skript.

                                    Wenn ich mir schon die Mühe gebe Dir helfen zu wollen, dann lese auch bitte den von mir geschriebenen Text:
                                    @eumats:

                                    Poste mal ein Scrennshot der yahka Konfiguration. `

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

                                      OK klar - habe auch das Tor hoch und runtergefahren - dabei allerdings keine Änderung im Homekit.

                                      Skript:

                                      ! // 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 = 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('Status Sensor: ###' + StatusSensor + '###'); // 04.06.2018: Log-Ausgaben hinzugefügt.
                                      ! 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);
                                      ! });

                                      Screenshots Yahka

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

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

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

                                        Bitte nutze bei Einfügen von Skriptes zzgl. den Code-Tag. Das macht das Ganze lesbarer…

                                        Füge den Schalter und den Sensor mal mit "ID hinzufügen" unter Skripte hinzu.
                                        3610_clipboard01.jpg

                                        Und nicht wundern. Die Anzeige wird nicht korrekt sein. Denn wir müssen ja erstmal rausfinden was Dein Sensor bei geschlossen "sagt". Also SensorStatusTor_geschlossen = false muss richtig definiert werden.

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

                                          OK ist erledigt

                                          // 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 = '"hm-rpc.2.0004570993E67E.3.STATE"/*HmIP-PCBS 0004570993E67E:3.STATE*/',
                                          	Sensor = '"hm-rpc.2.0000D7099A6ABD.1.STATE"/*HMIP-SWDO 0000D7099A6ABD: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,
                                            		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('Status Sensor: ###' + StatusSensor + '###'); // 04.06.2018: Log-Ausgaben hinzugefügt.
                                              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);
                                          });
                                          

                                          Anzeige Homekit:

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

                                          Log aktuell

                                          ! yahka.0 2018-06-05 06:51:38.082 info adding Garage with UUID: 49a7c3bb-310e-48fb-bc28-a290d7aa6e29
                                          ! yahka.0 2018-06-05 06:51:38.064 info adding Steckdose Wohnzimmer Lampe with UUID: 32d3b638-53fa-45bc-a087-f6233a6d8be2
                                          ! yahka.0 2018-06-05 06:51:38.039 info adapter ready, checking config
                                          ! yahka.0 2018-06-05 06:51:38.012 info starting. Version 0.7.1 in /opt/iobroker/node_modules/iobroker.yahka, node: v6.13.0
                                          ! host.raspberrypi 2018-06-05 06:51:35.981 info instance system.adapter.yahka.0 started with pid 30648
                                          ! host.raspberrypi 2018-06-05 06:51:35.922 info object change system.adapter.yahka.0
                                          ! host.raspberrypi 2018-06-05 06:51:35.219 info instance system.adapter.yahka.0 terminated with code 0 (OK)
                                          ! Caught 2018-06-05 06:51:35.219 error by controller[23]: Tue, 05 Jun 2018 06:51:35 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.218 error by controller[23]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":false,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.218 error by controller[22]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:socket emitting packet with ack id 18
                                          ! Caught 2018-06-05 06:51:35.218 error by controller[21]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:socket calling ack 16 with [null,"system.adapter.yahka.0.alive"]
                                          ! Caught 2018-06-05 06:51:35.218 error by controller[20]: Tue, 05 Jun 2018 06:51:35 GMT engine.io-client:socket socket receive: type "message", data "316[null,"system.adapter.yahka.0.alive"]"
                                          ! Caught 2018-06-05 06:51:35.218 error by controller[19]: Tue, 05 Jun 2018 06:51:35 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.218 error by controller[18]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":false,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.217 error by controller[17]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:socket emitting packet with ack id 17
                                          ! Caught 2018-06-05 06:51:35.217 error by controller[16]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:socket emitting event ["message","system.adapter.","system.adapter.yahka.0",{"_id":"system.adapter.yahka.0","type":"instance","commo
                                          ! Caught 2018-06-05 06:51:35.217 error by controller[15]: Tue, 05 Jun 2018 06:51:35 GMT engine.io-client:socket socket receive: type "message", data "2["message","system.adapter.
                                          ","system.adapter.yahka.0",{"_id":"system.adapter.yahka.0",
                                          ! Caught 2018-06-05 06:51:35.217 error by controller[15]: Tue, 05 Jun 2018 06:51:35 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.216 error by controller[15]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:manager writing packet {"type":2,"data":["pushLog","system.adapter.admin.0",{"message":"yahka.0 cleaned everything up…","severity":
                                          ! Caught 2018-06-05 06:51:35.216 error by controller[15]: Tue, 05 Jun 2018 06:51:35 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.216 error by controller[15]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":false,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.216 error by controller[15]: Tue, 05 Jun 2018 06:51:35 GMT socket.io-client:socket emitting packet with ack id 16
                                          ! Caught 2018-06-05 06:51:35.216 error by controller[14]: Tue, 05 Jun 2018 06:51:28 GMT engine.io-client:socket socket receive: type "pong", data "undefined"
                                          ! Caught 2018-06-05 06:51:35.215 error by controller[13]: Tue, 05 Jun 2018 06:51:28 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.215 error by controller[12]: Tue, 05 Jun 2018 06:51:28 GMT engine.io-client:socket writing ping packet - expecting pong within 60000ms
                                          ! Caught 2018-06-05 06:51:35.215 error by controller[11]: Tue, 05 Jun 2018 06:51:28 GMT engine.io-client:socket socket receive: type "pong", data "undefined"
                                          ! Caught 2018-06-05 06:51:35.215 error by controller[10]: Tue, 05 Jun 2018 06:51:28 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.215 error by controller[9]: Tue, 05 Jun 2018 06:51:28 GMT engine.io-client:socket writing ping packet - expecting pong within 60000ms
                                          ! Caught 2018-06-05 06:51:35.215 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT engine.io-client:socket flushing 7 packets in socket
                                          ! Caught 2018-06-05 06:51:35.214 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.outputCount",{"val":8,"ack":true,"from":"system.adapter.ya
                                          ! Caught 2018-06-05 06:51:35.214 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.inputCount",{"val":0,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.214 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.uptime",{"val":10176,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.214 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapUsed",{"val":12.58,"ack":true,"from":"system.adapte
                                          ! Caught 2018-06-05 06:51:35.214 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapTotal",{"val":15.98,"ack":true,"from":"system.adapt
                                          ! Caught 2018-06-05 06:51:35.214 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memRss",{"val":36.21,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.213 error by controller[8]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.connected",{"val":true,"ack":true,"expire":30,"from":"syst
                                          ! Caught 2018-06-05 06:51:35.213 error by controller[7]: Tue, 05 Jun 2018 06:51:24 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.213 error by controller[6]: Tue, 05 Jun 2018 06:51:24 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":true,"ack":true,"expire":30,"from":"system.a
                                          ! Caught 2018-06-05 06:51:35.213 error by controller[5]: Tue, 05 Jun 2018 06:51:09 GMT engine.io-client:socket flushing 7 packets in socket
                                          ! Caught 2018-06-05 06:51:35.213 error by controller[4]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.outputCount",{"val":8,"ack":true,"from":"system.adapter.ya
                                          ! Caught 2018-06-05 06:51:35.212 error by controller[4]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.inputCount",{"val":0,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.212 error by controller[3]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.uptime",{"val":10161,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.212 error by controller[3]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapUsed",{"val":12.5,"ack":true,"from":"system.adapter
                                          ! Caught 2018-06-05 06:51:35.212 error by controller[3]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memHeapTotal",{"val":15.98,"ack":true,"from":"system.adapt
                                          ! Caught 2018-06-05 06:51:35.212 error by controller[3]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.memRss",{"val":35.95,"ack":true,"from":"system.adapter.yah
                                          ! Caught 2018-06-05 06:51:35.212 error by controller[3]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.connected",{"val":true,"ack":true,"expire":30,"from":"syst
                                          ! Caught 2018-06-05 06:51:35.211 error by controller[2]: Tue, 05 Jun 2018 06:51:09 GMT engine.io-client:socket flushing 1 packets in socket
                                          ! Caught 2018-06-05 06:51:35.210 error by controller[1]: Tue, 05 Jun 2018 06:51:09 GMT socket.io-client:manager writing packet {"type":2,"data":["setState","system.adapter.yahka.0.alive",{"val":true,"ack":true,"expire":30,"from":"system.a
                                          ! yahka.0 2018-06-05 06:51:35.169 info objectChange system.adapter.yahka.0 {"_id":"system.adapter.yahka.0","type":"instance","common":{"name":"yahka","version":"0.7.1","news":{"0.7.1":{"en":"Fixed the ID select dialog in Admin 2.0.9. rest
                                          ! yahka.0 2018-06-05 06:51:35.157 info cleaned everything up…
                                          ! yahka.0 2018-06-05 06:51:35.154 info Adapter is disabled => stop

                                          Log wenn ich das Garagentor per Homematic öffne

                                          ! hm-rpc.2 2018-06-05 06:54:38.457 info new HmIP devices/channels after filter: 0
                                          ! hm-rpc.2 2018-06-05 06:54:38.443 info xmlrpc <- newDevices 46
                                          ! hm-rpc.2 2018-06-05 06:54:38.026 info xmlrpc -> 0 devices
                                          ! hm-rpc.2 2018-06-05 06:54:37.992 info xmlrpc <- listDevices ["hm-rpc.2"]

                                          Übersicht Objekte (nach Schaltung per Homematic -> Garagentor offen)

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

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

                                            Dann sind ja jetzt auch die richtigen Einträge bei Schalter und Sensor drin. Woher war es dann offensichtlich falsch. Dann kann es ja auch nicht klappen…

                                            Die yahka Ausgaben im LOG interessieren aktuell nicht. Bitte das Log Level bei javascript auf "info" setzen, im Skript oben den Haken bei "Hilfe-Ausgaben" setzen, im LOG-nach javascript filter, noch mal Tor öffnen/schließen und dann die Ausgaben schicken.

                                            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

                                            886
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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