NEWS
Skripten des E-Control Spritpreisrechners
-
@SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:
gibt es nicht was wie der Tankerkönig!!
Nein, gibt es für uns nicht.
Bei uns können wir schon von Glück reden, dass die e-Control überhaupt die API zur Verfügung stellt. -
@sigi234 sagte in Skripten des E-Control Spritpreisrechners:
Wie ist die RegEx für: Adresse oder die anderen Datenpunkte?
Konntest du das nicht 10 Minuten früher fragen.
Jetzt ist der pc aus und ich bin nur noch mit dem tablet im bett
Strasse
ss":"(\D+\d+)","
PLZ
de":"(\d+)","
Ort
ty":"(\D+)","
-
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
-
-
@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........
-
@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.
-
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?
-
@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?
Diese Ziffer muss bei allen Daten einer Tanke gleich und bei verschiedenen Tanken unterschiedlich sein.
-
@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! -
@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:
So schauts dann unter Objekte aus:
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:
Ich weiß nicht was ich falsch mache.
Vielleicht siehst du einen Fehler bei mir.Danke
-
@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 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 -
@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.
-
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 -
@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
-
@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?
-
@Homoran sagte in Skripten des E-Control Spritpreisrechners:
Fehlinterpretation!
60000 (msec) sind eine MinuteUpps, hab es jetzt auf 3600000 ausgebessert.
und was hast du hinter jedem Eintrag im Parser stehen?
-
Ich habe 3 Stunden eingestellt
-
@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?
-
Gute Frage, aber ich gehe davon aus das es so ist.
-
Isso!