[Gelöst] Spritpreise und www.clever-tanken.de

Begonnen von UweUwe, 19 Dezember 2018, 11:14:39

Vorheriges Thema - Nächstes Thema

UweUwe

Hallo,

ich versuche mich gerade anhand der verschiedenen Anleitungen an das Thema Spritpreise in FHEM heranzuarbeiten.
Ich habe mir die URL von www.clever-tanken.de näher angeschaut und finde leider keinen Weg, wie ich automatisch den aktuellen Dieselpreis aussortieren kann.
Schaut man die Suchkriterien der Vorlagen, als Beispiel sei die "Hausautomatiserungsanleitung von Matthias Kleine" genannt, so gibt es dort einfache Suchkriterien, die Diesel und Preis herausfischen lassen. Im aktuellen html von www.clever-tanken.de sehe ich hier keine Chance. www.clever-tanken.de scheint es so umgestellt zu haben, dass dies nicht mehr möglich ist. Sehe ich dies richtig und was macht ihr hier? Gibt es einen anderen Weg?

Vielen Dank

t1me2die

Moin Uwe,

ich lese schon seit Jahren clever-tanken per Regex aus, was einwandfrei funktioniert.

Die URL, die du auslesen musst, schaut wie folgt aus:

https://www.clever-tanken.de/tankstelle_liste?spritsorte=7&r=5&ort=Hamburg


Bedeutung:

spritsorte=7
1 = Autogas
2 = LKW-Diesel
3 = Diesel
4 = Bioethanol
5 = SuperE10
6 = SuperPlus
7 = SuperE5
8 = Erdgas


Sprich um Diesel Ergebnisse zu bekommen benötigst du:

