Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Bei HTTP request "exception: Parse Error"

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Bei HTTP request "exception: Parse Error"

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      frost last edited by

      Ich habe mir auf Arduino Basis eine Rollladensteuerung gebaut. Diese wird via TCP gesteuert. Um den Status abzufragen kann ich einen HTTP-Request absetzen mit folgendem einfachen Skript:

      var request = require('request');
      request('http://10.0.0.5/?blind_status!2');
      

      Problem dabei ist, dass ich eine "Parse error"-Exception bekomme.

      ! ````
      host-YAHM-CCU2 2016-07-02 08:07:58.995 error instance system.adapter.javascript.0 terminated with code 0 (OK)
      Error: 2016-07-02 08:07:58.950 error at TCP._onclose (net.js:477:12)
      Error: 2016-07-02 08:07:58.950 error at Socket.emit (events.js:169:7)
      Error: 2016-07-02 08:07:58.950 error at emitOne (events.js:82:20)
      Error: 2016-07-02 08:07:58.950 error at Socket.socketCloseListener (_http_client.js:243:23)
      Error: 2016-07-02 08:07:58.950 error at createHangUpError (_http_client.js:211:15)
      Error: 2016-07-02 08:07:58.950 error socket hang up
      uncaught 2016-07-02 08:07:58.948 error exception: socket hang up
      Error: 2016-07-02 08:07:58.944 error at TCP.onread (net.js:531:20)
      Error: 2016-07-02 08:07:58.944 error at Socket.Readable.push (_stream_readable.js:111:10)
      Error: 2016-07-02 08:07:58.944 error at readableAddChunk (_stream_readable.js:153:18)
      Error: 2016-07-02 08:07:58.944 error at Socket.emit (events.js:169:7)
      Error: 2016-07-02 08:07:58.944 error at emitOne (events.js:77:13)
      Error: 2016-07-02 08:07:58.944 error at Socket.socketOnData (_http_client.js:320:20)
      Error: 2016-07-02 08:07:58.944 error at Error (native)
      Error: 2016-07-02 08:07:58.944 error Parse Error
      uncaught 2016-07-02 08:07:58.934 error exception: Parse Error

      
      Hat jemand eine Idee woran es liegen kann? Eventuell an der URL, weil quasi nach dem Slash gleich ein Fragezeichen kommt?
      
      Nachtrag: Die zurückgelieferten Daten sehen so aus:
      
      >! ````
      <title>Arduino blind control</title>
      >! > ```
      > ArduinoBlind status Nr. 2
      > Current level: 50.00
      > Target level: 50.00
      > Direction: Stopped
      > Switch time: 0.50
      > Drive time: 35.00
      > Status delay: 4.00 / 3.00
      > 
      > ```
      >! ````
      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hier ist ja ein Skript verlinkt, das einen Fehler bringt:

        http://forum.iobroker.net/viewtopic.php … 293#p10611

        var Url = "";
        //createState ("Regenwasser.Gartenpumpe", true);
        request = require('request');
        on("javascript.0.Regenwasser.Gartenpumpe"/*Regenwasser.Gartenpumpe*/, function(obj) {
            log("Test");
            if (obj.State === true) {
                log('Gartenpumpe einschalten ausgelöst');
                Url = "http://192.168.137.20/?setpin:3:";
                request(Url);
                }
                else{
                log('Gartenpumpe ausschalten ausgelöst');
                Url = "http://192.168.137.20/?resetpin:3:";
                request(Url);
            }
        });
        

        Die if-Abfrage ist nicht ganz sauber: statt

        if (obj.State === true) {
        ````lieber````
        if (obj.state.val === true) {
        ````oder kurz````
        if (obj.state.val) {
        

        Dann würde ich den Inhalt der Variable Url vielleicht http://meyerweb.com/eric/tools/dencoder/ übergeben.

        Gruß

        Pix

        1 Reply Last reply Reply Quote 0
        • F
          frost last edited by

          Danke für deine Tipps, werde ich heute Abend ausprobieren.

          Lösung: Es lag nicht am Skript oder an der URL-Codierung, sondern ich hatte bei meinem Rollladenaktor keine HTTP-Standard Response geschickt.

          curl, wget & co sind da offenbar etwas toleranter als das request Modul von npm. Also hatte ich einfach in der Antwort folgendes vorne eingefügt:

          "HTTP/1.1 200 OK"
          "Content-Type: text/html"
          "Connection: close"
          ""
          
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          1.2k
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          2
          3
          1188
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo