Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Action URL - Info an ioBroker per http senden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
26 Beiträge 8 Kommentatoren 3.9k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    Flixer
    schrieb am zuletzt editiert von Flixer
    #1

    Guten Morgen,

    etwas sperriger Titel aber ich wusste nicht, wie ich es besser beschreiben kann.

    Vorhandene Hardware:

    • Raspi4 (4GB) mit ioBroker in der aktuellen Version
    • Akuvox IP Video Türsprechanlage

    Problem/Beschreibung:
    In meiner IP Video-Türsprechanlage von Akuvox (R26C) kann ich eine "Action-URL" eingeben. Damit wird ein "Signal" an eine http-Adresse gesendet. Ich möchte nun, dass beim Drücken des Knopfes an der Akuvox der ioBroker angesprochen wird. Ziel ist es eine Telegram-Nachricht zu senden und einen Snapshot von der Kamera auf meinem NAS abzulegen.

    Hier der Screenshot von der Türsprechanlage:
    image0.png

    Beispiel was aktuell sehr gut funktioniert:
    Die Akuvox hat einen Türöffner, den man ggf. einfach von außen kurzschließen könnte. Ich habe dann einen Shelly 1 genommen und an den Türöffner angeschlossen. Die Akuvox Anlage sendet ein HTTP Command an den Shelly und der Öffner wird so betätigt. Ich kann damit die RFID Einheit nutzen und auch die App von Shelly um den Türöffner zu betätigen.

    Wüsste jemand eine Möglichkeit mit einem http-command dem iobroker eine "Nachricht" zukommen zu lassen? Man könnte ja dann ein Objekt "setzen" und mit einem Blockly Script das entsprechend auswerten um u.a. die nachricht zu senden oder den Scnapshot zu machen oder?

    MfG Felix

    JohGreJ 1 Antwort Letzte Antwort
    0
    • F Flixer

      Guten Morgen,

      etwas sperriger Titel aber ich wusste nicht, wie ich es besser beschreiben kann.

      Vorhandene Hardware:

      • Raspi4 (4GB) mit ioBroker in der aktuellen Version
      • Akuvox IP Video Türsprechanlage

      Problem/Beschreibung:
      In meiner IP Video-Türsprechanlage von Akuvox (R26C) kann ich eine "Action-URL" eingeben. Damit wird ein "Signal" an eine http-Adresse gesendet. Ich möchte nun, dass beim Drücken des Knopfes an der Akuvox der ioBroker angesprochen wird. Ziel ist es eine Telegram-Nachricht zu senden und einen Snapshot von der Kamera auf meinem NAS abzulegen.

      Hier der Screenshot von der Türsprechanlage:
      image0.png

      Beispiel was aktuell sehr gut funktioniert:
      Die Akuvox hat einen Türöffner, den man ggf. einfach von außen kurzschließen könnte. Ich habe dann einen Shelly 1 genommen und an den Türöffner angeschlossen. Die Akuvox Anlage sendet ein HTTP Command an den Shelly und der Öffner wird so betätigt. Ich kann damit die RFID Einheit nutzen und auch die App von Shelly um den Türöffner zu betätigen.

      Wüsste jemand eine Möglichkeit mit einem http-command dem iobroker eine "Nachricht" zukommen zu lassen? Man könnte ja dann ein Objekt "setzen" und mit einem Blockly Script das entsprechend auswerten um u.a. die nachricht zu senden oder den Scnapshot zu machen oder?

      MfG Felix

      JohGreJ Offline
      JohGreJ Offline
      JohGre
      schrieb am zuletzt editiert von
      #2

      @flixer Hi, geht über den Adapter Simpl-API, ZB so

      http://xxx.xxx.xxx.xxx:8087/set/javascript.1.BrowserTest.Browser_Trigger?value=true
      

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

      F 1 Antwort Letzte Antwort
      1
      • JohGreJ JohGre

        @flixer Hi, geht über den Adapter Simpl-API, ZB so

        http://xxx.xxx.xxx.xxx:8087/set/javascript.1.BrowserTest.Browser_Trigger?value=true
        
        F Offline
        F Offline
        Flixer
        schrieb am zuletzt editiert von Flixer
        #3

        @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.

        JohGreJ Meister MopperM AsgothianA 3 Antworten Letzte Antwort
        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.

          JohGreJ Offline
          JohGreJ Offline
          JohGre
          schrieb am zuletzt editiert von
          #4

          @flixer Genauso mach ichs auch und die Bilder hol ich mir mittels exec und wget. Wobei path der Pfad ist wo das Bild abgelegt wird. Der Pfad muss halt im Zugriff von ioBroker sein

          var path = getState('0_userdata.0.FosCam.URL.Bilder_Pfad'/*Bilder Pfad*/).val + 'Klingel_17.01.2022_19:00:00:.jpg';
          exec('wget --output-document ' + path + ' \'' + getState('0_userdata.0.FosCam.URL.SnapShot_URL'/*SnapShot URL*/).val + '\'');
          
          sendTo('telegram.0', {
          	text:                   path,
          	caption:                'KLINGEL:',
          	disable_notification:   true
          });
          
          

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

          F 1 Antwort Letzte Antwort
          0
          • JohGreJ JohGre

            @flixer Genauso mach ichs auch und die Bilder hol ich mir mittels exec und wget. Wobei path der Pfad ist wo das Bild abgelegt wird. Der Pfad muss halt im Zugriff von ioBroker sein

            var path = getState('0_userdata.0.FosCam.URL.Bilder_Pfad'/*Bilder Pfad*/).val + 'Klingel_17.01.2022_19:00:00:.jpg';
            exec('wget --output-document ' + path + ' \'' + getState('0_userdata.0.FosCam.URL.SnapShot_URL'/*SnapShot URL*/).val + '\'');
            
            sendTo('telegram.0', {
            	text:                   path,
            	caption:                'KLINGEL:',
            	disable_notification:   true
            });
            
            
            F Offline
            F Offline
            Flixer
            schrieb am zuletzt editiert von
            #5

            @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 JohGreJ 2 Antworten Letzte Antwort
            0
            • 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.
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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 Online
                  Meister MopperM Online
                  Meister Mopper
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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.
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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.
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              marsmännchen
                              schrieb am zuletzt editiert von
                              #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 Antworten Letzte Antwort
                              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 Offline
                                bahnuhrB Offline
                                bahnuhr
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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 Offline
                                    bahnuhrB Offline
                                    bahnuhr
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • F Offline
                                        F Offline
                                        Flixer
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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 Offline
                                          BananaJoeB Offline
                                          BananaJoe
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          548

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe