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. Node Red HomeKit - Garagentor

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    818

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Node Red HomeKit - Garagentor

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
11 Beiträge 3 Kommentatoren 1.1k 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.
  • M Offline
    M Offline
    Minta79
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich versuche verzweifelt mein Garagentor von Meross über Node Red in HomeKit einzubinden. Ich nutze: node-red-contrib-homekit-bridged - GarageDoorOpener
    Mein Meross Garagentor hat die folgenden Optionen:
    Bildschirmfoto 2022-08-28 um 10.46.31.png
    Ich weiß nicht an welcher Stelle ich was "Mappen" muss, damit es zusammenpasst.
    Habe schon vergeblich nach Beispielen gesucht.
    Kann mir jemand helfen?

    mickymM 1 Antwort Letzte Antwort
    0
    • M Minta79

      Hallo zusammen,

      ich versuche verzweifelt mein Garagentor von Meross über Node Red in HomeKit einzubinden. Ich nutze: node-red-contrib-homekit-bridged - GarageDoorOpener
      Mein Meross Garagentor hat die folgenden Optionen:
      Bildschirmfoto 2022-08-28 um 10.46.31.png
      Ich weiß nicht an welcher Stelle ich was "Mappen" muss, damit es zusammenpasst.
      Habe schon vergeblich nach Beispielen gesucht.
      Kann mir jemand helfen?

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @minta79

      Nutze einfach das Wiki - das sind sogar Beispiele mit dabei, die Du importieren kannst.

      Hier einfach das einfache Beispiel zum Öffnen und schließen verwenden: https://nrchkb.github.io/wiki/service/garage-door-opener/

      Mit dem Beispiel kannst Du über die Inject Nodes die Steuerung simulieren und dann mit den iobroker Nodes ersezten.

      Die Initialisierung würde ich gleich wegschmeissen. Im Prinzip steuerst Du über TargetDoorState und sobald CurrentDoorState = TargetDoorState hört die Animation auf. Da musst halt dann mit dem ACK Flag arbeiten. Das Speichern der States brauchst alles nicht, dafür kannst auch bei der Initialisierung ja die Datenpunkte auslesen.

      In Deinem Fall brauchst also nur mit dem 0-garageDoor Datenpunkt arbeiten und einmal mit der iobroker-IN Node nur nach bestätigten ACK=False Zuständen filtern für den CurrentState, während Du bei setzen natürlich die iobroker-OUT Node als command nutzt.

      Du musst halt nur noch sagen ob false zu oder auf bedeutet.

      Im Prinzip sollte dieser Flow schon ausreichen mit der entsprechenden Filterung der iobroker-In Nodes:

      77db0cd2-315e-4b5d-88ab-7bceae9ae92f-image.png

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      M 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @minta79

        Nutze einfach das Wiki - das sind sogar Beispiele mit dabei, die Du importieren kannst.

        Hier einfach das einfache Beispiel zum Öffnen und schließen verwenden: https://nrchkb.github.io/wiki/service/garage-door-opener/

        Mit dem Beispiel kannst Du über die Inject Nodes die Steuerung simulieren und dann mit den iobroker Nodes ersezten.

        Die Initialisierung würde ich gleich wegschmeissen. Im Prinzip steuerst Du über TargetDoorState und sobald CurrentDoorState = TargetDoorState hört die Animation auf. Da musst halt dann mit dem ACK Flag arbeiten. Das Speichern der States brauchst alles nicht, dafür kannst auch bei der Initialisierung ja die Datenpunkte auslesen.

        In Deinem Fall brauchst also nur mit dem 0-garageDoor Datenpunkt arbeiten und einmal mit der iobroker-IN Node nur nach bestätigten ACK=False Zuständen filtern für den CurrentState, während Du bei setzen natürlich die iobroker-OUT Node als command nutzt.

        Du musst halt nur noch sagen ob false zu oder auf bedeutet.

        Im Prinzip sollte dieser Flow schon ausreichen mit der entsprechenden Filterung der iobroker-In Nodes:

        77db0cd2-315e-4b5d-88ab-7bceae9ae92f-image.png

        M Offline
        M Offline
        Minta79
        schrieb am zuletzt editiert von
        #3

        @mickym vielen Dank für deine Infos. Bei den Beispielen im Wiki sind viele Nodes die er beim Import bei mir nicht erkennt. Kannst du mit evtl deinen Flow exportieren so dass ich ihn importieren kann? Die nodes an sich sind schlüssig für mich, aber mit dem Inhalt bin ich mir immer nicht sicher.

        mickymM 1 Antwort Letzte Antwort
        0
        • M Minta79

          @mickym vielen Dank für deine Infos. Bei den Beispielen im Wiki sind viele Nodes die er beim Import bei mir nicht erkennt. Kannst du mit evtl deinen Flow exportieren so dass ich ihn importieren kann? Die nodes an sich sind schlüssig für mich, aber mit dem Inhalt bin ich mir immer nicht sicher.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #4

          @minta79 Ich versteh es zwar nicht - Du musst halt die Inject Nodes in den Gruppen durch iobroker Nodes ersetzen

          [
              {
                  "id": "5534366a.7ef91",
                  "type": "homekit-service",
                  "z": "0a748caf4d6f8142",
                  "isParent": true,
                  "hostType": "0",
                  "bridge": "1f4da0a9.4023c7",
                  "accessoryId": "",
                  "parentService": "",
                  "name": "Garage Door",
                  "serviceName": "GarageDoorOpener",
                  "topic": "",
                  "filter": false,
                  "manufacturer": "ptath",
                  "model": "Default Model",
                  "serialNo": "0001",
                  "firmwareRev": "",
                  "hardwareRev": "",
                  "softwareRev": "",
                  "cameraConfigVideoProcessor": "",
                  "cameraConfigSource": "",
                  "cameraConfigStillImageSource": "",
                  "cameraConfigMaxStreams": "",
                  "cameraConfigMaxWidth": "",
                  "cameraConfigMaxHeight": "",
                  "cameraConfigMaxFPS": "",
                  "cameraConfigMaxBitrate": "",
                  "cameraConfigVideoCodec": "",
                  "cameraConfigAudioCodec": "",
                  "cameraConfigAudio": false,
                  "cameraConfigPacketSize": "",
                  "cameraConfigVerticalFlip": false,
                  "cameraConfigHorizontalFlip": false,
                  "cameraConfigMapVideo": "",
                  "cameraConfigMapAudio": "",
                  "cameraConfigVideoFilter": "",
                  "cameraConfigAdditionalCommandLine": "",
                  "cameraConfigDebug": false,
                  "cameraConfigInterfaceName": "",
                  "characteristicProperties": "{    \"CurrentDoorState\":1}",
                  "waitForSetupMsg": false,
                  "outputs": 2,
                  "x": 730,
                  "y": 440,
                  "wires": [
                      [],
                      [
                          "ac35abe5f92f2e72"
                      ]
                  ]
              },
              {
                  "id": "14d4bf27.4db229",
                  "type": "debug",
                  "z": "0a748caf4d6f8142",
                  "name": "on set",
                  "active": true,
                  "tosidebar": true,
                  "console": false,
                  "tostatus": false,
                  "complete": "payload",
                  "targetType": "msg",
                  "statusVal": "",
                  "statusType": "auto",
                  "x": 1150,
                  "y": 460,
                  "wires": []
              },
              {
                  "id": "ac35abe5f92f2e72",
                  "type": "switch",
                  "z": "0a748caf4d6f8142",
                  "name": "nur TargetDoorState",
                  "property": "payload.TargetDoorState",
                  "propertyType": "msg",
                  "rules": [
                      {
                          "t": "nnull"
                      }
                  ],
                  "checkall": "true",
                  "repair": false,
                  "outputs": 1,
                  "x": 960,
                  "y": 460,
                  "wires": [
                      [
                          "14d4bf27.4db229"
                      ]
                  ]
              },
              {
                  "id": "1f93f344606a50ee",
                  "type": "group",
                  "z": "0a748caf4d6f8142",
                  "name": "ACK = False",
                  "style": {
                      "label": true
                  },
                  "nodes": [
                      "f0a87280.f66ea",
                      "2f0bb109.cee4ee"
                  ],
                  "x": 214,
                  "y": 299,
                  "w": 312,
                  "h": 122
              },
              {
                  "id": "f0a87280.f66ea",
                  "type": "inject",
                  "z": "0a748caf4d6f8142",
                  "g": "1f93f344606a50ee",
                  "name": "TargetDoorState 0 To Open",
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "{\"TargetDoorState\": 0}",
                  "payloadType": "json",
                  "x": 370,
                  "y": 340,
                  "wires": [
                      [
                          "5534366a.7ef91"
                      ]
                  ]
              },
              {
                  "id": "2f0bb109.cee4ee",
                  "type": "inject",
                  "z": "0a748caf4d6f8142",
                  "g": "1f93f344606a50ee",
                  "name": "TargetDoorState 1 To Close",
                  "props": [
                      {
                          "p": "payload",
                          "v": "{\"TargetDoorState\":1}",
                          "vt": "json"
                      },
                      {
                          "p": "topic",
                          "v": "",
                          "vt": "str"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "{\"TargetDoorState\":1}",
                  "payloadType": "json",
                  "x": 380,
                  "y": 380,
                  "wires": [
                      [
                          "5534366a.7ef91"
                      ]
                  ]
              },
              {
                  "id": "0d9bf51cd82c26ad",
                  "type": "group",
                  "z": "0a748caf4d6f8142",
                  "name": "ACK = True",
                  "style": {
                      "label": true
                  },
                  "nodes": [
                      "26ef612d.04cd86",
                      "1dcedc5c.cc1004"
                  ],
                  "x": 214,
                  "y": 439,
                  "w": 312,
                  "h": 122
              },
              {
                  "id": "26ef612d.04cd86",
                  "type": "inject",
                  "z": "0a748caf4d6f8142",
                  "g": "0d9bf51cd82c26ad",
                  "name": "CurrentDoorState 0 opened",
                  "props": [
                      {
                          "p": "payload"
                      },
                      {
                          "p": "topic",
                          "vt": "str"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "{\"CurrentDoorState\":0}",
                  "payloadType": "json",
                  "x": 380,
                  "y": 480,
                  "wires": [
                      [
                          "5534366a.7ef91"
                      ]
                  ]
              },
              {
                  "id": "1dcedc5c.cc1004",
                  "type": "inject",
                  "z": "0a748caf4d6f8142",
                  "g": "0d9bf51cd82c26ad",
                  "name": "CurrentDoorState 1 closed",
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "{\"CurrentDoorState\":1}",
                  "payloadType": "json",
                  "x": 370,
                  "y": 520,
                  "wires": [
                      [
                          "5534366a.7ef91"
                      ]
                  ]
              },
              {
                  "id": "1f4da0a9.4023c7",
                  "type": "homekit-bridge",
                  "bridgeName": "villa-test",
                  "pinCode": "111-11-111",
                  "port": "",
                  "advertiser": "ciao",
                  "allowInsecureRequest": false,
                  "manufacturer": "ptath",
                  "model": "raspberry pi zeroW",
                  "serialNo": "12345678",
                  "firmwareRev": "",
                  "hardwareRev": "",
                  "softwareRev": "",
                  "customMdnsConfig": false,
                  "mdnsMulticast": true,
                  "mdnsInterface": "",
                  "mdnsPort": "",
                  "mdnsIp": "",
                  "mdnsTtl": "",
                  "mdnsLoopback": true,
                  "mdnsReuseAddr": true,
                  "allowMessagePassthrough": true
              }
          ]
          

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Minta79
            schrieb am zuletzt editiert von
            #5

            @mickym said in Node Red HomeKit - Garagentor:

            Du musst halt die Inject Nodes in den Gruppen durch iobroker Nodes ersetzen

            Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.
            Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.
            Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
            Würde mich sehr freuen, wenn du mir noch helfen könntest.

            L mickymM 2 Antworten Letzte Antwort
            0
            • M Minta79

              @mickym said in Node Red HomeKit - Garagentor:

              Du musst halt die Inject Nodes in den Gruppen durch iobroker Nodes ersetzen

              Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.
              Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.
              Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
              Würde mich sehr freuen, wenn du mir noch helfen könntest.

              L Offline
              L Offline
              lessthanmore
              schrieb am zuletzt editiert von lessthanmore
              #6

              @minta79 said in Node Red HomeKit - Garagentor:

              Und was ist mit CurrentDoorState? Kann ich den außen vor lassen?

              Leider nein. Genau deswegen dreht sich der "Kringel".
              TargetDoorState bekommt bei mir bspw. immer eine 1 (Impuls), allerdings kommt Homekit damit nicht klar. Über den CurrentDoorState weiß Homekit dann was die nächste Aktion ist bzw. wo das Tor sich gerade befindet (auf/ zu).
              Dafür nutze ich einen Aqara Fensterkontakt, damit ich weiß, ob das Tor geschlossen ist und steuere dann Current wie auch Target; allerdings nutze ich dafür blockly.
              2022-09-08_08-58-23.png

              Hier war das Thema auch schon:
              https://213.136.68.177/topic/15996/garagentor-mit-sonoff-und-reedkontakte-in-yahka-homekit/18

              Hier mit node-red:
              https://github.com/NRCHKB/node-red-contrib-homekit-bridged/issues/33 (nur als Beispiel!)

              M 1 Antwort Letzte Antwort
              0
              • L lessthanmore

                @minta79 said in Node Red HomeKit - Garagentor:

                Und was ist mit CurrentDoorState? Kann ich den außen vor lassen?

                Leider nein. Genau deswegen dreht sich der "Kringel".
                TargetDoorState bekommt bei mir bspw. immer eine 1 (Impuls), allerdings kommt Homekit damit nicht klar. Über den CurrentDoorState weiß Homekit dann was die nächste Aktion ist bzw. wo das Tor sich gerade befindet (auf/ zu).
                Dafür nutze ich einen Aqara Fensterkontakt, damit ich weiß, ob das Tor geschlossen ist und steuere dann Current wie auch Target; allerdings nutze ich dafür blockly.
                2022-09-08_08-58-23.png

                Hier war das Thema auch schon:
                https://213.136.68.177/topic/15996/garagentor-mit-sonoff-und-reedkontakte-in-yahka-homekit/18

                Hier mit node-red:
                https://github.com/NRCHKB/node-red-contrib-homekit-bridged/issues/33 (nur als Beispiel!)

                M Offline
                M Offline
                Minta79
                schrieb am zuletzt editiert von
                #7

                @lessthanmore

                Ok. Danke für die Infos. Schaue es mir an

                1 Antwort Letzte Antwort
                0
                • M Minta79

                  @mickym said in Node Red HomeKit - Garagentor:

                  Du musst halt die Inject Nodes in den Gruppen durch iobroker Nodes ersetzen

                  Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.
                  Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.
                  Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
                  Würde mich sehr freuen, wenn du mir noch helfen könntest.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #8

                  @minta79 sagte in Node Red HomeKit - Garagentor:

                  Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.

                  Ja da bin ich von ausgegangen, dass Du das mit der Change Node hinbekommst und Du musst es natürlich in beide Richtungen übersetzen. - Ich kanns aber nochmal ändern.

                  Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.

                  Ja ich habe noch was verkehrt gemacht - Ja klar Du setzt den Datenpunkt Garage Door via Command. Ich ändere den Flow nochmal

                  Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
                  Würde mich sehr freuen, wenn du mir noch helfen könntest.

                  Doch der wird berücksichtigt - das ist der Eingang. Was nicht geht - ist, dass das Steuern doppelt setzt - das hatte ich nicht durchdacht. Also falls Du das Tor nicht über Homekit steuerst bekommst Du nur den Current Door state mitgeteilt.

                  So ich habe Dir nun den ganzen Flow nochmal neu gemacht und auch getestet mit true und false - wobei Du das halt ggf. noch tauschen musst:

                  Hier mal der Import an den Du noch die iobroker Nodes hängen musst:

                  [
                     {
                         "id": "5534366a.7ef91",
                         "type": "homekit-service",
                         "z": "0a748caf4d6f8142",
                         "isParent": true,
                         "hostType": "0",
                         "bridge": "1f4da0a9.4023c7",
                         "accessoryId": "",
                         "parentService": "",
                         "name": "Garage Door",
                         "serviceName": "GarageDoorOpener",
                         "topic": "",
                         "filter": false,
                         "manufacturer": "ptath",
                         "model": "Default Model",
                         "serialNo": "0001",
                         "firmwareRev": "",
                         "hardwareRev": "",
                         "softwareRev": "",
                         "cameraConfigVideoProcessor": "",
                         "cameraConfigSource": "",
                         "cameraConfigStillImageSource": "",
                         "cameraConfigMaxStreams": "",
                         "cameraConfigMaxWidth": "",
                         "cameraConfigMaxHeight": "",
                         "cameraConfigMaxFPS": "",
                         "cameraConfigMaxBitrate": "",
                         "cameraConfigVideoCodec": "",
                         "cameraConfigAudioCodec": "",
                         "cameraConfigAudio": false,
                         "cameraConfigPacketSize": "",
                         "cameraConfigVerticalFlip": false,
                         "cameraConfigHorizontalFlip": false,
                         "cameraConfigMapVideo": "",
                         "cameraConfigMapAudio": "",
                         "cameraConfigVideoFilter": "",
                         "cameraConfigAdditionalCommandLine": "",
                         "cameraConfigDebug": false,
                         "cameraConfigInterfaceName": "",
                         "characteristicProperties": "{    \"CurrentDoorState\":1}",
                         "waitForSetupMsg": false,
                         "outputs": 2,
                         "x": 770,
                         "y": 400,
                         "wires": [
                             [],
                             [
                                 "ac35abe5f92f2e72"
                             ]
                         ]
                     },
                     {
                         "id": "ac35abe5f92f2e72",
                         "type": "switch",
                         "z": "0a748caf4d6f8142",
                         "name": "nur TargetDoorState",
                         "property": "payload.TargetDoorState",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "nnull"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 1000,
                         "y": 420,
                         "wires": [
                             [
                                 "e07e0b4e21acd839"
                             ]
                         ]
                     },
                     {
                         "id": "eee16c2bbbf02c68",
                         "type": "change",
                         "z": "0a748caf4d6f8142",
                         "name": "setze CurrentDoorState",
                         "rules": [
                             {
                                 "t": "move",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.CurrentDoorState",
                                 "tot": "msg"
                             },
                             {
                                 "t": "change",
                                 "p": "payload.CurrentDoorState",
                                 "pt": "msg",
                                 "from": "true",
                                 "fromt": "bool",
                                 "to": "0",
                                 "tot": "num"
                             },
                             {
                                 "t": "change",
                                 "p": "payload.CurrentDoorState",
                                 "pt": "msg",
                                 "from": "false",
                                 "fromt": "bool",
                                 "to": "1",
                                 "tot": "num"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 550,
                         "y": 400,
                         "wires": [
                             [
                                 "5534366a.7ef91"
                             ]
                         ]
                     },
                     {
                         "id": "e07e0b4e21acd839",
                         "type": "change",
                         "z": "0a748caf4d6f8142",
                         "name": "setze payload für iobroker",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.TargetDoorState",
                                 "tot": "msg"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "0",
                                 "fromt": "num",
                                 "to": "true",
                                 "tot": "bool"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "1",
                                 "fromt": "num",
                                 "to": "false",
                                 "tot": "bool"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1250,
                         "y": 420,
                         "wires": [
                             [
                                 "14d4bf27.4db229"
                             ]
                         ]
                     },
                     {
                         "id": "1f4da0a9.4023c7",
                         "type": "homekit-bridge",
                         "bridgeName": "villa-test",
                         "pinCode": "111-11-111",
                         "port": "",
                         "advertiser": "ciao",
                         "allowInsecureRequest": false,
                         "manufacturer": "ptath",
                         "model": "raspberry pi zeroW",
                         "serialNo": "12345678",
                         "firmwareRev": "",
                         "hardwareRev": "",
                         "softwareRev": "",
                         "customMdnsConfig": false,
                         "mdnsMulticast": true,
                         "mdnsInterface": "",
                         "mdnsPort": "",
                         "mdnsIp": "",
                         "mdnsTtl": "",
                         "mdnsLoopback": true,
                         "mdnsReuseAddr": true,
                         "allowMessagePassthrough": true
                     }
                  ]
                  

                  Flow.png

                  Ich hab die Home-Kit Nodes nicht auf der Instanz mit dem iobroker aber bei Fragen nochmal melden.

                  Als Beweis, dass es so funktioniert - hier mal ein kleines Video - wenn man den Flow benutzt und über die HomeApp steuert.

                  HomeKit-Garage Opener - klein.mp4

                  Achte auf jeden Fall darauf, dass Du das mit den ACK Flags sauber machst - sonst hast Du bei einem Datenpunkt ganz schnell eine Endlosschleife drin.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  M 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @minta79 sagte in Node Red HomeKit - Garagentor:

                    Das verstehe ich. Sorry, dass ich mich so blöd anstelle. Aber ein ersetzen reicht ja nicht, denn aus der iobroker Node kommt ein False oder True und keine 0 oder 1, die erwartet wird. Diese muss ich doch ersetzen/ändern oder nicht? Das habe ich mit einer Change Node versucht und es zumindest geschafft dass das Tor sich öffnet, nur beim Schließen kringelt sich der Kreis im HomeKit und hört nicht auf und das Tor schließt sich auch nicht. Befürchte auch dass ich es nicht richtig gemacht habe.

                    Ja da bin ich von ausgegangen, dass Du das mit der Change Node hinbekommst und Du musst es natürlich in beide Richtungen übersetzen. - Ich kanns aber nochmal ändern.

                    Zum Schluss muss ich doch auch wieder in die iobroker Node zurück oder nicht, zumindest kenne ich das so von meinen anderen Flows, um auch Änderungen mitzubekommen, wenn das Tor z.B. manuell geöffnet wird.

                    Ja ich habe noch was verkehrt gemacht - Ja klar Du setzt den Datenpunkt Garage Door via Command. Ich ändere den Flow nochmal

                    Und was ist mit CurrentDoorState? Kann ich den außen vor lassen? In deinem Beispiel steht der nicht drin.
                    Würde mich sehr freuen, wenn du mir noch helfen könntest.

                    Doch der wird berücksichtigt - das ist der Eingang. Was nicht geht - ist, dass das Steuern doppelt setzt - das hatte ich nicht durchdacht. Also falls Du das Tor nicht über Homekit steuerst bekommst Du nur den Current Door state mitgeteilt.

                    So ich habe Dir nun den ganzen Flow nochmal neu gemacht und auch getestet mit true und false - wobei Du das halt ggf. noch tauschen musst:

                    Hier mal der Import an den Du noch die iobroker Nodes hängen musst:

                    [
                       {
                           "id": "5534366a.7ef91",
                           "type": "homekit-service",
                           "z": "0a748caf4d6f8142",
                           "isParent": true,
                           "hostType": "0",
                           "bridge": "1f4da0a9.4023c7",
                           "accessoryId": "",
                           "parentService": "",
                           "name": "Garage Door",
                           "serviceName": "GarageDoorOpener",
                           "topic": "",
                           "filter": false,
                           "manufacturer": "ptath",
                           "model": "Default Model",
                           "serialNo": "0001",
                           "firmwareRev": "",
                           "hardwareRev": "",
                           "softwareRev": "",
                           "cameraConfigVideoProcessor": "",
                           "cameraConfigSource": "",
                           "cameraConfigStillImageSource": "",
                           "cameraConfigMaxStreams": "",
                           "cameraConfigMaxWidth": "",
                           "cameraConfigMaxHeight": "",
                           "cameraConfigMaxFPS": "",
                           "cameraConfigMaxBitrate": "",
                           "cameraConfigVideoCodec": "",
                           "cameraConfigAudioCodec": "",
                           "cameraConfigAudio": false,
                           "cameraConfigPacketSize": "",
                           "cameraConfigVerticalFlip": false,
                           "cameraConfigHorizontalFlip": false,
                           "cameraConfigMapVideo": "",
                           "cameraConfigMapAudio": "",
                           "cameraConfigVideoFilter": "",
                           "cameraConfigAdditionalCommandLine": "",
                           "cameraConfigDebug": false,
                           "cameraConfigInterfaceName": "",
                           "characteristicProperties": "{    \"CurrentDoorState\":1}",
                           "waitForSetupMsg": false,
                           "outputs": 2,
                           "x": 770,
                           "y": 400,
                           "wires": [
                               [],
                               [
                                   "ac35abe5f92f2e72"
                               ]
                           ]
                       },
                       {
                           "id": "ac35abe5f92f2e72",
                           "type": "switch",
                           "z": "0a748caf4d6f8142",
                           "name": "nur TargetDoorState",
                           "property": "payload.TargetDoorState",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "nnull"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 1000,
                           "y": 420,
                           "wires": [
                               [
                                   "e07e0b4e21acd839"
                               ]
                           ]
                       },
                       {
                           "id": "eee16c2bbbf02c68",
                           "type": "change",
                           "z": "0a748caf4d6f8142",
                           "name": "setze CurrentDoorState",
                           "rules": [
                               {
                                   "t": "move",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.CurrentDoorState",
                                   "tot": "msg"
                               },
                               {
                                   "t": "change",
                                   "p": "payload.CurrentDoorState",
                                   "pt": "msg",
                                   "from": "true",
                                   "fromt": "bool",
                                   "to": "0",
                                   "tot": "num"
                               },
                               {
                                   "t": "change",
                                   "p": "payload.CurrentDoorState",
                                   "pt": "msg",
                                   "from": "false",
                                   "fromt": "bool",
                                   "to": "1",
                                   "tot": "num"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 550,
                           "y": 400,
                           "wires": [
                               [
                                   "5534366a.7ef91"
                               ]
                           ]
                       },
                       {
                           "id": "e07e0b4e21acd839",
                           "type": "change",
                           "z": "0a748caf4d6f8142",
                           "name": "setze payload für iobroker",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.TargetDoorState",
                                   "tot": "msg"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "0",
                                   "fromt": "num",
                                   "to": "true",
                                   "tot": "bool"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "1",
                                   "fromt": "num",
                                   "to": "false",
                                   "tot": "bool"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1250,
                           "y": 420,
                           "wires": [
                               [
                                   "14d4bf27.4db229"
                               ]
                           ]
                       },
                       {
                           "id": "1f4da0a9.4023c7",
                           "type": "homekit-bridge",
                           "bridgeName": "villa-test",
                           "pinCode": "111-11-111",
                           "port": "",
                           "advertiser": "ciao",
                           "allowInsecureRequest": false,
                           "manufacturer": "ptath",
                           "model": "raspberry pi zeroW",
                           "serialNo": "12345678",
                           "firmwareRev": "",
                           "hardwareRev": "",
                           "softwareRev": "",
                           "customMdnsConfig": false,
                           "mdnsMulticast": true,
                           "mdnsInterface": "",
                           "mdnsPort": "",
                           "mdnsIp": "",
                           "mdnsTtl": "",
                           "mdnsLoopback": true,
                           "mdnsReuseAddr": true,
                           "allowMessagePassthrough": true
                       }
                    ]
                    

                    Flow.png

                    Ich hab die Home-Kit Nodes nicht auf der Instanz mit dem iobroker aber bei Fragen nochmal melden.

                    Als Beweis, dass es so funktioniert - hier mal ein kleines Video - wenn man den Flow benutzt und über die HomeApp steuert.

                    HomeKit-Garage Opener - klein.mp4

                    Achte auf jeden Fall darauf, dass Du das mit den ACK Flags sauber machst - sonst hast Du bei einem Datenpunkt ganz schnell eine Endlosschleife drin.

                    M Offline
                    M Offline
                    Minta79
                    schrieb am zuletzt editiert von
                    #9

                    @mickym

                    Vielen vielen Dank!
                    Der HomeKit Schalter funktioniert jetzt super. Wenn ich das Tor allerdings manuell öffne steht im HomeKit immer "schließen" und bleibt in dem Status hängen, bis ich es wieder schließe, dann springt es im HomeKit auf geschlossen.

                    Mein Flow sieht jetzt so aus:
                    Bildschirmfoto 2022-09-26 um 14.34.55.png
                    Bildschirmfoto 2022-09-26 um 14.35.41.png

                    True und False bzw. 0 und 1 habe ich schon versucht zu tauschen, daran liegt es nicht, das passt. Noch einen Tipp?

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • M Minta79

                      @mickym

                      Vielen vielen Dank!
                      Der HomeKit Schalter funktioniert jetzt super. Wenn ich das Tor allerdings manuell öffne steht im HomeKit immer "schließen" und bleibt in dem Status hängen, bis ich es wieder schließe, dann springt es im HomeKit auf geschlossen.

                      Mein Flow sieht jetzt so aus:
                      Bildschirmfoto 2022-09-26 um 14.34.55.png
                      Bildschirmfoto 2022-09-26 um 14.35.41.png

                      True und False bzw. 0 und 1 habe ich schon versucht zu tauschen, daran liegt es nicht, das passt. Noch einen Tipp?

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @minta79 Nicht irgendwas tauschen. Du kannst mal versuchen ober noch den TargetDoorState mit zu setzen - allerdings musst halt wirklich aufpassen, dass in der iobroker-IN Node nur ACK=true gefiltert wird, sonst hast Du eine Endlosschleife.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      M 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @minta79 Nicht irgendwas tauschen. Du kannst mal versuchen ober noch den TargetDoorState mit zu setzen - allerdings musst halt wirklich aufpassen, dass in der iobroker-IN Node nur ACK=true gefiltert wird, sonst hast Du eine Endlosschleife.

                        M Offline
                        M Offline
                        Minta79
                        schrieb am zuletzt editiert von
                        #11

                        @mickym said in Node Red HomeKit - Garagentor:

                        ober noch den TargetDoorState mit zu setzen

                        Das war des Rätsels Lösung! Noch mal vielen vielen Dank!!!!!

                        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

                        600

                        Online

                        32.6k

                        Benutzer

                        82.0k

                        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