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
    326

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

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.
  • htreckslerH Offline
    htreckslerH Offline
    htrecksler
    Forum Testing
    schrieb am zuletzt editiert von
    #5

    Was genau soll denn der "cron" am Anfang des Scriptes tun?

    Derzeit ist es bei dem Script so, das der "Hauptcode" immer dann ausgeführt wird wenn sich der Datenpunkt

    parser.0.Spritpreisrechner
    

    ändert.

    Ich vermute, Du möchtest erreichen, das das Script selber gestartet wird weil es auf Pause steht (warum auch immer)
    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.

    Du brauchst also ein Ereignis/Script von außerhalb was wiederum dieses Script neu Startet.
    Viel interessanter wäre aber warum das Script pausiert. Ich habe das Script nur überflogen, aber irgendetwas wird da nicht so ganz richtig sein.
    Zu einen versucht es jedes Mal Datenpunkte anzulegen. Das ist zwar vielleicht nicht direkt schädlich, aber komplett unnötig.
    Zum anderen ist die "Einrückung etwas sehr durcheinander. Damit ist das Script schwer zu lesen und zu analysieren

    Gruss Hermann

    ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

    NegaleinN 1 Antwort Letzte Antwort
    0
    • NegaleinN Negalein

      Hallo

      Ich habe dieses Script in Verwendung und musste feststellen, dass es sich in unregelmäßigen Abständen immer wieder auf Pause stellt.
      Kann mann irgendwie herausfinden, warum dies geschieht, bzw. dieses Script soweit überwachen, dass es sich gleich wieder neu startet?

      '*/5 * * * *'
      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      //  "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);
          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) {
      	
      	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");
      });
      

      javascript - ioBroker (7).png

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

      @Negalein sagte in Script geht zeitweise auf Pause:

      dass es sich in unregelmäßigen Abständen immer wieder auf Pause stellt.

      Entsprechenden Code sehe ich hier nicht. Setzt du ggf. in einem anderen Skript scriptEnabled für dieses Skript? Sollte man übrigens nicht tun.

      @Negalein sagte in Script geht zeitweise auf Pause:

      Diesen Cron '*/5 * * * *' hab ich mit dem Cronbutton hinzugefügt, damit das Script alle 5 Minuten neu startet.

      So geht das nicht. Den String kannst du in einem schedule(...) verwenden, um die dazugehörige Funktion alle 5 Minuten auszuführen. Da du aber per on(...) einen Datenpunkt überwachst, wäre es sowieso unsinnig das Skript ständig neu zu starten.

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

      NegaleinN 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @Negalein sagte in Script geht zeitweise auf Pause:

        dass es sich in unregelmäßigen Abständen immer wieder auf Pause stellt.

        Entsprechenden Code sehe ich hier nicht. Setzt du ggf. in einem anderen Skript scriptEnabled für dieses Skript? Sollte man übrigens nicht tun.

        @Negalein sagte in Script geht zeitweise auf Pause:

        Diesen Cron '*/5 * * * *' hab ich mit dem Cronbutton hinzugefügt, damit das Script alle 5 Minuten neu startet.

        So geht das nicht. Den String kannst du in einem schedule(...) verwenden, um die dazugehörige Funktion alle 5 Minuten auszuführen. Da du aber per on(...) einen Datenpunkt überwachst, wäre es sowieso unsinnig das Skript ständig neu zu starten.

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

        @AlCalzone sagte in Script geht zeitweise auf Pause:

        Setzt du ggf. in einem anderen Skript scriptEnabled für dieses Skript?

        Nein

        Da du aber per on(...) einen Datenpunkt überwachst, wäre es sowieso unsinnig das Skript ständig neu zu starten.

        Ich wollte das machen, da das Script zeitweise auf Pause geht.

        ° Node.js: 20.17.0 NPM: 10.8.2
        ° Proxmox, Ubuntu 22.04.3 LTS
        ° Fixer ---> iob fix

        1 Antwort Letzte Antwort
        0
        • htreckslerH htrecksler

          Was genau soll denn der "cron" am Anfang des Scriptes tun?

          Derzeit ist es bei dem Script so, das der "Hauptcode" immer dann ausgeführt wird wenn sich der Datenpunkt

          parser.0.Spritpreisrechner
          

          ändert.

          Ich vermute, Du möchtest erreichen, das das Script selber gestartet wird weil es auf Pause steht (warum auch immer)
          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.

          Du brauchst also ein Ereignis/Script von außerhalb was wiederum dieses Script neu Startet.
          Viel interessanter wäre aber warum das Script pausiert. Ich habe das Script nur überflogen, aber irgendetwas wird da nicht so ganz richtig sein.
          Zu einen versucht es jedes Mal Datenpunkte anzulegen. Das ist zwar vielleicht nicht direkt schädlich, aber komplett unnötig.
          Zum anderen ist die "Einrückung etwas sehr durcheinander. Damit ist das Script schwer zu lesen und zu analysieren

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

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

          ° Node.js: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

          1 Antwort Letzte Antwort
          0
          • NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            schrieb am zuletzt editiert von Negalein
            #9

            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.

            ° Node.js: 20.17.0 NPM: 10.8.2
            ° Proxmox, Ubuntu 22.04.3 LTS
            ° Fixer ---> iob fix

            AlCalzoneA 1 Antwort Letzte Antwort
            0
            • NegaleinN 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.

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

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

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

              NegaleinN 1 Antwort Letzte Antwort
              0
              • AlCalzoneA 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);
                
                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #11

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

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                AlCalzoneA 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

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

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

                  @Negalein Hab nochmal bearbeitet, bitte beachten

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

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA AlCalzone

                    @Negalein Hab nochmal bearbeitet, bitte beachten

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

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

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

                    AlCalzoneA 1 Antwort Letzte Antwort
                    0
                    • NegaleinN 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;
                      
                      AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      schrieb am zuletzt editiert von
                      #14

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

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

                      NegaleinN 2 Antworten Letzte Antwort
                      0
                      • AlCalzoneA AlCalzone

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

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

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

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        1 Antwort Letzte Antwort
                        0
                        • AlCalzoneA AlCalzone

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

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

                          @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

                          ° Node.js: 20.17.0 NPM: 10.8.2
                          ° Proxmox, Ubuntu 22.04.3 LTS
                          ° Fixer ---> iob fix

                          1 Antwort Letzte Antwort
                          0
                          • NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #17

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

                            ° Node.js: 20.17.0 NPM: 10.8.2
                            ° Proxmox, Ubuntu 22.04.3 LTS
                            ° Fixer ---> iob fix

                            sigi234S T AlCalzoneA 3 Antworten 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)
                              

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

                              @Negalein sagte in Script geht zeitweise auf Pause:

                              gestern ist das Script wieder in Pause gegangen.

                              Jupp, hatte ich Heute auch.

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

                              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)
                                

                                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: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° 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: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° 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: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

                                          T 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

                                          526

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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