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.
    • Jey Cee
      Jey Cee Developer @jm3west last edited by

      @jm3west schön das du etwas zurück gibst. Es wäre auch schön wenn du einen Titel der zur Funktion deines Blocklys passt vergibst. Wenn es von der länge passt mit [Vorlage] drin und als Tag(Schlagwort) Vorlage.

      Dann wäre auch noch eine Kurze Beschreibungg was das Blockly macht ne tolle sache. Und zu guter letzt könntest du noch einen Export deines Blockys zur Verfügung stellen um es anderen leichter zu machen.

      1 Reply Last reply Reply Quote 2
      • 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

                            928
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

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