Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script geht zeitweise auf Pause

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script geht zeitweise auf Pause

    This topic has been deleted. Only users with topic management privileges can see it.
    • Negalein
      Negalein Global Moderator @htrecksler last edited by

      @htrecksler sagte in Script geht zeitweise auf Pause:

      Ich vermute, Du möchtest erreichen, das das Script selber gestartet wird weil es auf Pause steht

      Genau

      Aber das das Script ja auf "Pause" steht nützt dir der "cron-Job" oder "Schedule" nichts. Das Script steht ja auf Pause, da wird nichts ausgeführt.

      Ok, ist dann natürlich doof

      Du brauchst also ein Ereignis/Script von außerhalb was wiederum dieses Script neu Startet.

      wie könnte das aussehen? Bin ein JS-DAU

      Viel interessanter wäre aber warum das Script pausiert. Ich habe das Script nur überflogen, aber irgendetwas wird da nicht so ganz richtig sein.

      Ich kann dazu leider nichts sagen. Hab es nur kopiert.

      1 Reply Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator last edited by Negalein

        gerade diesen Error im Log gefunden.
        Ist eventuell hilfreich.

        2020-01-07 12:00:09.310  - info: javascript.0 (593) script.js.common.Spritpreisrechner: Start Spritvergleich
        2020-01-07 12:00:09.317  - error: javascript.0 (593) Error in callback: TypeError: Cannot read property 'amount' of undefined
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at Object.<anonymous> (script.js.common.Spritpreisrechner:52:107)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at runCallback (timers.js:705:18)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at tryOnImmediate (timers.js:676:5)
        2020-01-07 12:00:09.318  - error: javascript.0 (593)     at processImmediate (timers.js:658:5)
        
        2020-01-06 12:00:07.441  - info: javascript.0 (593) script.js.common.Spritpreisrechner: Start Spritvergleich
        2020-01-06 12:00:07.456  - error: javascript.0 (593) Error in callback: TypeError: Cannot read property 'amount' of undefined
        2020-01-06 12:00:07.457  - error: javascript.0 (593)     at Object.<anonymous> (script.js.common.Spritpreisrechner:52:107)
        2020-01-06 12:00:07.458  - error: javascript.0 (593)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
        2020-01-06 12:00:07.459  - error: javascript.0 (593)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
        2020-01-06 12:00:07.459  - error: javascript.0 (593)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
        2020-01-06 12:00:07.459  - error: javascript.0 (593)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
        2020-01-06 12:00:07.460  - error: javascript.0 (593)     at runCallback (timers.js:705:18)
        2020-01-06 12:00:07.460  - error: javascript.0 (593)     at tryOnImmediate (timers.js:676:5)
        2020-01-06 12:00:07.460  - error: javascript.0 (593)     at processImmediate (timers.js:658:5)
        
        2020-01-05 12:00:08.658  - info: javascript.0 (7579) script.js.common.Spritpreisrechner: Start Spritvergleich
        2020-01-05 12:00:08.669  - error: javascript.0 (7579) Error in callback: TypeError: Cannot read property 'amount' of undefined
        2020-01-05 12:00:08.669  - error: javascript.0 (7579)     at Object.<anonymous> (script.js.common.Spritpreisrechner:52:107)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at runCallback (timers.js:705:18)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at tryOnImmediate (timers.js:676:5)
        2020-01-05 12:00:08.670  - error: javascript.0 (7579)     at processImmediate (timers.js:658:5)
        

        Dieser Fehler tritt täglich zur Mittagszeit auf.

        AlCalzone 1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer @Negalein last edited by AlCalzone

          @Negalein Dann hat eine der Stationen gerade keine Preisinformation (Zeile 52/53). Die sollte das Skript dann bestenfalls ignorieren.
          Dazu nach Zeile 18 folgendes einfügen:

          gasStation = gasStation.filter(g => g.prices.length > 0);
          
          Negalein 1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @AlCalzone last edited by

            @AlCalzone sagte in Script geht zeitweise auf Pause:

            Dann hat eine der Stationen gerade keine Preisinformation (Zeile 52/53)
            Füge in Zeile 41 folgendes ein:

            Danke

            Werde es beobachten.

            AlCalzone 1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer @Negalein last edited by

              @Negalein Hab nochmal bearbeitet, bitte beachten

              Negalein 1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @AlCalzone last edited by Negalein

                @AlCalzone sagte in Script geht zeitweise auf Pause:

                Hab nochmal bearbeitet, bitte beachten

                Danke

                Also

                	if (gasStation[index].prices.length < 1) continue;
                

                wieder raus
                und nach Zeile 18

                 gasStation = gasStation.filter(g => g.prices.length > 0);
                

                rein.

                Sieht dann so aus?

                 var gasStation = JSON.parse(obj.state.val);
                    gasStation = gasStation.filter(g => g.prices.length > 0);
                    if (gasStation.length === 0) return;
                
                AlCalzone 1 Reply Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer @Negalein last edited by

                  @Negalein Jup! Allerdings bitte selbst testen, hab ich von unterwegs getippselt.

                  Negalein 2 Replies Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @AlCalzone last edited by

                    @AlCalzone sagte in Script geht zeitweise auf Pause:

                    Allerdings bitte selbst testen, hab ich von unterwegs getippselt.

                    werd es mal ein paar Tage beobachten und mich wieder melden.

                    Danke erstmal!

                    1 Reply Last reply Reply Quote 0
                    • Negalein
                      Negalein Global Moderator @AlCalzone last edited by

                      @AlCalzone sagte in Script geht zeitweise auf Pause:

                      Allerdings bitte selbst testen, hab ich von unterwegs getippselt.

                      kurze Rückmeldung!

                      Bis jetzt ist das Script einwandfrei durchgelaufen!

                      Danke nochmals

                      1 Reply Last reply Reply Quote 0
                      • Negalein
                        Negalein Global Moderator last edited by

                        @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)
                        

                        sigi234 T AlCalzone 3 Replies Last reply Reply Quote 0
                        • sigi234
                          sigi234 Forum Testing Most Active @Negalein last edited by

                          @Negalein sagte in Script geht zeitweise auf Pause:

                          gestern ist das Script wieder in Pause gegangen.

                          Jupp, hatte ich Heute auch.

                          1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @Negalein last edited by ticaki

                            @Negalein

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

                            Hoffe das hilft.

                            Negalein 1 Reply Last reply Reply Quote 0
                            • Negalein
                              Negalein Global Moderator @ticaki last edited by

                              @ticaki sagte in Script geht zeitweise auf Pause:

                              Hoffe das hilft.

                              Danke

                              Das wird als eigenes Script angelegt?

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @Negalein last edited by 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?

                                Negalein 1 Reply Last reply Reply Quote 0
                                • Negalein
                                  Negalein Global Moderator @ticaki last edited by

                                  @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 1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer @Negalein last edited by 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

                                    Negalein 1 Reply Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator @ticaki last edited by

                                      @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 1 Reply Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @Negalein last edited by

                                        @Negalein
                                        hab editiert bitte beachten

                                        Negalein 1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @ticaki last edited by

                                          @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 1 Reply Last reply Reply Quote 0
                                          • T
                                            ticaki Developer @Negalein last edited by 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;
                                            
                                            Negalein 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            831
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            7
                                            32
                                            1316
                                            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