https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=5&ort=Ortsname_oder_PLZ
https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=5&ort=22111 (Abfrage für Diesel mit einem Radius 5KM und der PLZ: 22111


Am besten ein HTTPMOD Device mit dem Link anlegen, nun fehlt nur noch die RegEx, meine schauen wie folgt aus:

attr $device reading01Name Tankstellenname ;
                attr $device reading01Regex <div class=\"row fuel-station-location-name\">(.*)<\\/div> ;
                attr $device reading01RegOpt g ;
                attr $device reading02Name Preis ;
                attr $device reading02Regex <div class=\"price\">(.*)<sup> ;
                attr $device reading02RegOpt g ;
                attr $device reading03Name Strasse ;
                attr $device reading03Regex <div id=\"fuel-station-location-street\">(.*)<\\/div> ;
                attr $device reading03RegOpt g ;
                attr $device reading04Name Ort ;
                attr $device reading04Regex <div id=\"fuel-station-location-city\"> (.*)<\\/div> ;       
                attr $device reading04RegOpt g ;
                attr $device reading05Name Entfernung ;
                attr $device reading05Regex <div >(.*)<\\/div> ;


Dies dient nur als Beispiel! UNGETESTET! Habe mir eine Steuerung für Telegram programmiert.

Gruß
Mathze


UweUwe

Hallo t1me2die

danke für die schnelle Antwort,

ich bin direkt nach deiner Antwort ans Werk gegangen und auch auf einem guten Weg.

Die URL müsste richtig sein, da ich bei Eingabe der URL die richtigen Daten angezeigt bekomme:

https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152

auch die attr habe ich eingefügt (mein device heisst: Draussen_Spritpreis).
==> Ich vermuste, dass es noch ein reading05REGEX geben müsste, das ich aber egänzt habe.

Meine Attr heissen:
attr DRAUSSEN_SPRITPREIS reading01Name Tankstellenname
attr DRAUSSEN_SPRITPREIS reading01Regex <div class=\"row fuel-station-location-name\">(.*)<\\/div>
attr DRAUSSEN_SPRITPREIS reading01RegOpt g
attr DRAUSSEN_SPRITPREIS reading02Name Preis ;
attr DRAUSSEN_SPRITPREIS reading02Regex <div class=\"price\">(.*)<sup>
attr DRAUSSEN_SPRITPREIS reading02RegOpt g
attr DRAUSSEN_SPRITPREIS reading03Name Strasse ;
attr DRAUSSEN_SPRITPREIS reading03Regex <div id=\"fuel-station-location-street\">(.*)<\\/div>
attr DRAUSSEN_SPRITPREIS reading03RegOpt g
attr DRAUSSEN_SPRITPREIS reading04Name Ort
attr DRAUSSEN_SPRITPREIS reading04Regex <div id=\"fuel-station-location-city\"> (.*)<\\/div>       
attr DRAUSSEN_SPRITPREIS reading04RegOpt g
attr DRAUSSEN_SPRITPREIS reading05Name Entfernung
attr DRAUSSEN_SPRITPREIS reading05Regex <div >(.*)<\\/div>
attr DRAUSSEN_SPRITPREIS reading05RegOpt g


Die letzte Zeile habe ich ergänzt. Jetzt sehe ich aber im device nur die Spritpreise. Ist schon mal was:

Event monitor zeigt:

2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-1: 1.24
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-2: 1.26
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-3: 1.29
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-4: 1.29
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-5: 1.29
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-6: 1.30
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-7: 1.30
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-8: 1.30
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-9: 1.31
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-10: 1.31
2018-12-19 13:36:23 HTTPMOD DRAUSSEN_SPRITPREIS Preis-11: 1.32


Readings sehen so aus:

Preis-1 1.24  2018-12-19 13:38:23
Preis-10         1.31 2018-12-19 13:38:23
Preis-11         1.32 2018-12-19 13:38:23
Preis-2           1.26 2018-12-19 13:38:23
Preis-3           1.29 2018-12-19 13:38:23
Preis-4            1.29 2018-12-19 13:38:23
Preis-5            1.29 2018-12-19 13:38:23
Preis-6            1.30  2018-12-19 13:38:23
Preis-7            1.30 2018-12-19 13:38:23
Preis-8            1.30  2018-12-19 13:38:23
Preis-9            1.31  2018-12-19 13:38:23


Jetzt fehlt noch Ort, Strasse.. was mache ich falsch.
Nochmals vielen Dank...


t1me2die

#4
Moin Uwe,

gib uns bitte mal ein
list Draussen_Spritpreise

Ich bin mir nicht sicher, ob deine RegEx so korrekt sind.

Probier mal:

attr DRAUSSEN_SPRITPREIS reading04Regex <div id=\"fuel-station-location-city\"> (.*)<\/div>


Kleiner Tipp:
Öffne die o.g. URL, kopiere Dir den Seitenquelltext und rufe die Seite: https://regex101.com/
auf.
Kopiere nun den Seitenquelltext dort hinein und teste dein RegEx selber.

So kann man einfach prüfen, ob der RegEx korrekt ist.

Gruß
Mathze

PS.: Ich lege dynamisch mithilfe der myUtils Geräte an, weshalb ich manche Zeichen escapen muss, daher kommt wohl der Fehler.
Probier es mal wie folgt:

attr DRAUSSEN_SPRITPREIS reading01Name Tankstellenname
attr DRAUSSEN_SPRITPREIS reading01Regex <div class=\"row fuel-station-location-name\">(.*)<\/div>
attr DRAUSSEN_SPRITPREIS reading01RegOpt g
attr DRAUSSEN_SPRITPREIS reading02Name Preis ;
attr DRAUSSEN_SPRITPREIS reading02Regex <div class=\"price\">(.*)<sup>
attr DRAUSSEN_SPRITPREIS reading02RegOpt g
attr DRAUSSEN_SPRITPREIS reading03Name Strasse ;
attr DRAUSSEN_SPRITPREIS reading03Regex <div id=\"fuel-station-location-street\">(.*)<\/div>
attr DRAUSSEN_SPRITPREIS reading03RegOpt g
attr DRAUSSEN_SPRITPREIS reading04Name Ort
attr DRAUSSEN_SPRITPREIS reading04Regex <div id=\"fuel-station-location-city\"> (.*)<\/div>       
attr DRAUSSEN_SPRITPREIS reading04RegOpt g
attr DRAUSSEN_SPRITPREIS reading05Name Entfernung
attr DRAUSSEN_SPRITPREIS reading05Regex <div >(.*)<\/div>
attr DRAUSSEN_SPRITPREIS reading05RegOpt g

Otto123

Hi,

ohne Ort und Strasse, dafür mit FileLog :)
Abfrage einer Tankstelle:
defmod TankeStarMarkrans HTTPMOD http://www.clever-tanken.de/tankstelle_details/29092 1800
attr TankeStarMarkrans userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex readingOExpr
attr TankeStarMarkrans enableControlSet 1
attr TankeStarMarkrans reading01Name Diesel
attr TankeStarMarkrans reading01Regex SpritsortenController[^0-9]+([0-9,]+)[^0-9]+Diesel
attr TankeStarMarkrans reading02Name SuperE10
attr TankeStarMarkrans reading02Regex SpritsortenController[^0-9]+([0-9,]+)[^0-9]+Super E10
attr TankeStarMarkrans reading03Name SuperE5
attr TankeStarMarkrans reading03Regex SpritsortenController[^0-9]+([0-9,]+)[^0-9]+Super E5
attr TankeStarMarkrans readingOExpr $val =~ tr/,/./;;$val
attr TankeStarMarkrans room 2_6_Spritpreise
attr TankeStarMarkrans stateFormat E5: SuperE5 € / E10: SuperE10 € / D: Diesel €
attr TankeStarMarkrans timeout 10
attr TankeStarMarkrans verbose 2

