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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    252

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Request ablösen durch httpget

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
50 Beiträge 12 Kommentatoren 4.9k 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.
  • A Offline
    A Offline
    ATARI
    schrieb am zuletzt editiert von
    #33

    @peterfido vorab schon mal Danke für Deine Antwort, werde das gleich mal testen.

    Ich hatte der Einfachheithalber nur die Funktion zum Update der Variablen gepostet, da sich meine Varianten
    beide gleich verhalten.

    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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      ATARI
      schrieb am zuletzt editiert von
      #34

      @peterfido Sorry, leider erhalte ich bei Deinem Code-Beispiel das gleiche Ergebnis.

      Wenn die Variable nicht vorhanden ist, wird sie durch 'function_update_global_var()' erstellt. Ein weiterer Aufruf führt zur Fehlermeldung: 'Resource already exists in the system', statusCode: 409.

      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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

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

        Teste doch mal die 404 durch die 409 zu ersetzen.

        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 Offline
          P Offline
          peterfido
          schrieb am zuletzt editiert von peterfido
          #36

          ChatGPT schlägt das vor:

          Edit: Code gelöscht, war nicht lauffähig.

          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 2 Antworten Letzte Antwort
          0
          • P peterfido

            Teste doch mal die 404 durch die 409 zu ersetzen.

            A Offline
            A Offline
            ATARI
            schrieb am zuletzt editiert von
            #37

            @peterfido mit 409 gleiches Ergebnis, hatte ich aber auch schon mit experimentiert.

            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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

            1 Antwort Letzte Antwort
            0
            • P peterfido

              ChatGPT schlägt das vor:

              Edit: Code gelöscht, war nicht lauffähig.

              A Offline
              A Offline
              ATARI
              schrieb am zuletzt editiert von
              #38

              @peterfido diesen Vorschlag habe ich von ChatGPT noch nie erhalten..., ich checke das mal.

              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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

              1 Antwort Letzte Antwort
              0
              • P peterfido

                ChatGPT schlägt das vor:

                Edit: Code gelöscht, war nicht lauffähig.

                A Offline
                A Offline
                ATARI
                schrieb am zuletzt editiert von
                #39

                @peterfido sagte in Request ablösen durch httpget:

                ChatGPT schlägt das vor:

                Leider funktioniert der Code von ChatGPT so garnicht, Fehler beim compilieren.
                Aber das kenne ich bereits von ChatGPT Vorschlägen.

                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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                1 Antwort Letzte Antwort
                0
                • 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 Offline
                    A Offline
                    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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                    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 Offline
                        A Offline
                        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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                        1 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                          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 Offline
                              A Offline
                              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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                              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 Offline
                                  A Offline
                                  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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                                  1 Antwort Letzte Antwort
                                  0
                                  • A Offline
                                    A Offline
                                    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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      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 | Tuya 4 in 1 Gateway | Zigbee & BLE Gateway

                                      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

                                      955

                                      Online

                                      32.5k

                                      Benutzer

                                      81.9k

                                      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