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
    11
    2
    209

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

  • 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 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

                                101

                                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