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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Skripten des E-Control Spritpreisrechners

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                            • Homoran
                              Homoran Global Moderator Administrators @metaxa last edited by

                              @metaxa

                              Naja, so richtig habe ich auch keine Ahnung, habe vor 20 Jahren mal Datenbanken programmiert in einer basic-artigen Sprache. Auch irgendwas mit einem dynarray().
                              Da ging es auch (für mich) "einfacher" indem ich mit locate() in einer Tabelle gesucht hatte. Das wäre hier entsprechend mit den States.
                              Leider bräuchte man wahrscheinlich wegen der rotierenden Reihenfolge dann genauso viele "Hilfsstates" wie eigentliche States.

                              Das schlimme ist ich habe soooo viele Ideen, bin aber durch mein NichtKönnen an der Lösung gehindert.

                              Dein Endziel entspricht in weiten Teilen meinem, evtl. schieße ich da noch drüber hinaus:

                              • kein Parser(Adapter) notwendig - KLAR!
                              • zum Einstellen
                                ** Längen und Breitengrad - nöö, das steht doch im js-Adapter
                                *** Und da würde ich gerne noch einen draufsetzen wenn die Tanke nicht unter den ersten 5 ist, eine bis 4 weitere Abfragen mit Verschiebung des Zentrums um den halben Radius in 4 Himmelsrichtungen

                              @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                              alleine komme ich nicht mehr weiter, bzw. ist es auf die Dauer sehr zeitraubend.

                              und deswegen reizt es mich so, obwohl ich "nichts davon habe".

                              Leider falle ich die nächste Zeit aus, so dass ich erst mal nicht weitermachen kann.
                              Vielleicht kommt morgen abend beim Gespräch in Kassel was raus.

                              metaxa 1 Reply Last reply Reply Quote 0
                              • G
                                Georgius last edited by

                                Hat wer eine Idee wie man den Fehler abfangen kann wenn kein Preis vorhanden ist?

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

                                  @Georgius sagte in Skripten des E-Control Spritpreisrechners:

                                  wie man den Fehler abfangen kann wenn kein Preis vorhanden ist?

                                  Mehrere - was wäre denn sinnvoll?

                                  1.) einen Wert angeben mit >1.217 wenn der teuerste unter den Top5 1.217 wäre und die gewünschte Tanke nunter Top 6-10 liegt und somit teurer sein muss.
                                  2.) einen anderen Weg finden doch noch den Preis herauszubekommen
                                  3.) "geschlossen" angeben weil sie zu ist?

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    Georgius last edited by

                                    Da reden wir von unterschiedlichen Sachen. Tankstelle 6 kann auch einen Preis haben, wenn mehrere Tankstellen den selben Preis haben.

                                    Wenn kein Preis vorhanden ist bekomme ich einen error und das Programm bricht ab.

                                    if ((gasStation[index].prices[0].amount)!=null){
                                    

                                    Noch eine Frage:

                                    setState("javascript.0.Sprit.Tankstelle_"+index+".adresse", gasStation[index].location.address + "\n" +gasStation[index].location.postalCode + " "+ gasStation[index].location.city);
                                        }
                                    

                                    Bekomme ich keinen Zeilenumbruch in den Datenpunkt und auch nicht im Vis (getestet mit Basic/Strings)

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

                                      @Georgius sagte in Skripten des E-Control Spritpreisrechners:

                                      Da reden wir von unterschiedlichen Sachen.

                                      Nein!

                                      @Georgius sagte in Skripten des E-Control Spritpreisrechners:

                                      Tankstelle 6 kann auch einen Preis haben, wenn mehrere Tankstellen den selben Preis haben.

                                      Genau, kann, muss aber nicht. Das ist ein Sonderfall

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        Georgius @Georgius last edited by

                                        @Georgius
                                        Frage 1 gelöst:

                                        if ((gasStation[index].prices[0])!=undefined){
                                        

                                        führt die nächsten Zeilen nur aus wenn ein Preis vorhanden ist.

                                        Langsam macht die ganze Sache und JS Spaß

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

                                          Hallo,

                                          Wie kann man den Preis als Punkt statt Komma bekommen?
                                          Kann ich das wo umstellen?
                                          1,169 / 1.169

                                          Warum das? Weil einige Widget das Komma nicht erkennen............

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

                                            @sigi234

                                            Das

                                            .toString().replace(".",",")
                                            

                                            in Zeile 11 des Startbeitrag weglassen.

                                            Nicht vergessen dass dann der Datenpunkt "number" und nicht "string" sein darf.

                                            sigi234 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            392
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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