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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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.
    • eumats
      eumats last edited by wendy2702

      @algermi:

      @eumats

      was hast Du für einen neigungssensor verbaut und würdest Du mir Dein Script zukommen lassen? `

      Ich mache die Lösung mal allen zugänglich…

      Beschreibung der korrekten Steuerung und Anzeige eines Garagentors per yahka in Homekit in folgender Konfiguration:

      • Schaltung des Garagenmotors durch einen "Tast-Aktor" (Fibaro 212, potentialfreie Ausgänge) der einen kurzen Impuls (1sec) zum Starten des Motors gibt. Die Richtung kann ich dabei nicht beeinflussen. 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, ….

      • Das Tor kann zzgl. per Funk und per Taster (beide gehen direkt an den Garagenmotor und sind nicht mit dem Tast-Aktor verbunden)

      • Nutzung eines Neigungssensor zum Abfragen der Anfangs- und Endlage

      Garagensensor:

      • true = Tor offen

      • false = Tor geschlossen

      Skript zum Setzen von offen und geschlossen in Homekit, falls das Tor per Taster oder Fernbedienung (und nicht aus Homekit) geöffnet oder geschlossen wurde.

      "javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK" und "javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK" sind manuell angelegte Datenpunkte die später auch in yahka eingetragen werden.

      var timeout;
      >! on({id: 'zwave.0.NODE2.SENSOR_BINARY.Sensor_1', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        timeout = setTimeout(function () {
          if (getState("zwave.0.NODE2.SENSOR_BINARY.Sensor_1").val == false) {
            // Definiere Tor für HK als geschlossen
            setState("javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK"/*LageGaragentor_HK*/, 1, true);
            setState("javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 1, true);
          } else {
            // Definiere Tor für HK als offen
            setState("javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK"/*LageGaragentor_HK*/, 0, true);
            setState("javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 0, true);
          }
        }, 1000);
      });
      

      Skript zum Konvertieren des Schaltwertes aus Homekit (yahka: TargetState) um umgekehrt.

      on({id: 'zwave.0.NODE4.SWITCH_BINARY.Switch_1', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK").val == 1) {
          // Tor geschlossen
          if (getState("zwave.0.NODE4.SWITCH_BINARY.Switch_1").val == true) {
            // Öffne das Tor
            setState("javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 0, true);
          }
        } else if (getState("javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK").val == 0) {
          // Tor offen
          if (getState("zwave.0.NODE4.SWITCH_BINARY.Switch_1").val == true) {
            // Schließe das Tor
            setState("javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK"/*schalteGaragentor_HK*/, 1, true);
            // Tor wird geschlossen
          }
        }
      });
      on({id: 'javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK").val == 1) {
          // Tor geschlossen
          if (getState("javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK").val == 0) {
            // Öffne das Tor
            setState("zwave.0.NODE4.SWITCH_BINARY.Switch_1"/*Switch*/, true);
          }
        } else if (getState("javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK").val == 0) {
          // Tor offen
          if (getState("javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK").val == 1) {
            // Schließe das Tor
            setState("zwave.0.NODE4.SWITCH_BINARY.Switch_1"/*Switch*/, true);
          }
        }
      });
      

      In yahka ein device mit "Garage door opener" mit gleichanmigem Service definieren und folgendes eintragen:

      CurrentDoorState: ioBroker.State javascript.0.scriptEnabled.common.LageGaragentor_HK.LageGaragentor_HK

      TargetDoorState: ioBroker.State. javascript.0.scriptEnabled.common.schalteGaragentor_HK.schalteGaragentor_HK

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

        @Alex1808:

        Für raspi gibst auch was

        wget https://github.com/legotheboss/YouTube-files/raw/master/ffmpeg_3.1.4-1_armhf.deb
        sudo dpkg -i ffmpeg_3.1.4-1_armhf.deb
        

        Als Wiedergabe Codec ist h264_omx empfehlenswert `

        Hi. Ich habe auf meinem Raps 3 wie oben beschrieben ffmpeg und yahka installiert und in yahka folgendes eingetragen:

        codec: h264_omx

        maxFPS: 15

        source: rtsp://user:pw@192.168.189.xx:88/videoMain

        Leider habe ich immer nur die durchgestrichene Kamera. Und beim draufklicken auf die selbige bleibt der Bildschirm schwarz.

        Gebe ich die URL als source im VLC Player auf meinem Lappi ein, wird ohne weiteres gestreamt.

        Ich habe eine Foscam FI9900P im Einsatz.

        Hast Du evtl. eine Idee?

        Update: Muss der codec eigentlich auf dem Raspi installiert werden, oder kommt der mit ffmpeg mit?

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

          @eumats:

          Hi. Ich habe auf meinem Raps 3 wie oben beschrieben ffmpeg und yahka installiert und in yahka folgendes eingetragen:

          codec: h264_omx

          maxFPS: 15

          source: rtsp://user:pw@192.168.189.xx:88/videoMain

          Leider habe ich immer nur die durchgestrichene Kamera. Und beim draufklicken auf die selbige bleibt der Bildschirm schwarz.

          Gebe ich die URL als source im VLC Player auf meinem Lappi ein, wird ohne weiteres gestreamt.

          Ich habe eine Foscam FI9900P im Einsatz.

          Hast Du evtl. eine Idee? `

          Was steht bei dir im Log? Startet das Stream überhaupt?

          So sieht bei mir aus:

          ! 513_screenshot_at_nov._08_22-54-21.png
          Eventuel libx264 ausprobieren

          > Update: Muss der codec eigentlich auf dem Raspi installiert werden, oder kommt der mit ffmpeg mit?

          Codec werden bei der Installation mit geliefert.

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

            Bei mir schaut das LOG ähnlich aus (siehe Anhang). Nur kommt wie gesagt kein Bild.

            Kann man irgendwie überprüfen, ob das Videobild vom Raspi per ffmpeg überhaupt korrekt decodiert wird? Also ob der ffmpeg Aufruf gemäß Log überhaupt bei mir funktioniert.

            Im ioBroker Log sehe ich auch im Debug Modus keine Hinweise.
            3610_b5b0bdef-9869-4c8d-be91-04eb7e7afbd1.jpeg

            1 Reply Last reply Reply Quote 0
            • F
              Firestarter last edited by

              @eumats:

              Bei mir schaut das LOG ähnlich aus (siehe Anhang). Nur kommt wie gesagt kein Bild.

              Kann man irgendwie überprüfen, ob das Videobild vom Raspi per ffmpeg überhaupt korrekt decodiert wird? Also ob der ffmpeg Aufruf gemäß Log überhaupt bei mir funktioniert.

              Im ioBroker Log sehe ich auch im Debug Modus keine Hinweise. `

              Ich hatte am Anfang auch keinen Stream. Habe dann nochmal ffmpeg und den Codec nach folgender Anleitung drüberinstalliert und nun läufts (ich habe auch eine Foscam):

              http://www.oodlestechnologies.com/blogs … berry-Pi-3

              Bei Codec ist bei mir nichts eingetragen. FPS auf 15 und source "rtsp://[USER]:[PASSWORT]@192.168.2.101:88/videoMain"

              UPDATE: Probiere mal bei Codec den Eintrag "h264" also ohne _omx…

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

                @Firestarter:

                Ich hatte am Anfang auch keinen Stream. Habe dann nochmal ffmpeg und den Codec nach folgender Anleitung drüberinstalliert und nun läufts (ich habe auch eine Foscam): `

                Was heißt denn drüberinstalliert bzw. was genau war denn deine Basis? Also hast du die "Grundinstallation" mit "apt-get install ffmpeg" oder mit "sudo dpkg -i ffmpeg_3.1.4-1_armhf.deb" durchgeführt?

                Denn auch nach Deiner Installationsanleitung geht es bei mir nicht! Kannst Du mir mal bitte Deine Stream Konfiguration aus der Foscam schicken?

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

                  @Firestarter:

                  UPDATE: Probiere mal bei Codec den Eintrag "h264" also ohne _omx… `

                  Wenn man nichts extra einträgt wird libx264 standardweise benutzt

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

                    @eumats:

                    Bei mir schaut das LOG ähnlich aus (siehe Anhang). Nur kommt wie gesagt kein Bild.

                    Kann man irgendwie überprüfen, ob das Videobild vom Raspi per ffmpeg überhaupt korrekt decodiert wird? Also ob der ffmpeg Aufruf gemäß Log überhaupt bei mir funktioniert.

                    Im ioBroker Log sehe ich auch im Debug Modus keine Hinweise. `

                    versuche diese Befehl was du im log siehst im Terminal auszuführen, was wird da ausgegeben, startet überhaupt dekodierung?

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

                      @Firestarter:

                      @Alex1808:

                      Das geht auch ohne Homebridge, bzw. mit einen überarbeiteten version vom YAHKA >> https://github.com/kirovilya/ioBroker.yahka

                      Installation vom Git, alte version vom YAHKA muss nicht Deinstalliert werden, einfach Updaten und im Terminal eine Befehl ausführen

                      iobroker upload yahka
                      

                      Auf dem gleichen server wo auch ioBroker am laufen, sollte noch ffmpeg installiert werden. Habe ioBroker im Docker am laufen, auch da hat die Installation vom ffmpeg ohne Problem funktioniert, mit:

                      apt-get update
                      apt-get install ffmpeg
                      

                      So werden die Kameras eingefügt:

                      ! Co3fpFPwRumgnMDkHqZ0jg.png
                      ! OPMNI3qCR9K57Qy4fIggJQ.png

                      Vielen dank an Kirov Ilya `

                      Also bei mir gibt es nach dem Update keinen Servicetyp "Camera", Kategorie "Camera" allerdings schon :roll:

                      Ich kann also die URL nirgendwo eintragen…

                      Screenshot.png `

                      Hallo, reicht das an der Stelle nur````
                      iobroker upload yahka

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

                        @Alex1808:

                        versuche diese Befehl was du im log siehst im Terminal auszuführen, was wird da ausgegeben, startet überhaupt dekodierung? `

                        Beim Decodieren scheint was nicht zu klappen, ich habe es mal mit den Snapshot Aufruf versucht:

                        ffmpeg -re -i rtsp://user:pw@192.168.189.210:88/videoMain -t 1 -s 480x270 -f image2 -

                        bzw. habe ich die Ausgabe annstelle in "-" in eine Datei geschrieben. Anbei das Log-File. Vielleicht hast du eine Idee woran es liegen kann.

                        Denn ich habe schon einige Stunden mit google zu dem Thema ergebnislos verbracht.

                        Folgendes Kommando habe ich ausgeführt:

                        ffmpeg -re -i rtsp://user:pw@192.168.189.210:88/videoMain -t 1 -s 480x270 -f image2 test.jpg >> ffmpeg.log 2>&1

                        Kann es darin liegen, dass meine Foscam IP-Cam keinen jpeg stream unterstützt?
                        3610_ffmpeg.log

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

                          Muss zwingend ffmepeg installiert sein? Oder gehen Kameras die nativ rtsp sprechen ohne ffmpeg?

                          Gesendet von iPhone mit Tapatalk

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

                            @Matze1708:

                            Hallo, reicht das an der Stelle nur iobroker upload yahka auszuführen? Woher weiss er das die Quelle eine andere ist? `

                            Du musst in iobroker per "Installieren aus eigener URL" die Quelle https://github.com/kirovilya/ioBroker.yahka eingeben. Dann wird yahka von da aktualisiert. Und danach das upload durchführen.

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

                              @Matze1708:

                              Hallo, reicht das an der Stelle nur iobroker upload yahka auszuführen? Woher weiss er das die Quelle eine andere ist? `

                              Nein, reicht nicht. Erst vom Git installieren und denn mit iobroker upload yahka werden neue Daten übernommen.

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

                                Ok,

                                Habe es drauf bekommen.

                                Hänge aktuell am ffmpeg… für den Pi

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

                                  Was will der von mir??

                                  Invalid data found when processing input

                                  ffmpeg version N-88676-g5109013 Copyright (c) 2000-2017 the FFmpeg developers
                                    built with gcc 4.9.2 (Raspbian 4.9.2-10)
                                    configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
                                    libavutil      56\.  0.100 / 56\.  0.100
                                    libavcodec     58\.  1.100 / 58\.  1.100
                                    libavformat    58\.  2.100 / 58\.  2.100
                                    libavdevice    58\.  0.100 / 58\.  0.100
                                    libavfilter     7\.  0.101 /  7\.  0.101
                                    libswscale      5\.  0.101 /  5\.  0.101
                                    libswresample   3\.  0.101 /  3\.  0.101
                                    libpostproc    55\.  0.100 / 55\.  0.100
                                  rtsp://xxx:xxx@192.168.123.104:80/Streaming/Channels/101: Invalid data found when processing input
                                  Exiting normally, received signal 2.
                                  

                                  ist ne Hikvision aber mit der Instar ging es auch nicht.

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

                                    Also ffmpeg installation ist nicht ohne. Ich hab es wie hier beschrieben gemacht und es funktioniert bei mir.

                                    git clone http://git.videolan.org/git/x264.git

                                    sudo apt-get update

                                    sudo apt-get upgrade

                                    sudo sh -c 'echo "deb http://www.deb-multimedia.org jessie main non-free" >> /etc/apt/sources.list.d/deb-multimedia.list'

                                    sudo sh -c 'echo "deb-src http://www.deb-multimedia.org jessie main non-free" >> /etc/apt/sources.list.d/deb-multimedia.list'

                                    sudo apt-get update

                                    sudo apt-get install deb-multimedia-keyring

                                    sudo apt-get update

                                    sudo apt-get remove ffmpeg

                                    sudo apt-get install build-essential libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libfaac-dev libopenjpeg-dev libx264-dev

                                    cd /usr/src/

                                    sudo apt-get install git

                                    sudo git clone git://git.videolan.org/x264 //SIEHE OBEN //

                                    cd x264/

                                    sudo ./configure –host=arm-unknown-linux-gnueabi --enable-static --disable-opencl

                                    sudo make

                                    sudo make install

                                    cd /usr/src

                                    sudo git clone https://github.com/FFmpeg/FFmpeg.git

                                    cd FFmpeg/

                                    sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree

                                    sudo make -j4

                                    sudo make install

                                    ffmpeg -encoders # test it works

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

                                      Den Teil ab cd /usr/src

                                      Habe ich auch so gemacht

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

                                        Habe es jetzt nochmal genau so wie in deinem bsp. drüber gebügelt.

                                        Das Ergbniss ist das gleiche.

                                        ffmpeg -re -i rtsp://xxx:xxxx@192.168.123.104:80/Streaming/Channels/101 -t 1 -s 480x270 -f image2
                                        ffmpeg version N-88676-g5109013 Copyright (c) 2000-2017 the FFmpeg developers
                                          built with gcc 4.9.2 (Raspbian 4.9.2-10)
                                          configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
                                          libavutil      56\.  0.100 / 56\.  0.100
                                          libavcodec     58\.  1.100 / 58\.  1.100
                                          libavformat    58\.  2.100 / 58\.  2.100
                                          libavdevice    58\.  0.100 / 58\.  0.100
                                          libavfilter     7\.  0.101 /  7\.  0.101
                                          libswscale      5\.  0.101 /  5\.  0.101
                                          libswresample   3\.  0.101 /  3\.  0.101
                                          libpostproc    55\.  0.100 / 55\.  0.100
                                        Trailing options were found on the commandline.
                                        rtsp://xxx:xxx@192.168.123.104:80/Streaming/Channels/101: Invalid data found when processing input
                                        Exiting normally, received signal 2.
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • eumats
                                          eumats last edited by

                                          @Matze1708:

                                          Habe es jetzt nochmal genau so wie in deinem bsp. drüber gebügelt.

                                          Das Ergbniss ist das gleiche. `

                                          Hast du mal versucht den rtsp Stream (also in Deinem Fall rtsp://xxx:xxxx@192.168.123.104:80/Streaming/Channels/101) über VLC am Rechner/Laptop zu starten?

                                          Damit kann man gut prüfen, ob der Kamerazugriff überhaupt funktioniert bzw. ob ein Bild übertragen wird.

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

                                            An alle, bei denen die Kamera in HomeKit funktioniert:

                                            Welche Kamera habt ihr denn im Einsatz und habt ihr bei den Kameras selber noch etwas eingestellt?

                                            Denn ich bekomme es mit meiner Foscam FI9900P (hat keinen mjepg Stream) über den rtsp Stream nicht zum Laufen… 😞

                                            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

                                            856
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            204
                                            1745
                                            596878
                                            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