defmod FileLogSpritE5 FileLog ./log/SpritE5-%Y.log TankeJetRueckmarsdorfer:SuperE5:.*|TankeStarMarkrans:SuperE5:.*


Anpassen: Einfach Tankstellennummer ändern

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

UweUwe

Hallo t1me2die und Otto

@t1me2die

das sieht sehr sehr gut aus, die Entfernungen fehlen noch. Ich glaube aber, dass ich den Fehler gefunden habe.  Ich füge ihn an, falls noch ein weiterer User darauf zurückgreifen will.

attr DRAUSSEN_SPRITPREIS reading05Regex <div id=\"fuel-station-location-street\">(.*)<\/div>

==> dein Paste und Copy ..  ;D ;D  Toller Support. Jetzt muss ich es "nur noch" verstehen.

@ Otto: heute Abend schaue ich jetzt mal die Lösung mit dem filelog an.

Nochmals vielen Dank für den support. 

Danke


t1me2die

Moin Uwe,

das freut mich.
Pauschal gesagt liest HTTPMOD den Seitenquelltext von der jeweiligen URL aus.
Du legst dann mit verschiedenen RegEx einen Suchfilter fest.
Das Matching also das Ergebnis aus dem RegEx wird dann dein Reading.

Daher sagte ich ja, öffne von der jeweiligen URL den Quelltext (rechte Maustaste -> Seitenquelltext öffnen) kopiere alles und klatsche es bei: https://regex101.com/ rein.
Nimm Dir nun eins deiner RegEx und trage dies oben bei regulare Ausdrücke ein. Das "Match" (Reading) siehst du dann direkt auf der rechten Seite  :)

Falls noch Fragen sind, immer raus damit.

Gruß
Mathze

UweUwe

Hallo t1me2die,

ist es vermessen zu fragen, ob du noch den Codeschnipsel für "TelegrammBot" zuschickst.
TelegramBot habe ich funktionsfähig integriert in FHEM.

Merci

t1me2die

Moin Uwe,

was möchtest du genau haben?

Gruß
Mathze

UweUwe

Hallo Mathze,

danke für die Rückantwort. Über TelegramBot möchte ich mir diese aktuellen Spritpreise für meine Region bei Bedarf zuschicken lassen. Es geht mir hier um 2 Dinge. Zum einen um genau diesen Service "einfach" auf Knopfdruck "TelegramBot" über "Favorites" nutzen zu können und zum anderen noch darum, eine Vorlage zur weiteren Verarbeitung in FHEM von solchen Daten an Beispielen nachvollziehen zu können. Ich bin nicht der Programmierer, möchte aber eine Alarmanlage in FHEM. Aktuell versuche ich die verschiedenen Dienste zu lernen: TelegramBot, Gerfancy, Notifies, Filelog, Graphen, Events..

Die Spitpreise der Umgebung bei Bedarf auf das Handy als Überblick zu haben ist aber ein toller Gack. Man kann natürlich immer auch über Clever-Tanken gehen, aber das kann jeder..

Uwe

t1me2die

Moin Uwe,

dazu benötigst du nicht viel.
Du brauchst zuerst einmal ein Notify oder Doif (je nachdem was dir mehr zusagt), mit welches du auf eingehende Telegram Nachrichten reagierst.

z.B.
define getMessageTelegram notify Telegram:msgId:.* { checkMessage() }

Nun legst du in der 99_myUtils eine Routine an, wo du die eingehenden Nachrichten prüfst:

