Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Objekt per exec versenden

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    229

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Objekt per exec versenden

Objekt per exec versenden

Scheduled Pinned Locked Moved Skripten / Logik
16 Posts 3 Posters 369 Views 3 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.
  • H Offline
    H Offline
    Hadde
    wrote on last edited by
    #1

    Hallo,
    ich würde gerne meinen Momentanverbrauch, welchen ich per SML einlese, mit exec an meine Wallbox zur PV Überschussregelung senden. Ich habe das Vorher per Tasmota Script gemacht und hat einwandfrei funktioniert. Leider bekomme ich das beim besten willen und Stundenlangen Googeln mit Iobroker nicht hin. Kann mir hierbei jemand kurz helfen? Folgendes script habe ich bis jetzt getestet das Funktioniert solange ich einen Festen Wert eingebe. Sobald ich den Wert einer Objekt ID versenden will kommt an der Wallbox nichts an.

    schedule("*/3 * * * * *", async () => {

    const util = require('util');
    var uberschuss
    var uberschuss = getState("smartmeter.0.1-0:16_7_0__255.value").val;
    console.log(util.inspect(uberschuss, { showHidden: true, depth: null }));

    exec ('wget http://192.168.178.29/api/set?ids={"pGrid":uberschuss}')

    });

    OliverIOO 1 Reply Last reply
    0
    • H Hadde

      Hallo,
      ich würde gerne meinen Momentanverbrauch, welchen ich per SML einlese, mit exec an meine Wallbox zur PV Überschussregelung senden. Ich habe das Vorher per Tasmota Script gemacht und hat einwandfrei funktioniert. Leider bekomme ich das beim besten willen und Stundenlangen Googeln mit Iobroker nicht hin. Kann mir hierbei jemand kurz helfen? Folgendes script habe ich bis jetzt getestet das Funktioniert solange ich einen Festen Wert eingebe. Sobald ich den Wert einer Objekt ID versenden will kommt an der Wallbox nichts an.

      schedule("*/3 * * * * *", async () => {

      const util = require('util');
      var uberschuss
      var uberschuss = getState("smartmeter.0.1-0:16_7_0__255.value").val;
      console.log(util.inspect(uberschuss, { showHidden: true, depth: null }));

      exec ('wget http://192.168.178.29/api/set?ids={"pGrid":uberschuss}')

      });

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by OliverIO
      #2

      @hadde

      klar, so kommt da nur das wort uberschuss an.
      du musst den wert schon mit in den string einbauen.
      javascript weiß nicht, das du im string eigentlich die variable meinst

      du kannst es mal so probieren. allerdings darf da kein leerzeichen drin vorkommen, sonst mag wget die url nicht

      console.log('wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}');
      exec('wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}');
      

      https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      H 1 Reply Last reply
      0
      • OliverIOO OliverIO

        @hadde

        klar, so kommt da nur das wort uberschuss an.
        du musst den wert schon mit in den string einbauen.
        javascript weiß nicht, das du im string eigentlich die variable meinst

        du kannst es mal so probieren. allerdings darf da kein leerzeichen drin vorkommen, sonst mag wget die url nicht

        console.log('wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}');
        exec('wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}');
        

        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

        H Offline
        H Offline
        Hadde
        wrote on last edited by
        #3

        @oliverio
        Vielen Dank für deine schnelle Antwort, leider funktioniert es so auch nicht. Hab es jetzt schon in allen möglichen variationen probiert, bei Tasmota war die variable in % davor und dahinter, funktioniert hier aber auch nicht. Ist es überhaut möglich einen Wert von einem Objekt zu versenden?

        OliverIOO 1 Reply Last reply
        0
        • mickymM Offline
          mickymM Offline
          mickym
          Most Active
          wrote on last edited by
          #4

          Warum muss man das mit exec machen und nutzt nicht ein normalen http Aufruf?

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          H 1 Reply Last reply
          0
          • mickymM mickym

            Warum muss man das mit exec machen und nutzt nicht ein normalen http Aufruf?

            H Offline
            H Offline
            Hadde
            wrote on last edited by
            #5

            @mickym
            Ok, hört sich gut an, nur weiß ich nicht wie ich das im iobroker mache. Könntest du mir ein Beispiel nennen?

            mickymM 1 Reply Last reply
            0
            • H Hadde

              @mickym
              Ok, hört sich gut an, nur weiß ich nicht wie ich das im iobroker mache. Könntest du mir ein Beispiel nennen?

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              wrote on last edited by mickym
              #6

              @hadde Nun am einfachsten ist mit NodeRed - Du kannst natürlich auch deine Logikmaschinen nehmen, wobei ich da nicht so fit bin. Mit NodeRed ist es halt am einfachsten.

              b46bbfbc-814e-44f9-8396-6b84047d45e4-image.png

              [
                 {
                     "id": "78d807f85810055e",
                     "type": "http request",
                     "z": "517cd16e4d7e6ae4",
                     "name": "",
                     "method": "GET",
                     "ret": "txt",
                     "paytoqs": "ignore",
                     "url": "",
                     "tls": "",
                     "persist": false,
                     "proxy": "",
                     "insecureHTTPParser": false,
                     "authType": "",
                     "senderr": false,
                     "headers": [],
                     "x": 730,
                     "y": 520,
                     "wires": [
                         [
                             "e3ae2635cf98e634"
                         ]
                     ]
                 },
                 {
                     "id": "e3ae2635cf98e634",
                     "type": "debug",
                     "z": "517cd16e4d7e6ae4",
                     "name": "http Request",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 930,
                     "y": 520,
                     "wires": []
                 },
                 {
                     "id": "07ec99d927ce9892",
                     "type": "inject",
                     "z": "517cd16e4d7e6ae4",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "2555.66",
                     "payloadType": "num",
                     "x": 340,
                     "y": 520,
                     "wires": [
                         [
                             "7eb5bce2f8fcb581"
                         ]
                     ]
                 },
                 {
                     "id": "7eb5bce2f8fcb581",
                     "type": "template",
                     "z": "517cd16e4d7e6ae4",
                     "name": "",
                     "field": "url",
                     "fieldType": "msg",
                     "format": "handlebars",
                     "syntax": "mustache",
                     "template": "http://192.168.178.29/api/set?ids={\"pGrid\": {{payload}} }",
                     "output": "str",
                     "x": 540,
                     "y": 520,
                     "wires": [
                         [
                             "78d807f85810055e"
                         ]
                     ]
                 }
              ]
              

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              H 1 Reply Last reply
              0
              • mickymM mickym

                @hadde Nun am einfachsten ist mit NodeRed - Du kannst natürlich auch deine Logikmaschinen nehmen, wobei ich da nicht so fit bin. Mit NodeRed ist es halt am einfachsten.

                b46bbfbc-814e-44f9-8396-6b84047d45e4-image.png

                [
                   {
                       "id": "78d807f85810055e",
                       "type": "http request",
                       "z": "517cd16e4d7e6ae4",
                       "name": "",
                       "method": "GET",
                       "ret": "txt",
                       "paytoqs": "ignore",
                       "url": "",
                       "tls": "",
                       "persist": false,
                       "proxy": "",
                       "insecureHTTPParser": false,
                       "authType": "",
                       "senderr": false,
                       "headers": [],
                       "x": 730,
                       "y": 520,
                       "wires": [
                           [
                               "e3ae2635cf98e634"
                           ]
                       ]
                   },
                   {
                       "id": "e3ae2635cf98e634",
                       "type": "debug",
                       "z": "517cd16e4d7e6ae4",
                       "name": "http Request",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 930,
                       "y": 520,
                       "wires": []
                   },
                   {
                       "id": "07ec99d927ce9892",
                       "type": "inject",
                       "z": "517cd16e4d7e6ae4",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "2555.66",
                       "payloadType": "num",
                       "x": 340,
                       "y": 520,
                       "wires": [
                           [
                               "7eb5bce2f8fcb581"
                           ]
                       ]
                   },
                   {
                       "id": "7eb5bce2f8fcb581",
                       "type": "template",
                       "z": "517cd16e4d7e6ae4",
                       "name": "",
                       "field": "url",
                       "fieldType": "msg",
                       "format": "handlebars",
                       "syntax": "mustache",
                       "template": "http://192.168.178.29/api/set?ids={\"pGrid\": {{payload}} }",
                       "output": "str",
                       "x": 540,
                       "y": 520,
                       "wires": [
                           [
                               "78d807f85810055e"
                           ]
                       ]
                   }
                ]
                

                H Offline
                H Offline
                Hadde
                wrote on last edited by
                #7

                @mickym
                Puh, mit Node hab ich noch gar nichts gemacht. Muss ich mir mal ansehen obs damit klappt. Danke schon mal für die Vorlage.

                mickymM 1 Reply Last reply
                0
                • H Hadde

                  @mickym
                  Puh, mit Node hab ich noch gar nichts gemacht. Muss ich mir mal ansehen obs damit klappt. Danke schon mal für die Vorlage.

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by
                  #8

                  @hadde Ja ich weiß auch nicht ob es ein POST oder eine GET Request mit Body ist - aber damit kannst es am einfachsten probieren. Ich hab Dir ja den Import geschickt, damit Du es ausprobieren kannst.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  H 1 Reply Last reply
                  0
                  • mickymM mickym

                    @hadde Ja ich weiß auch nicht ob es ein POST oder eine GET Request mit Body ist - aber damit kannst es am einfachsten probieren. Ich hab Dir ja den Import geschickt, damit Du es ausprobieren kannst.

                    H Offline
                    H Offline
                    Hadde
                    wrote on last edited by
                    #9

                    @mickym
                    Vielen Dank für deine Hilfe, aber damit komme ich überhaut nicht klar. Ich weiß ja nicht mal wie man es startet oder schon läuft????

                    mickymM 1 Reply Last reply
                    0
                    • H Hadde

                      @mickym
                      Vielen Dank für deine Hilfe, aber damit komme ich überhaut nicht klar. Ich weiß ja nicht mal wie man es startet oder schon läuft????

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      wrote on last edited by
                      #10

                      @hadde Na Ok - Du hättest eigentlich nur den Adapter installieren müssen, den Flow importieren müssen und auf die Inject Node drücken, ob es geht - den Rest hätten wir dann zusammen gemacht. Aber vielleicht gibts ja noch eine andere Lösung für Dich.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      H 1 Reply Last reply
                      0
                      • H Hadde

                        @oliverio
                        Vielen Dank für deine schnelle Antwort, leider funktioniert es so auch nicht. Hab es jetzt schon in allen möglichen variationen probiert, bei Tasmota war die variable in % davor und dahinter, funktioniert hier aber auch nicht. Ist es überhaut möglich einen Wert von einem Objekt zu versenden?

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        wrote on last edited by
                        #11

                        @hadde sagte in Objekt per exec versenden:

                        Ist es überhaut möglich einen Wert von einem Objekt zu versenden?

                        ja, leider hast du nicht geschrieben was bspw das log ausgegeben hat.
                        ich habe davor dir ja noch so ein console log geschrieben und dazu auch einen hinweis gegeben.
                        auch kann es sein das der user iobroker gar keine berechtigung für wget hat
                        alternativ kann man natürlich auch ein blockly block mit request nehmen.
                        da bin ich aber nicht so firm, wie man da einen string zusammenbaut.

                        node-red ist natürlich ebenfalls eine möglichkeit

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        H 1 Reply Last reply
                        0
                        • mickymM mickym

                          @hadde Na Ok - Du hättest eigentlich nur den Adapter installieren müssen, den Flow importieren müssen und auf die Inject Node drücken, ob es geht - den Rest hätten wir dann zusammen gemacht. Aber vielleicht gibts ja noch eine andere Lösung für Dich.

                          H Offline
                          H Offline
                          Hadde
                          wrote on last edited by
                          #12

                          @mickym
                          Den Adapter hab ich installiert und den Flow importiert. Da bin ich dir dankbar das du mir das so vorgibst. Aber wie setzte ich das ganze nun in gang? Oder läuft es schon und funktioniert nicht? Ich kenne mich mit Node einfach nicht aus. GET und POST hab ich auch schon geändert, aber keine Ahnung ob es funktioniert, es kommt jedenfalls nichts an.

                          1 Reply Last reply
                          0
                          • OliverIOO OliverIO

                            @hadde sagte in Objekt per exec versenden:

                            Ist es überhaut möglich einen Wert von einem Objekt zu versenden?

                            ja, leider hast du nicht geschrieben was bspw das log ausgegeben hat.
                            ich habe davor dir ja noch so ein console log geschrieben und dazu auch einen hinweis gegeben.
                            auch kann es sein das der user iobroker gar keine berechtigung für wget hat
                            alternativ kann man natürlich auch ein blockly block mit request nehmen.
                            da bin ich aber nicht so firm, wie man da einen string zusammenbaut.

                            node-red ist natürlich ebenfalls eine möglichkeit

                            H Offline
                            H Offline
                            Hadde
                            wrote on last edited by
                            #13

                            @oliverio
                            Das Log gibt alle 3 Sekunden das hier aus

                            javascript.0
                            2023-11-26 19:04:57.001 info script.js.Ladesteuerung.Überschuss_Senden: exec: wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}

                            javascript.0
                            2023-11-26 19:04:57.001 info script.js.Ladesteuerung.Überschuss_Senden: 131

                            javascript.0
                            2023-11-26 19:04:57.000 info script.js.Ladesteuerung.Überschuss_Senden: getState(id=smartmeter.0.1-0:16_7_0__255.value, timerId=undefined) => {"val":131,"ack":true,"ts":1701021894709,"q":0,"from":"system.adapter.smartmeter.0","user":"system.user.admin","lc":1701021894709

                            Haken bei EXEC erlauben ist gesetzt und funktioniert auch mit einem Fest eingegebenen Wert, nur nicht mit der Variable.

                            OliverIOO 1 Reply Last reply
                            0
                            • H Hadde

                              @oliverio
                              Das Log gibt alle 3 Sekunden das hier aus

                              javascript.0
                              2023-11-26 19:04:57.001 info script.js.Ladesteuerung.Überschuss_Senden: exec: wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}

                              javascript.0
                              2023-11-26 19:04:57.001 info script.js.Ladesteuerung.Überschuss_Senden: 131

                              javascript.0
                              2023-11-26 19:04:57.000 info script.js.Ladesteuerung.Überschuss_Senden: getState(id=smartmeter.0.1-0:16_7_0__255.value, timerId=undefined) => {"val":131,"ack":true,"ts":1701021894709,"q":0,"from":"system.adapter.smartmeter.0","user":"system.user.admin","lc":1701021894709

                              Haken bei EXEC erlauben ist gesetzt und funktioniert auch mit einem Fest eingegebenen Wert, nur nicht mit der Variable.

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              wrote on last edited by
                              #14

                              @hadde

                              ah jetzt,
                              anstatt anführungszeichen müssen es backticks sein. vergess ich immer wieder

                              console.log(`wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}`);
                              exec(`wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}`);
                              
                              

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              H 1 Reply Last reply
                              0
                              • OliverIOO OliverIO

                                @hadde

                                ah jetzt,
                                anstatt anführungszeichen müssen es backticks sein. vergess ich immer wieder

                                console.log(`wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}`);
                                exec(`wget http://192.168.178.29/api/set?ids={"pGrid":${uberschuss}}`);
                                
                                
                                H Offline
                                H Offline
                                Hadde
                                wrote on last edited by
                                #15

                                @oliverio
                                DU BIST DER WAHNSINN, das wars, jetzt funktionierts!!!!!
                                VIELEN DANK.
                                Macht weiter so, ihr seid spitze!!!
                                Auch an mickym nochmals danke für deine Zeit.

                                1 Reply Last reply
                                0
                                • mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by
                                  #16

                                  OK dann hast Du ja nun eine Lösung.

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  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

                                  56

                                  Online

                                  32.4k

                                  Users

                                  81.3k

                                  Topics

                                  1.3m

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

                                  • Don't have an account? Register

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