Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Fehler beim Starten eines Java Scripts Hilfe.

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Fehler beim Starten eines Java Scripts Hilfe.

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

      Hi Kollegen.

      Ich habe ein Script für ein Gaszähler an meine Bedürfnisse angepasst und gerade eben unter Scripte gestartet.

      Ich bekomme beim Start ein Fehler. Mein JS Adapter hat die neuste Version 3.4.0

      javascript.0	2017-08-17 17:14:38.757	error	at ContextifyScript.Script.runInContext (vm.js:35:29)
      javascript.0	2017-08-17 17:14:38.757	error	at script.js.common.Gaszaehler_auslesen:2:36
      javascript.0	2017-08-17 17:14:38.756	error	TypeError: Cannot read property 'parseString' of undefined
      javascript.0	2017-08-17 17:14:38.756	error	^
      javascript.0	2017-08-17 17:14:38.755	error	var parseString = require('xml2js').parseString;
      javascript.0	2017-08-17 17:14:38.755	error	script.js.common.Gaszaehler_auslesen: script.js.common.Gaszaehler_auslesen:2
      javascript.0	2017-08-17 17:14:38.736	error	at ContextifyScript.Script.runInContext (vm.js:35:29)
      javascript.0	2017-08-17 17:14:38.736	error	at script.js.common.Gaszaehler_auslesen:2:19
      javascript.0	2017-08-17 17:14:38.735	error	script.js.common.Gaszaehler_auslesen: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js'
      javascript.0	2017-08-17 17:14:38.440	info	Start javascript script.js.common.Gaszaehler_auslesen
      javascript.0	2017-08-17 17:14:38.402	info	Stop script script.js.common.Gaszaehler_auslesen
      javascript.0	2017-08-17 17:14:01.296	error	at ContextifyScript.Script.runInContext (vm.js:35:29)
      javascript.0	2017-08-17 17:14:01.295	error	at script.js.common.Gaszaehler_auslesen:2:36
      javascript.0	2017-08-17 17:14:01.295	error	TypeError: Cannot read property 'parseString' of undefined
      javascript.0	2017-08-17 17:14:01.294	error	^
      javascript.0	2017-08-17 17:14:01.294	error	var parseString = require('xml2js').parseString;
      javascript.0	2017-08-17 17:14:01.293	error	script.js.common.Gaszaehler_auslesen: script.js.common.Gaszaehler_auslesen:2
      javascript.0	2017-08-17 17:14:01.268	error	at ContextifyScript.Script.runInContext (vm.js:35:29)
      javascript.0	2017-08-17 17:14:01.267	error	at script.js.common.Gaszaehler_auslesen:2:19
      javascript.0	2017-08-17 17:14:01.257	error	script.js.common.Gaszaehler_auslesen: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js'
      javascript.0	2017-08-17 17:14:00.696	info	Start javascript script.js.common.Gaszaehler_auslesen
      

      Dieses Script macht Probleme:

      var request = require('request');
      var parseString = require('xml2js').parseString;
      
      var url="http://192.168.1.105"; // hier die Adresse der Webseite eintragen
      
      var GaszaehlerId = "Gaszaehler.Wert"; // Der Wert steht in "javascript.0."
      
      function processData(body){
         parseString(body, function (err, result) {
            // log(JSON.stringify(result.MyHome.ESP8266_GasMeter[0].data[4].$.value));
            if (!err)
                setState(GaszaehlerId,result.MyHome.ESP8266_GasMeter[0].data[4].$.value);
         });   
      }
      
      createState(GaszaehlerId,
                0, 
                false,
                {
                  type:"number",
                  unit:"m³"
                });
      
      schedule ("* * * * *", function(){ // alle 3 Minuten aufrufen
          request({  
              uri: url,
              method: "GET",
              timeout: 10000,
              followRedirect: true,
              maxRedirects: 10
          }, function(error, response, body) {
              if (!error) {
                  if (response.statusCode == 200) {
                      processData(body);    
                  }
              } else log("Fehler: "+error);
          });    
      })
      

      Kann jemand Helfen?

      1 Reply Last reply Reply Quote 0
      • K
        knopers1 last edited by

        Hat sich erledigt. Hier ist eine Lösung zu finden!

        http://forum.iobroker.net/viewtopic.php?t=7556

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        816
        Online

        31.7k
        Users

        79.8k
        Topics

        1.3m
        Posts

        1
        2
        882
        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