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
    324

  • 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 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
                                    • NegaleinN Negalein

                                      @ticaki sagte in Script geht zeitweise auf Pause:

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

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

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

                                      @Negalein
                                      hab editiert bitte beachten

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      NegaleinN 1 Antwort Letzte Antwort
                                      0
                                      • T ticaki

                                        @Negalein
                                        hab editiert bitte beachten

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

                                        @ticaki sagte in Script geht zeitweise auf Pause:

                                        hab editiert bitte beachten

                                        Also

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

                                        gegen

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

                                        tauschen

                                        ° Node.js: 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:

                                          hab editiert bitte beachten

                                          Also

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

                                          gegen

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

                                          tauschen

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

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

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

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

                                          NegaleinN 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          705

                                          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