Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Yet another HomeKit adapter

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Yet another HomeKit adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      peer6969 last edited by

      Magst du damit einen issue für den deconz Adapter erstellen?

      1 Reply Last reply Reply Quote 0
      • K
        Kugelkopf last edited by

        @peer6969:

        Magst du damit einen issue für den deconz Adapter erstellen? `

        Das kann ich tun. Allerdings weiß ich nicht, ob ich dort an der richtigen Stelle bin. Denn der Log beschreibt ja nur was ihm gesendet wurde. Dementsprechend müsste an die Datenpunkte von deconz ja die Befehle in falscher Reihenfolge von YAHKA übergeben worden sein.

        Oder habe ich hier einen Denkfehler?

        1 Reply Last reply Reply Quote 0
        • P
          peer6969 last edited by

          Gute Frage. Da bin ich mir auch nicht sicher, wo das Problem genau liegt.

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

            Ich habe seit längerem das Problem, das ich über den HomeKit Adapter nur noch "false" Befehle senden kann.

            Nutze den Adapter um Sonoff Switches zu steuern. Ob an oder aus aufm iPhone, der Status im ioBroker bleibt false.

            Wenn der Status true ist und ich die Lampe ausschalte, geht er auf false, andersrum nicht mehr. Seitdem nutze ich diesen eigentlich sehr hilfreichen Adapter nicht mehr. Kann mir da jemand helfen?

            EDIT:

            Gelöst. Lag wohl daran, dass der RAM meines Pis zu voll war. Hab ein paar Adapter aussortiert.

            Wird wohl langsam Zeit für ne größere Maschine

            1 Reply Last reply Reply Quote 0
            • M
              Marc_St last edited by

              Besten Dank für das Update auf v9! Toll ist natürlich die Skript-Möglichkeit.

              Dazu gleich eine Frage: Ich verstehe, wie ich nun relativ frei Datenpunkte übersetzen kann. Für meine Alarmanlage etwa sieht das so aus:

               if (value  === false) {
                      return 3;
                  } 
               if (value  === true) {
                      return 1;
                  } 
              

              Dazu aber auch gleich meine Frage: Ist es innerhalb eines solchen Skripts möglich, auch andere Datenpunkte auszuwerten? Dazu ist die Alarmanlage ein schönes Beispiel: Innerhalb eines HK-Datenpunktes SecuritySystemCurrentState beschreiben die Werte 0 bis 3 den Zustand der Alarmanlage, aber in Eben dem Datenpunkt SecuritySystemCurrentState beschreibt dann der Wert 4 eine ausgelösten Alarm. Ob aber die Alarmanlage scharf oder nicht scharf ist, ist bei mir in ein anderer Datenpunkt als jener zur Beschreibung Alarm ja / ein. Ich müsste also die zwei Datenpunkte aus ioBroker zu einem Datenpunkt in yahka kombinieren. An der Stelle komme ich nicht weiter. Denn im Skript funktioniert so etwas wie var alarm = getState("hm-rpc.2.xyz").val; nicht. Insgesamt benötige ich als Skript also so etwas:

              var alarm = getState("hm-rpc.2.xyz").val;
              if (alarm  === true) {
                      return 4;
                  } 
              if (value  === false) {
                      return 3;
                  } 
               if (value  === true) {
                      return 1;
                  } 
              

              Ist das überhaupt möglich? Danke!

              Marc

              1 Reply Last reply Reply Quote 0
              • D
                danw last edited by

                @Marc_St:

                Besten Dank für das Update auf v9! Toll ist natürlich die Skript-Möglichkeit.

                Dazu gleich eine Frage: Ich verstehe, wie ich nun relativ frei Datenpunkte übersetzen kann. Für meine Alarmanlage etwa sieht das so aus:

                 if (value  === false) {
                        return 3;
                    } 
                 if (value  === true) {
                        return 1;
                    } 
                

                Dazu aber auch gleich meine Frage: Ist es innerhalb eines solchen Skripts möglich, auch andere Datenpunkte auszuwerten? Dazu ist die Alarmanlage ein schönes Beispiel: Innerhalb eines HK-Datenpunktes SecuritySystemCurrentState beschreiben die Werte 0 bis 3 den Zustand der Alarmanlage, aber in Eben dem Datenpunkt SecuritySystemCurrentState beschreibt dann der Wert 4 eine ausgelösten Alarm. Ob aber die Alarmanlage scharf oder nicht scharf ist, ist bei mir in ein anderer Datenpunkt als jener zur Beschreibung Alarm ja / ein. Ich müsste also die zwei Datenpunkte aus ioBroker zu einem Datenpunkt in yahka kombinieren. An der Stelle komme ich nicht weiter. Denn im Skript funktioniert so etwas wie var alarm = getState("hm-rpc.2.xyz").val; nicht. Insgesamt benötige ich als Skript also so etwas:

                var alarm = getState("hm-rpc.2.xyz").val;
                if (alarm  === true) {
                        return 4;
                    } 
                if (value  === false) {
                        return 3;
                    } 
                 if (value  === true) {
                        return 1;
                    } 
                

                Ist das überhaupt möglich? Danke!

                Marc `

                Kannst dir in einen virtuelles Objekt (z.B. custom.0.alarmanlage.yahka) die passenden states schreiben (per Javascript/Blockly) und dann diese in Yahka bringen.

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

                  Was muss ich eigentlich tun, um die v 0.9 zu installieren? Es will mir nicht gelingen ..

                  1 Reply Last reply Reply Quote 0
                  • Homer.J.
                    Homer.J. last edited by

                    @flugwelle:

                    Was muss ich eigentlich tun, um die v 0.9 zu installieren? Es will mir nicht gelingen .. `

                    Hi,

                    Die Katze öffnen und das hier https://github.com/jensweigele/ioBroker.yahka.git eingeben.

                    Grüße

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

                      Danke!

                      Ich hatte es vorher mit https://github.com/jensweigele/ioBroker.yahka (also ohne .git) erfolglos probiert.

                      Aber auch jetzt klappt es leider nicht

                      $ ./iobroker url "https://github.com/jensweigele/ioBroker.yahka.git"
                      install https://github.com/jensweigele/ioBroker.yahka/tarball/master
                      npm install https://github.com/jensweigele/ioBroker.yahka/tarball/master --production --save --prefix "/opt/iobroker" (System call)
                      npm WARN addRemoteGit Error: not found: gitnpm WARN addRemoteGit     at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12)
                      npm WARN addRemoteGit     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19)
                      npm WARN addRemoteGit     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29)
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:284:29
                      npm WARN addRemoteGit     at FSReqWrap.oncomplete (fs.js:152:21)
                      npm WARN addRemoteGit  git+https://github.com/homespun/hap-nodejs-community-types.git resetting remote /root/.npm/_git-remotes/git-https-github-com-homespun-hap-nodejs-community-types-git-63d7748d because of error: { Error: not found: git
                      npm WARN addRemoteGit     at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12)
                      npm WARN addRemoteGit     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19)
                      npm WARN addRemoteGit     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29)
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5
                      npm WARN addRemoteGit     at /usr/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:284:29
                      npm WARN addRemoteGit     at FSReqWrap.oncomplete (fs.js:152:21) code: 'ENOGIT' }
                      
                      npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror https://github.com/homespun/hap-nodejs-community-types.git /root/.npm/_git-remotes/git-https-github-com-homespun-hap-nodejs-community-types-git-63d7748d: undefinednpm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror https://github.com/homespun/hap-nodejs-community-types.git /root/.npm/_git-remotes/git-https-github-com-homespun-hap-nodejs-community-types-git-63d7748d: undefined
                      
                      npm ERR! code ENOGIT
                      npm ERR! not found: gitnpm ERR! 
                      npm ERR! Failed using git.
                      npm ERR! This is most likely not a problem with npm itself.
                      npm ERR! Please check if you have git installed and in your PATH.
                      
                      npm ERR! A complete log of this run can be found in:
                      npm ERR!     /root/.npm/_logs/2019-01-06T19_32_39_887Z-debug.log
                      
                      process exited with code 0
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 last edited by

                        Dir fehlt scheinbar GIT in deiner Installation

                        npm ERR! code ENOGIT
                        

                        Musst also GIT installieren und dann den Adapter

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

                          Danke - das hat geklappt!

                          1 Reply Last reply Reply Quote 0
                          • A
                            adrj last edited by

                            Hallo, versuche nun schon etwas länger eine Klingel mit Push Funktion in HomekIt zu bringen.

                            Der Gedanke ist sobal jemand meinen HomeMatic HMIP BSM Taster am EIngang drückt ich eine Push Notification auf mein iPhone erhalte.

                            Hierzu habe ich ein Gerät hinzugefügt und den Service "Doorbell" ausgewählt.

                            9770_bild_1.jpg

                            9770_bild_2.jpg

                            Allerdings bekomme ich das Ding nicht zum laufen - in Homekit siehts dann so aus:

                            9770_bild_3.jpg

                            Frage, hat das jemand hier in der Community eventuell schon Ähnlich umgesetzt? Dachte auch schon daran in Yahka einen ContactSensor Service auszuwählen - allerdings funktioniert das bei mir ebenfalls nicht 😞

                            Vielen Dank für jegliche Tipps und Tricks 🙂

                            1 Reply Last reply Reply Quote 0
                            • D
                              danw last edited by

                              Eine Doorlock mit zweitem Service DoorBell funktioniert

                              Wenn du eine Kamera im gleichem (Apple) Raum hast sogar mit Screenshot und Livebild

                              1 Reply Last reply Reply Quote 0
                              • A
                                adrj last edited by

                                @danw:

                                Eine Doorlock mit zweitem Service DoorBell funktioniert

                                Wenn du eine Kamera im gleichem (Apple) Raum hast sogar mit Screenshot und Livebild `

                                danw! Vielen Dank!

                                Hab ich direkt versucht: Bei Geräteeigenschaften Door Lock ausgewählt und bei Service so belassen wie oben in den Screenshots… hat allerdings keine Auswirkungen, steht noch immer "Nicht unterstützt" in Homekit.

                                Meinst Du kannst mir ein Screenshot von deiner Konfig zuschicken? Hab tatsächlich eine Kamera daneben - wäre natürlich der hammer :mrgreen:

                                Danke Danke!

                                1 Reply Last reply Reply Quote 0
                                • A
                                  adrj last edited by

                                  Ich glaube dass der Service "Doorbell" entweder von Homekit oder ioBroker nicht unterstützt wird - mit der Konfig hat das glaube ich nichts zu tun… :?:

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    danw last edited by

                                    Das funktioniert. Ich hab es im einsatz.

                                    Screenshot kommt, wenn ich zuhause bin.

                                    Ist ehrlich gesagt aber sehr einfach. Glaub es hieß ProgrammableSwitchEvent. Das auf irgendein Objekt was true wird, wenn jemand klingelt, und fertig.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      adrj last edited by

                                      Vielen Dank schonmal!

                                      Gerade als Service Typ: StatelessProgrammableSwitch versucht - allerdings funktioniert es so auch nicht :oops:

                                      Sorry, hänge hier glaub gerade etwas in der Leitung :oops:

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        danw last edited by

                                        Also jetzt mal nachgeschaut.

                                        LockMechanism als ersten Service, Doorbell als zweiten.

                                        Im LockMechanism LockCurrentState und LockTargetState ist meine Türsummer zum öffnen der Tür (es wird dann ein Objekt auf true gesetzt, dass ich per MQTT auf dem NodeMCU subscribed habe, was wiederrum ein Relay schaltet = Türsummer) und bei Doorbell "ProgrammableSwitchEvent" ist ein Objekt das bei mir per MQTT von einem NodeMCU auf eine "1" geändert wird, wenn jemand an der Tür klingelt. Ich habe die Klingel einfach über einen Spannungsteiler (einfach nur zwei Widerstände; https://de.wikipedia.org/wiki/Spannungsteiler) an einen GPIO des NodeMCU angeschlossen.
                                        16600_bildschirmfoto_2019-01-09_um_21.54.13.png
                                        16600_bildschirmfoto_2019-01-09_um_21.54.23.png
                                        16600_bildschirmfoto_2019-01-09_um_21.54.39.png

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          ronnyw last edited by

                                          Ich hab hier drüben -> viewtopic.php?f=20&t=8187#p217610

                                          meine Variante der HomeMatic Heizungsanbindung an YAHKA beschrieben.

                                          Auch für das Thema HomeMatic Dimmer habe ich ein Hilfs-Script gebaut, da HomeKit ja gerne noch einen on-off-State hätte, den HomeMatic bei Dimmern so nicht hat (schönerweise verhalten sich HomeKit manuell und Siri-zu-HomeKit da auch noch unterschiedlich).

                                          Was mir noch fehlt, ist die Übertragung von Strom-Verbrauchswerten, die in der Eve-App darstellbar wären. Aber dazu gibt es noch keine Lösung oder?

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            danw last edited by

                                            @ronnyw:

                                            Auch für das Thema HomeMatic Dimmer habe ich ein Hilfs-Script gebaut, da HomeKit ja gerne noch einen on-off-State hätte, den HomeMatic bei Dimmern so nicht hat (schönerweise verhalten sich HomeKit manuell und Siri-zu-HomeKit da auch noch unterschiedlich). `
                                            Du brauchst kein On/Off bei "LightBulb".
                                            @ronnyw:

                                            Was mir noch fehlt, ist die Übertragung von Strom-Verbrauchswerten, die in der Eve-App darstellbar wären. Aber dazu gibt es noch keine Lösung oder? `
                                            Ist nicht möglich. Gibt es in der API von Apple nicht.

                                            Deine Beschreibung von CurrentCoolingState und TargetCoolingState stimmt denke ich auch nicht mit der API von Apple überein.

                                            Alle Current* und Target* States funktionieren so, dass z.B. wenn per HomeKit ein Wert geändert wird dieser erst quittiert fertig ist, wenn der Current*-State identisch ist.

                                            z.B. ein Schloss (LockMechanism)

                                            Wenn CurrentLockState und TargetLockState = 1 ist, sagt er "Gesperrt".

                                            Wenn TargetLockState = 0 und CurrentLockState = 1 sagt er "Öffnen" (Weil öffnen angefordert und aktueller Zustand des Schlosses aber "1", also zu)

                                            Wenn TargetLockState = 1 und CurrentLockState = 0 sagt er "Schliessen" (weil schließen angefordert und aktueller Zustand des Schlosses aber "0", also geöffnet)

                                            Wenn TargetLockState = 0 und CurrentLockState = 0 sagt er "Geöffnet"

                                            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

                                            950
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            204
                                            1746
                                            619461
                                            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