Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ein Blockly für Reolink Snapshot zu Telegram

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ein Blockly für Reolink Snapshot zu Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • crunchip
      crunchip Forum Testing Most Active @jm3west last edited by

      @jm3west sagte in Ich wollte mal etwas zurückgeben:

      der denkt ich sei ein Schlimmer Mensch (Vielleicht ist er wegen dem ganzen Corona sehr sensibilisiert)

      nicht wirklich, Grundsätzlich habe ich keine Vorurteile, ausserdem kennen wir uns ja nicht persönlich😜

      1 Reply Last reply Reply Quote 1
      • SBorg
        SBorg Forum Testing Most Active @jm3west last edited by

        @jm3west sagte in Ein Blockly für Reolink Snapshot zu Telegram:

        Ich muss erwähnen dass ich kein Erfahrener/Professioneller Programmierer bin. Das ist ein reines Hobby!
        Da wo ein Professioneller Programmierer 15 Minuten brauch, sitze ich schon mal 2-3 Tage dran.
        Bin da aber wie ein Bullterrier.

        ...und dafür schon mal ein 👍
        Auch hier gilt "Übung macht den Meister", denn wohl für die meisten ist es Hobby und echte Programmierer dürften auch dünn gesät sein.
        ...und die erfahrenen sind auch nicht morgens aus dem Bett gefallen und konnten plötzlich programmieren.

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

          @jm3west sagte in Ein Blockly für Reolink Snapshot zu Telegram:

          OK, beim Start vom Script ist der Link von der Reokink-API der mittels Crontab, jede Sekunde, die URL aktualisiert wird.
          Da dass Ergebniss des Links in JSON ausgegeben wird muss dass Ergebniss mit einem System > Attribut-Block in einen zuvor erstellten Datenpunkt (Number) geschrieben werden.
          0 = keine Bewegung, 1 = Bewegung erkannt

          denke das machst du, weil du motioneye nicht richtig zum laufen bekommst

          @jm3west sagte in Ein Blockly für Reolink Snapshot zu Telegram:

          Der weitere Ablauf des Script ...
          Wird eine Bewegung erkannt wird im exec-Block der Bedingung "wert=1" nach dem soeben/letzten erstellten Snapshot gesucht und vom ioBroker-Host mittels "scp" vom FTP-Server in ein lokales Verzeichnis (Bei mir /tmp/UeCAMS/nameVonKamerastandort) abgespeichert.

          wäre es da nicht möglich einen exec Befehl auszuführen, der einen aktuellen snap direkt von der cam verschickt? z.b so https://forum.iobroker.net/post/624431
          (weis nicht ob die cam 2 Auflösungs- Url's unterstützt)

          1 Reply Last reply Reply Quote 0
          • J
            jm3west last edited by jm3west

            @crunchip sagte in Ein Blockly für Reolink Snapshot zu Telegram:

            denke das machst du, weil du motioneye nicht richtig zum laufen bekommst

            Von Motioneye nehme ich nur das Livebild um in VIS zu integrieren

            @crunchip sagte in Ein Blockly für Reolink Snapshot zu Telegram:

            wäre es da nicht möglich einen exec Befehl auszuführen, der einen aktuellen snap direkt von der cam verschickt? z.b so https://forum.iobroker.net/post/624431
            (weis nicht ob die cam 2 Auflösungs- Url's unterstützt)

            Ne, leider nicht!
            Der Snapshot liegt nur im rtsp-Protokol vor.
            Wobei ich gar nicht weiß ob Telegram das versteht

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

              @jm3west laut deiner Api von oben, steht doch

              Snap URL:
              http://​(ip address)​/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=​(any combination of
              numbers and letters)​&user=​(user name)​&password=​(user password)
              

              wobei ich mir vorstellen könnte, channel=0 ist volle Auflösung, channel=1 ist kleinere Auflösung, zumindest kenne ich das so von meinen cams

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

                @crunchip das result von dem Link ist aber JSON mit Wert 0 und 1. Also nur die Info das eine Bewegung statt fand

                Ich muss den Snap vom FTP server ziehen

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

                  @jm3west sagte in Ein Blockly für Reolink Snapshot zu Telegram:

                  das result von dem Link ist aber JSON mit Wert 0 und 1. Also nur die Info das eine Bewegung statt fand

                  ich dachte, wenn du den Link im Browser eingbst, zeigt es das aktuelle Bild

                  http://192.168.2.119/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG
                  7C&user=admin&password=123456
                  
                  Solas 1 Reply Last reply Reply Quote 0
                  • Solas
                    Solas @crunchip last edited by

                    Hallo,
                    dass bild wird bei mir auf dem Rechner vom IObroker abgelegt.
                    Ich hole das Bild mit wget lege es in einem Ordner meiner Wahl ab gebe ihm einen Namen (hier jetzt snapHof für die Kamera im Hof).

                    wget -O /opt/iobroker/snapHof.jpg "http://192.168.10.119/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=user&password=password"

                    Danach wird diese Datei mit Telegram gesendet. Da die Datei immer den selben Namen hat, wird sie immer überschrieben, spart mir das löschen.

                    Bildschirmfoto 2021-12-29 um 13.52.31.png

                    Das mit dem Bild funktioniert so weit ganz gut.
                    Da ich MotionEye nicht laufen lasse aus gründen der Systemressourcen finde ich deinen Ansatz gar nicht so übel...

                    Nur das mit der Bewegungserkennung habe ich nicht ganz so hinbekommen. Eventuell sieht ja jemand den Fehler...
                    Bildschirmfoto 2021-12-29 um 14.05.09.png

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      jm3west @Solas last edited by

                      @georg-nürnberger hast Du mal versucht den timeout-Block zu verlängern.
                      Das könnte genau dass sein was ich beschrieben habe das der Download noch nicht fertig ist und beim Versand mit Telegram noch gar kein Bild vorliegt.

                      Selbst wenn es nur 1/1000 ist

                      Solas 1 Reply Last reply Reply Quote 0
                      • Solas
                        Solas @jm3west last edited by Solas

                        @jm3west
                        Danke für die Schnelle Antwort,
                        Die Verlängerung habe ich genau deshalb drinnen. Habe eine Kamera die mir ein Video sendet und da geht es nicht ohne. Man bekommt ein Pixelvideo. Habe es jetzt nicht mit einer kleineren Zeit Probiert.

                        So dachte ich...bis eben. Doch wenn man wie weiter oben drauf hingewiesen wurde, exec mit Ergebnissen ausführt, get es ohne.

                        Mein Fehler habe ich jetzt gefunden...
                        Wenn mann Statt value valve schreibt kann es nicht gehen...

                        Danke...

                        Nachtrag:
                        Also der Hinweis mit der Entfernung der Zeit ist Top (Danke auch hierfür).

                        Hier meine Lösung.
                        IP, User, Password, Speicherplatz und Name sowie TelegramUser sind persönlich anzupassen...


                        <xml xmlns="https://developers.google.com/blockly/xml">
                        <variables>
                        <variable id="t~1a+M$ufxHytFYbLix">result</variable> </variables> <block type="schedule" id="/G2._fir(/HCp~;8C^h" x="63" y="88">
                        <field name="SCHEDULE">* * * * * </field>
                        <statement name="STATEMENT">
                        <block type="request" id="J$Ccc9Oyhv{O]SPxt8-^">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                        <field name="WITH_STATEMENT">TRUE</field>
                        <field name="LOG"></field>
                        <value name="URL">
                        <shadow type="text" id="{$gOvri2Vjn[]QYsv_^?">
                        <field name="TEXT">text</field>
                        </shadow>
                        <block type="text" id="Y]}hSK@5{nHD-z)P$RsF">
                        <field name="TEXT">http://192.168.10.119/api.cgi?cmd=GetMdState&user=admin&password=Password</field>
                        </block>
                        </value>
                        <statement name="STATEMENT">
                        <block type="update" id="!X:YYc/g_)hlCv0c^0S,">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">script.js.common.Bewegung_Hof</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                        <block type="get_attr" id="4M6|A47a(LKbK,hxbq4E">
                        <value name="PATH">
                        <shadow type="text" id="KQ=cI$61M/O0
                        2*I,?#A">
                        <field name="TEXT">0.value.state</field>
                        </shadow>
                        </value>
                        <value name="OBJECT">
                        <block type="convert_json2object" id="Z(~fHSB:I/Q?u}gEj0^6">
                        <value name="VALUE">
                        <block type="variables_get" id="-hhj5g)J~^{~1kR;iCH"> <field name="VAR" id="t~1a+M$ufxHytFYbLix">result</field>
                        </block>
                        </value>
                        </block>
                        </value>
                        </block>
                        </value>
                        </block>
                        </statement>
                        </block>
                        </statement>
                        </block>
                        <block type="on_ext" id="bh;RWJ^pAMNwZ/!Qunq!" x="67" y="369">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                        <field name="CONDITION">gt</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                        <shadow type="field_oid" id="8X~TRdg;w@PYaYs2d-Av">
                        <field name="oid">default</field>
                        </shadow>
                        <block type="field_oid" id="whfxX(^7As[TAo6525">
                        <field name="oid">script.js.common.Bewegung_Hof</field>
                        </block>
                        </value>
                        <statement name="STATEMENT">
                        <block type="exec" id="pVcwF+4lwdt{nF[sT|CJ">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                        <field name="WITH_STATEMENT">TRUE</field>
                        <field name="LOG"></field>
                        <comment pinned="false" h="80" w="160">rtsp://username:password@192.168.10.112/12 /11 1080p /12 360p /13 240p</comment>
                        <value name="COMMAND">
                        <shadow type="text" id="aJc!.(=M$0a)Iw-Sqp|P">
                        <field name="TEXT">ffmpeg -i http://192.168.10.121/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=Password /opt/iobroker/GehwegCam.jepeg</field>
                        </shadow>
                        <block type="text" id="kiqUKh/:BAeEn,PXG8Y"> <field name="TEXT">wget -O /opt/iobroker/snapHof.jpg "http://192.168.10.119/cgi-bin/api.cgi?cmd=Snap&amp;channel=0&amp;rs=wuuPhkmUCeI9WG7C&amp;user=admin&amp;password=Password"</field> </block> </value> <statement name="STATEMENT"> <block type="telegram" id="/$.WMDc}ztQtM6[WZC(p"> <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=":,J8(4fJ@7jj8^yP?(j">
                        <field name="TEXT">/opt/iobroker/snapHof.jpg</field>
                        </shadow>
                        </value>
                        <value name="USERNAME">
                        <block type="text" id="[q)=?S/a1/ncUJX~gXx]">
                        <field name="TEXT">Georg</field>
                        </block>
                        </value>
                        </block>
                        </statement>
                        <next>
                        <block type="timeouts_wait" id="nLBlK`eV:%{UzHIg%XBf">
                        <field name="DELAY">10</field>
                        <field name="UNIT">sec</field>
                        </block>
                        </next>
                        </block>
                        </statement>
                        </block>
                        </xml></xml>

                        1 Reply Last reply Reply Quote 0
                        • j h
                          j h last edited by

                          Ich hab das Gefühl dass die API auch reagiert wenn Bewegungen in Sperrzonen erkannt wurden??
                          Kennt jemand die richtige API oder eine offizielle API Beschreibung?

                          Gruß

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          489
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          6
                          13
                          1607
                          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