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. Request ablösen durch httpget

NEWS

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

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

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

Request ablösen durch httpget

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
50 Beiträge 12 Kommentatoren 4.4k Aufrufe 9 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.
  • P Offline
    P Offline
    peterfido
    schrieb am zuletzt editiert von
    #40

    Ja, ich auch. War ein Versuch wert :D

    Gruß

    Peterfido


    Proxmox auf Intel NUC12WSHi5
    ioBroker: Debian (VM)
    CCU: Debmatic (VM)
    Influx: Debian (VM)
    Grafana: Debian (VM)
    eBus: Debian (VM)
    Zigbee: Debian (VM) mit zigbee2mqtt

    A 1 Antwort Letzte Antwort
    0
    • P peterfido

      Ja, ich auch. War ein Versuch wert :D

      A Online
      A Online
      ATARI
      schrieb am zuletzt editiert von
      #41

      @peterfido Danke für Deine Mühe

      Ich suche mittlerweile seit ca. 1 Jahr nach einer Lösung..., ohne Erfolg.

      Das Erstellen einer neuen Variablen mit httpPost() funktioniert ja grundsätzlich,
      nur das Ändern einer bestehenden Variablen funktioniert nicht.
      Vermutlich weil hierfür request.put() im Original-Script verwendet wird.
      Wodurch kann man request.put() ersetzen?

      Gruß
      ATARI

      Gruß
      ATARI

      Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
      Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
      Aeotec Z-Wave

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        peterfido
        schrieb am zuletzt editiert von peterfido
        #42

        Vielleicht axios nutzen.

        ChatGPT hat mir einen Node-Red Flow erstellt. Auf Nachfrage auch den ursprünglichen Code nach AXIOS umgestellt.

        Hier die Axios-Version:

        const axios = require("axios");
        
        const fibaro_username = 'username';    // Fibaro Admin Login
        const fibaro_password = 'password';    // Fibaro Passwort
        const fibaro_ip       = 'ip_adresse';  // Fibaro IP Adresse
        
        // Basis-URL für axios-Anfragen
        const fibaro = axios.create({
            baseURL: `http://${fibaro_ip}/api/globalVariables`,
            auth: {
                username: fibaro_username,
                password: fibaro_password
            },
            headers: {
                "Content-Type": "application/json"
            },
            timeout: 5000
        });
        
        
        // =====================================================
        // VARIABLE ANLEGEN
        // =====================================================
        function fibaro_create_global_var(fibaro_global_name, fibaro_global_value, fibaro_create_when_not_exist = true) {
        
            const payload = {
                name: fibaro_global_name,
                value: fibaro_global_value
            };
        
            fibaro.post("/", payload)
                .then(res => {
                    if (res.status === 201) {
                        log(`Variable ${fibaro_global_name} angelegt mit Wert: ${fibaro_global_value}`, "info");
                    } else {
                        log("HTTP Fehler beim Anlegen", "info");
                        log(JSON.stringify(res.data), "error");
                    }
                })
                .catch(err => {
                    log(err.toString(), "error");
                });
        }
        
        
        // =====================================================
        // VARIABLE UPDATEN
        // =====================================================
        function fibaro_update_global_var(fibaro_global_name, fibaro_global_value, fibaro_create_when_not_exist = true) {
        
            const payload = {
                name: fibaro_global_name,
                value: fibaro_global_value,
                invokeScenes: true
            };
        
            fibaro.put(`/${fibaro_global_name}`, payload)
                .then(res => {
        
                    if (res.status === 200) {
                        log(`Variable ${fibaro_global_name} gespeichert mit Wert: ${fibaro_global_value}`, "info");
                    } else {
                        log("HTTP Fehler beim Update", "info");
                        log(JSON.stringify(res.data), "error");
                    }
        
                })
                .catch(err => {
        
                    // Wenn Variable nicht existiert → 404
                    if (err.response && err.response.status === 404 && fibaro_create_when_not_exist === true) {
                        log("Variable existiert nicht — wird angelegt", "info");
                        fibaro_create_global_var(fibaro_global_name, fibaro_global_value);
                        return;
                    }
        
                    log(`Fehler beim Update: ${err.toString()}`, "error");
                });
        }
        
        

        Edit: Der Code lässt die Java-Script-Instanz zumindest nicht abstürzen.

        Gruß

        Peterfido


        Proxmox auf Intel NUC12WSHi5
        ioBroker: Debian (VM)
        CCU: Debmatic (VM)
        Influx: Debian (VM)
        Grafana: Debian (VM)
        eBus: Debian (VM)
        Zigbee: Debian (VM) mit zigbee2mqtt

        A 1 Antwort Letzte Antwort
        0
        • P peterfido

          Vielleicht axios nutzen.

          ChatGPT hat mir einen Node-Red Flow erstellt. Auf Nachfrage auch den ursprünglichen Code nach AXIOS umgestellt.

          Hier die Axios-Version:

          const axios = require("axios");
          
          const fibaro_username = 'username';    // Fibaro Admin Login
          const fibaro_password = 'password';    // Fibaro Passwort
          const fibaro_ip       = 'ip_adresse';  // Fibaro IP Adresse
          
          // Basis-URL für axios-Anfragen
          const fibaro = axios.create({
              baseURL: `http://${fibaro_ip}/api/globalVariables`,
              auth: {
                  username: fibaro_username,
                  password: fibaro_password
              },
              headers: {
                  "Content-Type": "application/json"
              },
              timeout: 5000
          });
          
          
          // =====================================================
          // VARIABLE ANLEGEN
          // =====================================================
          function fibaro_create_global_var(fibaro_global_name, fibaro_global_value, fibaro_create_when_not_exist = true) {
          
              const payload = {
                  name: fibaro_global_name,
                  value: fibaro_global_value
              };
          
              fibaro.post("/", payload)
                  .then(res => {
                      if (res.status === 201) {
                          log(`Variable ${fibaro_global_name} angelegt mit Wert: ${fibaro_global_value}`, "info");
                      } else {
                          log("HTTP Fehler beim Anlegen", "info");
                          log(JSON.stringify(res.data), "error");
                      }
                  })
                  .catch(err => {
                      log(err.toString(), "error");
                  });
          }
          
          
          // =====================================================
          // VARIABLE UPDATEN
          // =====================================================
          function fibaro_update_global_var(fibaro_global_name, fibaro_global_value, fibaro_create_when_not_exist = true) {
          
              const payload = {
                  name: fibaro_global_name,
                  value: fibaro_global_value,
                  invokeScenes: true
              };
          
              fibaro.put(`/${fibaro_global_name}`, payload)
                  .then(res => {
          
                      if (res.status === 200) {
                          log(`Variable ${fibaro_global_name} gespeichert mit Wert: ${fibaro_global_value}`, "info");
                      } else {
                          log("HTTP Fehler beim Update", "info");
                          log(JSON.stringify(res.data), "error");
                      }
          
                  })
                  .catch(err => {
          
                      // Wenn Variable nicht existiert → 404
                      if (err.response && err.response.status === 404 && fibaro_create_when_not_exist === true) {
                          log("Variable existiert nicht — wird angelegt", "info");
                          fibaro_create_global_var(fibaro_global_name, fibaro_global_value);
                          return;
                      }
          
                      log(`Fehler beim Update: ${err.toString()}`, "error");
                  });
          }
          
          

          Edit: Der Code lässt die Java-Script-Instanz zumindest nicht abstürzen.

          A Online
          A Online
          ATARI
          schrieb am zuletzt editiert von
          #43

          @peterfido axios und fetch habe ich auch schon ausprobiert..., hat bisher auch nicht funktioniert. Schau mir Deine Version gerne mal an.

          Gruß
          ATARI

          Gruß
          ATARI

          Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
          Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
          Aeotec Z-Wave

          1 Antwort Letzte Antwort
          0
          • A Online
            A Online
            ATARI
            schrieb am zuletzt editiert von ATARI
            #44

            @peterfido

            // Basis-URL für axios-Anfragen
            const fibaro = axios.create({
            
            

            const fibaro = axios.create({....
            zeigt nach Eingabe im Script-Fenster folgende Fehlermeldung:
            'Property 'create' does not exist on type 'typeof import("axios")'.(2339)'

            Gruß
            ATARI

            Gruß
            ATARI

            Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
            Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
            Aeotec Z-Wave

            1 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              peterfido
              schrieb am zuletzt editiert von peterfido
              #45

              Hast Du axios als Modul in der Javascript-Instanz angegeben?

              image.png

              Gruß

              Peterfido


              Proxmox auf Intel NUC12WSHi5
              ioBroker: Debian (VM)
              CCU: Debmatic (VM)
              Influx: Debian (VM)
              Grafana: Debian (VM)
              eBus: Debian (VM)
              Zigbee: Debian (VM) mit zigbee2mqtt

              A 1 Antwort Letzte Antwort
              0
              • P peterfido

                Hast Du axios als Modul in der Javascript-Instanz angegeben?

                image.png

                A Online
                A Online
                ATARI
                schrieb am zuletzt editiert von
                #46

                @peterfido na klar doch. Wenn ich mit der Maus über 'axios....' bekomme ich den Hinweis '(alias) modul axios'...

                Gruß
                ATARI

                Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                Aeotec Z-Wave

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  peterfido
                  schrieb am zuletzt editiert von peterfido
                  #47

                  Bei mir läuft es durch.
                  0bb68b0a-e02f-44f0-9dbd-3b06c41cce81-image.png
                  Ist Deine Javascript-Engine aktuell?

                  Edit: Zum Testen nutze ich mangels fibaro einen Webserver unter Node-Red.

                  Das steht bei mir, wenn ich mit der Maus über require fahre. Bei axios steht nichts weiter.

                  df6c7495-fdfd-4258-bc8f-374acd39c5e1-image.png

                  Gruß

                  Peterfido


                  Proxmox auf Intel NUC12WSHi5
                  ioBroker: Debian (VM)
                  CCU: Debmatic (VM)
                  Influx: Debian (VM)
                  Grafana: Debian (VM)
                  eBus: Debian (VM)
                  Zigbee: Debian (VM) mit zigbee2mqtt

                  A 1 Antwort Letzte Antwort
                  0
                  • P peterfido

                    Bei mir läuft es durch.
                    0bb68b0a-e02f-44f0-9dbd-3b06c41cce81-image.png
                    Ist Deine Javascript-Engine aktuell?

                    Edit: Zum Testen nutze ich mangels fibaro einen Webserver unter Node-Red.

                    Das steht bei mir, wenn ich mit der Maus über require fahre. Bei axios steht nichts weiter.

                    df6c7495-fdfd-4258-bc8f-374acd39c5e1-image.png

                    A Online
                    A Online
                    ATARI
                    schrieb am zuletzt editiert von
                    #48

                    @peterfido sagte in Request ablösen durch httpget:

                    Ist Deine Javascript-Engine aktuell?

                    z.Zt. läuft bei mir JS-Engine v8.9.2.
                    Traue mich wegen der Umstellung zu httpGet... etc. nicht auf v9.x.x zu wechseln.

                    Wenn Mauszeiger auf 'require'..., bekomme ich die gleiche Meldung.

                    Gruß
                    ATARI

                    Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                    Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                    Aeotec Z-Wave

                    1 Antwort Letzte Antwort
                    0
                    • A Online
                      A Online
                      ATARI
                      schrieb am zuletzt editiert von
                      #49

                      Bildschirmfoto 2025-11-29 um 15.57.13.png

                      Gruß
                      ATARI

                      Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                      Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                      Aeotec Z-Wave

                      1 Antwort Letzte Antwort
                      0
                      • A Online
                        A Online
                        ATARI
                        schrieb am zuletzt editiert von ATARI
                        #50

                        @peterfido Vielen Dank, es läuft nun. Habe alle 'const' gegen 'var' ersetzt.

                        EDIT:
                        Beide Parameter (name, value) müssen als STRING für den API-Aufruf vorliegen.

                        ....
                            var payload = {
                                name: String(fibaro_global_name),
                                value: String(fibaro_global_value)
                        ....
                        

                        Gruß
                        ATARI

                        Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)
                        Fibaro Home Center 2 & Home Center 3 | Homematic IP | EMS-ESP32 Gateway
                        Aeotec Z-Wave

                        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

                        897

                        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