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. JavaScript
  5. [gelöst] Axios implementieren

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

[gelöst] Axios implementieren

Geplant Angeheftet Gesperrt Verschoben JavaScript
14 Beiträge 4 Kommentatoren 645 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.
  • Ben1983B Ben1983

    Hallo, ich möchte bei WLED Geräten die Segmente schreiben.
    Da dies leider nicht über den Adapter geht, würde ic hes gerne über die API machen.
    Hier sind online Beispiele mit curl gegeben.
    Um nicht mit exec arbeiten zu müssen, würde ich mir gernex exios zusätzlich in den Javascriptadapter holen.
    Habe es hier schon angegeben:abf4217a-5aed-4e11-b8b9-d8172c797762-image.png
    Ist das korrekt so?
    Was muss ich weiteres machen?
    Und wie könnte man ein bsp. Curl der Seite in axios umsetzen?
    https://kno.wled.ge/interfaces/json-api/

    T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von
    #3

    @ben1983 mit meinem Fork vom wled Adapter geht das. Mehr Info spaäter

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    1 Antwort Letzte Antwort
    0
    • haus-automatisierungH haus-automatisierung

      @ben1983 sagte in Axios implementieren:

      Um nicht mit exec arbeiten zu müssen, würde ich mir gernex exios zusätzlich in den Javascriptadapter holen.

      Ist im Standard schon enthalten. Generell hab ich in der Doku immer alles gefunden, was ich so gesucht habe: https://github.com/axios/axios/blob/v1.x/README.md

      Ben1983B Offline
      Ben1983B Offline
      Ben1983
      schrieb am zuletzt editiert von
      #4

      @haus-automatisierung OK, also muss ich es nicht hinzufügen?

      1 Antwort Letzte Antwort
      0
      • Ben1983B Offline
        Ben1983B Offline
        Ben1983
        schrieb am zuletzt editiert von Ben1983
        #5

        @haus-automatisierung stehe gerade auf dem schlauch:
        Wenn ich das Beispiel sehen:

        curl -X POST "http://[WLED-IP]/json/state" -d '{"on":"t","v":true}' -H "Content-Type: application/json"
        

        wie würde ich es denn mit axios ersetzen?
        Habe das mal so ähnlich vorbereitet, was ich vor habe:

        const host = "http://192.168.2.142/json/state"
        
        const segmentObject = {
            "seg": [{
            "start": 0,
            "stop": 20,
            "len": 20,
            }]
        };
        
        import axios from 'axios';
        axios({
          method: 'post',
          url: host,
          data: segmentObject
        });
        

        und bekomme zusätzlich nochden Fehler:

        Cannot find module 'axios' or its corresponding type declarations.
        
        T 1 Antwort Letzte Antwort
        0
        • Ben1983B Ben1983

          @haus-automatisierung stehe gerade auf dem schlauch:
          Wenn ich das Beispiel sehen:

          curl -X POST "http://[WLED-IP]/json/state" -d '{"on":"t","v":true}' -H "Content-Type: application/json"
          

          wie würde ich es denn mit axios ersetzen?
          Habe das mal so ähnlich vorbereitet, was ich vor habe:

          const host = "http://192.168.2.142/json/state"
          
          const segmentObject = {
              "seg": [{
              "start": 0,
              "stop": 20,
              "len": 20,
              }]
          };
          
          import axios from 'axios';
          axios({
            method: 'post',
            url: host,
            data: segmentObject
          });
          

          und bekomme zusätzlich nochden Fehler:

          Cannot find module 'axios' or its corresponding type declarations.
          
          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von
          #6

          @ben1983
          require nicht import

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          Ben1983B 1 Antwort Letzte Antwort
          0
          • T ticaki

            @ben1983
            require nicht import

            Ben1983B Offline
            Ben1983B Offline
            Ben1983
            schrieb am zuletzt editiert von Ben1983
            #7

            @ticaki dann bekomme ich:
            ok. hatte mich schon gewundert... Aber bin heute echt nicht auf der höhe.

            Also so?:

            
            const host = "http://192.168.2.142/json/state"
            
            const segmentObject = {
                "seg": [{
                "start": 0,
                "stop": 30,
                "len": 30,
                }]
            };
            
            const axios = require('axios');
            axios({
              method: 'post',
              url: host,
              data: segmentObject
            });
            
            CodierknechtC T 2 Antworten Letzte Antwort
            0
            • Ben1983B Ben1983

              @ticaki dann bekomme ich:
              ok. hatte mich schon gewundert... Aber bin heute echt nicht auf der höhe.

              Also so?:

              
              const host = "http://192.168.2.142/json/state"
              
              const segmentObject = {
                  "seg": [{
                  "start": 0,
                  "stop": 30,
                  "len": 30,
                  }]
              };
              
              const axios = require('axios');
              axios({
                method: 'post',
                url: host,
                data: segmentObject
              });
              
              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von Codierknecht
              #8

              @ben1983
              Versuch's mal so:

              const host = "http://192.168.2.142/json/state"
              const axios = require('axios');
              
              const segmentObject = {
                  "seg": [{
                      "start": 0,
                      "stop": 30,
                      "len": 30,
                  }]
              };
              
              async function getData() {
                  const response = await axios.post(host, segmentObject);
                  console.log(JSON.stringify(response));
              }
              
              getData();
              

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              Ben1983B 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @ben1983
                Versuch's mal so:

                const host = "http://192.168.2.142/json/state"
                const axios = require('axios');
                
                const segmentObject = {
                    "seg": [{
                        "start": 0,
                        "stop": 30,
                        "len": 30,
                    }]
                };
                
                async function getData() {
                    const response = await axios.post(host, segmentObject);
                    console.log(JSON.stringify(response));
                }
                
                getData();
                
                Ben1983B Offline
                Ben1983B Offline
                Ben1983
                schrieb am zuletzt editiert von
                #9

                @codierknecht Danke, aber meine Version hat zumindest in Sachen Schreiben auf funktioniert.

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • Ben1983B Ben1983

                  @codierknecht Danke, aber meine Version hat zumindest in Sachen Schreiben auf funktioniert.

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @ben1983
                  OK. Hatte mich gewundert, was nach dem

                  dann bekomme ich:

                  fehlt?

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  Ben1983B 2 Antworten Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @ben1983
                    OK. Hatte mich gewundert, was nach dem

                    dann bekomme ich:

                    fehlt?

                    Ben1983B Offline
                    Ben1983B Offline
                    Ben1983
                    schrieb am zuletzt editiert von
                    #11

                    @codierknecht Oh, sorry. das war ein Falscher Text.

                    1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @ben1983
                      OK. Hatte mich gewundert, was nach dem

                      dann bekomme ich:

                      fehlt?

                      Ben1983B Offline
                      Ben1983B Offline
                      Ben1983
                      schrieb am zuletzt editiert von
                      #12

                      @codierknecht Es funktioniert zwar alles.
                      In deiner Version ist natürlich die Sache noch etwas schöner.
                      (Muss allerdings response.data loggen, nicht nur response).

                      Allerding bekomme ich beim require('axios') noch die Meldung:

                      Cannot find module 'axios' or its corresponding type declarations.
                      

                      Was kann das noch sein?

                      CodierknechtC 1 Antwort Letzte Antwort
                      0
                      • Ben1983B Ben1983

                        @codierknecht Es funktioniert zwar alles.
                        In deiner Version ist natürlich die Sache noch etwas schöner.
                        (Muss allerdings response.data loggen, nicht nur response).

                        Allerding bekomme ich beim require('axios') noch die Meldung:

                        Cannot find module 'axios' or its corresponding type declarations.
                        

                        Was kann das noch sein?

                        CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #13

                        @ben1983 sagte in [gelöst] Axios implementieren:

                        Allerding bekomme ich beim require('axios') noch die Meldung:

                        Aber nur im Editor. Wird da gekringelt und angemeckert, funzt aber einwandfrei.
                        Mit der Macke muss man entweder leben oder den Editor dazu zwingen ihn zu ignorieren:

                        // @ts-ignore
                        const axios = require('axios');
                        

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Antwort Letzte Antwort
                        0
                        • Ben1983B Ben1983

                          @ticaki dann bekomme ich:
                          ok. hatte mich schon gewundert... Aber bin heute echt nicht auf der höhe.

                          Also so?:

                          
                          const host = "http://192.168.2.142/json/state"
                          
                          const segmentObject = {
                              "seg": [{
                              "start": 0,
                              "stop": 30,
                              "len": 30,
                              }]
                          };
                          
                          const axios = require('axios');
                          axios({
                            method: 'post',
                            url: host,
                            data: segmentObject
                          });
                          
                          T Nicht stören
                          T Nicht stören
                          ticaki
                          schrieb am zuletzt editiert von ticaki
                          #14

                          @ben1983
                          Ja, aber wie oben geschrieben,wenn du den wled adapter von mir nimmst, gibt es einen State in dem du das Json rein wirst und es wird dann über die websocket verbindung vom wled adapter versendet:

                          https://github.com/ticaki/ioBroker.wled

                          Die PR ist ist beim Dutchman eingereicht, mal sehen wann er es added.

                          mich hats genervt das "an" "helligkeit" "preset" in 3 Stufen ausgeführt wird... Deshalb nen State eingebaut dem ich dann so die Daten übergebe:

                          setState(`${light.id}.action`, JSON.stringify({
                                                  "bri": bri,
                                                  "on": lOn,
                                                  'ps': cArray[2],
                                                  'transition': 1
                                              }))
                          

                          Das sollte auch für Steuerung von einzelnen LED's gut sein.

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          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

                          849

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          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