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. Skripten / Logik
  4. Objekt per exec versenden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    823

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Objekt per exec versenden

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
16 Beiträge 3 Kommentatoren 369 Aufrufe 3 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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • mickymM mickym

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

          H Offline
          H Offline
          Hadde
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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 Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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 Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                739

                                Online

                                32.6k

                                Benutzer

                                82.1k

                                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