sub checkMessage()
{
my $id = ReadingsVal("TelegramBot_DeviceName","msgPeerId","");
my $alias = ReadingsVal("TelegramBot_DeviceName","msgPeer","");
my $message = ReadingsVal("TelegramBot_DeviceName","msgText","");
my $horn = ReadingsVal("Star_Horn","SuperE5","");
my $rahlstedt = ReadingsVal("Star_Rahlstedt","SuperE5","");

if ($message =~ /Spritpreise/)
        {
            fhem "set Telegram message \@$id " Der Spritpreis für SuperE5 beträgt: \n* Horn: $horn€ \n* Rahlstedt: $rahlstedt€";
        }
}


Du musst hier natürlich den "TelegramBot_DeviceName" durch deinen Telegrambotnamen ersetzen.
Ich habe zwei Haupttankstelle, einmal "Star_Horn" und einmal "Star_Rahlstedt", aus diesen beiden HTTPMOD Geräten hole ich mir den aktuellen Preis für das Reading "SuperE5".
In dieser sehr stark verkürzten Sub wird die eingehende Telegram Nachricht $message geprüft auf den Inhalt "Spritpreise", als Ergebnis wird eine Telegramnachricht an den Verfasser zurückgeschickt mit den Preisen.

Das o.g. Beispiel wurde von mir stark verkürzt und nicht getestet, es soll lediglich ein Gedankenanstoß sein.

Außerdem habe ich mir eine kleine Routine geschrieben, die bei einer Preisunterschreitung eine automatische Nachricht via Telegram verschickt.

Dazu benötigst du wieder ein Notify, welches auf deine HTTPMOD Gerät reagiert, z.B.:

define n_Spritpreise notify Star_Horn:SuperE5:.*|Star_Rahlstedt:SuperE5:.* { checkSpritpreise($NAME,$EVTPART0,$EVTPART1) }

Hier siehst du wieder meine beiden Haupttankstellen.
Das Notify ruft nun eine Routine auch in der 99_myUtils auf um die Preise zu prüfen.

Auch diese Routine habe ich stark verkürzt und nicht getestet.

sub checkSpritpreise($$$)
{
  my ($tankstelle, $benzin, $preis) = @_;
  my $id = ReadingsVal("TelegramBot_DeviceName","msgPeerId","");
  $tankstelle =~ s/_/ /g;
    if (($tankstelle eq "Star Horn" or $tankstelle eq "Star Rahlstedt") && (($preis * 100) <= 130))
    {    fhem "set Telegram message \@$id $tankstelle \n$benzin $preis€";
    }
}


Im Anhang siehst du ein Screenshot, wie das ungefähre Ergebnis bei mir ausschaut  :)

Ich hoffe, ich konnte Dir bisschen auf die Sprünge helfen.

Gruß
Mathze

UweUwe

Hallo,

habe mich mal mit dem Modul HTTPMOD und den beinhalteten Verweisen beschäftigt und mir ist noch was aufgefallen:

Bei meinen Spritpreisen, besser Distanzen aus" clever-tanken " werden die Entfernungen durch mein Gerät nicht ausgelesen. Dies wollte ich verstehen und verbessern.

Die HTML Stelle für die Distanz auf der Webseite "clever-tanken"  lautet:
      <div class="fuel-station-location-address-distance">
                    <div>9.0 km</div>


das dazugehörige Attribut habe ich mir so überlegt:
attr DRAUSSEN_SPRITPREIS reading05Regex <div id=\"fuel-station-location-address-distance\"><div>(.*)<\/div>
Erklärung: es soll nach reading05 geschrieben werden. REGEX sucht nach fuel-station-location-address-distance. Wie man auf die "<div id=\" und die "\" kommt, konnte ich nicht ergünden. Anschliessend liest Regex alles ein, was nach dem String  "><div>" kommt. Hier muss aber ein Fehler sein.

Zum Vergleich, es funktioniert das Einlesen der Adresse aus clever-tanken korrekt:

Die HTML Stelle für die Adresse auf clever-tanken lautet:

  <div id="fuel-station-location-street">Bundesstr. 58</div>

das dazugehörige/funktionierende)  Attribut:

attr DRAUSSEN_SPRITPREIS reading03Regex <div id=\"fuel-station-location-street\">(.*)<\/div>

