Aral Ultimate 102 derzeit nicht erhältlich

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • R4bbiT schrieb:

      Wo ziehst du denn die Preise an?
      Sowas würde ich auch gerne für die Tanke hier in der Gegend machen ^^
      Aber die Aral-Page will ich ungern parsen.. :/
      Genau das mach ich, ist einfacher als bei so mancher anderen Sprit-Pansche ;) Jet geht z.B. nur mit einloggen -.-
      Ich frage allerdings nur alle 5 Minuten ab und bilde dann nen 15 Minuten Mittelwert. Bisher hab ich noch nix böses bekommen :D

      Quellcode

      1. root@raspberrypi:~/rrd# cat ult_aral.sh
      2. #!/bin/bash
      3. PRICE=$(lynx --dump http://www.aral.de/tankstelle/itzehoe/elmshorner_strasse/13103800.html -useragent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) L_y_n_x/2.7" | grep "Ultimate 102" | grep EUR | awk '{print $4}' | sed 's/EUR//' | sed 's/\^//' | sed 's/,/./')
      4. if [ ${#PRICE} -ne 5 ]; then PRICE="NaN";fi
      5. # echo $PRICE
      6. rrdtool update /root/rrd/ultimate.rrd N:$PRICE
      Kann man auch wunderbar auf der Konsole testen.

      Quellcode

      1. root@raspberrypi:~/rrd# lynx --dump http://www.aral.de/tankstelle/itzehoe/elmshorner_strasse/13103800.html -useragent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) L_y_n_x/2.7" | grep [size=10]"Ultimate 102" | grep EUR | awk '{print $4}' | sed 's/EUR//' | sed 's/\^//' | sed 's/,/./'[/size]
      2. 1.609
      Gruß Carsten - meinR.com Moderator

      Golf VII GTI Clubsport - rot :evil:

      [IMG:http://images.spritmonitor.de/801153_5.png]
    • Aral Ultimate 102 derzeit nicht erhältlich

      Gorillajebus schrieb:

      Bei uns in Lautern auch nichts mehr, seit ca. 2 Wochen.
      Habe den Tankwart gefragt der meinte er weiß nicht wieso da keine Lieferung mehr kommt. ?(

      Nicht nur in Lautern! Hab in Baden-Württemberg einige Tankstellen gesehen, die ein Absperrband um die Zapfpistole von Ultimate gemacht haben. In Fachsenfeld meinte der Tankwart dann, dass es derzeit Lieferengpässe gibt
      Life is just a game, but atleast the graphics are awesome!
    • Aussage ARAL Deutschland ist dass die zusätzlichen Stoffe, die dem Ultimate beigemischt werden aktuell schwer bis garnicht lieferbar sind.

      Hatte da angerufen, als uns vor 2 Wochen auch mal wieder das Ultimate ausgegangen ist. Aktuell isses wieder am Start ;)

      Nervt aber ziemlich....nochmal würde ich mir keine 102er Abstimmung machen lassen :-/
    • i-roc schrieb:


      Nervt aber ziemlich....nochmal würde ich mir keine 102er Abstimmung machen lassen :-/
      Dem stehe ich ohnehin recht kritisch gegenüber.
      Zumal bei solchen Abstimmungen oftmals das Potenzial ohnehin nicht ausgenutzt wird, wie z.B. mehr Vorzündung, weniger Ladedruck, weniger Verbrauch etc.
      Hab schon etliche solcher "Abstimmungen" gesehen, wo man einfach etwas mehr Ladedruck fährt und sich das bisschen Mehrleistung dann halt dadurch ergibt, weil der Motor später klopft.

      Aber das muss jeder für sich entscheiden und ich möchte da jetzt auch nicht weiter vom Thema abschweifen. :)
      Gruß Stefan - meinR.com Communityleitung

      2018er Golf 7 R Variant Facelift in Indiumgrau

      Audi TTS Clubsport
    • koaschten schrieb:

      ...
      Genau das mach ich, ist einfacher als bei so mancher anderen Sprit-Pansche ;) Jet geht z.B. nur mit einloggen -.-Ich frage allerdings nur alle 5 Minuten ab und bilde dann nen 15 Minuten Mittelwert. Bisher hab ich noch nix böses bekommen :D
      ..
      Das Auslesen funktioniert klasse, aber das mit der RR-Database klappt noch nicht so ganz :/
      Hast du noch das Create-Script für die .rrd und die Bilder? Wäre voll knorke :saint:
    • Ich fürchte das create Script nicht. @R4bbiT :(
      Aber das lässt sich ja relativ einfach nachstellen.
      Du musst halt definieren was du an Daten speichern willst, z.b. wie oft die rrd Daten erwartet, wann wie zusammengefasst werden soll... bissl lesen musst du schon :D und dann gibts ja noch famzah.net/rrdwizard/
      einfach mal den code hier drunter da rein kopieren....

      Quellcode

      1. filename = "ultimate.rrd"
      2. rrd_version = "0003"
      3. step = 300
      4. last_update = 1433874303
      5. header_size = 3496
      6. ds[ultimate].index = 0
      7. ds[ultimate].type = "GAUGE"
      8. ds[ultimate].minimal_heartbeat = 605
      9. ds[ultimate].min = NaN
      10. ds[ultimate].max = NaN
      11. ds[ultimate].last_ds = "1.619"
      12. ds[ultimate].value = 5.3725996920e+00
      13. ds[ultimate].unknown_sec = 0
      14. rra[0].cf = "MIN"
      15. rra[0].rows = 336
      16. rra[0].cur_row = 308
      17. rra[0].pdp_per_row = 6
      18. rra[0].xff = 5.0000000000e-01
      19. rra[0].cdp_prep[0].value = 1.4990000000e+00
      20. rra[0].cdp_prep[0].unknown_datapoints = 0
      21. rra[1].cf = "MIN"
      22. rra[1].rows = 1440
      23. rra[1].cur_row = 963
      24. rra[1].pdp_per_row = 24
      25. rra[1].xff = 5.0000000000e-01
      26. rra[1].cdp_prep[0].value = 1.4990000000e+00
      27. rra[1].cdp_prep[0].unknown_datapoints = 0
      28. rra[2].cf = "MIN"
      29. rra[2].rows = 2190
      30. rra[2].cur_row = 868
      31. rra[2].pdp_per_row = 48
      32. rra[2].xff = 5.0000000000e-01
      33. rra[2].cdp_prep[0].value = 1.4990000000e+00
      34. rra[2].cdp_prep[0].unknown_datapoints = 0
      35. rra[3].cf = "MIN"
      36. rra[3].rows = 2190
      37. rra[3].cur_row = 600
      38. rra[3].pdp_per_row = 96
      39. rra[3].xff = 5.0000000000e-01
      40. rra[3].cdp_prep[0].value = 1.4990000000e+00
      41. rra[3].cdp_prep[0].unknown_datapoints = 0
      42. rra[4].cf = "MAX"
      43. rra[4].rows = 336
      44. rra[4].cur_row = 279
      45. rra[4].pdp_per_row = 6
      46. rra[4].xff = 5.0000000000e-01
      47. rra[4].cdp_prep[0].value = 1.6190000000e+00
      48. rra[4].cdp_prep[0].unknown_datapoints = 0
      49. rra[5].cf = "MAX"
      50. rra[5].rows = 1440
      51. rra[5].cur_row = 62
      52. rra[5].pdp_per_row = 24
      53. rra[5].xff = 5.0000000000e-01
      54. rra[5].cdp_prep[0].value = 1.6190000000e+00
      55. rra[5].cdp_prep[0].unknown_datapoints = 0
      56. rra[6].cf = "MAX"
      57. rra[6].rows = 2190
      58. rra[6].cur_row = 1384
      59. rra[6].pdp_per_row = 48
      60. rra[6].xff = 5.0000000000e-01
      61. rra[6].cdp_prep[0].value = 1.6190000000e+00
      62. rra[6].cdp_prep[0].unknown_datapoints = 0
      63. rra[7].cf = "MAX"
      64. rra[7].rows = 2190
      65. rra[7].cur_row = 1323
      66. rra[7].pdp_per_row = 96
      67. rra[7].xff = 5.0000000000e-01
      68. rra[7].cdp_prep[0].value = 1.6190000000e+00
      69. rra[7].cdp_prep[0].unknown_datapoints = 0
      70. rra[8].cf = "AVERAGE"
      71. rra[8].rows = 336
      72. rra[8].cur_row = 284
      73. rra[8].pdp_per_row = 6
      74. rra[8].xff = 5.0000000000e-01
      75. rra[8].cdp_prep[0].value = 7.7330228036e+00
      76. rra[8].cdp_prep[0].unknown_datapoints = 0
      77. rra[9].cf = "AVERAGE"
      78. rra[9].rows = 1440
      79. rra[9].cur_row = 804
      80. rra[9].pdp_per_row = 24
      81. rra[9].xff = 5.0000000000e-01
      82. rra[9].cdp_prep[0].value = 7.7330228036e+00
      83. rra[9].cdp_prep[0].unknown_datapoints = 0
      84. rra[10].cf = "AVERAGE"
      85. rra[10].rows = 2190
      86. rra[10].cur_row = 754
      87. rra[10].pdp_per_row = 48
      88. rra[10].xff = 5.0000000000e-01
      89. rra[10].cdp_prep[0].value = 4.3709022804e+01
      90. rra[10].cdp_prep[0].unknown_datapoints = 0
      91. rra[11].cf = "AVERAGE"
      92. rra[11].rows = 2190
      93. rra[11].cur_row = 1360
      94. rra[11].pdp_per_row = 96
      95. rra[11].xff = 5.0000000000e-01
      96. rra[11].cdp_prep[0].value = 4.3709022804e+01
      97. rra[11].cdp_prep[0].unknown_datapoints = 0
      98. rra[12].cf = "LAST"
      99. rra[12].rows = 336
      100. rra[12].cur_row = 111
      101. rra[12].pdp_per_row = 6
      102. rra[12].xff = 5.0000000000e-01
      103. rra[12].cdp_prep[0].value = 1.6190000000e+00
      104. rra[12].cdp_prep[0].unknown_datapoints = 0
      105. rra[13].cf = "LAST"
      106. rra[13].rows = 1440
      107. rra[13].cur_row = 1059
      108. rra[13].pdp_per_row = 24
      109. rra[13].xff = 5.0000000000e-01
      110. rra[13].cdp_prep[0].value = 1.6190000000e+00
      111. rra[13].cdp_prep[0].unknown_datapoints = 0
      112. rra[14].cf = "LAST"
      113. rra[14].rows = 2190
      114. rra[14].cur_row = 476
      115. rra[14].pdp_per_row = 48
      116. rra[14].xff = 5.0000000000e-01
      117. rra[14].cdp_prep[0].value = 1.6190000000e+00
      118. rra[14].cdp_prep[0].unknown_datapoints = 0
      119. rra[15].cf = "LAST"
      120. rra[15].rows = 2190
      121. rra[15].cur_row = 178
      122. rra[15].pdp_per_row = 96
      123. rra[15].xff = 5.0000000000e-01
      124. rra[15].cdp_prep[0].value = 1.6190000000e+00
      125. rra[15].cdp_prep[0].unknown_datapoints = 0
      Alles anzeigen
      Ja ich bin zu nett...

      Quellcode

      1. rrdtool create filename.rrd \ --step '300' \ 'DS:ultimate:GAUGE:600:U:U' \ 'RRA:MIN:0.5:6:336' \ 'RRA:MIN:0.5:25:1440' \ 'RRA:MIN:0.5:50:2190' \ 'RRA:MIN:0.5:100:2190' \ 'RRA:MAX:0.5:6:336' \ 'RRA:MAX:0.5:25:1440' \ 'RRA:MAX:0.5:50:2190' \ 'RRA:MAX:0.5:100:2190' \ 'RRA:AVERAGE:0.5:6:336' \ 'RRA:AVERAGE:0.5:25:1440' \ 'RRA:AVERAGE:0.5:50:2190' \ 'RRA:AVERAGE:0.5:100:2190' \ 'RRA:LAST:0.5:6:336' \ 'RRA:LAST:0.5:25:1440' \ 'RRA:LAST:0.5:50:2190' \ 'RRA:LAST:0.5:100:2190'
      Aber Grafiken malen ist relativ einfach ;)

      Beispiel für 1 Tag (groß und klein):

      Shell-Script

      1. #!/bin/bash
      2. rrdtool graph /root/rrd/images/kdg/ultimate-1day.png \
      3. --start end-1d \
      4. --title='25524 Itzehoe | Aral Ultimate | 30 Minuten Intervall | 1 Tag' \
      5. -W "www.koaschten.de/kdg @ $(date '+%F %T %Z')" \
      6. -Y -w 576 -h 150 \
      7. --slope-mode \
      8. DEF:ultimatemin=/root/rrd/ultimate.rrd:ultimate:MIN \
      9. DEF:ultimateavg=/root/rrd/ultimate.rrd:ultimate:AVERAGE \
      10. DEF:ultimatemax=/root/rrd/ultimate.rrd:ultimate:MAX \
      11. DEF:ultimatelast=/root/rrd/ultimate.rrd:ultimate:LAST \
      12. LINE1:ultimatemax#00c6ff: \
      13. LINE1:ultimateavg#0090ff:'Aral Ultimate 102 ' \
      14. LINE1:ultimatemin#0042ff: \
      15. GPRINT:ultimateavg:AVERAGE:"Avg %5.3lf %s " \
      16. GPRINT:ultimatemin:MIN:"Min %5.3lf %s " \
      17. GPRINT:ultimatemax:MAX:"Max %5.3lf %s " \
      18. GPRINT:ultimatelast:LAST:" Last %5.3lf %s "
      19. rrdtool graph /root/rrd/images/kdg/small-ultimate-1day.png \
      20. --start end-1d \
      21. -W "www.koaschten.de/kdg/ultimate.html @ $(date '+%F %T %Z')" \
      22. -w 410 -h 50 \
      23. --slope-mode \
      24. DEF:ultimatemin=/root/rrd/ultimate.rrd:ultimate:MIN \
      25. DEF:ultimateavg=/root/rrd/ultimate.rrd:ultimate:AVERAGE \
      26. DEF:ultimatemax=/root/rrd/ultimate.rrd:ultimate:MAX \
      27. DEF:ultimatelast=/root/rrd/ultimate.rrd:ultimate:LAST \
      28. LINE1:ultimatemax#00c6ff: \
      29. LINE1:ultimateavg#0090ff:'Aral Ultimate 102 ' \
      30. LINE1:ultimatemin#0042ff: \
      31. GPRINT:ultimatelast:LAST:" Last %5.3lf %s "
      Alles anzeigen
      sogar in zwei grössen ;)

      Und bevor nu die Frage kommt, wo ich das laufen lasse, auf nem RaspberryPi und nein, meine Upload Skripte kriegst du nicht auch noch, da bin ich zu faul das Passwort rauszusuchen und zu löschen :D Aber den crontab Eintrag für das abfragen und so kannst du noch haben :D

      Quellcode

      1. #### Monitor Ultimate price for Aral Itzehoe Elmshorner Strasse ####
      2. */5 * * * * sh /root/rrd/ult_aral.sh
      edit 32...
      ach ich bin viel zu lieb ;)

      Quellcode

      1. day_upload.sh
      2. #!/bin/sh
      3. #koaschten snoop ftp upload
      4. myuser="FTPBENUTZERNAME"
      5. mypassword="FTPASSWORT"
      6. myhost="FTPZIEL"
      7. ftp -n $myhost <<END_SCRIPT
      8. quote USER $myuser
      9. quote PASS $mypassword
      10. quote PASV
      11. binary
      12. send /QUELLPFAD/ultimate-1day.png /ZIELPFAD/ultimate-1day.png
      13. send /QUELLPFAD/small-ultimate-1day.png /ZIELPFAD/small-ultimate-1day.png
      14. END_SCRIPT
      Alles anzeigen
      kann man natürlich entsprechend auch für weekly, monthly und yearly machen ;)
      Gruß Carsten - meinR.com Moderator

      Golf VII GTI Clubsport - rot :evil:

      [IMG:http://images.spritmonitor.de/801153_5.png]

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von koaschten ()

    • Irgendwann 21.00 ja.. ich ärger mich auch gerade :cursing:

      Und dann auch noch so bescheuert mit Grafiken... das parsen wird echt assig :thumbdown:

      Quellcode

      1. <li>
      2. <div class="ap-fuel">
      3. <h4>Aral Ultimate 102</h4>
      4. <div class="ap-price" data-fuelid="001255">
      5. <img src="http://tankstelle.aral.de/images/prices/number1.png" alt="1" data-pricepos="0">
      6. <img src="http://tankstelle.aral.de/images/prices/komma.png" alt="," class="ap-price-comma">
      7. <img src="http://tankstelle.aral.de/images/prices/number6.png" alt="6" data-pricepos="1">
      8. <img src="http://tankstelle.aral.de/images/prices/number1.png" alt="1" data-pricepos="2">
      9. <img src="http://tankstelle.aral.de/images/prices/90cent.png" alt="9">
      10. </div>
      11. </div>
      12. </li>
      Alles anzeigen
      das wird vermutlich ein "alles in eine zeile, schneid weg bis Ultimate 102, dann den alt= part parsen..." hab jetzt schon nen Hals... ;)

      Und all das nur damit es dann so: [IMG:http://tankstelle.aral.de/images/prices/number1.png][IMG:http://tankstelle.aral.de/images/prices/komma.png</p><p>][IMG:http://tankstelle.aral.de/images/prices/number6.png][IMG:http://tankstelle.aral.de/images/prices/number1.png][IMG:http://tankstelle.aral.de/images/prices/90cent.png]

      edit: haha man darf die nichtmal extern einbinden ;)
      Gruß Carsten - meinR.com Moderator

      Golf VII GTI Clubsport - rot :evil:

      [IMG:http://images.spritmonitor.de/801153_5.png]

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von koaschten ()

    • Naja, nicht alles ist schlecht.
      Die haben jetzt eine API, welche die Daten direkt als json raus spuckt. SEHR angenehm :)

      Nach etwas basteln kam da raus:

      Shell-Script

      1. #!/bin/bash
      2. PRICES=$(curl -s https://ap.aral.de/api/v1/getStationPricesById.php?stationId=XXX | jq '.response.prices')
      3. #echo $PRICES
      4. LENGTH=$(echo $PRICES | jq 'length')
      5. #echo $LENGTH
      6. for ((i=0; i<$LENGTH; i++)); do
      7. TYPE=$(echo $PRICES | jq ".[$i].name" | sed 's/"//g')
      8. PRICE=$(echo $PRICES | jq ".[$i].price" | sed 's/,/./' | sed 's/"//g')
      9. #echo "$TYPE -> $PRICE"
      10. if [ "$TYPE" = "Aral Ultimate 102" ]; then
      11. rrdtool update db-name.rrd N:$PRICE
      12. fi;
      13. done
      Alles anzeigen
      Brauchst aber das hier dazu:
      stedolan.github.io/jq/

      Die Station-Id kannst mit den üblichen Developer-Tools des Browsers deiner Wahl heraus finden.

      Mit dem Script könnte man theoretisch noch die anderen Preise auch mit loggen.. war mir aber zu kompliziert wieder die RRD und die Graphen an zu passen :D

      Edit:
      Bzw. ich seh gerade, dass die stationId auch am Ende des Links zu finden ist. Dann musst nicht die Dev-Tools bemühen :D

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von R4bbiT ()

    • Das funktioniert gut, jetzt muss ich nur noch von cent auf Euro umrechnen :)

      edit: Meine kleine Anpassung ;)

      Quellcode

      1. if [ "$TYPE" = "Aral Ultimate 102" ]; then
      2. PRICE=$(awk "BEGIN{print $PRICE / 100}")
      3. # rrdtool update db-name.rrd N:$PRICE
      4. echo $PRICE
      5. fi;
      edit2
      @R4bbiT ich versteh die Welt nicht mehr. wieso updated der meine .rrd nicht? und ja... ich hab den # weggenommen ;) und wenn ich mir das ganze per echo ausgeben lasse kommt auch 1.499 wie erwartet statt 149.90... bin irritiert.

      edit3
      Es will mir nicht in den Kopf... wenn ich das skript von hand starte updated er die RRD, wenn der crontab das macht dann nicht?!

      Quellcode

      1. root@raspberrypi:~/rrd# ./ult_aral.sh
      2. root@raspberrypi:~/rrd# rrdtool lastupdate /root/rrd/ultimate.rrd
      3. ultimate
      4. 1434224665: 1.609
      5. root@raspberrypi:~/rrd# date --date='@1434224665'
      6. Sat Jun 13 21:44:25 CEST 2015
      edit4:

      Quellcode

      1. root@raspberrypi:~/rrd# env -i sh /root/rrd/ult_aral.sh
      2. /root/rrd/ult_aral.sh: 8: /root/rrd/ult_aral.sh: Syntax error: Bad for loop variable
      habe auf anraten eines Freundes den crontab aufruf des Skripts geändert

      Quellcode

      1. #### Monitor Ultimate price for Aral Itzehoe Elmshorner Strasse ####
      2. */5 * * * * bash -c /root/rrd/ult_aral.sh
      Jetzt tuts wieder ... glaub ich :D

      Was kostet das Ultimate bei euch derzeit? ;)
      Gruß Carsten - meinR.com Moderator

      Golf VII GTI Clubsport - rot :evil:

      [IMG:http://images.spritmonitor.de/801153_5.png]

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von koaschten ()