Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Motion.adapter mit motionEye

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

      Hallo zusammen,

      erstmal ein Kompliment von mir an alle die hier soviel Arbeit und Wissen reinstecken… Ihr seid super 🙂

      Nun aber auch ohne umschweife zu meinem Problem/Frage.

      Ich habe das Wochenende genutzt um meine Hausautomatisation mal neu aufzusetzen und dabei auch gleich meine beiden Kameras (Foscam FI9900p) mit einzubinden. Das Setup sieht jetzt folgendermaßen aus:

      1x RPi 3 Motioneye + ioBroker (motion.adapter + javascript.adapter)

      1x RPi 2 ioBroker (Licht etc.)

      Motioneye läuft super und auch die beiden ioBroker arbeiten im Multihost zusammen. Was ich jetzt aber noch möchte ist eine Telegram-Benachrichtigung, Lampenschaltung bei Bewegung + Button im VIS zum ein/ausschalten der Motiondetection.

      Der Adapter ist so wie im Git beschrieben installiert und er hat scheinbar auch die Kameras erkannt (ich habe 2 Threads mit config etc). Jedoch reagiert er nicht auf die Events. hatte ein kleines Script welches bei motion_detect ein Telegram senden soll. Nix kam an und auch in den Logs steht kein Empfangenes Event.

      Har das zufällig von euch schon jemand am laufen und kann mir sagen wo es haken könnte ?

      Viele Grüße und einen schönen Abend 🙂

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

        Wenn du motioneye und iobroker laufen hast, brauchst du eigentlich keinen motion-Adapter mehr.

        Du machst bei motioneye unter Motion Notification -> Call a web hook zum simple-API des iobrokers, z.B.: http://IP_ioBroker:Port_von_SimpleAPI/set/javascript.0.Pi-detection?value=true

        HTTP Methode: GET

        Die Variable Pi-detection legst du dir vorher in ioBroker an. Ein weiteres Script macht z.B. aus true nach 1min wieder false.

        L A 2 Replies Last reply Reply Quote 0
        • D
          DaReelRigo last edited by

          Guten Morgen lobomau,

          danke für den Tip. Die Webhook hat aber scheinbar den "Nachteil" das ich wirklich nur auf das Motion-Event reagieren kann oder ?

          Hier wüsste ich z.B. nicht wie ich dann an das dazugehörige Image komme um das per Telegram zu verschicken.

          Auch kann ich mit der Lösung (glaube ich) die Detection nicht per Button Ein/Aus-schalten oder ?

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

            Ja, das wäre dann der nächste Schritt. Mit dem oben beschriebenen hättest du erstmal eine Variable, die true wird wenn detection erkannt wird.

            Dann habe ich ein Script, dass ein Foto zu telegram schickt, sobalt detection true wird:

            var request = require('request');
            var fs      = require('fs');
            
            function sendImage() {
                request.get({url: 'http://IP_motioneye_PiCam/picture/1/current/', encoding: 'binary'}, function (err, response, body) {
                    fs.writeFile("/tmp/snap-pi1.jpg", body, 'binary', function(err) {
            
                    if (err) {
                        console.error(err);
                    } else {
                        console.log('Snapshot sent');
                        sendTo('telegram.1', '/tmp/snap-pi1.jpg');
                        //sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Snapshot'});
                    }
                  });
                });
            }
            on("javascript.0.Variablen.Pi1-detection"/*Variablen.Pi1-detection*/, function (obj) {
                if (obj.state.val) {
                    // send 4 images: immediately, in 5, 15 and 30 seconds
                    sendImage();
                    setTimeout(sendImage, 2000);
                   // setTimeout(sendImage, 10000);
                   // setTimeout(sendImage, 15000);
                }
            });
            
            

            So würde es direkt mit der Raspi-Cam funktionieren. Bei anderen Cams muss man wohl die 5. Zeile anpassen.

            Ein weiteres Script schreibt true wieder nach einer Zeit auf false. Könnte man auch in ein Script packen, wenn man es könnte. Kann ich nicht deswegen dann mit javascript im Blockly Format.

            Die detection in der Cam schalte ich nicht ab. Aber man kann trotzdem es so schreiben, dass die Fotos nur unter bestimmten Bedingungen geschickt werden, z.B. durch eine weitere Variable, welche du über VIS true/false setzt.

            1 Reply Last reply Reply Quote 1
            • D
              DaReelRigo last edited by

              Hey, so hab mich heute morgen mal rangesetzt. Nun läuft es. Danke erstmal für deine Hilfe 🙂

              Meine Lösung ist nun folgende (ohne den motion Adapter).

              Jede Kamera hat drei Datenpunkte (lastImage, detected, state)

              Ändert man nun den State auf true, wird das aktuelle Kameraobjekt von motioneye geholt, verändert und wieder zum speichern zurückgeschickt. Somit ist das schonmal regelbar.

              Wird nun eine Bewegung erkannt schickt Motioneye den webhook los und setzt detect für eine minute auf true. Gleichzeitig wird ein Foto an Telegram geschickt und der Pfad zum Bild temporär gespeichert (der Pfad ist in der lastImage). Hier soll nachher noch etwas dran geschraubt werden 🙂

              Jetzt muss ich mir nur noch überlegen wie ich Netzwerkschonend einen Statusabgleich mit Motioneye hinbekomme damit sichergestellt ist das True/False synchron sind.

              Gesendet von meinem SM-G950F mit Tapatalk

              1 Reply Last reply Reply Quote 0
              • T
                Thosch last edited by

                Ich scheitere leider auch an einer Lösung mit Motion Adapter, da ich trotz funktionierendem motion und Bewegungserkennung keine events an iobroker übergeben bekomme.

                Hat jemand evtl Erfahrung wieviele Kameras der raspi3 mit motioneyeos gleichzeitig packt?

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

                  Hi,

                  danke für die Lösung mit dem JavaScript. Hat bei mir funktioniert. Hab eine Xiaomi Cam mit dem Dafang Hack, die via rstp in motioneye eingebunden ist.

                  Momentan hackt es noch ein wenig, weil die Motion Detection nicht immer auslöst. Muss aber an der Kamera oder Motioneye liegen.

                  ciao

                  Martin

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

                    Kleine Ergänzung von heute morgen. Es läuft jetzt deutlich flüssiger. Hab die Cams jetzt mal auf den Unifi AP umgestellt anstelle des alten TP Links.

                    Erkennung läuft flüssig. Habe das Skript jetzt noch ergänzt und mache das zurücksetzen der Motion Variabel direkt dort anstatt in einem separaten Skript.

                    1 Reply Last reply Reply Quote 0
                    • M
                      mr.mixx last edited by

                      Hallo Martin,

                      kannst du ggf. dein Script posten ?

                      Würde mir meine bevorstehende integration immens vereinfachen ;-).

                      Dank und Gruß

                      MM

                      1 Reply Last reply Reply Quote 0
                      • L
                        Lutz74 @lobomau last edited by

                        @lobomau said in Motion.adapter mit motionEye:

                        Wenn du motioneye und iobroker laufen hast, brauchst du eigentlich keinen motion-Adapter mehr.

                        Du machst bei motioneye unter Motion Notification -> Call a web hook zum simple-API des iobrokers, z.B.: http://IP_ioBroker:Port_von_SimpleAPI/set/javascript.0.Pi-detection?value=true

                        HTTP Methode: GET

                        Die Variable Pi-detection legst du dir vorher in ioBroker an. Ein weiteres Script macht z.B. aus true nach 1min wieder false.

                        @lobomau

                        ich bin recht neu in der Materie, das mit dem call a web hook habe ich verstanden, könntest du mir vielleicht kurz erläutern wie ich ein weiteres script erstelle um aus true nach einer min wieder false zu machen (und wo ich das dann hinpacken muss)

                        lobomau 1 Reply Last reply Reply Quote 0
                        • lobomau
                          lobomau @Lutz74 last edited by lobomau

                          @Lutz74 hast du schon mit Blockly Scripte erzeugt? Dann könnten die Bildschirm Fotos schon weiterhelfen. Leider etwas fummelig am Handy, deswegen auf zwei Fotos. Es geht eigentlich nur um den zweiten Block von unten. Wenn p1-detection = wahr, dann nach 120s wieder unwahr.
                          Zur Sicherheit macht der andere Block immer um Mitternacht unwahr und der andere Block ganz oben macht bei einem Script-Start unwahr.
                          Screenshot_20190310-235024__01.jpg Screenshot_20190310-234826__01.jpg

                          L 2 Replies Last reply Reply Quote 0
                          • L
                            Lutz74 @lobomau last edited by

                            @lobomau Vielen Dank dafür, hast mir sehr geholfen... ich hoffe das ich den Rest mit deer Cam&Telegram auch noch hinbekomme

                            1 Reply Last reply Reply Quote 0
                            • L
                              Lutz74 @lobomau last edited by

                              @lobomau Ich muss dich leider nochmal nerven....

                              Habe nun alles soweit stehen und es läuft.... bis auf...... motionEye gibt mir keine Notification ab. Gebe ich den Link des Web Hook in einen Browser ein, funktioniert alles und ich bekomme auch ein Bild in Telegram.....

                              Hast du da vielleicht eine Idee warum motionEye da "querschiesst"?!

                              Screenshot 2019-03-11 19.24.38.png

                              lobomau 1 Reply Last reply Reply Quote 0
                              • S
                                stimezo Forum Testing last edited by

                                Hast den link unter Motion Notifications -> call a Web Hook eingegeben?

                                Gruß
                                Christian

                                L 1 Reply Last reply Reply Quote 0
                                • lobomau
                                  lobomau @Lutz74 last edited by

                                  @Lutz74 du musst erstmal feststellen ob motioneye überhaupt eine Bewegung feststellt.
                                  Show frame changes ON würde dir die Anzahl der veränderten frames anzeigen. Du hast auf frame change threshold 10% eingestellt. Bei z. B. 1 Megapixel Auflösung müssen sich also 100.000 Pixel ändern.
                                  Man kann auch einstellen dass ein rotes Feld um die Bewegungen gezeichnet wird.
                                  Funktioniert das?

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    Lutz74 @stimezo last edited by

                                    @stimezo ja, habe ich

                                    @lobomau Ich habe das nun mal auf 0% gesetzt... wo stelle ich denn ein das es ein rotes Feld um die Bewegung gezeichnet wird?

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      Lutz74 last edited by Lutz74

                                      @lobomau

                                      gerade durch zufall entdeckt, als eine katze rein wollte, das es wohl den roten rahmen gibt... den gab es aber erst als ich im hausflur das licht angemacht habe... demnach scheint er ja eine motion detection zu haben! Nichts desto trotz funktioniert es leider wohl nicht immer... mal ja, mal nein.... bin da echt ratlos

                                      46bdb577-c547-484a-9dd7-f28b46ad5101.jpg

                                      lobomau 1 Reply Last reply Reply Quote 0
                                      • lobomau
                                        lobomau @Lutz74 last edited by lobomau

                                        @Lutz74 já, genau den roten Kasten meine ich.
                                        Aber nicht übertreiben mit 0%. Dann ist Dauer-motion-detection! Man hat immer paar Pixel, die sich ändern. Man muss sich da antasten. Mach mal 5% und schau ab was für einer Bewegung der rote Kasten kommt. Noise Level würde ich auch etwas hochstellen.

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

                                          hast als Methode "GET" gewählt?

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            Lutz74 @mikiline last edited by

                                            @mikiline Ja, das habe ich

                                            M 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

                                            991
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            31
                                            14431
                                            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