Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Bewegungserkennung mit Motioneye, Lösung komplett in Blockly

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Bewegungserkennung mit Motioneye, Lösung komplett in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • fu_zhou
      fu_zhou @Yoda last edited by

      @yoda die Kommandos in motioneye sind ohne <> vor und nach der IP, also

      curl 192.168.0.50:8082/set/javascript.0.motioneye.getEventStart?value=true
      

      Definiere auch mal den Typ "Bool" unter "Common":
      Bild_2021-03-08_171330.png

      Ansonsten sehen die Blocklys in Ordnung aus.

      In den Objekten unter javascript.0 sind die Datenpunkte angelegt?

      Ist curl installiert?
      hast du schon einmal probiert, den curl Befehl in einem Terminal auszuführen und geschaut, ob der Datenpunkt in iobroker gesetzt wird?

      Yoda 2 Replies Last reply Reply Quote 0
      • Yoda
        Yoda @fu_zhou last edited by Yoda

        @fu_zhou Danke für deine Antwort,
        Ich habe die Camera nun wieder zurückgeschickt und werde mein System nochmal neu Aufsetzten.
        Warte Aktuell auf die Lieferung vom neuen Raspi 4.

        Der Plan ist dann Iobroker + Motioneye auf einen Raspi zu bringen.
        Ich hatte noch Probleme das mein Raspi 3 wo mein Vis aufruf im Firefox Browser lief (Monitor Ansicht) 1 mal am Tag "hängen" geblieben ist.
        Hier schein ein Problem zu sein bei der Verwendung von 2 Raspis.

        In den Objekten unter javascript.0 sind die Datenpunkte angelegt?

        • Ja hatte ich.

        Ist curl installiert?

        • Nein

        Werde dann später mal deine Schritt Anleitung durchführen.

        1 Reply Last reply Reply Quote 0
        • Yoda
          Yoda @fu_zhou last edited by

          @fu_zhou
          Ich habe mir nun einen neuen Raspi aufgesetzt. Die Anleitung bin ich soweit durch.

          1. Ich würde als erstes gerne zum testen per Vis Objekt Schalter bei True ein Bild an Telegramm schicken.
          2. später dann noch Per Trigger True ein Video auf dem Raspi speichern, bei False dann die Aufnahme beenden.

          Aber schon beim versuch die curl Befehle über die Konsole, klappt es nicht.
          192.168.178.118:7999/1 = IP vom Raspi + CamID 1
          Mein Raspi selbst hat den port 8081
          Motioneye + Iobroker laufen auf den gleichen Raspi.

          Wäre klasse wenn du / jemand meinen Fehler finden könnte.

          Das ist sind die Antworten wen ich es auf die Konsole eingebe:

          pi@raspberrypi:~ $ curl 192.168.178.118:7999/1/action/snapshot
          curl: (7) Failed to connect to 192.168.178.118 port 7999: Verbindungsaufbau abgelehnt
          pi@raspberrypi:~ $ curl 192.168.178.118:8081/set/javascript.0.motioneye.getEventStart?value=true
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Error</title>
          </head>
          <body>
          <pre>Cannot GET /set/javascript.0.motioneye.getEventStart</pre>
          </body>
          </html>
          pi@raspberrypi:~ $ 
          
          
          

          Datenpunkte sind Angelegt:
          M1.jpg
          In Motioney wurden die curl Befehle eingefügt:
          m2.jpg
          m3.jpg

          Diese Blockys habe ich erstellt.
          Das Objekt "Live_Bild_Hof_2_Trigger" ist dabei der einfache Schalten der bei True das Bild an Telegramm senden soll.
          m4.jpg

          <xml xmlns="https://developers.google.com/blockly/xml">
            <block type="create" id="Dr!Fx~Beoz0vD-u,=b,/" x="-1137" y="-762">
              <field name="NAME">motioneye.getEventStart</field>
              <value name="VALUE">
                <block type="logic_boolean" id="Wy?;T+5.gri54{%BRoya">
                  <field name="BOOL">FALSE</field>
                </block>
              </value>
              <value name="COMMON">
                <block type="text" id="}PVYZ$ApfE[JT./zl9YQ">
                  <field name="TEXT">{"type":"boolean"}</field>
                </block>
              </value>
              <next>
                <block type="create" id="bLTZ|UzK$d7XZMob_k%D">
                  <field name="NAME">motioneye.getEventStop</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="%.syN]|jrZG9f7D6+)zh">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                  <value name="COMMON">
                    <block type="text" id="|M`,^Y_#h}E_B_m!`,lx">
                      <field name="TEXT">{"type":"boolean"}</field>
                    </block>
                  </value>
                </block>
              </next>
            </block>
            <block type="on" id="mjP?5E~a[.nxfq92+x03" x="-562" y="-762">
              <field name="OID">javascript.0.motioneye.getEventStart</field>
              <field name="CONDITION">true</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
                <block type="control" id="Irj+AdQe](/s{qwwY9.*">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">kamera.0.Live_Bild_Hof_2_Trigger</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="#LR7R{hJpO8gK-7^_G0T">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                </block>
              </statement>
              <next>
                <block type="on" id="L{?ik@,9~9LVA1E4T58$">
                  <field name="OID">javascript.0.motioneye.getEventStop</field>
                  <field name="CONDITION">true</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="control" id="lQ=/_:?F.0wx,,$]yam?">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">kamera.0.Live_Bild_Hof_2_Trigger</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="xE%8._#@P2Zo@:v5;=gD">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="q(s^_W@O`za#6xyWCRAt">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">javascript.0.motioneye.getEventStart</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="#P;mKyGsx;lWF4@El%;l">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="MUmVEx!MA)NpV^jmSbU9">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">javascript.0.motioneye.getEventStop</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="j6bL:Ydvc])|`e]!;;0E">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="create" id="RkQbX[_+})vJ?5UekXGS" x="-1137" y="-312">
              <field name="NAME">motioneye.getLastPic</field>
              <value name="VALUE">
                <block type="logic_boolean" id="P6=?$BEKQNHr20:N{Y/t">
                  <field name="BOOL">FALSE</field>
                </block>
              </value>
              <value name="COMMON">
                <block type="text" id="l]060%Q7?l)-dFwh!;1x">
                  <field name="TEXT">{"type":"boolean"}</field>
                </block>
              </value>
              <next>
                <block type="create" id="5%dh/|_UT[|9zy-`Ow;!">
                  <field name="NAME">motioneye.takeSnapshot</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="6O+eV`T?YupBPAzQWO=0">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                  <value name="COMMON">
                    <block type="text" id="-!FR!~a21vuCPCLJppg/">
                      <field name="TEXT">{"type":"boolean"}</field>
                    </block>
                  </value>
                </block>
              </next>
            </block>
            <block type="on" id="wfa-Dpk:nkUhIb{RU%uh" x="-562" y="-312">
              <field name="OID">javascript.0.motioneye.takeSnapshot</field>
              <field name="CONDITION">true</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
                <block type="exec" id="]/8s/`J^W;XQ{qftY}Db">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                  <field name="WITH_STATEMENT">FALSE</field>
                  <field name="LOG">log</field>
                  <value name="COMMAND">
                    <shadow type="text" id="(K$1|n(y2}Vo)e[F`t$[">
                      <field name="TEXT">curl 192.168.178.118:7999/1/action/snapshot</field>
                    </shadow>
                  </value>
                  <next>
                    <block type="control" id="upr-7(fur`]75F6uEFcD">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.motioneye.takeSnapshot</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id=".AqlQids|W*gXLc^`/M8">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
              <next>
                <block type="on" id="i$|PYR#c.Qc3*,lk?O*`">
                  <field name="OID">javascript.0.motioneye.getLastPic</field>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="telegram" id="WC]o9!Q[E=rY6~s#U[0q">
                      <field name="INSTANCE">.0</field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">default</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="@rpRAn.t]M40U2v,qZ%2">
                          <field name="TEXT">curl 192.168.178.118:7999/1/action/snapshot</field>
                        </shadow>
                        <block type="get_value" id="G2%KCoV,9q)w;P-cWe8F">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.motioneye.getLastPic</field>
                        </block>
                      </value>
                      <value name="USERNAME">
                        <block type="text" id=".b;[`=6Wv:j9?Oe_z4ZK">
                          <field name="TEXT">Yoda</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </xml>
          
          fu_zhou 1 Reply Last reply Reply Quote 0
          • fu_zhou
            fu_zhou @Yoda last edited by

            @yoda
            Wenn ich ein curl auf mein motioneye loslasse kriege ich folgende Antwort:

            curl 192.168.0.52:7999/1/action/snapshot
            Snapshot for camera 1 
            Done
            
            

            Bei dir kommt "Verbindungsaufbau abgelehnt" ==> da solltest du ansetzen. Ist der Port über die Firewall geblockt, ist in der motioneye config localhost etc. deaktiviert?

            Yoda 1 Reply Last reply Reply Quote 0
            • Yoda
              Yoda @fu_zhou last edited by

              @fu_zhou sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

              motioneye config localhost etc. deaktiviert?

              ja wurde zuvor schon auf false angepasst.
              Schon mal gut zu wissen wie deine Antwort auf den curl Befehl aussieht.

              Habe nun schon versucht diverse Ports mal freizugeben bekomme aber einfach kein connect per curl Befehl hin 😞
              Snapshot per Url klappt: http://192.168.178.118:8765/picture/1/current/
              Könntest du mir einmal deine Freigabe für die Ports zeigen?
              evtl. mache ich da auch etwas Falsch.

              Motioneye läuft soweit, das bei einer Bewegungserkennung ein Bild gespeichert wird.
              Die Bewegungserkennung läuft hier aber noch über die Bewegungserkennung der Kamera.
              2021-03-24 08_44_56-Window.jpg

              Werde es weiterversuchen muss doch klappen ...

              fu_zhou S 2 Replies Last reply Reply Quote 0
              • fu_zhou
                fu_zhou @Yoda last edited by

                @yoda Ich habe keine Ports explizit freigeben müssen, war nur so eine Idee... Da du motioneye und iobroker auf dem selben Pi hast, sollte das eigentlich keine Rolle spielen, da habe ich aber nur gefährliches Halbwissen...
                Hast du mal von einem anderen PC im Netz versucht per curl auf den Pi zu kommen?

                1 Reply Last reply Reply Quote 0
                • S
                  saint @Yoda last edited by

                  @yoda

                  Du musst zusätzlich noch in /etc/motioneye/motion.conf den Eintrag "webcontrol_localhost on" zu "webcontrol_localhost off" ändern

                  Yoda 1 Reply Last reply Reply Quote 1
                  • Yoda
                    Yoda @saint last edited by

                    @saint sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

                    /etc/motioneye/motion.conf den Eintrag "webcontrol_localhost on" zu "webcontrol_localhost off"

                    Genau das wars - Danke @saint
                    Habe es geändert und bekomme nun auch das Bild per curl Befehl.

                    2021-03-29 08_26_00-Neuer Raspi 4 Aufsetzten 03.2021 - Word.jpg

                    Dann kann es nun weitergehen, das ich das jeweils letzte Bild per Telegramm verschicke.
                    2021-03-29 08_27_49-Window.jpg

                    1 Reply Last reply Reply Quote 0
                    • Marc_el_K
                      Marc_el_K @fu_zhou last edited by

                      @fu_zhou Hallo, Danke für deinen interessanten Beitrag.

                      Ist es denn möglich, auch von ioBroker einen Datenpunkt zu setzen, welcher die Bewegungserkennung der Kameras ein und ausschaltet. Ich nutze einen Pi4 und Vis und nun kam mir die Idee, dass die Bewegungserkennung und auch die Funktion "Still Images" nur dann aktiviert werden soll, wenn ich nicht zu Hause bin. Gibts dafür auch eine Lösung?

                      Danke vorab
                      Gruß Marcel

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

                        @fu_zhou Hat sich erledigt. Habe es mit "/detection/pause" gelöst

                        crunchip 1 Reply Last reply Reply Quote 0
                        • crunchip
                          crunchip Forum Testing Most Active @Marc_el_K last edited by crunchip

                          @marc_el_k bin da irgendwie zu blöd für, wie muss denn das blockly aussehen bzw der Befehl, um zu senden?

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

                            @crunchip Ich bin hier nach gegangen

                            MotioneyeOS Aktivierung/Deaktivierung Bewegungserkennung

                            Als Script habe ich den EXEC Befehl ausgeführt mit

                            curl http://IPIOBROKER:7999/1/detection/start
                            

                            bzw.

                            curl http://IPIOBROKER:7999/1/detection/pause
                            

                            Die 1 im Link steht für Kamera 1...also anpassen.

                            Den Status kannst du mit

                            http://IPIOBROKER:7999/1/detection/status
                            

                            abfragen.

                            Bei mir hatte es erst nicht geklappt, bis ich in der motion.conf auf

                            webcontrol_localhost off
                            

                            geändert habe.

                            Hoffe das hilft dir!

                            crunchip Wszene 2 Replies Last reply Reply Quote 0
                            • crunchip
                              crunchip Forum Testing Most Active @Marc_el_K last edited by crunchip

                              @marc_el_k sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

                              curl http://IPIOBROKER:7999/1/detection/pause

                              ja, so habe ich es auch, klappt aber nicht

                              @marc_el_k sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

                              webcontrol_localhost off

                              steht bei mir auf off

                              Edit:
                              ich hatte es die ganze Zeit mit Kamera ID 0 probiert, für alle Kamera`s

                              So issuing a command of {IP}:{port}/0/detection/pause is going to pause all the cameras.
                              

                              geht aber nicht, einzelne funktionieren

                              1 Reply Last reply Reply Quote 0
                              • P
                                Pittini Developer last edited by

                                @fu_zhou sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

                                curl 192.168.0.50:8082/set/javascript.0.motioneye.getEventStart?value=true

                                Hi allerseits, ich hab mich auch mal an die Sache gewagt und es läuft....fast. Also Bild, curlbefehle etc alles gut, aber wie krieg ich den shared Folder unter Proxmox hin? Iobroker läuft in ner VM, Motioneye in nem unprivilegierten Lxc. Ich krieg auch wunderbar den Pfad zum Image geschickt, nur wie greif ich da jetzt zu?

                                crunchip 1 Reply Last reply Reply Quote 0
                                • crunchip
                                  crunchip Forum Testing Most Active @Pittini last edited by

                                  @pittini verstehe nicht genau was du meinst

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Pittini Developer @crunchip last edited by

                                    @crunchip In Kurzform, MotionEye legt die Bilder in Ordner X auf der LXC A ab, wie kann ich darauf mit iobroker in VM B zugreifen? Die VM bzw. LXC laufen unter Proxmox und ich beziehe mich auf den Anfang des ersten posts in diesem Thread.

                                    crunchip 1 Reply Last reply Reply Quote 0
                                    • crunchip
                                      crunchip Forum Testing Most Active @Pittini last edited by crunchip

                                      @pittini ist virtuellen Maschine im VM Ware Player nicht etwas anders als Proxmox?
                                      ich habe es auch unter Proxmox laufen
                                      Bild/Stream in Vis anzeigen, mittels URL von Motioneye selbst
                                      8321dc6d-266a-4c06-983d-aebe8e918d0b-grafik.png
                                      Daten werden auf ne separate Platte geschickt, da diese nach 24h aus dem root directory gelöscht werden
                                      a4e6ab2c-aed6-45a8-9bad-0c9aceb142cb-grafik.png
                                      Verschicken per blockly , mittels exec
                                      4b523484-2ac4-4cc9-93a5-fe75aadc23b1-grafik.png

                                      oberfragger 1 Reply Last reply Reply Quote 0
                                      • oberfragger
                                        oberfragger @crunchip last edited by oberfragger

                                        Ich weiss,
                                        der Beitrag hier ist bereits ein bisschen älter. Da ich gesucht... und gefunden habe, möchte ich gern mit Euch meine Erkentniss teilen. Die Lösung von @Marc_el_K war für mich nicht ganz ausreichend, da ich direkt aufzeichnen wollte udn ich bisschen suchen musste. Naja.-.. überlesen hab ich seine Antwort auch 😉

                                        Ich habe MotionEye unter Debian direkt installiert. Das ganze läuft in einem LXC-Container.
                                        dad6fc04-3cf8-4aec-9346-5a60c4bf6add-image.png

                                        Da ich an der Tür zum Schuppen sowieso einen Reed-Kontakt installiert habe, möchte ich alles Treiben nach dem öffnen rollierend aufzeichnen und beim schließen der Tür dann wieder ausschalten.

                                        1. Datei /etc/motioneye/motion.conf editieren und "webcontrol_localhost off" anpassen
                                        2. Neustart
                                        3. Kontrolle via Browser, z.B. "http://<motioneye-ip>:7999/<Nummer der Kamera>/detection/status" ergibt dann beispielsweise: "Camera 2 Detection status ACTIVE "
                                        4. Anpassen der gewünschten Settings auf "http://motioneye:8765/", beispielsweise wo der Film, Filmtyp oder auch nur die Bilder gespeichert werden sollen und "apply" drücken
                                        5. Blockly anpassen.

                                        Also beispielsweise:

                                        curl http://motioneye:7999/2/detection/start (Schaltet Bewegungsmeldung scharf, noch nicht die Bewegung)
                                        curl http://motioneye:7999/2/detection/pause (Deaktiviert die Bewegungsmeldung)
                                        curl http://motioneye:7999/2/detection/status (Statusanzeige Bewegungsmeldung)
                                        
                                        curl http://motioneye:7999/2/config/set?emulate_motion=on (simuliert die Bewegung...startet dann die Aktion, beispielsweise die Aufnahme usw.)
                                        curl http://motioneye:7999/2/config/set?emulate_motion=off (stoppt die simulierte Bewegung)
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Wszene
                                          Wszene last edited by

                                          @saint sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

                                          /etc/motioneye/motion.conf

                                          Danke für die Anleitung

                                          Ich habe da mal eine Frage zum Senden der Snapshots
                                          Der DP wird mit dem aktuellen Bild gefüllt
                                          das sieht dann so aus

                                          /var/lib/motioneye/Camera1/2023-01-22/15-00-37.jpg
                                          

                                          Und genau das bekomme ich auch per Telegram zugesendet
                                          Was muss ich anpassen damit das Bild gesendet wird

                                          Ich habe Motioneye und den ioB auf verschiedenen VMs laufen
                                          Der eine hat die IP ...102 und der andere ...103

                                          Danke im Voraus
                                          Gruß
                                          Marcel

                                          crunchip 1 Reply Last reply Reply Quote 0
                                          • crunchip
                                            crunchip Forum Testing Most Active @Wszene last edited by

                                            @wszene sagte in Bewegungserkennung mit Motioneye, Lösung komplett in Blockly:

                                            Was muss ich anpassen damit das Bild gesendet wird

                                            zeig mal dein script

                                            Wszene 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            972
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly communication monitoring security template
                                            12
                                            62
                                            14746
                                            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