meine Erklärung für diese Attribut : REGEX sucht nach "fuel-station-location-street": Warum im attr nach "street" der "\" folgt, konnte ich nicht sagen. Auch intensivstes Suchen brachte hinsichtlich der Syntax nicht weiter. .. Dann liest er (.*) ein, was hinter einem > nach dem Ende der Suckkriteriums steht, also was hinter street steht.
So habe ich auch mein Attribut für Distanz aufgesetzt.
Die Stelle mit der Distanz ist im HTML unterschiedlich zu street. Hier ist noch ein <div> dazwischen. Oder mache ich hier einen Denkfehler. Deshalb ein anderes Regex.

Zur besseren Verdeutlichung , doer falls ich an einer anderen Stelle einen Fehler habe, habe ich noch ein list  angehängt

Internals:
   BUSY       0
   DEF        https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152 60
   Interval   60
   LASTSEND   1545309740.98119

   MainURL    https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152
   ModuleVersion 3.5.4 - 9.11.2018
   NAME       DRAUSSEN_SPRITPREIS
   NR         125
   STATE      ???
   TRIGGERTIME 1545309800.98045
   TRIGGERTIME_FMT 2018-12-20 13:43:20
   TYPE       HTTPMOD
   addr       https://www.clever-tanken.de:443
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152
   header     
   host       www.clever-tanken.de
   httpheader HTTP/1.1 200 OK
Date: Thu, 20 Dec 2018 12:42:21 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 14719
Content-Type: text/html; charset=utf-8
Set-Cookie: spritsorte=3; expires=Fri, 20-Dec-2019 12:42:21 GMT; Max-Age=31536000; Path=/
Set-Cookie: search_city=; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Connection: close
   httpversion 1.0
   hu_blocking 0
   hu_filecount 11
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /tankstelle_liste?spritsorte=3&r=10&ort=52152
   protocol   https
   redirects  0
   timeout    2
   url        https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152
   value      0
   QUEUE:
   READINGS:
     2018-12-19 14:42:23   Entfernung      10.4 km
     2018-12-20 13:00:00   Entfernung-1    Nideggener Str. 25
     2018-12-20 13:00:00   Entfernung-10   Bundesstr. Haus Nr. 7
     2018-12-20 13:00:00   Entfernung-11   Hauptstr. 144
     2018-12-20 13:00:00   Entfernung-2    Germeter 135
     2018-12-20 13:00:00   Entfernung-3    In den Bremen 20
     2018-12-20 13:00:00   Entfernung-4    Triererstr. 112
     2018-12-20 13:00:00   Entfernung-5    Bergstr. 2
     2018-12-20 13:00:00   Entfernung-6    Schmiedstr. 4-6
     2018-12-20 13:00:00   Entfernung-7    Bundesstr. 58
     2018-12-20 13:00:00   Entfernung-8    Bundesstr. 1
     2018-12-20 13:00:00   Entfernung-9    Trierer Str. 232
     2018-12-20 13:42:21   Ort-1           52159 Roetgen
     2018-12-20 13:42:21   Ort-10          52159 Roetgen
     2018-12-20 13:42:21   Ort-11          52156 Monschau
     2018-12-20 13:42:21   Ort-2           52385 Nideggen
     2018-12-20 13:42:21   Ort-3           52393 Hürtgenwald
     2018-12-20 13:42:21   Ort-4           52152 Simmerath
     2018-12-20 13:42:21   Ort-5           52152 Simmerath
     2018-12-20 13:42:21   Ort-6           52156 Monschau
     2018-12-20 13:42:21   Ort-7           52152 Simmerath
     2018-12-20 13:42:21   Ort-8           52152 Simmerath
     2018-12-20 13:42:21   Ort-9           52156 Monschau
     2018-12-19 14:40:23   Preis           1.24
     2018-12-20 13:42:21   Preis-1         1.26
     2018-12-20 13:42:21   Preis-10        1.30
     2018-12-20 13:42:21   Preis-11        1.31
     2018-12-20 13:42:21   Preis-2         1.28
     2018-12-20 13:42:21   Preis-3         1.28
     2018-12-20 13:42:21   Preis-4         1.28
     2018-12-20 13:42:21   Preis-5         1.28
     2018-12-20 13:42:21   Preis-6         1.29
     2018-12-20 13:42:21   Preis-7         1.29
     2018-12-20 13:42:21   Preis-8         1.29
     2018-12-20 13:42:21   Preis-9         1.30
     2018-12-20 13:42:21   Strasse-1       Bundesstr. 58
     2018-12-20 13:42:21   Strasse-10      Bundesstr. Haus Nr. 7
     2018-12-20 13:42:21   Strasse-11      Hauptstr. 144
     2018-12-20 13:42:21   Strasse-2       Nideggener Str. 25
     2018-12-20 13:42:21   Strasse-3       Germeter 135
     2018-12-20 13:42:21   Strasse-4       Bundesstr. 1
     2018-12-20 13:42:21   Strasse-5       In den Bremen 20
     2018-12-20 13:42:21   Strasse-6       Triererstr. 112
     2018-12-20 13:42:21   Strasse-7       Bergstr. 2
     2018-12-20 13:42:21   Strasse-8       Schmiedstr. 4-6
     2018-12-20 13:42:21   Strasse-9       Trierer Str. 232
     2018-12-20 13:42:21   Tankstellenname-1 bft
     2018-12-20 13:42:21   Tankstellenname-10 TOTAL
     2018-12-20 13:42:21   Tankstellenname-11 ARAL
     2018-12-20 13:42:21   Tankstellenname-2 bft
     2018-12-20 13:42:21   Tankstellenname-3 BFT Tankstelle
     2018-12-20 13:42:21   Tankstellenname-4 bft
     2018-12-20 13:42:21   Tankstellenname-5 Markant (Tankautomat)
     2018-12-20 13:42:21   Tankstellenname-6 Tankstelle Huppertz
     2018-12-20 13:42:21   Tankstellenname-7 bft
     2018-12-20 13:42:21   Tankstellenname-8 Shell
     2018-12-20 13:42:21   Tankstellenname-9 T
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152
     value      0
   defptr:
     readingBase:
       Ort-1      reading
       Ort-10     reading
       Ort-11     reading
       Ort-2      reading
       Ort-3      reading
       Ort-4      reading
       Ort-5      reading
       Ort-6      reading
       Ort-7      reading
       Ort-8      reading
       Ort-9      reading
       Preis-1    reading
       Preis-10   reading
       Preis-11   reading
       Preis-2    reading
       Preis-3    reading
       Preis-4    reading
       Preis-5    reading
       Preis-6    reading
       Preis-7    reading
       Preis-8    reading
       Preis-9    reading
       Strasse-1  reading
       Strasse-10 reading
       Strasse-11 reading
       Strasse-2  reading
       Strasse-3  reading
       Strasse-4  reading
       Strasse-5  reading
       Strasse-6  reading
       Strasse-7  reading
       Strasse-8  reading
       Strasse-9  reading
       Tankstellenname-1 reading
       Tankstellenname-10 reading
       Tankstellenname-11 reading
       Tankstellenname-2 reading
       Tankstellenname-3 reading
       Tankstellenname-4 reading
       Tankstellenname-5 reading
       Tankstellenname-6 reading
       Tankstellenname-7 reading
       Tankstellenname-8 reading
       Tankstellenname-9 reading
     readingNum:
       Ort-1      04
       Ort-10     04
       Ort-11     04
       Ort-2      04
       Ort-3      04
       Ort-4      04
       Ort-5      04
       Ort-6      04
       Ort-7      04
       Ort-8      04
       Ort-9      04
       Preis-1    02
       Preis-10   02
       Preis-11   02
       Preis-2    02
       Preis-3    02
       Preis-4    02
       Preis-5    02
       Preis-6    02
       Preis-7    02
       Preis-8    02
       Preis-9    02
       Strasse-1  03
       Strasse-10 03
       Strasse-11 03
       Strasse-2  03
       Strasse-3  03
       Strasse-4  03
       Strasse-5  03
       Strasse-6  03
       Strasse-7  03
       Strasse-8  03
       Strasse-9  03
       Tankstellenname-1 01
       Tankstellenname-10 01
       Tankstellenname-11 01
       Tankstellenname-2 01
       Tankstellenname-3 01
       Tankstellenname-4 01
       Tankstellenname-5 01
       Tankstellenname-6 01
       Tankstellenname-7 01
       Tankstellenname-8 01
       Tankstellenname-9 01
     readingOutdated:
     readingSubNum:
       Ort-1      -1
       Ort-10     -10
       Ort-11     -11
       Ort-2      -2
       Ort-3      -3
       Ort-4      -4
       Ort-5      -5
       Ort-6      -6
       Ort-7      -7
       Ort-8      -8
       Ort-9      -9
       Preis-1    -1
       Preis-10   -10
       Preis-11   -11
       Preis-2    -2
       Preis-3    -3
       Preis-4    -4
       Preis-5    -5
       Preis-6    -6
       Preis-7    -7
       Preis-8    -8
       Preis-9    -9
       Strasse-1  -1
       Strasse-10 -10
       Strasse-11 -11
       Strasse-2  -2
       Strasse-3  -3
       Strasse-4  -4
       Strasse-5  -5
       Strasse-6  -6
       Strasse-7  -7
       Strasse-8  -8
       Strasse-9  -9
       Tankstellenname-1 -1
       Tankstellenname-10 -10
       Tankstellenname-11 -11
       Tankstellenname-2 -2
       Tankstellenname-3 -3
       Tankstellenname-4 -4
       Tankstellenname-5 -5
       Tankstellenname-6 -6
       Tankstellenname-7 -7
       Tankstellenname-8 -8
       Tankstellenname-9 -9
     requestReadings:
       update:
         Ort-1      reading 04-1
         Ort-10     reading 04-10
         Ort-11     reading 04-11
         Ort-2      reading 04-2
         Ort-3      reading 04-3
         Ort-4      reading 04-4
         Ort-5      reading 04-5
         Ort-6      reading 04-6
         Ort-7      reading 04-7
         Ort-8      reading 04-8
         Ort-9      reading 04-9
         Preis-1    reading 02-1
         Preis-10   reading 02-10
         Preis-11   reading 02-11
         Preis-2    reading 02-2
         Preis-3    reading 02-3
         Preis-4    reading 02-4
         Preis-5    reading 02-5
         Preis-6    reading 02-6
         Preis-7    reading 02-7
         Preis-8    reading 02-8
         Preis-9    reading 02-9
         Strasse-1  reading 03-1
         Strasse-10 reading 03-10
         Strasse-11 reading 03-11
         Strasse-2  reading 03-2
         Strasse-3  reading 03-3
         Strasse-4  reading 03-4
         Strasse-5  reading 03-5
         Strasse-6  reading 03-6
         Strasse-7  reading 03-7
         Strasse-8  reading 03-8
         Strasse-9  reading 03-9
         Tankstellenname-1 reading 01-1
         Tankstellenname-10 reading 01-10
         Tankstellenname-11 reading 01-11
         Tankstellenname-2 reading 01-2
         Tankstellenname-3 reading 01-3
         Tankstellenname-4 reading 01-4
         Tankstellenname-5 reading 01-5
         Tankstellenname-6 reading 01-6
         Tankstellenname-7 reading 01-7
         Tankstellenname-8 reading 01-8
         Tankstellenname-9 reading 01-9
   sslargs:
Attributes:
   icon       gasoline
   reading01Name Tankstellenname
   reading01RegOpt g
   reading01Regex <div class=\"row fuel-station-location-name\">(.*)<\/div>
   reading02Name Preis
   reading02RegOpt g
   reading02Regex <div class=\"price\">(.*)<sup>
   reading03Name Strasse
   reading03RegOpt g
   reading03Regex <div id=\"fuel-station-location-street\">(.*)<\/div>
   reading04Name Ort
   reading04RegOpt g
   reading04Regex <div id=\"fuel-station-location-city\"> (.*)<\/div>
   reading05Name Entfernung
   reading05RegOpt g
   reading05Regex <div id=\"fuel-station-location-address-distance\">(.*)<\/div>
   room       DRAUSSEN
   userattr   reading01Name reading01RegOpt reading01Regex reading02Name reading02RegOpt reading02Regex reading03Name reading03RegOpt reading03Regex reading04Name reading04RegOpt reading04Regex reading05Name reading05RegOpt reading05Regex



t1me2die

Moin Uwe,

probiere es mal wie folgt:


attr DRAUSSEN_SPRITPREIS reading05Name Entfernung
attr DRAUSSEN_SPRITPREIS reading05Regex <div >(.*)<\/div>
attr DRAUSSEN_SPRITPREIS reading05RegOpt g


Gruß
Mathze

UweUwe

Hallo Mathze,
super, das wars, das Attribut

attr DRAUSSEN_SPRITPREIS reading05Regex <div >(.*)<\/div>

kann ich mir nicht erklären. Und ich hab leider auch keine Doku gefunden, die mir das erklärt. Liegt sicherlich an mir.

Trotzdem ganz toller support.

Danke
Uwe