Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Skripten des E-Control Spritpreisrechners

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Skripten des E-Control Spritpreisrechners

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

      @metaxa

      @metaxa sagte in Skripten des E-Control Spritpreisrechners:

      Wie gesagt, ich beschäftige mich mit programmieren und im Speziellen mit JS grad mal paar Stunden und heute

      Da kannst du mehr als ich 😉 Natives js habe ich noch nie versucht - traue mir das einfach nicht zu.
      Mit Blockly würde ich es angehen, da ist gestern der RegEx Block dazu gekommen, der das ganze ermöglichen müsste.

      Du kannst den URL doch auch in einem Browser eingeben und bekommst das json zurück.
      Das geht definitiv über js.

      Wenn das mit wget ginge (??) würde eine Datei mit dem json angelegt, die wiederum mit dem Parser-Adapter zerlegt werden könnte.

      Aber ich hätte gerne alles auf einem System, dann kann man mit den RegEx Schnipseln jonglieren und anschließend einen sinnvollen output generieren, der immer die gleiche Struktur (Datenpunkte) hat, egal in welcher Reihenfolge die Rohdaten im json vorliegen.

      metaxa 1 Reply Last reply Reply Quote 0
      • metaxa
        metaxa @Homoran last edited by

        @Homoran sagte in Skripten des E-Control Spritpreisrechners:

        Das geht definitiv über js.

        Da bin ich mir sicher, nur ich hab keinen Tau davon. Die Syntax "$.getJSON()" ist für mich eine Ansammlung spanischer Dörfer. Wobei ich jetzt ehrlich gesagt, den Parser als geringstes Problem sehe. Eher - da sind wir uns ja einig - das sichere Auffinden "seiner" Tankstelle.

        Negalein 1 Reply Last reply Reply Quote 0
        • sigi234
          sigi234 Forum Testing Most Active @metaxa last edited by

          @metaxa

          Gerade getestet, schaut gut aus!

          Screenshot (2754)_LI.jpg

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

            @metaxa sagte in Skripten des E-Control Spritpreisrechners:
            Servus Metaxa!

            Also, DP wurden ordnungsgemäß angelegt.
            Befüllt wurden sie nach paarmaligem umstellen im Parser.

            Nur "Treffer 1" wird nicht befüllt.
            objects - ioBroker.png

            Fehlermeldung bekomm ich auch wie du.

            javascript.0	2019-04-04 20:38:23.944	info	script.js.common.Spritpreisrechner: Ende Spritvergleich
            javascript.0	2019-04-04 20:38:23.941	info	script.js.common.Spritpreisrechner: Start Spritvergleich
            javascript.0	2019-04-04 20:38:02.780	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-04-04 20:38:02.780	error	at Manager.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-04-04 20:38:02.780	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
            javascript.0	2019-04-04 20:38:02.780	error	at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:278:10)
            javascript.0	2019-04-04 20:38:02.780	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-04-04 20:38:02.780	error	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
            javascript.0	2019-04-04 20:38:02.780	error	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3425:37)
            javascript.0	2019-04-04 20:38:02.779	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:358:25)
            javascript.0	2019-04-04 20:38:02.779	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:756:38)
            javascript.0	2019-04-04 20:38:02.779	error	at Object.<anonymous> (script.js.common.Spritpreisrechner:33:95)
            javascript.0	2019-04-04 20:38:02.779	error	Error in callback: TypeError: Cannot read property 'name' of undefined
            javascript.0	2019-04-04 20:38:02.775	info	script.js.common.Spritpreisrechner: Start Spritvergleich
            

            das sichere Auffinden "seiner" Tankstelle.

            mir persönlich würde reichen, wenn ich einfach nur die 5 günstigsten rund um meinen Koordinaten bekomme.

            metaxa 1 Reply Last reply Reply Quote 0
            • metaxa
              metaxa @sigi234 last edited by

              @sigi234 Vergleichs mal bitte mit der e-control. Bei mir hats mehrfach gepaßt.

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

                @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                Vergleichs mal bitte mit der e-control. Bei mir hats mehrfach gepaßt.

                Bei mir passt alles zusammen!

                Nur eben Nr. 1 geht ab.

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

                  @Negalein
                  drücke mal im Reiter "Objekte" F5.
                  Die Fehler verschwinden im Regelbetrieb, ich verstehe sie auch inhaltlich nicht wirklich.

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

                    @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                    drücke mal im Reiter "Objekte" F5.
                    Die Fehler verschwinden im Regelbetrieb, ich verstehe sie auch nicht wirklich.

                    Bingo
                    hatte ich zuvor zwar auch schon mehrmals gemacht, aber zumindest ist jetzt alles da!

                    DANKE

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

                      @Negalein & @sigi234
                      Dann kann ich jetzt mal aufhören zu Schwitzen und hab aktuell keine weiteren aktuellen ToDo aus dem Thema 🙂

                      Wenn Pix auftauchen sollte, würde mich sehr über seine Hilfe freuen.

                      1. Wie ich den JSON direkt ins Script krieg, die Syntax "$.getJSON()" ist für mich eine Ansammlung spanischer Dörfer.
                      2. Wie ich diese Fehlermeldungen am Anfang wegbekomme oder eben verstehen und ändern kann

                      LG, mxa

                      sigi234 Homoran Negalein 4 Replies Last reply Reply Quote 1
                      • sigi234
                        sigi234 Forum Testing Most Active @metaxa last edited by

                        @metaxa

                        SUPER, Preise mit E-Control sind gleich.
                        Alles passt jetzt zusammen, Log Fehler hatte ich keine.

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @metaxa last edited by

                          @metaxa

                          @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                          Wenn Pix auftauchen sollte

                          Den sehe ich (hoffentlich) Samstag

                          Bei mir hängt es jetzt schon hier:
                          Oesi-Tanken01.png

                          Ich weiß nicht wie ich jetzt an das Ergebnis komme zum weiterarbeiten.

                          Vielleicht hilft dir das:

                          schedule("* * * * *", function () {
                            try {
                              require("request")('https://api.e-control.at/sprit/1.0/search/gas-stations/by-address?latitude=48.514398&longitude=13.470133&fuelType=DIE&includeClosed=false').on("error", function (e) {console.error(e);});
                            } catch (e) { console.error(e); }
                          });
                          
                          1 Reply Last reply Reply Quote 0
                          • Negalein
                            Negalein Global Moderator @metaxa last edited by

                            @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                            Dann kann ich jetzt mal aufhören zu Schwitzen und hab aktuell keine weiteren aktuellen ToDo aus dem Thema 🙂

                            Ja, das sei dir gegönnt! 🙂

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @metaxa last edited by

                              @metaxa
                              Der Grundstein ist gelegt:

                              Oesi-Tanken02.png

                              Negalein metaxa 2 Replies Last reply Reply Quote 1
                              • Negalein
                                Negalein Global Moderator @Homoran last edited by

                                @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                @metaxa
                                Der Grundstein ist gelegt:

                                Ösi-Tanken 😹 😹 😹

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix @Homoran last edited by

                                  Hallo,

                                  ja, das ist der richtige Weg. Dann braucht es auch keinen Parser-Adapter, das kann ein Skript ganz gut.

                                  Mir fehlt gerade etwas die Zeit, um es komplett vorzukauen. Bin noch mit dem Pollenflug beschäftigt und dann gehts ja schon fast nach KS. Ich werde es mir im Zug nochmal ansehen. Dort kann ich aber nur grob was zusammenschreiben, da ich da nicht testen kann (hab noch keinen mobilen iobroker-Master).

                                  Hilft euch denn nicht das Spritpreis Skript, das dem tankerkoenig-Adapter damals vorausging? Da läuft doch das Parsen einer JSON auch erfolgreich.
                                  https://forum.iobroker.net/post/1012

                                  Gruß
                                  Pix

                                  1 Reply Last reply Reply Quote 0
                                  • metaxa
                                    metaxa @Homoran last edited by

                                    @Homoran
                                    e566544f-e569-434d-8cef-2491a0ae1436-grafik.png
                                    e53f5399-a4c4-495d-b7b0-6f77ad7a904b-grafik.png

                                    Homoran G 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @metaxa last edited by

                                      @metaxa
                                      Mal ganz grob gedacht

                                      Was hältst du von einem array.
                                      Wird beim allerersten Durchlauf angelegt mit allen daten der 10 tanken
                                      Da kannst du dann bei jedem weiteren Durchlauf nur die preise im array austauschen oder gegen >xx wenn nicht unter den top5

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

                                        So, mein grober Entwurf ist mal fertig.
                                        Gefällt mir noch nicht perfekt, aber zumindest sieht man auf den 1. Blick alles nötige!

                                        Danke nochmals

                                        Edit vis (1).png

                                        1 Reply Last reply Reply Quote 1
                                        • metaxa
                                          metaxa last edited by

                                          Hübsch, wirklich gelungen!

                                          Bin gerade am Erweitern um Entfernung und ob zum Zeitpunkt der letzten Abfrage - offen oder zu.

                                          Gerne und LG, mxa

                                          1 Reply Last reply Reply Quote 2
                                          • metaxa
                                            metaxa @Homoran last edited by

                                            @Homoran
                                            Hallo Rainer! Ja array, an dem geht eh kein Weg vorbei. Nur, ich darfs nicht laut schreiben, ich habe keinen blassen Schimmer davon.
                                            Hab es gestern Abend noch geschafft, mit dem Hinweis von PIX, die URL direkt ins Script (also ohne Parser) zu laden. Nur bei der Schleifenabfrage der einzelnen Werte hagelt es Beschwerden seitens JS im Log. Da bin ich noch sehr hilfsbedürftig 🙂
                                            Auch habe ich mir gestern Nacht noch angesehen wie denn das ist, wenn man auch geschlossene Tankstellen anzeigen läßt. Naja, ausbaufähig, bei einigen sieht man einen Preis, bei anderen wieder nicht.
                                            Die Endausbaustufe sehe ich in meinem Script:

                                            • kein Parser notwendig

                                            • nur das Script mit folgenden Parametern zum Einstellen:

                                              • Längengrad & Breitengrad

                                              • Diesel/ Benzin

                                              • nur offene / auch geschlossene

                                            Nur brauche ich halt leider Hilfe, mit lesen alleine komme ich nicht mehr weiter, bzw. ist es auf die Dauer sehr zeitraubend.

                                            LG, mxa

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            651
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring
                                            21
                                            292
                                            32486
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo