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. Script geht zeitweise auf Pause

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    524

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Script geht zeitweise auf Pause

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
32 Beiträge 7 Kommentatoren 1.6k Aufrufe 5 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.
  • NegaleinN Negalein

    @AlCalzone

    gestern ist das Script wieder in Pause gegangen.
    Diesmal mit einem anderen Fehler (filter is not a function).
    Das ganze ist von 03:26 bis 06:54 (hab nicht alles angehänt, da immer die gleiche Meldung) aufgetreten.

    Kann man das irgendwie beheben? Oder liegt es an der zu parsenden Seite?

    Falls es nicht zu beheben/umgehen ist, gibt es eine Möglichkeit ein Script zu überwachen, damit ich zumindest eine Benachrichtigung auf Telegram/Alexa bekomme?

    Danke dir

    2020-01-22 03:26:02.812  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
    2020-01-22 03:26:02.814  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
    2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
    2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
    2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
    2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
    2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
    2020-01-22 03:26:02.815  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
    2020-01-22 03:26:02.815  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
    2020-01-22 03:26:02.815  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
    2020-01-22 03:26:52.805  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
    2020-01-22 03:26:52.806  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
    2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
    2020-01-22 03:27:02.804  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
    2020-01-22 03:27:02.805  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
    2020-01-22 03:27:02.805  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
    2020-01-22 03:27:02.805  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
    2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
    2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
    2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
    2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
    2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
    2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
    2020-01-22 03:27:32.803  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
    2020-01-22 03:27:32.804  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
    2020-01-22 03:27:32.805  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
    2020-01-22 03:27:32.805  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
    2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
    2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
    2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
    2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
    2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
    2020-01-22 03:27:32.809  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
    

    T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von ticaki
    #19

    @Negalein

    if (!isScriptActive("Test")) {
        runScript("Test");
    // oder sende msg.
    }
    

    Hoffe das hilft.

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    NegaleinN 1 Antwort Letzte Antwort
    0
    • T ticaki

      @Negalein

      if (!isScriptActive("Test")) {
          runScript("Test");
      // oder sende msg.
      }
      

      Hoffe das hilft.

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von
      #20

      @ticaki sagte in Script geht zeitweise auf Pause:

      Hoffe das hilft.

      Danke

      Das wird als eigenes Script angelegt?

      ° Node.js Update ---> iob nodejs-update
      ° Fixer ---> iob fix

      T 1 Antwort Letzte Antwort
      0
      • NegaleinN Negalein

        @ticaki sagte in Script geht zeitweise auf Pause:

        Hoffe das hilft.

        Danke

        Das wird als eigenes Script angelegt?

        T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von ticaki
        #21

        @Negalein

        Ja. Weiß nur nicht wie das Trennzeichen für Unterordner aussieht. :)

        EDIT: must du alle x Zeiteinheiten per Cron ausführen lassen.

        var gasStation = JSON.parse(obj.state.val); 
        if (gasStation.length === 0) return;
        gasStation = gasStation.filter(g => g.prices.length > 0);
        

        sieht das in deinem Script so aus?

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        NegaleinN 1 Antwort Letzte Antwort
        0
        • T ticaki

          @Negalein

          Ja. Weiß nur nicht wie das Trennzeichen für Unterordner aussieht. :)

          EDIT: must du alle x Zeiteinheiten per Cron ausführen lassen.

          var gasStation = JSON.parse(obj.state.val); 
          if (gasStation.length === 0) return;
          gasStation = gasStation.filter(g => g.prices.length > 0);
          

          sieht das in deinem Script so aus?

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von
          #22

          @ticaki sagte in Script geht zeitweise auf Pause:

          sieht das in deinem Script so aus?

          So schaut das Script aus

          //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
          //  "Spritpreise_AT v.0.5"                                                                                                              //
          //  e-control Spritpreise                                                                                                               //    
          //  ursprüngl. Script von steinejo_io vom                                                                                               //
          //                                                                                                                                      //
          //  Zwingend erforderlich sind der Parser Adapter und die URL aus der API. Links und Hilfe zum Erstellemn findet ihr im Folgenden Lnk:  //
          //  https://forum.iobroker.net/topic/20314/skripten-des-e-control-spritpreisrechners                                                    //
          //  Das manuelle Anlegen von Daenpunkten ist nicht mehr notwendig. erledigt das Script beim ersten Aufruf.                              //
          //  Auf das "E" Zeichen habe ich verzichtet, da es in VIS genz einfach an der jeweils gewünschten Stelle produzierbar ist.              //
          //                                                                                                                                      //
          //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
           
          on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
          {
          log("Start Spritvergleich");
           
              var gasStation = JSON.parse(obj.state.val);
              gasStation = gasStation.filter(g => g.prices.length > 0);
              if (gasStation.length === 0) return;
              //Aral=1, eni=2, Shell=3, OMV=4, avanti=5, bp=6, JET=7, Turmöl=8, Lagerhaus=9, AVIA=10, A1=11, Diskont=12, IQ=13
              var arrMarke = ['Aral', 'eni', 'Shell', 'OMV', 'avanti', 'BP', 'JET', 'Turmöl', 'Lagerhaus', 'AVIA', 'A1', 'Diskont', 'DISKONT', 'IQ', 'SB-Tankstelle', 'bp', 'Land', 'Bp'];
          	var i = 0;
              for (var i = 1; i <= 5; i++) {
                  // console.log(i);
                  // console.log("javascript.0.Sprit_AT.name_"+i);
                  createState("javascript.0.Sprit_AT.Treffer_"+i+".Name_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                  createState("javascript.0.Sprit_AT.Treffer_"+i+".Preis_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                  createState("javascript.0.Sprit_AT.Treffer_"+i+".PreisP_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
          		createState("javascript.0.Sprit_AT.Treffer_"+i+".Strasse_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                  createState("javascript.0.Sprit_AT.Treffer_"+i+".PLZ_Ort_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                  createState("javascript.0.Sprit_AT.Treffer_"+i+".Logo_"+i, {type: "number", name: "Logo "+i, read: true, write: true});
          		createState("javascript.0.Sprit_AT.Treffer_"+i+".Latitude_"+i, {type: "number", name: "Latitude "+i, read: true, write: true});
          		createState("javascript.0.Sprit_AT.Treffer_"+i+".Longitude_"+i, {type: "number", name: "Longitude "+i, read: true, write: true});
          		createState("javascript.0.Sprit_AT.Treffer_"+i+".offen_"+i, {type: "boolean", name: "offen "+i, read: true, write: true});
          	}
          	
           
              var index = 0;
              //for (index = 0; index < gasStation.length; ++index) {
              for (index = 0; index <= 4; ++index) {
          	if (gasStation[index].prices.length < 1) continue;
          	var arrname = gasStation[index].name.split(' ');
          		if (arrname.length > 0) {
          				var markenname = arrname[0];
          			}
          			else
          			{
          				var markenname = gasStation[index].name;
          			}
          		var station = gasStation[index].name;
              setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Name_"+(index+1), gasStation[index].name);
              setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Preis_"+(index+1), (gasStation[index].prices[0].amount).toString().replace(".",","));
              setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".PreisP_"+(index+1), (gasStation[index].prices[0].amount).toString().replace(".","."));
          	setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Strasse_"+(index+1), (gasStation[index].location.address));
              setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".PLZ_Ort_"+(index+1), (gasStation[index].location.postalCode) + " " + (gasStation[index].location.city));
              setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Latitude_"+(index+1), (gasStation[index].location.latitude));
          	setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Longitude_"+(index+1), (gasStation[index].location.longitude));
          	setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".offen_"+(index+1), (gasStation[index].open));
          	
          	//Aral=1, eni=2, Shell=3, OMV=4, avanti=5, bp=6, JET=7, Turmöl=8, Lagerhaus=9, AVIA=10, A1=11, Diskont=12, IQ=13
          	
          	var markennameklein=markenname.toLowerCase();
          	var x= 0;
          	for (x=0; x < arrMarke.length; x++) {
          		var arrMklein=arrMarke[x].toLowerCase();
          		//console.log("x=" + x + "/ Markennameklein =" + markennameklein + "/ Array =" + arrMklein);
          		if (arrMklein == markennameklein) {
          			setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Logo_"+(index+1), (x+1));
          		}
          	}
          	
          	}
           
          log("Ende Spritvergleich");
          });
          

          must du alle x Zeiteinheiten per Cron ausführen lassen.

          Das wird vom Parser geregelt. Der fragt die Adresse alle 10 Sek. ab und das Script reagiert darauf.

          ° Node.js Update ---> iob nodejs-update
          ° Fixer ---> iob fix

          T 1 Antwort Letzte Antwort
          0
          • NegaleinN Negalein

            @ticaki sagte in Script geht zeitweise auf Pause:

            sieht das in deinem Script so aus?

            So schaut das Script aus

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //  "Spritpreise_AT v.0.5"                                                                                                              //
            //  e-control Spritpreise                                                                                                               //    
            //  ursprüngl. Script von steinejo_io vom                                                                                               //
            //                                                                                                                                      //
            //  Zwingend erforderlich sind der Parser Adapter und die URL aus der API. Links und Hilfe zum Erstellemn findet ihr im Folgenden Lnk:  //
            //  https://forum.iobroker.net/topic/20314/skripten-des-e-control-spritpreisrechners                                                    //
            //  Das manuelle Anlegen von Daenpunkten ist nicht mehr notwendig. erledigt das Script beim ersten Aufruf.                              //
            //  Auf das "E" Zeichen habe ich verzichtet, da es in VIS genz einfach an der jeweils gewünschten Stelle produzierbar ist.              //
            //                                                                                                                                      //
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
             
            on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
            {
            log("Start Spritvergleich");
             
                var gasStation = JSON.parse(obj.state.val);
                gasStation = gasStation.filter(g => g.prices.length > 0);
                if (gasStation.length === 0) return;
                //Aral=1, eni=2, Shell=3, OMV=4, avanti=5, bp=6, JET=7, Turmöl=8, Lagerhaus=9, AVIA=10, A1=11, Diskont=12, IQ=13
                var arrMarke = ['Aral', 'eni', 'Shell', 'OMV', 'avanti', 'BP', 'JET', 'Turmöl', 'Lagerhaus', 'AVIA', 'A1', 'Diskont', 'DISKONT', 'IQ', 'SB-Tankstelle', 'bp', 'Land', 'Bp'];
            	var i = 0;
                for (var i = 1; i <= 5; i++) {
                    // console.log(i);
                    // console.log("javascript.0.Sprit_AT.name_"+i);
                    createState("javascript.0.Sprit_AT.Treffer_"+i+".Name_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                    createState("javascript.0.Sprit_AT.Treffer_"+i+".Preis_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                    createState("javascript.0.Sprit_AT.Treffer_"+i+".PreisP_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
            		createState("javascript.0.Sprit_AT.Treffer_"+i+".Strasse_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                    createState("javascript.0.Sprit_AT.Treffer_"+i+".PLZ_Ort_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                    createState("javascript.0.Sprit_AT.Treffer_"+i+".Logo_"+i, {type: "number", name: "Logo "+i, read: true, write: true});
            		createState("javascript.0.Sprit_AT.Treffer_"+i+".Latitude_"+i, {type: "number", name: "Latitude "+i, read: true, write: true});
            		createState("javascript.0.Sprit_AT.Treffer_"+i+".Longitude_"+i, {type: "number", name: "Longitude "+i, read: true, write: true});
            		createState("javascript.0.Sprit_AT.Treffer_"+i+".offen_"+i, {type: "boolean", name: "offen "+i, read: true, write: true});
            	}
            	
             
                var index = 0;
                //for (index = 0; index < gasStation.length; ++index) {
                for (index = 0; index <= 4; ++index) {
            	if (gasStation[index].prices.length < 1) continue;
            	var arrname = gasStation[index].name.split(' ');
            		if (arrname.length > 0) {
            				var markenname = arrname[0];
            			}
            			else
            			{
            				var markenname = gasStation[index].name;
            			}
            		var station = gasStation[index].name;
                setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Name_"+(index+1), gasStation[index].name);
                setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Preis_"+(index+1), (gasStation[index].prices[0].amount).toString().replace(".",","));
                setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".PreisP_"+(index+1), (gasStation[index].prices[0].amount).toString().replace(".","."));
            	setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Strasse_"+(index+1), (gasStation[index].location.address));
                setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".PLZ_Ort_"+(index+1), (gasStation[index].location.postalCode) + " " + (gasStation[index].location.city));
                setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Latitude_"+(index+1), (gasStation[index].location.latitude));
            	setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Longitude_"+(index+1), (gasStation[index].location.longitude));
            	setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".offen_"+(index+1), (gasStation[index].open));
            	
            	//Aral=1, eni=2, Shell=3, OMV=4, avanti=5, bp=6, JET=7, Turmöl=8, Lagerhaus=9, AVIA=10, A1=11, Diskont=12, IQ=13
            	
            	var markennameklein=markenname.toLowerCase();
            	var x= 0;
            	for (x=0; x < arrMarke.length; x++) {
            		var arrMklein=arrMarke[x].toLowerCase();
            		//console.log("x=" + x + "/ Markennameklein =" + markennameklein + "/ Array =" + arrMklein);
            		if (arrMklein == markennameklein) {
            			setState("javascript.0.Sprit_AT.Treffer_"+(index+1)+".Logo_"+(index+1), (x+1));
            		}
            	}
            	
            	}
             
            log("Ende Spritvergleich");
            });
            

            must du alle x Zeiteinheiten per Cron ausführen lassen.

            Das wird vom Parser geregelt. Der fragt die Adresse alle 10 Sek. ab und das Script reagiert darauf.

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von ticaki
            #23

            @Negalein
            Dein letzter Fehler sieht so aus als wenn der Parser keine Daten geliefert hat und deshalb Zeile 18 gescheitert ist

            Versuche bitte mal folgendes: 2 Zeilen vertauschen und gasStation auf array/object prüfen.

            var gasStation = JSON.parse(obj.state.val);
            if (typeof gasStation != 'object' || gasStation.length === 0) return;
            gasStation = gasStation.filter(g => g.prices.length > 0);
            if (gasStation.length === 0) return;
            

            EDIT: ups

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            NegaleinN 1 Antwort Letzte Antwort
            0
            • T ticaki

              @Negalein
              Dein letzter Fehler sieht so aus als wenn der Parser keine Daten geliefert hat und deshalb Zeile 18 gescheitert ist

              Versuche bitte mal folgendes: 2 Zeilen vertauschen und gasStation auf array/object prüfen.

              var gasStation = JSON.parse(obj.state.val);
              if (typeof gasStation != 'object' || gasStation.length === 0) return;
              gasStation = gasStation.filter(g => g.prices.length > 0);
              if (gasStation.length === 0) return;
              

              EDIT: ups

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              schrieb am zuletzt editiert von
              #24

              @ticaki sagte in Script geht zeitweise auf Pause:

              Versuche bitte mal folgendes: 2 Zeilen vertauschen und gasStation auf array/object prüfen.

              Danke
              Habs eingefügt/vertauscht und werde es die nächsten Tage beobachten.

              ° Node.js Update ---> iob nodejs-update
              ° Fixer ---> iob fix

              T 1 Antwort Letzte Antwort
              0
              • NegaleinN Negalein

                @ticaki sagte in Script geht zeitweise auf Pause:

                Versuche bitte mal folgendes: 2 Zeilen vertauschen und gasStation auf array/object prüfen.

                Danke
                Habs eingefügt/vertauscht und werde es die nächsten Tage beobachten.

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von
                #25

                @Negalein
                hab editiert bitte beachten

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                NegaleinN 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @Negalein
                  hab editiert bitte beachten

                  NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #26

                  @ticaki sagte in Script geht zeitweise auf Pause:

                  hab editiert bitte beachten

                  Also

                      var gasStation = JSON.parse(obj.state.val);
                      gasStation = gasStation.filter(g => g.prices.length > 0);
                      if (gasStation.length === 0) return;
                  

                  gegen

                  var gasStation = JSON.parse(obj.state.val);
                  if (typeof gasStation != 'object' || gasStation.length === 0) return;
                  gasStation = gasStation.filter(g => g.prices.length > 0);
                  if (gasStation.length === 0) return;
                  

                  tauschen

                  ° Node.js Update ---> iob nodejs-update
                  ° Fixer ---> iob fix

                  T 1 Antwort Letzte Antwort
                  0
                  • NegaleinN Negalein

                    @ticaki sagte in Script geht zeitweise auf Pause:

                    hab editiert bitte beachten

                    Also

                        var gasStation = JSON.parse(obj.state.val);
                        gasStation = gasStation.filter(g => g.prices.length > 0);
                        if (gasStation.length === 0) return;
                    

                    gegen

                    var gasStation = JSON.parse(obj.state.val);
                    if (typeof gasStation != 'object' || gasStation.length === 0) return;
                    gasStation = gasStation.filter(g => g.prices.length > 0);
                    if (gasStation.length === 0) return;
                    

                    tauschen

                    T Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #27

                    @Negalein
                    Jup, habs nochmal verbessert. Mache zwar viel mit Arrays, mußte aber bis dato noch nicht prüfen, ob es auch eines ist :)

                    var gasStation = JSON.parse(obj.state.val);
                    if (!Array.isArray(gasStation) || gasStation.length === 0) return;
                    gasStation = gasStation.filter(g => g.prices.length > 0);
                    if (gasStation.length === 0) return;
                    

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    NegaleinN 1 Antwort Letzte Antwort
                    0
                    • T ticaki

                      @Negalein
                      Jup, habs nochmal verbessert. Mache zwar viel mit Arrays, mußte aber bis dato noch nicht prüfen, ob es auch eines ist :)

                      var gasStation = JSON.parse(obj.state.val);
                      if (!Array.isArray(gasStation) || gasStation.length === 0) return;
                      gasStation = gasStation.filter(g => g.prices.length > 0);
                      if (gasStation.length === 0) return;
                      
                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von
                      #28

                      @ticaki sagte in Script geht zeitweise auf Pause:

                      habs nochmal verbessert

                      Thx

                      ° Node.js Update ---> iob nodejs-update
                      ° Fixer ---> iob fix

                      sigi234S 1 Antwort Letzte Antwort
                      0
                      • NegaleinN Negalein

                        @ticaki sagte in Script geht zeitweise auf Pause:

                        habs nochmal verbessert

                        Thx

                        sigi234S Online
                        sigi234S Online
                        sigi234
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von sigi234
                        #29

                        @Negalein sagte in Script geht zeitweise auf Pause:

                        @ticaki sagte in Script geht zeitweise auf Pause:

                        habs nochmal verbessert

                        Thx

                        Kann man das Skript jetzt oben benutzen? Ist das das aktuelle.

                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Immer Daten sichern!

                        NegaleinN 1 Antwort Letzte Antwort
                        0
                        • sigi234S sigi234

                          @Negalein sagte in Script geht zeitweise auf Pause:

                          @ticaki sagte in Script geht zeitweise auf Pause:

                          habs nochmal verbessert

                          Thx

                          Kann man das Skript jetzt oben benutzen? Ist das das aktuelle.

                          NegaleinN Offline
                          NegaleinN Offline
                          Negalein
                          Global Moderator
                          schrieb am zuletzt editiert von
                          #30

                          @sigi234 sagte in Script geht zeitweise auf Pause:

                          Kann man das Skript jetzt oben benutzen? Ist das das aktuelle.

                          Ja, diese 4 Zeilen

                          var gasStation = JSON.parse(obj.state.val);
                          if (!Array.isArray(gasStation) || gasStation.length === 0) return;
                          gasStation = gasStation.filter(g => g.prices.length > 0);
                          if (gasStation.length === 0) return;
                          

                          statt diesen nehmen

                          var gasStation = JSON.parse(obj.state.val);
                          gasStation = gasStation.filter(g => g.prices.length > 0);
                          if (gasStation.length === 0) return;
                          

                          ° Node.js Update ---> iob nodejs-update
                          ° Fixer ---> iob fix

                          1 Antwort Letzte Antwort
                          0
                          • NegaleinN Negalein

                            @AlCalzone

                            gestern ist das Script wieder in Pause gegangen.
                            Diesmal mit einem anderen Fehler (filter is not a function).
                            Das ganze ist von 03:26 bis 06:54 (hab nicht alles angehänt, da immer die gleiche Meldung) aufgetreten.

                            Kann man das irgendwie beheben? Oder liegt es an der zu parsenden Seite?

                            Falls es nicht zu beheben/umgehen ist, gibt es eine Möglichkeit ein Script zu überwachen, damit ich zumindest eine Benachrichtigung auf Telegram/Alexa bekomme?

                            Danke dir

                            2020-01-22 03:26:02.812  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
                            2020-01-22 03:26:02.814  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
                            2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
                            2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
                            2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
                            2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
                            2020-01-22 03:26:02.814  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
                            2020-01-22 03:26:02.815  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
                            2020-01-22 03:26:02.815  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
                            2020-01-22 03:26:02.815  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
                            2020-01-22 03:26:52.805  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
                            2020-01-22 03:26:52.806  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
                            2020-01-22 03:26:52.807  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
                            2020-01-22 03:27:02.804  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
                            2020-01-22 03:27:02.805  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
                            2020-01-22 03:27:02.805  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
                            2020-01-22 03:27:02.805  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
                            2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
                            2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
                            2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
                            2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
                            2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
                            2020-01-22 03:27:02.806  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
                            2020-01-22 03:27:32.803  - info: javascript.0 (22538) script.js.common.Spritpreisrechner: Start Spritvergleich
                            2020-01-22 03:27:32.804  - error: javascript.0 (22538) Error in callback: TypeError: gasStation.filter is not a function
                            2020-01-22 03:27:32.805  - error: javascript.0 (22538)     at Object.<anonymous> (script.js.common.Spritpreisrechner:19:29)
                            2020-01-22 03:27:32.805  - error: javascript.0 (22538)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
                            2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
                            2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
                            2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
                            2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at runCallback (timers.js:705:18)
                            2020-01-22 03:27:32.808  - error: javascript.0 (22538)     at tryOnImmediate (timers.js:676:5)
                            2020-01-22 03:27:32.809  - error: javascript.0 (22538)     at processImmediate (timers.js:658:5)
                            

                            AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von
                            #31

                            @Negalein Du hast zwar inzwischen die Lösung, aber generell sollte man lieber Fehler abfangen, als Skripte mit Fehlern einfach neu zu starten ;)

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            Z 1 Antwort Letzte Antwort
                            1
                            • AlCalzoneA AlCalzone

                              @Negalein Du hast zwar inzwischen die Lösung, aber generell sollte man lieber Fehler abfangen, als Skripte mit Fehlern einfach neu zu starten ;)

                              Z Offline
                              Z Offline
                              zanabria
                              schrieb am zuletzt editiert von
                              #32

                              @AlCalzone
                              hallo habe aktuell auch das Problem, dass viele Scripte auf Pause gehen. Woran kann das liegen? Habe alles gecheckt und keinen Fehler gefunden. Das Run Sript wurde kopiert aus dem Pause Script und nur angepasst. Es scheint das Bessere zu sein, siehe Bild.
                              543a46d4-1b5a-40ec-ad68-dc3d81648b81-grafik.png

                              Ich habe mal die beiden Scripte angehängt.
                              Pause-Script.txt
                              Run-Script.txt.
                              Kann man mir hier weiterhelfen.
                              LG Zanabria

                              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

                              897

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              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