Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zeitlicher Unterschied bei Bildübermittlung Email/Telegram

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zeitlicher Unterschied bei Bildübermittlung Email/Telegram

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

      Moin,
      Ich habe mir bisher bei Bewegung ein Bild per E-Mail zugesendet. Nun wollte ich das Bild schneller bekommen und leichter öffnen, daher versuchte es mit dem Adapter für Telegram.
      Soweit so gut - das funktioniert.
      Ich habe zum Test beides parallel laufen lassen und dabei ist mir aufgefallen, dass die Bilder einen deutlich zeitlichen Versatz aufweisen - ca. 3 Sekunden. Leider sind diese 3 Sekunden in meinem Fall etwas zu viel. Also Email: das Bild von 'sofort' (+ Zeit für den Emailversand und bis es wieder im Posteingang ist) und Telegram von 3 Sekunden später, dafür ist es quasi direkt da. Für den Versand der E-Mail greife ich direkt auf die snapshot-URL zu, für Telegram muss ich das Bild erst speichern (wget --output-document...) und dann versendet.
      Ich nutze Unifi-Produkte, den Unifi-Protect Adapter und versende über Blockly mit dem Telegramadapter und E-Mail.

      Ich würde also gerne das Bild von der snapshot-URL direkt versenden - was ich aber leider nicht hinbekomme.

      Mein Blockly:snapshot_iobroker.jpg

      Und hier noch mein Export:

        <variables>
          <variable type="timeout" id="timeout2">timeout2</variable>
        </variables>
        <block type="on_ext" id="IgQ/8nw5)|DkC-`n,.yq" x="-462" y="-712">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">any</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="bC5#g,Zjc^L5Pq3EY!3N">
              <field name="oid">unifi-protect.0.cameras.62192208016e1a03e70003fa.realTimeEvents.motion.snapshot</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="exec" id="#1G=wcj,Q=JX8_9qcaVY">
              <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
              <field name="WITH_STATEMENT">FALSE</field>
              <field name="LOG"></field>
              <value name="COMMAND">
                <shadow type="text" id="_in^$Rd0zcr%:Cwtn-oU">
                  <field name="TEXT">wget --output-document /opt/iobroker/tmp/eingang01.jpg "http://192.168.0.21/snap.jpeg"</field>
                </shadow>
              </value>
              <next>
                <block type="timeouts_settimeout_variable" id="DBU:$x0(^MhW*/=K#%QI">
                  <field name="NAME">timeout2</field>
                  <value name="DELAY_MS">
                    <shadow type="math_number" id="4{#5aJB;=oXb_j-fsCSX">
                      <field name="NUM">300</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="telegram" id="9]Pyu2%DbXlA~k7K_K{X">
                      <field name="INSTANCE">.0</field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">HTML</field>
                      <field name="DISABLE_WEB_PAGE_PREVIEW">TRUE</field>
                      <value name="MESSAGE">
                        <shadow type="text">
                          <field name="TEXT">https://192.168.0.21/snap.jpeg</field>
                        </shadow>
                        <block type="text_join" id="#-5+|M/:12iCzp+@/HBz">
                          <mutation items="1"></mutation>
                          <value name="ADD0">
                            <block type="text" id="nc1T_x4H0MyeIh0[=))*">
                              <field name="TEXT">/opt/iobroker/tmp/eingang01.jpg</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="CHATID">
                        <block type="text" id="%)bLLqDxa{6S6,31uq6D">
                          <field name="TEXT">0000000000</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <next>
                    <block type="email" id="G2M-9a098A!4e[D)zff/">
                      <field name="INSTANCE">.0</field>
                      <field name="IS_HTML">TRUE</field>
                      <field name="LOG">log</field>
                      <value name="TO">
                        <shadow type="text" id="cqBL?#UD;b[0Fn6Ps.%*">
                          <field name="TEXT">EMAILADRESSE</field>
                        </shadow>
                      </value>
                      <value name="TEXT">
                        <shadow type="text">
                          <field name="TEXT">&lt;html&gt; &lt;head&gt;&lt;title&gt;HTML BILD&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;img src='cid:file1' width=“100%“ height=“100%“&gt;&lt;/body&gt;&lt;/html&gt;</field>
                        </shadow>
                        <block type="text_join" id="$LJiT3GSSks]iPl5f}5X">
                          <mutation items="3"></mutation>
                          <value name="ADD0">
                            <block type="text" id="{c%HKuGaT+gP}$8LtT?v">
                              <field name="TEXT">&lt;html&gt;&lt;body&gt;&lt;img src="</field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="get_value" id="q=NpD%2@4xw0eRmJ[mm=">
                              <field name="ATTR">val</field>
                              <field name="OID">unifi-protect.0.cameras.62192208016e1a03e70003fa.realTimeEvents.motion.snapshot</field>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="text" id="nL=uv1ci)a[o%d#i.~MG">
                              <field name="TEXT">" width="100%"&gt;&lt;/body&gt;&lt;/html&gt;</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="SUBJECT">
                        <shadow type="text" id="dp^vx%Y@.kkX9A_|K.c;">
                          <field name="TEXT">Bewegung Eingang</field>
                        </shadow>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Ich Danke für Zeit und Tips.
      Grüße

      haselchen haus-automatisierung 2 Replies Last reply Reply Quote 0
      • haselchen
        haselchen Most Active @belzeBUB last edited by

        @belzebub

        Ja, so einen Versatz habe ich auch .
        Ca 2-3 Sekunden.
        Das Bild wird gemacht und dann (speziell) gespeichert …
        Wenn ich die Zeit kürzer setze bekomme ich ein schwarzes Bild mit 0kb.
        Hänge mich mal mit ran , vielleicht hat jemand was eleganteres.

        1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active last edited by

          Die Lösung ist den Versand in das exec zu setzen:

          523f2ec9-9595-4c85-ace8-3a9eaeea81a3-image.png

          dann braucht es auch kein Timeout, der Block wird ausgeführt sobald der exec Befehl beendet ist.

          B 1 Reply Last reply Reply Quote 0
          • B
            belzeBUB @BananaJoe last edited by

            @bananajoe
            Danke - das probiere ich direkt.
            Wobei ich vermute, dass ich so den unterschied lediglich von 3 auf 2 Sekunden reduziere, aber ich lasse mich überraschen.

            Es gibt aber ja schon das fertige Bild unter "http://192.168.0.21/snap.jpeg". Kann ich das nicht direkt versenden?
            Alle meine Versuche dazu sind leider fehlgeschlagen... 😞 Per E-Mail ist es kein Problem.

            Ach so, ich weiß nicht, ob das klar genug herauskam:
            Die Telegram Meldung und die Email kommen auf meinen Endgeräten nahezu zeitgleich an. Die Bilder haben den Zeitunterschied - soll heißen: der Ausschnitt in der Email ist "JETZT" und der Ausschnitt ist "Jetzt + ca. 3 Sekunden".

            Danke.

            1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @belzeBUB last edited by haus-automatisierung

              @belzebub Warum genau arbeitest Du mit einem geratenen Versatz? Das kann doch nur schief gehen und wird nie zu 100% funktionieren. Hake bei dem exec Block einfach mit Ergebnissen an und pack die Logik zum Versenden da rein. Ohne Timeout usw. Der innere Teil wird dann ausgeführt, wenn das exec fertig ist.

              Edit: Nicht alles gelesen, ... das hatte @BananaJoe ja schon geschrieben 👍

              1 Reply Last reply Reply Quote 0
              • B
                belzeBUB last edited by

                @haus-automatisierung
                ich hatte mit dem Versatz gearbeitet - da ich das anderswo abgeguckt hatte und nichts vom "mit Ergebnissen" wußte. 😇
                Den Vorschlag von @BananaJoe habe ich bereits umgesetzt und werde vom Erfolg (fingers crossed) berichten.

                Danke!

                B 1 Reply Last reply Reply Quote 0
                • B
                  belzeBUB @belzeBUB last edited by belzeBUB

                  @BananaJoe & @haus-automatisierung
                  Es bleibt leider bei dem 'Lag'
                  Email:
                  Screenshot 2023-03-07 083612.jpg
                  Telegram:
                  Screenshot 2023-03-07 083603.jpg
                  Auslöser: identisches Event.

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @belzeBUB last edited by

                    @belzebub Und die URL ist jedes Mal eindeutig? Also enthält die URL einen Zeitstempel o.ä.? Du packst ja immerhin keinen Anhang in die Mail, sondern HTML mit einer Bild-URL. Das heißt, wenn Du die Mail morgen wieder aufmachst, bekommst Du wieder ein Bild von JETZT (und nicht vom Zeitpunkt der Mail).

                    Ich würde das auf Mail-Anhänge umstellen.

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      belzeBUB @haus-automatisierung last edited by belzeBUB

                      @haus-automatisierung
                      Danke, dass du nachfragst.

                      Die URL ist immer https://192.168.0.21/snap.jpeg - kein Timestamp, keine fortlaufende Nummer.
                      Auch wenn ich mir die gestrigen Emails jetzt ansehe - dann sind da die Bilder von gestern drin und nicht das von jetzt.
                      Hab ich einen Fehler in der Matrix entdeckt? 😉

                      Es würde mir schon reichen, wenn ich das Bild, was ich per Email versende einfach per Telegram versenden könnte - was mir aber nicht gelingen will.

                      BananaJoe haus-automatisierung 2 Replies Last reply Reply Quote 0
                      • BananaJoe
                        BananaJoe Most Active @belzeBUB last edited by

                        @belzebub wenn es ein Schnappschuss ist wird der vermutlich generiert in dem Moment wenn du diesen aufrufst.
                        Wenn du also 2x hintereinander die URL aufrufst, also einmal für die Email und dann noch mal für Telegram dann wird bei jedem Aufruf ein neuer "Snap" generiert. Da das nicht in Echtzeit passiert könnte ich mir vorstellen das auch im Browser beim drücken von F5 jedes mal ein paar Sekunden zwischen den Zeitstempeln liegen.

                        Also einmal abrufen und das lokal gespeicherte Bild für beides verwenden.

                        B 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @belzeBUB last edited by

                          @belzebub sagte in Zeitlicher Unterschied bei Bildübermittlung Email/Telegram:

                          Hab ich einen Fehler in der Matrix entdeckt?

                          Wahrschein lädt dein E-Mail Client die Bilder einmal herunter beim öffnen und legt die in den Cache. Nimm mal einen anderen Client und öffne die gleiche Mail von gestern 🙂

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            belzeBUB @BananaJoe last edited by

                            @bananajoe
                            Wenn ich im Browser F5 drücke (https://192.168.0.21/snap.jpeg), habe ich direkt das aktuelle Bild aus der Kamera. Auch wenn ich 3x in einer Sekunde F5 drücke - keine Verzögerung.
                            Ich verwende diese URL auch zur Anzeige in der VIS (wollte den rtsp stream nicht umwandeln) - Aktualisierung alle 1000ms und zeige zusätzlich das Bild der 'lastMotion' daneben an.

                            1 Reply Last reply Reply Quote 0
                            • B
                              belzeBUB @haus-automatisierung last edited by

                              @haus-automatisierung
                              muss ich dich leider 'enttäuschen' - ich habe es jetzt aus Neugierde im Webmailer geöffnet: es ist das korrekte Bild von dem Moment als die Bewegung war.

                              DJMarc75 haus-automatisierung 2 Replies Last reply Reply Quote 0
                              • DJMarc75
                                DJMarc75 @belzeBUB last edited by

                                @belzebub ob es u.U. mit der Konvertierung von jpeg zu jpg zu tun hat?

                                1 Reply Last reply Reply Quote 0
                                • haus-automatisierung
                                  haus-automatisierung Developer Most Active @belzeBUB last edited by

                                  @belzebub Keine Ahnung wie das sein kann - aber technisch ist es so, dass die Mail ja nur eine URL enthält (und nicht das Bild selbst). Daher enthalten alle Mails aus dieser Logik 1:1 den gleichen Inhalt. Das Bild wird nicht mit verschickt. Dieses wird vom Mail-Client abgeholt. Das heißt, dass Du z.B. auch außerhalb von Deinem Heimnetz diese Mails gar nicht öffnen kannst (bzw. das Bild wird nicht geladen) - außer per VPN-Verbindung.

                                  Daher nochmal der Vorschlag, das Bild als Anhang zu versenden.

                                  B 2 Replies Last reply Reply Quote 0
                                  • B
                                    belzeBUB @haus-automatisierung last edited by

                                    @haus-automatisierung
                                    okay - das verstehe ich auch nicht, denn ich habe zwar ne VPN (über eine Hardware-Appliance), aber die habe ich im Regelfall nur für spezielle Anwendungen oder aus dem Urlaub verbunden.

                                    Die Bilder sind in den Emails - nicht nur verlinkt auf die URL. Wenn ich mir den Quelltext der Email ansehe, dann ist da auch ein Bild drin nicht nur ein Link/Verweis auf eine URL:

                                    <html><body><img src=3D"data:image/png;base64,/9j//gAQTGF2YzU4LjkxLjEwMAD/2=
                                    wBDAAgKCgsKCw0NDQ0NDRAPEBAQEBAQEBAQEBASEhIVFRUSEhIQEBISFBQVFRcXFxUVFRUXFxkZ=
                                    GR4eHBwjIyQrKzP/xACjAAACAwEBAQEAAAAAAAAAAAACAwQBBQYABwgBAQEBAQEBAAAAAAAAAAA=
                                    AAAABAgMEBRAAAgEDAgMGAwQHBgUEAwADAgERAwAhMRJBUQQTgXFhBSIyoZHBsVJCciMU0WLw4Q=
                                    ay8YKSM3M0oiRDFdJTwkSDY+KToxEBAQABBAIABAYCAwEBAAAAAAERMUEhAhJRYXEigZHBsUI
                                    
                                    [entfernt]
                                    
                                    upaR4W47qs/qx30CXlfyTqB2VSXnf2A8g/B38o9QUdQV9P29ovVmu/XV+vzOi5v03V=
                                    +sP/Z" width=3D"100%"></body></html>
                                    
                                    haus-automatisierung 1 Reply Last reply Reply Quote 0
                                    • B
                                      belzeBUB @haus-automatisierung last edited by

                                      @haus-automatisierung
                                      ich sehe gerade, dass in meinem Datenpunkt [snapshotUrl] der Kamera ein Bild hinterlegt ist und gar keine URL:
                                      data:image/png;base64,/9j//gAQTGF2YzU4LjkxLjEwMAD/2wBDAAgKCgsKCw0NDQ0NDRAP[...]

                                      Das passt auch mit der Fehlermeldung, die ich vom Telegramadapter erhalte:
                                      "ETELEGRAM: 400 Bad Request: can't parse entities: Text is too long"

                                      1 Reply Last reply Reply Quote 0
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @belzeBUB last edited by haus-automatisierung

                                        @belzebub sagte in Zeitlicher Unterschied bei Bildübermittlung Email/Telegram:

                                        ich sehe gerade, dass in meinem Datenpunkt [snapshotUrl] der Kamera ein Bild hinterlegt ist und gar keine URL:

                                        Ach, das erklärt natürlich einiges 🙂

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          belzeBUB @haus-automatisierung last edited by

                                          @haus-automatisierung
                                          jup... sorry... man braucht halt doch alle Informationen... und blöd, wenn man sich noch nicht in der Tiefe auskennt.

                                          Hast du eine Idee, wie ich das dann per Telegram versende?
                                          Über meine versuchten Wege erhalte ich den oben benannten Fehler.

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            bimmi @belzeBUB last edited by bimmi

                                            mein blockly für die Klingel mit Kamera sieht so aus:

                                            caec71fb-46f2-4287-9c3b-44d0193bfba7-image.png

                                            bei mir habe ich die 1 Sekunde Verzögerung drin, denn das Licht benötigt 1 Sekunde ca. bis es angeht beim Klingeln und die Kamera würde mir sonst ein dunkles Foto schicken.

                                            Wenn ich das ganze mit exec und Ergebnis schicken lasse, bekomme ich alles doppelt...

                                            Ich bekomme dann nach 30 Sekunden ein 20 Sekunden ffmpeg Video - gekürzt auf 5 Sekunden gif - gesendet. Das funktioniert echt gut! Falls es interessiert, der ffmpeg code sieht so aus:

                                            ffmpeg -y -i "rtsp://admin:PASSWORT@192.168.1.51/11" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=1280:h=720:force_original_aspect_ratio=decrease -r 25 /opt/iobroker/hofeinfahrt.mp4
                                            
                                            B 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            748
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            21
                                            971
                                            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