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.
    • metaxa
      metaxa last edited by

      Guten Morgen in die Runde!

      Danke Homoran für deine Lösung, anfangs bin ich an der Synatx gescheitert 🙂

      Zur Erklärung:
      Der Unterscheid zwischen der alleinigen Parserlösung und dem Scriptgedanken von "steinejo_io" (Eingangspost) liegt in der häufigen Abfrage der API Schnittstelle.

      • Das JS holt sich 1x den kompletten JSON und zerlegt ihn dann.

      • Für eine Tankstelle werden in Rainers Parserlösung - ich glaub 5x (name, PLZ, citiy, Strase, Preis) die URL abgefragt. Also bei 5 Tankstellen rund 25x und das wahrscheinlich kurz hintereinandert weil der Parser gleiche ms hinterlegt hat. Deswegen schreibt Rainer auch

      Bedingung ist, die Reihenfolge in dem json bleibt unverändert, und man will nur wenige Stationen monitoren.

      @SmarthomeMF
      Das Script reagiert auf irgendeine Änderung der JSON. Wenn du diese Änderung nicht erzwingst (z.P. im Parser auf boolen umstellen, speichern, kontrollieren, wieder zurückstellen, speichern) dann musst du warten bis sich die abgefragte URL von selbst ändert.

      LG, mxa

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

        @metaxa sagte in Skripten des E-Control Spritpreisrechners:

        Danke Homoran für deine Lösung, anfangs bin ich an der Synatx gescheitert

        Ich auch, habe es mal in den Parser eingebaut...........muss überlegen wie das in Vis einbaue, da die Tankstellen sich ja immer ändern. Also Zuordnung von Name, Strasse, Ort, Plz,Preis........

        Screenshot (2691)_LI.jpg

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

          @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

          Ich auch, habe es mal in den Parser eingebaut...........muss überlegen wie das in Vis einbaue, da die Tankstellen sich ja immer ändern. Also Zuordnung von Name, Strasse, Ort, Plz,Preis........

          Ich hab jetzt mal 1 Tankstelle mit Regex (PLZ, Ort, Preis, Name) eingetragen.
          Da ist mir aufgefallen, dass PLZ nicht zum Ort passte. Preis war zur angegebenen Tankstelle auch falsch.

          Mit JSON und JS passt es.

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

            Schade ist am JSON mit Script nur, dass zum Teil die Zeichen für mich zu viel sind.

            Ich wäre zB bei "Freie Tankstelle (AVIA Treibstoffe)" 1,189 € nur mit AVIA zufrieden.
            Und € vor der Zahl.

            Auch benötige ich die Strasse nicht. PLZ und Ort würden reichen.

            Wäre sowas noch im Script möglich? Oder geht das generell nicht?

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

              @Negalein sagte in Skripten des E-Control Spritpreisrechners:

              Ich hab jetzt mal 1 Tankstelle mit Regex (PLZ, Ort, Preis, Name) eingetragen.
              Da ist mir aufgefallen, dass PLZ nicht zum Ort passte. Preis war zur angegebenen Tankstelle auch falsch.

              Hast du da auch bei allen Datenpunkten die richtige Ziffer bei NUM eingetragen?
              regex_Tanken21.png

              Diese Ziffer muss bei allen Daten einer Tanke gleich und bei verschiedenen Tanken unterschiedlich sein.

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

                @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                Hast du da auch bei allen Datenpunkten die richtige Ziffer bei NUM eingetragen?

                Diese Ziffer muss bei allen Daten einer Tanke gleich und bei verschiedenen Tanken unterschiedlich sein.

                Ahhhhhh, ich Depp!
                Natürlich hab ich das nicht gemacht.
                Hab schön brav 0 1 2 3 eingetragen!

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

                  @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                  Diese Ziffer muss bei allen Daten einer Tanke gleich und bei verschiedenen Tanken unterschiedlich sein.

                  Es klappt leider nicht.

                  Preise sind in der richtigen Reihenfolge.

                  Name, PLZ und Ort sind durcheinender!

                  Screenshots vom Parser:
                  instances - ioBroker.png
                  instances - ioBroker (1).png

                  So schauts dann unter Objekte aus:
                  objects - ioBroker.png

                  HTML-Ausgabe vom API-Link mit den 5 Tankstellen:

                  {"id":43946,"name":"SB-Tankstelle Zauner","location":{"address":"Ludwig-Paglstr. 1","postalCode":"4780","city":"Schärding","latitude":48.447209,"longitude":13.439305},"contact":{"website":"http://www.auto-zauner.at"},"openingHours":[{"day":"MO","label":"Montag","order":1,"from":"00:00","to":"24:00"},{"day":"DI","label":"Dienstag","order":2,"from":"00:00","to":"24:00"},{"day":"MI","label":"Mittwoch","order":3,"from":"00:00","to":"24:00"},{"day":"DO","label":"Donnerstag","order":4,"from":"00:00","to":"24:00"},{"day":"FR","label":"Freitag","order":5,"from":"00:00","to":"24:00"},{"day":"SA","label":"Samstag","order":6,"from":"00:00","to":"24:00"},{"day":"SO","label":"Sonntag","order":7,"from":"00:00","to":"24:00"},{"day":"FE","label":"Feiertag","order":8,"from":"00:00","to":"24:00"}],"offerInformation":{"service":false,"selfService":true,"unattended":true},"paymentMethods":{"cash":true,"debitCard":true,"creditCard":false},"paymentArrangements":{"cooperative":false,"clubCard":false},"position":1,"open":true,"distance":1.1861150291611577,"prices":[{"fuelType":"DIE","amount":1.207,"label":"Diesel"}]},
                  {"id":227,"name":"avanti - Sankt Florian/Inn Bundesstraße 129","location":{"address":"Bundesstrasse 129","postalCode":"4780","city":"Sankt Florian/Inn","latitude":48.43865,"longitude":13.44392},"contact":{"telephone":"800202055","fax":"800","website":"www.omv.com"},"openingHours":[{"day":"MO","label":"Montag","order":1,"from":"00:00","to":"24:00"},{"day":"DI","label":"Dienstag","order":2,"from":"00:00","to":"24:00"},{"day":"MI","label":"Mittwoch","order":3,"from":"00:00","to":"24:00"},{"day":"DO","label":"Donnerstag","order":4,"from":"00:00","to":"24:00"},{"day":"FR","label":"Freitag","order":5,"from":"00:00","to":"24:00"},{"day":"SA","label":"Samstag","order":6,"from":"00:00","to":"24:00"},{"day":"SO","label":"Sonntag","order":7,"from":"00:00","to":"24:00"},{"day":"FE","label":"Feiertag","order":8,"from":"00:00","to":"24:00"}],"offerInformation":{"service":false,"selfService":true,"unattended":true},"paymentMethods":{"cash":false,"debitCard":true,"creditCard":true,"others":"OMV STATIONSKARTE, MASTERCARD, MAESTRO, VISA"},"paymentArrangements":{"cooperative":false,"clubCard":false},"position":2,"open":true,"distance":2.1930579551820806,"prices":[{"fuelType":"DIE","amount":1.207,"label":"Diesel"}]},
                  {"id":34459,"name":"Lagerhaus Genol","location":{"address":"Otterbacherstrasse 2","postalCode":"4786","city":"Brunnenthal","latitude":48.4584665,"longitude":13.4449326},"contact":{"telephone":"4377123135","mail":"rlh_schaerding@schaerding.rlh.at"},"openingHours":[{"day":"MO","label":"Montag","order":1,"from":"00:00","to":"24:00"},{"day":"DI","label":"Dienstag","order":2,"from":"00:00","to":"24:00"},{"day":"MI","label":"Mittwoch","order":3,"from":"00:00","to":"24:00"},{"day":"DO","label":"Donnerstag","order":4,"from":"00:00","to":"24:00"},{"day":"FR","label":"Freitag","order":5,"from":"00:00","to":"24:00"},{"day":"SA","label":"Samstag","order":6,"from":"00:00","to":"24:00"},{"day":"SO","label":"Sonntag","order":7,"from":"00:00","to":"24:00"},{"day":"FE","label":"Feiertag","order":8,"from":"00:00","to":"24:00"}],"offerInformation":{"service":false,"selfService":false,"unattended":true},"paymentMethods":{"cash":false,"debitCard":false,"creditCard":false},"paymentArrangements":{"cooperative":false,"clubCard":false},"position":3,"open":true,"distance":0.9795663890363353,"prices":[{"fuelType":"DIE","amount":1.209,"label":"Diesel"}]},
                  {"id":1132040,"name":"Diskont Tankstelle","location":{"address":"Othmar-Spanlang-Straße 1 (\"Hofer Parkplatz\")","postalCode":"4780","city":"Schärding","latitude":48.446581,"longitude":13.439444},"contact":{"mail":"tankstellen@gutmann.cc","website":"http://www.gutmann.cc"},"openingHours":[{"day":"MO","label":"Montag","order":1,"from":"06:00","to":"22:00"},{"day":"DI","label":"Dienstag","order":2,"from":"06:00","to":"22:00"},{"day":"MI","label":"Mittwoch","order":3,"from":"06:00","to":"22:00"},{"day":"DO","label":"Donnerstag","order":4,"from":"06:00","to":"22:00"},{"day":"FR","label":"Freitag","order":5,"from":"06:00","to":"22:00"},{"day":"SA","label":"Samstag","order":6,"from":"06:00","to":"22:00"},{"day":"SO","label":"Sonntag","order":7,"from":"06:00","to":"22:00"},{"day":"FE","label":"Feiertag","order":8,"from":"06:00","to":"22:00"}],"offerInformation":{"service":false,"selfService":true,"unattended":true},"paymentMethods":{"cash":false,"debitCard":true,"creditCard":true,"others":"AP Karte"},"paymentArrangements":{"cooperative":false,"clubCard":false},"position":4,"open":true,"distance":1.2531494440658468,"prices":[{"fuelType":"DIE","amount":1.209,"label":"Diesel"}]},
                  {"id":1354925,"name":"JET TANKSTELLE","location":{"address":"LINZERSTRASSE 58","postalCode":"4780","city":"SCHÄRDING","latitude":48.450421,"longitude":13.436477},"contact":{"telephone":"0771235972"},"openingHours":[{"day":"MO","label":"Montag","order":1,"from":"06:00","to":"22:00"},{"day":"DI","label":"Dienstag","order":2,"from":"06:00","to":"22:00"},{"day":"MI","label":"Mittwoch","order":3,"from":"06:00","to":"22:00"},{"day":"DO","label":"Donnerstag","order":4,"from":"06:00","to":"22:00"},{"day":"FR","label":"Freitag","order":5,"from":"06:00","to":"22:00"},{"day":"SA","label":"Samstag","order":6,"from":"06:00","to":"22:00"},{"day":"SO","label":"Sonntag","order":7,"from":"07:00","to":"22:00"},{"day":"FE","label":"Feiertag","order":8,"from":"07:00","to":"22:00"}],"offerInformation":{"service":false,"selfService":true,"unattended":true},"paymentMethods":{"cash":true,"debitCard":true,"creditCard":true},"paymentArrangements":{"cooperative":false,"clubCard":false},"otherServiceOffers":"Billa shop & shop, Backshop, Vignetten-Verkauf","position":5,"open":true,"distance":0.7729766074116283,"prices":[{"fuelType":"DIE","amount":1.212,"label":"Diesel"}]},
                  

                  Screenshots von spritpreisrechner.at:
                  Spritpreisrechner.at.png
                  Spritpreisrechner.at (1).png

                  Ich weiß nicht was ich falsch mache.
                  Vielleicht siehst du einen Fehler bei mir.

                  Danke

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

                    @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                    Vielleicht siehst du einen Fehler bei mir.

                    Was steht in den Objekten?

                    Sind ALLE Datenpunkte zeitgleich abgerufen worden?

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

                      @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                      Was steht in den Objekten?

                      ok - habe ich gefunden - muss alles mal in Ruhe sortieren.
                      Aber der Preis von 5 passt schon mal

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

                        @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                        Sind ALLE Datenpunkte zeitgleich abgerufen worden?

                        Ja, ich hab den Parser pausiert, alle 20 Zeilen eingetragen, gespeichert und wieder aktiviert.

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

                          @Homoran

                          Mir ist gerade nochwas aufgefallen.

                          Im Parser hab ich den Default Poll-Intervall auf 60000 (also 1 Stunde) stehn.

                          Die Daten werden unterschiedlich (letzte Änderung lt. DP) abgefragt.

                          Name 1-5 wurden um 17:08
                          Ort 1 + 2 um 18:21
                          Ort 3-5 um 17:08
                          PLZ 1-5 um 17:08
                          Preis 1 um 18:41
                          Preis 2-4 um 17:13
                          Preis 5 um 18:21

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

                            @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                            Wäre sowas noch im Script möglich? Oder geht das generell nicht?

                            Servus!
                            Nachdem es keine eindeutige Schreibwiese gibt - es gibt Einträge mit Adresse im Namen - Tankstellen wie bei deinem Beispiel mit Klammern, kann ICH die individuellen Wünsche nicht im Script abfangen. Ich werde mich dieser Tage mal hinsetzen und eine weitere Setupmöglichkeit einbauen, damit nur PLZ und Ort in das Adressfeld kommen.

                            @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                            Und € vor der Zahl.

                            Sollte im aktuellen Javascript so sein?

                            Vergleich doch das bitte mit deine Version.

                            Apropos Version, ich werde ab jetzt Versionsnummern dazugaben. Ist das eigentlich erlaubt, wenn man die Grundidee und den Grundansatz geklaut hat?

                            LG, mxa

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

                              @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                              Im Parser hab ich den Default Poll-Intervall auf 60000 (also 1 Stunde) stehn.

                              Fehlinterpretation!

                              60000 (msec) sind eine Minute

                              und was hast du hinter jedem Eintrag im Parser stehen?

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

                                @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                Fehlinterpretation!
                                60000 (msec) sind eine Minute

                                Upps, hab es jetzt auf 3600000 ausgebessert.

                                und was hast du hinter jedem Eintrag im Parser stehen?

                                instances - ioBroker (3).png instances - ioBroker (2).png

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

                                  @Negalein

                                  Ich habe 3 Stunden eingestellt

                                  Screenshot (2699).png

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

                                    @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

                                    Ich habe 3 Stunden eingestellt

                                    wenn je Zeile unter Intervall nichts steht, wird dann nicht der DefaultIntervall genommen?

                                    Oder liegt da der Fehler bei mir?

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

                                      @Negalein

                                      Gute Frage, aber ich gehe davon aus das es so ist.

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

                                        @sigi234

                                        Isso!

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

                                          Ich habe versuchsweise mal in jede Zeile einen Intervall eingetragen.
                                          Ändert sich auch nichts.

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

                                            @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                            Ändert sich auch nichts.

                                            Inwiefern?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            892
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring
                                            21
                                            292
                                            31704
                                            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