Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Action URL - Info an ioBroker per http senden

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    152

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

Action URL - Info an ioBroker per http senden

Scheduled Pinned Locked Moved ioBroker Allgemein
26 Posts 8 Posters 4.0k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Flixer

    @johgre
    Guten Morgen,

    könntest du dein Blockly hier mal zeigen? Ich habe viel herum gesucht konnte aber keine Lösung finden, die bei mri funktioniert.

    Vielleicht stimmt auch etwas mit meinen Rechten nicht? Bei mir sind die Standardeinstellungen vorhanden (nichts diesbezüglich verändert).

    Beispiel: Wenn ich bei iobroker unter Dateien einen Ordner anlege (z.B. bei vis oder vis.0) und dann den Reiter z.B. auf Skripte und wieder zurück zum Reiter Dateien wechsle, so ist der Ordner wieder verschwunden...

    David G.D Online
    David G.D Online
    David G.
    wrote on last edited by
    #6

    @flixer

    So mache ich es,

    der Trigger ist in dem Beispiel eine Telegramnachricht:

    1.png

    <block xmlns="https://developers.google.com/blockly/xml" type="on" id="k}:N30C$AB,-iQ0]$#:^" x="38" y="-12">
      <field name="OID">telegram.0.communicate.request</field>
      <field name="CONDITION">any</field>
      <field name="ACK_CONDITION"></field>
      <statement name="STATEMENT">
        <block type="controls_if" id="1HTI=YJ+bM!q,MH^#=s0">
          <value name="IF0">
            <block type="logic_compare" id=",D]9MpA{P.~{eF`rVJI$">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="on_source" id="Gut[-g%I5Y[E$xdGRkGo">
                  <field name="ATTR">state.val</field>
                </block>
              </value>
              <value name="B">
                <block type="text" id="i_~Z4HG*U!]][NHv)JAx">
                  <field name="TEXT">[David]Ben-Henri</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO0">
            <block type="exec" id="D}C)hM0-fx)Wqd=6B+Mj">
              <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="#.^jc[0zE^[OiazhMF}l">
                  <field name="TEXT">wget -O /opt/iobroker/snapshot/bild.jpg 'http://xxx.xxx.xx.xx/snapshot.jpg?user=xxx&amp;pwd=xxx&amp;strm=1'</field>
                </shadow>
              </value>
              <next>
                <block type="timeouts_settimeout" id="IHKuLLa5]oXbl$^9t|-F">
                  <field name="NAME">timeout</field>
                  <field name="DELAY">3</field>
                  <field name="UNIT">sec</field>
                  <statement name="STATEMENT">
                    <block type="telegram" id="SqJ~@3mh/UY:D8rR:x[6">
                      <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="Khu{v^q4H$`GJD4x+%qG">
                          <field name="TEXT">/opt/iobroker/snapshot/bild.jpg</field>
                        </shadow>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </statement>
    </block>
    

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen für eure Visualisierung klick

    1 Reply Last reply
    1
    • F Flixer

      @johgre
      Guten Morgen,

      könntest du dein Blockly hier mal zeigen? Ich habe viel herum gesucht konnte aber keine Lösung finden, die bei mri funktioniert.

      Vielleicht stimmt auch etwas mit meinen Rechten nicht? Bei mir sind die Standardeinstellungen vorhanden (nichts diesbezüglich verändert).

      Beispiel: Wenn ich bei iobroker unter Dateien einen Ordner anlege (z.B. bei vis oder vis.0) und dann den Reiter z.B. auf Skripte und wieder zurück zum Reiter Dateien wechsle, so ist der Ordner wieder verschwunden...

      JohGreJ Offline
      JohGreJ Offline
      JohGre
      wrote on last edited by
      #7

      @flixer sagte in Action URL - Info an ioBroker per http senden:

      könntest du dein Blockly hier mal zeigen?

      Nein, leider nicht, da ich Blocky nicht nutze. Hab bei mir alles mit JavaScript realisiert. Aber der Scriptauszug ist die Funktion die das Bild holt exec('wget... und versendet sendTo('telegram.0',.... Mein Speicherpfad für die Bilder ist /var/www/. Somit ist der gesamte Pfad zum Bild /var/www/Klingel_17.01.2022_19:00:00.jpg. Du kannst das wget auf der Commandline ausprobieren und schauen ob das Bild geholt wird.

      nuc i5: RaspberryMatic, ioBroker, pi-hole, SQL-Server, OMV-NAS, Influx-DB & Grafana, OpenHab, tasmoadmin

      1 Reply Last reply
      0
      • F Flixer

        @johgre
        Super, hat geklappt. Nur mal so als Nachfrage: Ich überprüfe im Blockly erst ob sich der Wert geändert hat, dann ob dieser "true" ist und sende dann (wenn "true") die Nachricht per Telegram. Um dann auch wieder alles im Script nutzen zu können wird abschließend der Wert wieder auf "false" gesetzt (mit Verzögerung). Könnte es da Probleme geben? Hier das Blockly:
        2b4ce877-0654-4854-b99e-78084048836f-grafik.png

        Was ich jetzt noch hinbekommen muss, ist die Erfassung von der Kamera (Snapshot) und die Speicherung auf meinem NAS. Gibt es dazu auch eine Möglichkeit? Könnte auch der Snapshot per Telegram verschickt werden?

        Das aktuelle bild der Camera kann ich über http://192.168.XXX.XXX:8080/picture.jpg einsehen. In der Türsprechanlage kann ich leider nicht einstellen, dass ein Foto auf dem NAS abgelegt wird. Es müsste also über den ioBroker laufen.

        Meister MopperM Offline
        Meister MopperM Offline
        Meister Mopper
        wrote on last edited by
        #8

        @flixer sagte in Action URL - Info an ioBroker per http senden:

        Ich überprüfe im Blockly erst ob sich der Wert geändert hat, dann ob dieser "true" ist und sende dann (wenn "true") die Nachricht per Telegram

        Trigger in trigger ist keine gute Idee. Wenn der Datenpunkt vom type boolean ist, reicht die Prüfung 'ist größer als letztes', dann wird nur bei wahr ausgeführt.

        Proxmox und HA

        1 Reply Last reply
        0
        • F Flixer

          @johgre
          Super, hat geklappt. Nur mal so als Nachfrage: Ich überprüfe im Blockly erst ob sich der Wert geändert hat, dann ob dieser "true" ist und sende dann (wenn "true") die Nachricht per Telegram. Um dann auch wieder alles im Script nutzen zu können wird abschließend der Wert wieder auf "false" gesetzt (mit Verzögerung). Könnte es da Probleme geben? Hier das Blockly:
          2b4ce877-0654-4854-b99e-78084048836f-grafik.png

          Was ich jetzt noch hinbekommen muss, ist die Erfassung von der Kamera (Snapshot) und die Speicherung auf meinem NAS. Gibt es dazu auch eine Möglichkeit? Könnte auch der Snapshot per Telegram verschickt werden?

          Das aktuelle bild der Camera kann ich über http://192.168.XXX.XXX:8080/picture.jpg einsehen. In der Türsprechanlage kann ich leider nicht einstellen, dass ein Foto auf dem NAS abgelegt wird. Es müsste also über den ioBroker laufen.

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          wrote on last edited by
          #9

          @flixer sagte in Action URL - Info an ioBroker per http senden:

          @johgre
          Super, hat geklappt. Nur mal so als Nachfrage: Ich überprüfe im Blockly erst ob sich der Wert geändert hat, dann ob dieser "true" ist und sende dann (wenn "true") die Nachricht per Telegram. Um dann auch wieder alles im Script nutzen zu können wird abschließend der Wert wieder auf "false" gesetzt (mit Verzögerung). Könnte es da Probleme geben? Hier das Blockly:
          2b4ce877-0654-4854-b99e-78084048836f-grafik.png

          Was ich jetzt noch hinbekommen muss, ist die Erfassung von der Kamera (Snapshot) und die Speicherung auf meinem NAS. Gibt es dazu auch eine Möglichkeit? Könnte auch der Snapshot per Telegram verschickt werden?

          Das aktuelle bild der Camera kann ich über http://192.168.XXX.XXX:8080/picture.jpg einsehen. In der Türsprechanlage kann ich leider nicht einstellen, dass ein Foto auf dem NAS abgelegt wird. Es müsste also über den ioBroker laufen.

          Deine Beschreibung und das Blockly passen nicht zusammen.

          Du schreibst ‘ich prüfe erst ob sich der Wert geändert hat und dann ob der Wert wahr ist,’
          Du machst ‘trage in die triggerliste ein; jedes Mal wenn der Wert geändert wurde trage in die Triggerliste ein: jedes Mal wenn der Wert wahr ist mache’

          Das ist nicht das gleiche.

          Die Lösung;

          • schmeiß den “inneren” trigger raus
          • andere den “äußeren” trigger auf ‘ist größer als vorher’ an Stelle von ‘wurde geändert’

          Alternativ: ersetze den inneren Trigger durch einen falls … Baustein. In dem dockst du dann den Baustein Objekt ID Aus dem Trigger Bereich als Bedingung an und stellst den auf Wert Um.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          F 1 Reply Last reply
          0
          • AsgothianA Asgothian

            @flixer sagte in Action URL - Info an ioBroker per http senden:

            @johgre
            Super, hat geklappt. Nur mal so als Nachfrage: Ich überprüfe im Blockly erst ob sich der Wert geändert hat, dann ob dieser "true" ist und sende dann (wenn "true") die Nachricht per Telegram. Um dann auch wieder alles im Script nutzen zu können wird abschließend der Wert wieder auf "false" gesetzt (mit Verzögerung). Könnte es da Probleme geben? Hier das Blockly:
            2b4ce877-0654-4854-b99e-78084048836f-grafik.png

            Was ich jetzt noch hinbekommen muss, ist die Erfassung von der Kamera (Snapshot) und die Speicherung auf meinem NAS. Gibt es dazu auch eine Möglichkeit? Könnte auch der Snapshot per Telegram verschickt werden?

            Das aktuelle bild der Camera kann ich über http://192.168.XXX.XXX:8080/picture.jpg einsehen. In der Türsprechanlage kann ich leider nicht einstellen, dass ein Foto auf dem NAS abgelegt wird. Es müsste also über den ioBroker laufen.

            Deine Beschreibung und das Blockly passen nicht zusammen.

            Du schreibst ‘ich prüfe erst ob sich der Wert geändert hat und dann ob der Wert wahr ist,’
            Du machst ‘trage in die triggerliste ein; jedes Mal wenn der Wert geändert wurde trage in die Triggerliste ein: jedes Mal wenn der Wert wahr ist mache’

            Das ist nicht das gleiche.

            Die Lösung;

            • schmeiß den “inneren” trigger raus
            • andere den “äußeren” trigger auf ‘ist größer als vorher’ an Stelle von ‘wurde geändert’

            Alternativ: ersetze den inneren Trigger durch einen falls … Baustein. In dem dockst du dann den Baustein Objekt ID Aus dem Trigger Bereich als Bedingung an und stellst den auf Wert Um.

            A.

            F Offline
            F Offline
            Flixer
            wrote on last edited by Flixer
            #10

            @asgothian
            Guten Morgen, schön und gut für die Verbesserung, aber das von mir "gebastelte" funktioniert. Ich werde trotzdem deine verbesserung aufnehmen und einen Test starten.

            @david G.
            Ich habe dein Blockly angesehen und die Befehle nachgebaut. Den Befehlt für den Snapshot mit IP habe ich natürlich angepasst. Leider funktioniert das irgendwie nicht. Ich bekomme nur den Text und nicht das Bild geschickt. die beiden XXX stehen bei mir natülich mit der passenden IP.

            e3043531-c213-45ab-90e5-2c3c82586d26-grafik.png

            var GONG, timeout, timeout2;
            
            
            on({id: "0_userdata.0.Tuerklingel"/*Tuerklingel*/, change: "any"}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              GONG = getState("0_userdata.0.Tuerklingel").val;
              if (GONG == true) {
                exec('wget -O /opt/iobroker/snapshot/bild.jpg \'http://192.168.XXX.XXX:8080/picture.jpg\'');
                timeout = setTimeout(async function () {
                  sendTo("telegram", "send", {
                      text: '/opt/iobroker/snapshot/bild.jpg'
                  });
                }, 2000);
                timeout2 = setTimeout(async function () {
                  sendTo("telegram", "send", {
                      text: 'Türklingel!'
                  });
                }, 2000);
              }
              setStateDelayed("0_userdata.0.Tuerklingel"/*Tuerklingel*/, false, 2000, false);
            });
            

            Oben in der Ecke kann ich ja auch zwischen Blockly und JS umschalten. Will ich da was schreiben wird immer gesagt: "Ein Bearbeiten im schreibgeschützen editor ist nicht möglich." Wie bekomme ich denn den Schreibschutz raus? Sktip läuft jedenfalls nicht wenn ich etwas verändern will...

            Ich vermute, die Bildaufnahme funktioniert bei mir nicht. Wo kann ich denn kontrollieren, ob das Bild aufgenommen wurde? Es soll unter opt/iobroker/snapsht/bild.jpg abgelegt werden.

            David G.D 1 Reply Last reply
            0
            • F Flixer

              @asgothian
              Guten Morgen, schön und gut für die Verbesserung, aber das von mir "gebastelte" funktioniert. Ich werde trotzdem deine verbesserung aufnehmen und einen Test starten.

              @david G.
              Ich habe dein Blockly angesehen und die Befehle nachgebaut. Den Befehlt für den Snapshot mit IP habe ich natürlich angepasst. Leider funktioniert das irgendwie nicht. Ich bekomme nur den Text und nicht das Bild geschickt. die beiden XXX stehen bei mir natülich mit der passenden IP.

              e3043531-c213-45ab-90e5-2c3c82586d26-grafik.png

              var GONG, timeout, timeout2;
              
              
              on({id: "0_userdata.0.Tuerklingel"/*Tuerklingel*/, change: "any"}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                GONG = getState("0_userdata.0.Tuerklingel").val;
                if (GONG == true) {
                  exec('wget -O /opt/iobroker/snapshot/bild.jpg \'http://192.168.XXX.XXX:8080/picture.jpg\'');
                  timeout = setTimeout(async function () {
                    sendTo("telegram", "send", {
                        text: '/opt/iobroker/snapshot/bild.jpg'
                    });
                  }, 2000);
                  timeout2 = setTimeout(async function () {
                    sendTo("telegram", "send", {
                        text: 'Türklingel!'
                    });
                  }, 2000);
                }
                setStateDelayed("0_userdata.0.Tuerklingel"/*Tuerklingel*/, false, 2000, false);
              });
              

              Oben in der Ecke kann ich ja auch zwischen Blockly und JS umschalten. Will ich da was schreiben wird immer gesagt: "Ein Bearbeiten im schreibgeschützen editor ist nicht möglich." Wie bekomme ich denn den Schreibschutz raus? Sktip läuft jedenfalls nicht wenn ich etwas verändern will...

              Ich vermute, die Bildaufnahme funktioniert bei mir nicht. Wo kann ich denn kontrollieren, ob das Bild aufgenommen wurde? Es soll unter opt/iobroker/snapsht/bild.jpg abgelegt werden.

              David G.D Online
              David G.D Online
              David G.
              wrote on last edited by David G.
              #11

              @flixer

              JS ist nur zum anzeigen woe der JS Code ist.
              Bearbeiten musst du alles in Blockly.

              Kontrollieren ob das Bild gemacht wurde musst du über putty (etc) oder einen File Explorer mit dem du auf das Dateisystem von deinen iobroker kommst.

              Mögliche Fehlerquellen:

              • Ordner nicht angelegt
              • Ordner fehlen Zugriffsrechte
              • Deine Kamera benötigt einen anderen Pfad für die URL

              EDIT:
              Der Bereich sieht bei wget sieht in meinem Blockly anders aus:

              bild.jpg \'http://
              

              Bei mir steht da:

              bild.jpg 'http://
              

              Das Ende der Zeile hast du auch anders.

              EDIT 2:
              Scheint an der JS Ansicht zu liegen. Im Blockly Bild sieht es ja scheinbar richtig aus. Dann die anderen Punkte prüfen.

              Bei blocklys am besten immer den blockly Export anstatt JS senden.

              Zeigt eure Lovelace-Visualisierung klick
              (Auch ideal um sich Anregungen zu holen)

              Meine Tabellen für eure Visualisierung klick

              F 1 Reply Last reply
              0
              • David G.D David G.

                @flixer

                JS ist nur zum anzeigen woe der JS Code ist.
                Bearbeiten musst du alles in Blockly.

                Kontrollieren ob das Bild gemacht wurde musst du über putty (etc) oder einen File Explorer mit dem du auf das Dateisystem von deinen iobroker kommst.

                Mögliche Fehlerquellen:

                • Ordner nicht angelegt
                • Ordner fehlen Zugriffsrechte
                • Deine Kamera benötigt einen anderen Pfad für die URL

                EDIT:
                Der Bereich sieht bei wget sieht in meinem Blockly anders aus:

                bild.jpg \'http://
                

                Bei mir steht da:

                bild.jpg 'http://
                

                Das Ende der Zeile hast du auch anders.

                EDIT 2:
                Scheint an der JS Ansicht zu liegen. Im Blockly Bild sieht es ja scheinbar richtig aus. Dann die anderen Punkte prüfen.

                Bei blocklys am besten immer den blockly Export anstatt JS senden.

                F Offline
                F Offline
                Flixer
                wrote on last edited by Flixer
                #12

                @david-g
                Habe mich jetzt durch den ganzen Haufen Befehle für Putty gearbeitet und nun ist das Bild da. Der Hauptordner iobroker ging nicht und mit dem neuen snapshot order hat es dann geklappt. Bilddatei ist vorhanden, Bild kommt auch in Telegram. Ob tatsächlich auch ein Inhalt "im Bild" ist kann ich nicht sagen. In Telegram ist alles OK.

                Jetzt müsste das Bild irgendwie auf den Server übertragen werden. Das wird sicherlich auch mit exec laufen, aber wie? :)

                David G.D 1 Reply Last reply
                0
                • F Flixer

                  @david-g
                  Habe mich jetzt durch den ganzen Haufen Befehle für Putty gearbeitet und nun ist das Bild da. Der Hauptordner iobroker ging nicht und mit dem neuen snapshot order hat es dann geklappt. Bilddatei ist vorhanden, Bild kommt auch in Telegram. Ob tatsächlich auch ein Inhalt "im Bild" ist kann ich nicht sagen. In Telegram ist alles OK.

                  Jetzt müsste das Bild irgendwie auf den Server übertragen werden. Das wird sicherlich auch mit exec laufen, aber wie? :)

                  David G.D Online
                  David G.D Online
                  David G.
                  wrote on last edited by
                  #13

                  @flixer

                  Das hört sich doch gut an.

                  Mit dem übertragen müssen die leider andere helfen. In Linux bin ich auch nicht so fit....

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    marsmännchen
                    wrote on last edited by
                    #14

                    @david-g
                    Hallo zusammen.
                    Vielleicht kann mir jemand helfen.
                    Ich habe scheinbar ein ähnliches Problem wie @Flixer .
                    Ich will von motioneyeos ein Bild per Telegram schicken.
                    Wenn ich folgendes mache:

                    var request = require('request');
                    var fs      = require('fs');
                     
                    function sendImage() {
                        request.get({url: 'http://192.168.1.191:8765/picture/2/current/', encoding: 'binary'}, function (err, response, body) {
                            fs.writeFile("/tmp/snap-pi.jpg", body, 'binary', function(err) {
                     
                            if (err) {
                                console.error(err);
                            } else {
                                console.log('Snapshot sent');
                                sendTo('telegram',"/tmp/snap-pi.jpg");
                                //sendTo('telegram', {text: '/tmp/snap.jpg', caption: 'Snapshot'});
                            }
                          });
                        });
                    }
                    on("0_userdata.0.example_state"/*Variablen.Pi1-detection*/, function (obj) {
                        if (obj.state.val) {
                            // send 4 images: immediately, in 5, 15 and 30 seconds
                            sendImage();
                            setTimeout(sendImage, 2000);
                           // setTimeout(sendImage, 10000);
                           // setTimeout(sendImage, 15000);
                        }
                    });
                    

                    Und bekomme aber nur den Text "/tmp/snap-pi.jpg" zugesendet.
                    Wenn ich mit Filezilla nach dem Bild stöbere ist alles da wo es sein soll.
                    Ich habe schon hundert mal den Pfad begutachtet, es mit

                    sendTo('telegram',"/tmp/snap-pi.jpg");
                    

                    oder

                    sendTo('telegram.0','/tmp/snap-pi.jpg');
                    

                    versucht. Ohne Erfolg.
                    Findet jemand den Fehler??
                    MfG
                    Patrick

                    Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                    Wago PFC200 mit Dali Lichtsteuerung.

                    bahnuhrB AsgothianA BananaJoeB 3 Replies Last reply
                    0
                    • M marsmännchen

                      @david-g
                      Hallo zusammen.
                      Vielleicht kann mir jemand helfen.
                      Ich habe scheinbar ein ähnliches Problem wie @Flixer .
                      Ich will von motioneyeos ein Bild per Telegram schicken.
                      Wenn ich folgendes mache:

                      var request = require('request');
                      var fs      = require('fs');
                       
                      function sendImage() {
                          request.get({url: 'http://192.168.1.191:8765/picture/2/current/', encoding: 'binary'}, function (err, response, body) {
                              fs.writeFile("/tmp/snap-pi.jpg", body, 'binary', function(err) {
                       
                              if (err) {
                                  console.error(err);
                              } else {
                                  console.log('Snapshot sent');
                                  sendTo('telegram',"/tmp/snap-pi.jpg");
                                  //sendTo('telegram', {text: '/tmp/snap.jpg', caption: 'Snapshot'});
                              }
                            });
                          });
                      }
                      on("0_userdata.0.example_state"/*Variablen.Pi1-detection*/, function (obj) {
                          if (obj.state.val) {
                              // send 4 images: immediately, in 5, 15 and 30 seconds
                              sendImage();
                              setTimeout(sendImage, 2000);
                             // setTimeout(sendImage, 10000);
                             // setTimeout(sendImage, 15000);
                          }
                      });
                      

                      Und bekomme aber nur den Text "/tmp/snap-pi.jpg" zugesendet.
                      Wenn ich mit Filezilla nach dem Bild stöbere ist alles da wo es sein soll.
                      Ich habe schon hundert mal den Pfad begutachtet, es mit

                      sendTo('telegram',"/tmp/snap-pi.jpg");
                      

                      oder

                      sendTo('telegram.0','/tmp/snap-pi.jpg');
                      

                      versucht. Ohne Erfolg.
                      Findet jemand den Fehler??
                      MfG
                      Patrick

                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      wrote on last edited by
                      #15

                      @marsmännchen

                      anbei mein Scriptbaustein:

                              fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                              if (err) {
                                  console.error(err);
                              } else {
                                  log('Snapshot sent '+ ip);
                                  sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                              }
                            }); 
                      

                      Bitte vergleichen.


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Reply Last reply
                      0
                      • M marsmännchen

                        @david-g
                        Hallo zusammen.
                        Vielleicht kann mir jemand helfen.
                        Ich habe scheinbar ein ähnliches Problem wie @Flixer .
                        Ich will von motioneyeos ein Bild per Telegram schicken.
                        Wenn ich folgendes mache:

                        var request = require('request');
                        var fs      = require('fs');
                         
                        function sendImage() {
                            request.get({url: 'http://192.168.1.191:8765/picture/2/current/', encoding: 'binary'}, function (err, response, body) {
                                fs.writeFile("/tmp/snap-pi.jpg", body, 'binary', function(err) {
                         
                                if (err) {
                                    console.error(err);
                                } else {
                                    console.log('Snapshot sent');
                                    sendTo('telegram',"/tmp/snap-pi.jpg");
                                    //sendTo('telegram', {text: '/tmp/snap.jpg', caption: 'Snapshot'});
                                }
                              });
                            });
                        }
                        on("0_userdata.0.example_state"/*Variablen.Pi1-detection*/, function (obj) {
                            if (obj.state.val) {
                                // send 4 images: immediately, in 5, 15 and 30 seconds
                                sendImage();
                                setTimeout(sendImage, 2000);
                               // setTimeout(sendImage, 10000);
                               // setTimeout(sendImage, 15000);
                            }
                        });
                        

                        Und bekomme aber nur den Text "/tmp/snap-pi.jpg" zugesendet.
                        Wenn ich mit Filezilla nach dem Bild stöbere ist alles da wo es sein soll.
                        Ich habe schon hundert mal den Pfad begutachtet, es mit

                        sendTo('telegram',"/tmp/snap-pi.jpg");
                        

                        oder

                        sendTo('telegram.0','/tmp/snap-pi.jpg');
                        

                        versucht. Ohne Erfolg.
                        Findet jemand den Fehler??
                        MfG
                        Patrick

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        wrote on last edited by Asgothian
                        #16

                        @marsmännchen sagte in Action URL - Info an ioBroker per http senden:

                        Findet jemand den Fehler??

                        telegram macht genau das was du ihm sagst. Per SendTo schickst du einen Text, nämlich '/tmp/snap-pi.jpg'. Genau das wird angezeigt.

                        Du musst im SendTo schon irgendwie (wie weiss ich nicht, Telegram gibts bei mir nicht) sagen das das was du da übergibst eine Pfad ist und das du senden willst was sich an der Stelle befindet, nicht den Text selber.

                        War Blödsinn - sorry :)

                        A.

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        bahnuhrB 1 Reply Last reply
                        1
                        • AsgothianA Asgothian

                          @marsmännchen sagte in Action URL - Info an ioBroker per http senden:

                          Findet jemand den Fehler??

                          telegram macht genau das was du ihm sagst. Per SendTo schickst du einen Text, nämlich '/tmp/snap-pi.jpg'. Genau das wird angezeigt.

                          Du musst im SendTo schon irgendwie (wie weiss ich nicht, Telegram gibts bei mir nicht) sagen das das was du da übergibst eine Pfad ist und das du senden willst was sich an der Stelle befindet, nicht den Text selber.

                          War Blödsinn - sorry :)

                          A.

                          bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          wrote on last edited by bahnuhr
                          #17

                          @asgothian sagte in Action URL - Info an ioBroker per http senden:

                          Per SendTo schickst du einen Text

                          siehe mein Script.
                          Es steht zwar Text; aber es wird das Bild gesendet.

                          Auszug aus Hilfeseite:
                          8268358d-339e-4233-ae59-09e60af1b97e-image.png

                          Vielleicht stimmt auch einfach dein Pfad nicht !


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          JohGreJ 1 Reply Last reply
                          1
                          • bahnuhrB bahnuhr

                            @asgothian sagte in Action URL - Info an ioBroker per http senden:

                            Per SendTo schickst du einen Text

                            siehe mein Script.
                            Es steht zwar Text; aber es wird das Bild gesendet.

                            Auszug aus Hilfeseite:
                            8268358d-339e-4233-ae59-09e60af1b97e-image.png

                            Vielleicht stimmt auch einfach dein Pfad nicht !

                            JohGreJ Offline
                            JohGreJ Offline
                            JohGre
                            wrote on last edited by
                            #18

                            @marsmännchen Ich hatte das selbe Verhalten weil der User ioBroker keinen Zugriff auf das Verzeichnis hatte. Kontrolliere das doch mal

                            nuc i5: RaspberryMatic, ioBroker, pi-hole, SQL-Server, OMV-NAS, Influx-DB & Grafana, OpenHab, tasmoadmin

                            1 Reply Last reply
                            0
                            • F Offline
                              F Offline
                              Flixer
                              wrote on last edited by
                              #19

                              Hallo in die Runde,

                              mal als Gedankengang und Hilfestellung unter diesem Link schauen:

                              https://forum.iobroker.net/topic/51648/dateien-auf-ftp-nas-kopieren-und-anschließend-umbenennen/6

                              Im letzten Post habe ich das fertige und funktionstüchtige Blockly als Bild beigefügt. Das funktioniert und ich finde es "elegant" den Text mit Bausteinen zu erstellen. Wenn man mehrere Kameras hat, dann lässt es sich gut vervielfältigen.

                              MfG Flixer

                              1 Reply Last reply
                              1
                              • M marsmännchen

                                @david-g
                                Hallo zusammen.
                                Vielleicht kann mir jemand helfen.
                                Ich habe scheinbar ein ähnliches Problem wie @Flixer .
                                Ich will von motioneyeos ein Bild per Telegram schicken.
                                Wenn ich folgendes mache:

                                var request = require('request');
                                var fs      = require('fs');
                                 
                                function sendImage() {
                                    request.get({url: 'http://192.168.1.191:8765/picture/2/current/', encoding: 'binary'}, function (err, response, body) {
                                        fs.writeFile("/tmp/snap-pi.jpg", body, 'binary', function(err) {
                                 
                                        if (err) {
                                            console.error(err);
                                        } else {
                                            console.log('Snapshot sent');
                                            sendTo('telegram',"/tmp/snap-pi.jpg");
                                            //sendTo('telegram', {text: '/tmp/snap.jpg', caption: 'Snapshot'});
                                        }
                                      });
                                    });
                                }
                                on("0_userdata.0.example_state"/*Variablen.Pi1-detection*/, function (obj) {
                                    if (obj.state.val) {
                                        // send 4 images: immediately, in 5, 15 and 30 seconds
                                        sendImage();
                                        setTimeout(sendImage, 2000);
                                       // setTimeout(sendImage, 10000);
                                       // setTimeout(sendImage, 15000);
                                    }
                                });
                                

                                Und bekomme aber nur den Text "/tmp/snap-pi.jpg" zugesendet.
                                Wenn ich mit Filezilla nach dem Bild stöbere ist alles da wo es sein soll.
                                Ich habe schon hundert mal den Pfad begutachtet, es mit

                                sendTo('telegram',"/tmp/snap-pi.jpg");
                                

                                oder

                                sendTo('telegram.0','/tmp/snap-pi.jpg');
                                

                                versucht. Ohne Erfolg.
                                Findet jemand den Fehler??
                                MfG
                                Patrick

                                BananaJoeB Online
                                BananaJoeB Online
                                BananaJoe
                                Most Active
                                wrote on last edited by
                                #20

                                @marsmännchen hier mein Blockly als JavaScript:

                                on({id: 'zigbee.0.00158d00049fe012.opened', change: "ne"}, async function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  if (Entpreller1 == 0) {
                                    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                    Entpreller1 = 1;
                                    Zeitstempel = (obj.state ? obj.state.ts : "");
                                    setState("javascript.0.vis.0.main.Briefkasten.KlappeBewegt"/*KlappeBewegt*/, true);
                                    setState("javascript.0.vis.0.main.Briefkasten.Zeitstempel"/*javascript.0.vis.0.main.Briefkasten.Zeitstempel*/, formatDate(getDateObject(Zeitstempel), "WW SS:mm:ss"));
                                    exec((['wget --output-document /tmp/Cam215Briefkasten.jpg \'','http://192.168.1.215/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=IchbineingeilerTypp&user=admin&password=znil2001','\''].join('')), async function (error, result, stderr) {
                                        sendTo("telegram", "send", {
                                          text: ('Briefkasten um: ' + String(formatDate(new Date(), "hh:mm:ss"))),
                                          disable_notification: true
                                      });
                                      sendTo("telegram", "send", {
                                          text: '/tmp/Cam215Briefkasten.jpg'
                                      });
                                    });
                                    console.log("exec: " + (['wget --output-document /tmp/Cam215Briefkasten.jpg \'','http://192.168.1.215/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=IchbineingeilerTypp&user=admin&password=znil2001','\''].join('')));
                                    setStateDelayed('javascript.0.vis.0.main.STATUS-View-in-Widget.01_Briefkasten', true, false, parseInt(((500) || "").toString(), 10), false);
                                    setStateDelayed('javascript.0.vis.0.main.STATUS-View-in-Widget.Statusnummer', 1, false, parseInt(((20000) || "").toString(), 10), false);
                                    timeout = setTimeout(async function () {
                                      Entpreller1 = 0;
                                    }, 8000);
                                  }
                                });
                                

                                Der Knackpunkt scheint zu sein wie du den Text übergibst (das text: { })

                                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                1 Reply Last reply
                                1
                                • M Offline
                                  M Offline
                                  marsmännchen
                                  wrote on last edited by
                                  #21

                                  @bananajoe nein, hab ich dann das selbe problem, danke trotzdem

                                  zur Thorie des falschen pfades:
                                  capture2.JPG
                                  capture1.JPG

                                  pi@achbotslave:/tmp $ ls
                                  snap-pi1.jpg //nur zu testzwecke, ich weiss das ich snap-pi.jpg im skript stehen hab
                                  snap-pi.jpg
                                  

                                  das ist sicher nicht der Fall traue ich mich zu behaupten.

                                  Wenn ich dein Script als Vorlage nehme @bahnuhr

                                  var request = require('request');
                                  var fs      = require('fs');
                                   
                                  function sendImage() {
                                      request.get({url: 'http://192.168.1.191:8765/picture/2/current/', encoding: 'binary'}, function (err, response, body) {
                                          fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                                   
                                         if (err) {
                                              console.error(err);
                                          } else {
                                              log('Snapshot sent '+ ip);
                                              sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                                          }
                                        }); 
                                      });
                                  }
                                  on("0_userdata.0.example_state"/*Variablen.Pi1-detection*/, function (obj) {
                                      if (obj.state.val) {
                                          // send 4 images: immediately, in 5, 15 and 30 seconds
                                          sendImage();
                                          setTimeout(sendImage, 2000);
                                         // setTimeout(sendImage, 10000);
                                         // setTimeout(sendImage, 15000);
                                      }
                                  });
                                   fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                                          if (err) {
                                              console.error(err);
                                          } else {
                                              log('Snapshot sent '+ ip);
                                              sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                                          }
                                        }); 
                                  

                                  dann sagt er:

                                  12:57:16.635	error	javascript.1 (27902) script.js.common.test01: ReferenceError: ip is not defined
                                  12:57:16.636	error	javascript.1 (27902) at script.js.common.test01:26:56
                                  12:57:16.637	error	javascript.1 (27902) at script.js.common.test01:34:3
                                  

                                  Also für mich kein wirklicher Vergleich, muss ich versuchen es zu verändern und da ist die Fehleranfälligkeit als Anfänger wieder sehr hoch.
                                  Will sagen, es dauert wohl ein bisschen.
                                  Vorher will ich die Theorie von @JohGre überprüfen, da ich ja das Bild mit Filezilla dort finde wo ich es gespeichert habe, und ich nach
                                  dem "Auszug aus der Hilfeseite " vorgegangen bin.
                                  @JohGre weisst du vielleicht wie ich das überprüfe auf die schnelle? irgendwas mit chmod?

                                  Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                                  Wago PFC200 mit Dali Lichtsteuerung.

                                  JohGreJ 1 Reply Last reply
                                  0
                                  • M marsmännchen

                                    @bananajoe nein, hab ich dann das selbe problem, danke trotzdem

                                    zur Thorie des falschen pfades:
                                    capture2.JPG
                                    capture1.JPG

                                    pi@achbotslave:/tmp $ ls
                                    snap-pi1.jpg //nur zu testzwecke, ich weiss das ich snap-pi.jpg im skript stehen hab
                                    snap-pi.jpg
                                    

                                    das ist sicher nicht der Fall traue ich mich zu behaupten.

                                    Wenn ich dein Script als Vorlage nehme @bahnuhr

                                    var request = require('request');
                                    var fs      = require('fs');
                                     
                                    function sendImage() {
                                        request.get({url: 'http://192.168.1.191:8765/picture/2/current/', encoding: 'binary'}, function (err, response, body) {
                                            fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                                     
                                           if (err) {
                                                console.error(err);
                                            } else {
                                                log('Snapshot sent '+ ip);
                                                sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                                            }
                                          }); 
                                        });
                                    }
                                    on("0_userdata.0.example_state"/*Variablen.Pi1-detection*/, function (obj) {
                                        if (obj.state.val) {
                                            // send 4 images: immediately, in 5, 15 and 30 seconds
                                            sendImage();
                                            setTimeout(sendImage, 2000);
                                           // setTimeout(sendImage, 10000);
                                           // setTimeout(sendImage, 15000);
                                        }
                                    });
                                     fs.writeFile('/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', body, 'binary', function(err) {
                                            if (err) {
                                                console.error(err);
                                            } else {
                                                log('Snapshot sent '+ ip);
                                                sendTo('telegram.0', {user: vUser, text: '/opt/iobroker/iobroker-data/tmp/snap' + ip + '.jpg', caption: cam});
                                            }
                                          }); 
                                    

                                    dann sagt er:

                                    12:57:16.635	error	javascript.1 (27902) script.js.common.test01: ReferenceError: ip is not defined
                                    12:57:16.636	error	javascript.1 (27902) at script.js.common.test01:26:56
                                    12:57:16.637	error	javascript.1 (27902) at script.js.common.test01:34:3
                                    

                                    Also für mich kein wirklicher Vergleich, muss ich versuchen es zu verändern und da ist die Fehleranfälligkeit als Anfänger wieder sehr hoch.
                                    Will sagen, es dauert wohl ein bisschen.
                                    Vorher will ich die Theorie von @JohGre überprüfen, da ich ja das Bild mit Filezilla dort finde wo ich es gespeichert habe, und ich nach
                                    dem "Auszug aus der Hilfeseite " vorgegangen bin.
                                    @JohGre weisst du vielleicht wie ich das überprüfe auf die schnelle? irgendwas mit chmod?

                                    JohGreJ Offline
                                    JohGreJ Offline
                                    JohGre
                                    wrote on last edited by
                                    #22

                                    @marsmännchen sagte in Action URL - Info an ioBroker per http senden:

                                    irgendwas mit chmod?

                                    sudo chown iobroker:iobroker bild.jpg mittels ls - l siehst du die aktuelle Berechtigung

                                    nuc i5: RaspberryMatic, ioBroker, pi-hole, SQL-Server, OMV-NAS, Influx-DB & Grafana, OpenHab, tasmoadmin

                                    M 1 Reply Last reply
                                    0
                                    • JohGreJ JohGre

                                      @marsmännchen sagte in Action URL - Info an ioBroker per http senden:

                                      irgendwas mit chmod?

                                      sudo chown iobroker:iobroker bild.jpg mittels ls - l siehst du die aktuelle Berechtigung

                                      M Offline
                                      M Offline
                                      marsmännchen
                                      wrote on last edited by
                                      #23

                                      @johgre

                                      pi@achbotslave:/tmp $ ls -l
                                      insgesamt 580
                                      drwx------ 3 squeezeboxserver nogroup    4096 18. Jän 18:52 par-73717565657a65626f78736572766572
                                      -rw-r--r-- 1 iobroker         iobroker 298222 26. Jän 09:18 snap-pi1.jpg
                                      -rw-r--r-- 1 iobroker         iobroker 276558 26. Jän 13:33 snap-pi.jpg
                                      drwx------ 3 root             root       4096 18. Jän 18:52 systemd-private-dfd1a3af5eb24b8c899f4cc4142c9656-grafana-server.service-LFsQ0e
                                      drwx------ 3 root             root       4096 18. Jän 18:51 systemd-private-dfd1a3af5eb24b8c899f4cc4142c9656-systemd-logind.service-K0IgHi
                                      drwx------ 3 root             root       4096 26. Jän 03:37 systemd-private-dfd1a3af5eb24b8c899f4cc4142c9656-systemd-timesyncd.service-UlRPtg
                                      
                                      

                                      rw sieht nach berechtigt aus wenn ich nicht irre...

                                      Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                                      Wago PFC200 mit Dali Lichtsteuerung.

                                      JohGreJ 1 Reply Last reply
                                      0
                                      • M marsmännchen

                                        @johgre

                                        pi@achbotslave:/tmp $ ls -l
                                        insgesamt 580
                                        drwx------ 3 squeezeboxserver nogroup    4096 18. Jän 18:52 par-73717565657a65626f78736572766572
                                        -rw-r--r-- 1 iobroker         iobroker 298222 26. Jän 09:18 snap-pi1.jpg
                                        -rw-r--r-- 1 iobroker         iobroker 276558 26. Jän 13:33 snap-pi.jpg
                                        drwx------ 3 root             root       4096 18. Jän 18:52 systemd-private-dfd1a3af5eb24b8c899f4cc4142c9656-grafana-server.service-LFsQ0e
                                        drwx------ 3 root             root       4096 18. Jän 18:51 systemd-private-dfd1a3af5eb24b8c899f4cc4142c9656-systemd-logind.service-K0IgHi
                                        drwx------ 3 root             root       4096 26. Jän 03:37 systemd-private-dfd1a3af5eb24b8c899f4cc4142c9656-systemd-timesyncd.service-UlRPtg
                                        
                                        

                                        rw sieht nach berechtigt aus wenn ich nicht irre...

                                        JohGreJ Offline
                                        JohGreJ Offline
                                        JohGre
                                        wrote on last edited by
                                        #24

                                        @marsmännchen sieht genauso aus wie bei mir, sollte passen

                                        nuc i5: RaspberryMatic, ioBroker, pi-hole, SQL-Server, OMV-NAS, Influx-DB & Grafana, OpenHab, tasmoadmin

                                        1 Reply Last reply
                                        1
                                        • M Offline
                                          M Offline
                                          marsmännchen
                                          wrote on last edited by
                                          #25

                                          @johgre
                                          ok,danke. keine Ahnung

                                          Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                                          Wago PFC200 mit Dali Lichtsteuerung.

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          626

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe