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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ein Blockly für Reolink Snapshot zu Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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

                        443
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

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