Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Werte (JSON) an URL senden

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Werte (JSON) an URL senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      M-A-X @paul53 last edited by

      @paul53
      Das mit der zu kurzen Antwort war auf die Forenantwort bezogen 🙂 wollte dir ursprünglich nur schreiben "jetzt kommt:" und dann den Code.
      Gibt es eine Möglichkeit das "Text" Fenster des exec Befehls größer zu machen, sodass ich darin leichter rum probieren kann?
      Ich hab in meinem ersten Beitrag auch mal ganz unten den anderen Thread verlinkt, falls das hilft

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @M-A-X last edited by paul53

        @m-a-x
        Der Kommandotext wird durch Hochkommata unterbrochen. Wenn innerhalb des Kommandos Hochkommata erforderlich sind, müssen diese mit Backslash eingeleitet werden. Anfang:

        'cmd':'curl -X \'PUT\' \\ \'http:/
        
        M 1 Reply Last reply Reply Quote 0
        • M
          M-A-X @paul53 last edited by

          @paul53
          Leider nicht besser geworden 🙂

          javascript.0
          2023-03-01 19:37:31.205	info	script.js.TeslaSolarSetSOC1: {'code':3,'killed':false,'signal':null,'cmd':'curl -X \\'PUT\\' \\ \\'http://192.168.9.105:7190/api/Config/UpdateCarConfiguration?carId=1\\' \\ -H \\'accept: */*\\' \\ -H \\'Content-Type: application/json\\' \\ -d \\'{ \'chargeMode\': 2, \'minimumSoC\': 20, \'latestTimeToReachSoC\': \'2023-03-01T17:06:45.205Z\', \'ignoreLatestTimeToReachSocDate\': true, \'maximumAmpere\': 0, \'minimumAmpere\': 0, \'usableEnergy\': 0, \'shouldBeManaged\': true, \'chargingPriority\': 0 }\\''}
          

          Da, wo im Log jetzt ein ' ist, war vorher ein ", da wo jetzt zwei \' sind, hatte ich ein \ vor einem ' eingefügt...
          Auch ganz hinten und am Anfang

          curl -X \'PUT\' \   \'http://192.168.9.105:7190/api/Config/UpdateCarConfiguration?carId=1\' \   -H \'accept: */*\' \   -H \'Content-Type: application/json\' \   -d \'{   "chargeMode": 2,   "minimumSoC": 20,   "latestTimeToReachSoC": "2023-03-01T17:06:45.205Z",   "ignoreLatestTimeToReachSocDate": true,   "maximumAmpere": 0,   "minimumAmpere": 0,   "usableEnergy": 0,   "shouldBeManaged": true,   "chargingPriority": 0 }\'
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @M-A-X last edited by paul53

            @m-a-x
            Gibt es irgendwo eine Beschreibung der API? Request ist vielleicht besser geeignet?

            M 1 Reply Last reply Reply Quote 0
            • M
              M-A-X @paul53 last edited by

              @paul53
              Ich glaube leider nein..
              Das ist das Projekt:
              https://github.com/pkuehnel/TeslaSolarCharger

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @M-A-X last edited by

                @m-a-x sagte: leider nein..

                Woher stammen die Bilder?

                M 1 Reply Last reply Reply Quote 0
                • M
                  M-A-X @paul53 last edited by M-A-X

                  @paul53
                  Ich kann über IPdesSystems:7190/swagger
                  die API aufrufen
                  Also in meinem Fall 192.168.9.105:7190/swagger
                  Zwischenablage02.jpg

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @M-A-X last edited by

                    @m-a-x sagte: ich brauche nur den chargeMode und den minimumStateOfCharge

                    Sollen die Werte abgefragt oder gesetzt werden?
                    Welche Werte kann "chargeMode" annehmen?

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      M-A-X @paul53 last edited by M-A-X

                      @paul53
                      Die Werte sollen gesetzt werden. Wenn ich das per "PUT" in der API mache, klappt es auch (wie im ersten Post kommt kann dieser "code" mit CURL am Anfang raus.
                      Der DockerContainer lässt mein Fahrzeug nur mit PV Überschuss laden. Aber manchmal brauche ich es auch einfach, dass das Fahrzeug komplett geladen wird. Dazu möchte ich einen Taster neben die Wallbox bauen und hierdurch, über Iobroker, soll dann der SOC auf 100% gesetzt werden. Den Rest der Logik (zurückkehren zu den Standardwerten, sobald der Ladevorgang abgebrochen wird oder beendet ist) würde ich in ein Skript mit einbauen. Wichtig wäre zunächst "nur", dass dieser EXEC Block funktioniert 🙂

                      chargeMode gibt es von 0 bis 3. Ich brauche (immer nur) chargeMode:2 (es würden auch andere gehen, dann müsste ich aber beim Zurückwechseln noch mehr Werte ändern)
                      Das steht in der API
                      Zwischenablage03.jpg
                      minimumStateOfCharge ist eine (Prozent) Zahl zwischen 0 und 100 🙂

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @M-A-X last edited by

                        @m-a-x
                        Ich habe zwar nicht wirklich Ahnung davon, aber versuche es mal mit request().

                        on({id: '0_userdata.0.Tesla.Laden.voll'}, function() { // Taste "voll laden"
                            request({
                                method: 'POST',
                                url: 'http://192.168.9.105:7190/api/Config/UpdateCarConfiguration?carId=1',
                                headers: {accept: '*/*', 'Content-Type': 'application/json'},
                                body: {chargeMode: 2, minimumSoC: 100}
                            }, function(error, response, body) {
                                if(error) log(error, 'warn');
                                else log(body);
                            });
                        });
                        
                        M 1 Reply Last reply Reply Quote 0
                        • M
                          M-A-X @paul53 last edited by

                          @paul53
                          Wie kann ich das Skript Triggern? ich habe "0_userdata.0.Tesla.Laden.voll" ersetzt durch "javascript.0.TeslaSetSOC".
                          Dieses Objekt habe ich als Logik Objekt angelegt und anschließend bei den Objekten auf "true" (bestätigt) gesetzt.
                          Dann stürzt aber der komplette Javaskriptadapter ab und restartet 🙂

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @M-A-X last edited by paul53

                            @m-a-x sagte: Dann stürzt aber der komplette Javaskriptadapter ab und restartet

                            Dann ist vermutlich etwas am request() gefährlich falsch. Vielleicht meldet sich noch jemand, der sich besser damit auskennt?

                            1 Reply Last reply Reply Quote 1
                            • mickym
                              mickym Most Active last edited by

                              Nutze Node-Red - da hast Du alle Methoden out of the box. 😉

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                M-A-X @mickym last edited by

                                @paul53
                                Danke schon mal für deine Hilfe. Ich habe auf jeden Fall etwas gelernt, auch wenn es nicht zum Erfolg geführt hat.

                                @mickym
                                Hab NodeRed jetzt mal schnell gegoogelt und hört sich wie ein "potentes" Blockly an. Also Flussdiagramme erstellen ohne zu programmieren, etc. Aber die Adapterbeschreibung ist sehr kurz und ich werde mich heute Abend nicht mehr damit beschäftigen, ob ich nur den Adapter installieren muss, oder noch weitere Änderungen vornehmen muss.. Lieber wäre mir eine Lösung ohne zusätzlichen Adapter 🙂

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                264
                                Online

                                31.7k
                                Users

                                79.8k
                                Topics

                                1.3m
                                Posts

                                3
                                22
                                721
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo