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. Axios: Fail to parse JSON data','code':-1

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Axios: Fail to parse JSON data','code':-1

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 3 Kommentatoren 410 Aufrufe 2 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.
  • cashC Offline
    cashC Offline
    cash
    Most Active
    schrieb am zuletzt editiert von
    #1

    Ich bekomme seit heute ein Fehler von Axios wenn ich versuche eine elgato Keylight einzuschalten.

    Ich habe nichts verändert und verstehe nicht so ganz wo das Problem liegt. Die Status Abfrage funktioniert weiterhin und ich bekomme die Daten ausgelesen.

    Fehler beim einschalten:

    function func_elgato_on(){
        var On_Key_Light_1 = getState(id_On_Key_Light_1).val;
        var Brightness_Key_Light_1 = getState(id_Brightness_Key_Light_1).val;
        var Temperature_Key_Light_1 = getState(id_Temperature_Key_Light_1).val;
        var Status_Update_Key_Light_1 = getState(id_Status_Update_Key_Light_1).val;
        var Switch_Key_Light_1 = getState(id_Switch_Key_Light_1).val;
    
        if(!change){
            Switch_change = true;
            const axios = require('axios');
            axios({
                method: 'put',
                url: 'http://192.168.178.75:9123/elgato/lights',
                headers: {'Content-Type':'application/x-www-form-urlencoded'} ,  
                data: {
                        
                        "lights":[{
                            "brightness":Brightness_Key_Light_1,
                            "temperature":Temperature_Key_Light_1,
                            "on":1}],
                        "numberOfLights":1
                    },
                timeout: 4500,
                responseType: 'json'
            })
            .then((response) => {
                                
                if(debugging){
                    console.log('data:' +response.data);
                    console.log('Status: ' +response.status);
                    console.log('Header:' +response.headers);
                }
                if(response.status = 200){
                    //Umwandeln in String
                    var data_string = JSON.stringify(response.data)
                    //Ergebnisse
                    var _Status = response.data.lights[0].on;
                    var _Helligkeit = response.data.lights[0].brightness;
                    var _Temperatur = response.data.lights[0].temperature;
                    
                    if(_Status == 1){
                        if(debugging){
                            log('Elgato Key light air wurde über ioBroker eingeschaltet --- Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                                            
                        }
                        setState(id_On_Key_Light_1,_Status);
                    }
                    else{
                        if(logging){
                            log('Elgato Key light air wurde nicht eingeschaltet (iobroker)');
                            //log('Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                        }
    
                    }
                    if(debugging){
                        log('Status: '+_Status);
                        log('Helligkeit: '+_Helligkeit);
                        log('Temperatur: '+_Temperatur);
                    
                    }
                }
                else{
                    if(logging){
                        log('Hier stimmt etwas nicht. Elgato Key Light air Meldung: '+response.status)
                    }
                } 
    
                                    
    
            })
            .catch(
                (error) => {
                    // handle error
                    log('Key Light air sollte eingeschaltet werden. Fehlermeldung: '+error,'warn');
                    if (error.response) {
                    // The request was made and the server responded with a status code
                    // that falls out of the range of 2xx
                        if(debugging){
                            log('Fehler: '+error)
                            log(error.response.data);
                            log(error.response.status);
                            log(error.response.headers);
                        }
                    } 
                    else if (error.request) {
                        log('Request Error beim einschalten vom Key Light air','warn');
                        // The request was made but no response was received
                        // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
                        // http.ClientRequest in node.js
                        if(debugging){
                            console.log(error.request);
                        }
                    }
                    else {
                        // Something happened in setting up the request that triggered an Error
                        log('sonstiger Fehler beim Einschalten vom Key Light air: '+error,'warn');
                       
                
                    }                    
                }
            );
        }
        else{
            change= false;
            log('Schaltbefehl wurde unterdrückt (Schaltung wahrscheinlich über App)');
        }
    
    }
    

    was geht:

    function func_elgato_status(){
        var On_Key_Light_1 = getState(id_On_Key_Light_1).val;
        var Brightness_Key_Light_1 = getState(id_Brightness_Key_Light_1).val;
        var Temperature_Key_Light_1 = getState(id_Temperature_Key_Light_1).val;
        var Status_Update_Key_Light_1 = getState(id_Status_Update_Key_Light_1).val;
        var Switch_Key_Light_1 = getState(id_Switch_Key_Light_1).val;
    
        if(Status_Update_Key_Light_1){
            setStateDelayed(id_Status_Update_Key_Light_1,false,5000);
        }
        change= false;
    
        if(!Switch_change){
            const axios = require('axios');
            axios({
                method: 'get',
                url: 'http://192.168.178.75:9123/elgato/lights',
                timeout: 4500,
                responseType: 'json'
            })
            .then((response) => {
                                
                if(debugging){
                    log('data:' +response.data);
                    log(response.data.lights[0].temperature)
                    log(response.data.lights[0].brightness)
                    log(response.data.lights[0].on)
                    log('Status: ' +response.status);
                    log('Header:' +response.headers);
                }
                if(response.status = 200){
                    //Umwandeln in String
                    var data_string = JSON.stringify(response.data)
                    
                    //Ergebnisse
                    var _Status = response.data.lights[0].on;
                    var _Helligkeit = response.data.lights[0].brightness;
                    var _Temperatur = response.data.lights[0].temperature;
                    
                    if(On_Key_Light_1 != _Status){
                        setState(id_On_Key_Light_1,_Status);
                        change = true;
                    }
                    if(Brightness_Key_Light_1 != _Helligkeit){
                        setState(id_Brightness_Key_Light_1,_Helligkeit);  
                        change = true;  
                    }
                    if(Temperature_Key_Light_1 != _Temperatur){
                        setState(id_Temperature_Key_Light_1,_Temperatur);
                        change = true;
                    }
                    
                    
                    if(_Status == 1 && !Switch_Key_Light_1){
                        setState(id_Switch_Key_Light_1,true);
                        change = true;    
                    }
                    else if (_Status == 0 && Switch_Key_Light_1){
                        setState(id_Switch_Key_Light_1,false);
                        change = true;    
                    }
                                
    
                    if(change){
                        if(_Status == 1){
                            if(logging){
                                log('Elgato Key light air wurde per App eingeschaltet --- Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                            }
                        }
                        else{
                            if(logging){
                                log('Elgato Key light air wurde per App ausgeschaltet');
                                //log('Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                            }
                        }
                    }
                    if(debugging){
                        log('Status: '+_Status);
                        log('Helligkeit: '+_Helligkeit);
                        log('Temperatur: '+_Temperatur);
                    
                    }
                }
                else{
                    if(logging){
                        log('Hier stimmt etwas nicht. Elgato Key Light air Meldung: '+response.status)
                    }
                } 
    
                                    
    
            })
            .catch(
                (error) => {
                    // handle error
                    log('Fehler bei der Abfrage der Elgator Key Light air: '+error,'warn');                    
                }
            );
        }
        else{
            Switch_change = false;
            if(debugging){
                log('Switch change wird geändert in false');
            }
        }
    
    
    }
    

    Hat jemand eine Idee wo das Problem liegen könnte?

    1 Antwort Letzte Antwort
    0
    • cashC Offline
      cashC Offline
      cash
      Most Active
      schrieb am zuletzt editiert von
      #2

      Kann mir vielleicht jemand helfen?

      Ich habe weiter recherchiert werde aber leider nicht fündig.

      Wenn ich am Mac Terminal

      #!/bin/bash
      curl --location --request PUT 'http://192.168.178.75:9123/elgato/lights' \
      --header 'Content-Type: application/json' \
      --data-raw '{"lights":[{"on":1}],"numberOfLights":1}'
      

      ausführe funktioniert es nicht weiterhin. Also an der Lampe liegt es nicht. Es kann nur an Axiom liegen.

      T 1 Antwort Letzte Antwort
      0
      • cashC cash

        Kann mir vielleicht jemand helfen?

        Ich habe weiter recherchiert werde aber leider nicht fündig.

        Wenn ich am Mac Terminal

        #!/bin/bash
        curl --location --request PUT 'http://192.168.178.75:9123/elgato/lights' \
        --header 'Content-Type: application/json' \
        --data-raw '{"lights":[{"on":1}],"numberOfLights":1}'
        

        ausführe funktioniert es nicht weiterhin. Also an der Lampe liegt es nicht. Es kann nur an Axiom liegen.

        T Offline
        T Offline
        tombox
        schrieb am zuletzt editiert von
        #3

        @cash du solltest schon den korrekten content-type verwenden er is json und nicht form-urlencoded

        cashC 1 Antwort Letzte Antwort
        0
        • T tombox

          @cash du solltest schon den korrekten content-type verwenden er is json und nicht form-urlencoded

          cashC Offline
          cashC Offline
          cash
          Most Active
          schrieb am zuletzt editiert von
          #4

          @tombox genau das war das Problem. Es geht wieder. Danke für den Hinweis. Komisch das es vorher über ein Jahr lang, obwohl falsch, lief...

          IssiI 1 Antwort Letzte Antwort
          0
          • cashC cash

            @tombox genau das war das Problem. Es geht wieder. Danke für den Hinweis. Komisch das es vorher über ein Jahr lang, obwohl falsch, lief...

            IssiI Offline
            IssiI Offline
            Issi
            Developer
            schrieb am zuletzt editiert von
            #5

            @cash
            falls es dich interessiert es gibt jetzt auch ein Adapter für Elgato Key Light hier der Forum post dazu https://forum.iobroker.net/topic/62334/test-elgato-key-light-adapter

            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            cashC 1 Antwort Letzte Antwort
            0
            • IssiI Issi

              @cash
              falls es dich interessiert es gibt jetzt auch ein Adapter für Elgato Key Light hier der Forum post dazu https://forum.iobroker.net/topic/62334/test-elgato-key-light-adapter

              cashC Offline
              cashC Offline
              cash
              Most Active
              schrieb am zuletzt editiert von
              #6

              @issi sehr cool. Danke für den Hinweis. Bleibe aber vorerst bei meinen Script da ich von meinen 3 elgatos nur eine steuern möchte und ich den Status auch nur Mo-Fr. von 7:00 - 16:00 abfrage. Somit vermeide ich unnötige Abfragen in meinen Netz. Falls mein Script dann mal wieder nicht läuft steige ich aber wahrscheinlich um.

              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

              691

              Online

              32.6k

              Benutzer

              82.3k

              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