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. Rückgabe body & error von request sind keine strings?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Rückgabe body & error von request sind keine strings?

Geplant Angeheftet Gesperrt Verschoben JavaScript
5 Beiträge 3 Kommentatoren 417 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.
  • G Offline
    G Offline
    gutgut30
    schrieb am zuletzt editiert von
    #1

    Hi zusammen,

    ich habe ein kleines Script, welches einen Wert in einem Tasmota Device setzt. Das iobroker Log meldet mir jedoch, dass ich einen Wert nicht als string übergebe. Die Rückgabe von body & error aus einem request müssten doch aber strings sein?

    Kann ich das irgendwie umgehen?

    Logfile:

    You are assigning a object to the state "0_userdata.0.Pool.setTempErrorString" which expects a string. Please fix your code to use a string or change the state type to object. This warning might become an error in future versions.
    

    Script:

    var parseString = require('xml2js').parseString;
    var request = require('request');
    
    //Baue URL zusammen
    var deviceip = '192.168.69.90'
    var command = '/cm?user=joker&password=Xcmnd=mem1%20'
    var temp = getState("hm-rega.0.21812").val
    var callURL = "http://" + deviceip + command + temp
    
    //Request an Device
    request(callURL, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            
        setState("0_userdata.0.Pool.setTempError", false);
        setState("0_userdata.0.Pool.setTempErrorString", body);
        setState("0_userdata.0.Pool.setTempErrorCount", 0);
    
        } else  {
    
        //Wenn Error, schreibe Objekte
        setState("0_userdata.0.Pool.setTempError", true);
        setState("0_userdata.0.Pool.setTempErrorString", error);
        setState("0_userdata.0.Pool.setTempErrorCount", (getState("0_userdata.0.Pool.setTempErrorCount").val + 1));
        }
    });
    
    mickymM 1 Antwort Letzte Antwort
    0
    • G gutgut30

      Hi zusammen,

      ich habe ein kleines Script, welches einen Wert in einem Tasmota Device setzt. Das iobroker Log meldet mir jedoch, dass ich einen Wert nicht als string übergebe. Die Rückgabe von body & error aus einem request müssten doch aber strings sein?

      Kann ich das irgendwie umgehen?

      Logfile:

      You are assigning a object to the state "0_userdata.0.Pool.setTempErrorString" which expects a string. Please fix your code to use a string or change the state type to object. This warning might become an error in future versions.
      

      Script:

      var parseString = require('xml2js').parseString;
      var request = require('request');
      
      //Baue URL zusammen
      var deviceip = '192.168.69.90'
      var command = '/cm?user=joker&password=Xcmnd=mem1%20'
      var temp = getState("hm-rega.0.21812").val
      var callURL = "http://" + deviceip + command + temp
      
      //Request an Device
      request(callURL, function (error, response, body) {
          if (!error && response.statusCode == 200) {
              
          setState("0_userdata.0.Pool.setTempError", false);
          setState("0_userdata.0.Pool.setTempErrorString", body);
          setState("0_userdata.0.Pool.setTempErrorCount", 0);
      
          } else  {
      
          //Wenn Error, schreibe Objekte
          setState("0_userdata.0.Pool.setTempError", true);
          setState("0_userdata.0.Pool.setTempErrorString", error);
          setState("0_userdata.0.Pool.setTempErrorCount", (getState("0_userdata.0.Pool.setTempErrorCount").val + 1));
          }
      });
      
      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      @gutgut30 Ändere halt einfach den Datentyp des Datenpunktes - Bleistiftsymbol rechts anklicken

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      G 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @gutgut30 Ändere halt einfach den Datentyp des Datenpunktes - Bleistiftsymbol rechts anklicken

        G Offline
        G Offline
        gutgut30
        schrieb am zuletzt editiert von gutgut30
        #3

        @mickym said in Rückgabe body & error von request sind keine strings?:

        @gutgut30 Ändere halt einfach den Datentyp des Datenpunktes - Bleistiftsymbol rechts anklicken

        Das hatte ich auch versucht.

        Allerdings bekomme ich dann den Fehler in Zeile 15 - body ist nämlich ein String und möchte natürlich nicht so gerne in ein object schreiben.

        Also egal wie ich es drehe, einen von beiden Werten muss ich als String oder als Object bekommen. Und den Error als String erscheint mir passender. Ich hätte halt auch erwartet, dass es ein string ist.

        EDIT: Habs gelöst mit

         String(error)
        

        Ich war von groovy irgendwie mit error.toString auf dem Holzweg. Läuft jetzt.

        mickymM OliverIOO 2 Antworten Letzte Antwort
        0
        • G gutgut30

          @mickym said in Rückgabe body & error von request sind keine strings?:

          @gutgut30 Ändere halt einfach den Datentyp des Datenpunktes - Bleistiftsymbol rechts anklicken

          Das hatte ich auch versucht.

          Allerdings bekomme ich dann den Fehler in Zeile 15 - body ist nämlich ein String und möchte natürlich nicht so gerne in ein object schreiben.

          Also egal wie ich es drehe, einen von beiden Werten muss ich als String oder als Object bekommen. Und den Error als String erscheint mir passender. Ich hätte halt auch erwartet, dass es ein string ist.

          EDIT: Habs gelöst mit

           String(error)
          

          Ich war von groovy irgendwie mit error.toString auf dem Holzweg. Läuft jetzt.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #4

          @gutgut30 Du schreibst grundsätzlich nur Strings und nie Objekte. Objekte müssen ggf. als JSONS in Strings gewandelt werden.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • G gutgut30

            @mickym said in Rückgabe body & error von request sind keine strings?:

            @gutgut30 Ändere halt einfach den Datentyp des Datenpunktes - Bleistiftsymbol rechts anklicken

            Das hatte ich auch versucht.

            Allerdings bekomme ich dann den Fehler in Zeile 15 - body ist nämlich ein String und möchte natürlich nicht so gerne in ein object schreiben.

            Also egal wie ich es drehe, einen von beiden Werten muss ich als String oder als Object bekommen. Und den Error als String erscheint mir passender. Ich hätte halt auch erwartet, dass es ein string ist.

            EDIT: Habs gelöst mit

             String(error)
            

            Ich war von groovy irgendwie mit error.toString auf dem Holzweg. Läuft jetzt.

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #5

            @gutgut30 said in Rückgabe body & error von request sind keine strings?:

            Ich war von groovy irgendwie mit error.toString auf dem Holzweg. Läuft jetzt

            fast richtig.
            error.toString()
            https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString?retiredLocale=de

            aber bei den meisten Objekten kommt dann halt nur
            '[object Object]'
            raus. die wenigsten überlagern die Methode der Object-Klasse mit einer eigenen toString() Methode

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            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

            724

            Online

            32.6k

            Benutzer

            82.2k

            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