Autor Thema: Keine Werte von Clever Tanken  (Gelesen 4113 mal)

Online Frank_Huber

  • Hero Member
  • *****
  • Beiträge: 3402
Antw:Keine Werte von Clever Tanken
« Antwort #15 am: 26 April 2019, 10:47:00 »
Danke :)
Think i have to improve my regex knowing...
Ich hab das auch mal nur irgendwo "geklaut"
Wenn man es "richtig" machen wollte müsste man den Suffix auch von der Webseite extrahieren.
<div class="price-field">
                                        <span id="current-price-1">1.30</span>
                                        <sup id="suffix-price-1">9</sup>
Da es aber idR eh immer die 9 hinten ist reicht mir der einfache Weg das einfach zu addieren.

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1356
Antw:Keine Werte von Clever Tanken
« Antwort #16 am: 26 April 2019, 17:40:02 »
Hier gibt es auch eine Tankstelle mit x.xx8 beim Preis.
FHEM 5.9(SVN) auf cubietruck mit HMUSB
FHEM 5.9(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.9(SVN) virtuell mit HMLAN | CUL

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1356
Antw:Keine Werte von Clever Tanken
« Antwort #17 am: 26 April 2019, 20:25:06 »
Hier meine Regex für Preis mit Zehntel Cent.

attr Tankstelle_X reading01Name Diesel
attr Tankstelle_X reading01Regex "price-type-name">Diesel</div>[\d\D]{700,900}"current-price-.">([0-9\.]+[^0-9]+suffix-price-.">[0-9])
attr Tankstelle_X reading02Name SuperE10
attr Tankstelle_X reading02Regex "price-type-name">Super E10</div>[\d\D]{700,900}"current-price-.">([0-9\.]+[^0-9]+suffix-price-.">[0-9])
attr Tankstelle_X reading03Name SuperE5
attr Tankstelle_X reading03Regex "price-type-name">Super E5</div>[\d\D]{700,900}"current-price-.">([0-9\.]+[^0-9]+suffix-price-.">[0-9])
attr Tankstelle_X readingOExpr $val =~ s/<[\d\D]+>//;;$val
FHEM 5.9(SVN) auf cubietruck mit HMUSB
FHEM 5.9(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.9(SVN) virtuell mit HMLAN | CUL

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4949
Antw:Keine Werte von Clever Tanken
« Antwort #18 am: 27 April 2019, 00:18:48 »
ich lese mit, 24.04.2019, 08:57 war das letzte reading.

Gruß Peter
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21

Offline RadioJames

  • Full Member
  • ***
  • Beiträge: 112
Antw:Keine Werte von Clever Tanken
« Antwort #19 am: 27 April 2019, 09:37:19 »
die Zuordnung zu "current-price-x" mag funktionieren, ich wollte aber eine eindeutige, an die Benzinsorte ("price-type-name") gekoppelte Abfrage.

Am Beispiel von Super E10 verwende ich folgenden regulären Ausdruck:
<div class="price-type-name">Super E10</div>[\S\s\r\n]*?<span id="current-price-\d+">(\d.\d{2})</span>

Gesucht wir zunächst die Sorte Super E10
"price-type-name">Super E10</div>

Dann werden mehrere Zeilen (nicht gierig -> "?") übersprungen. Die Zeilenendeabfrage wurde so gewählt, dass sie für Unix und Windows HTML-files funktioniert:
([\S\s\r\n]*?)

Schließlich kommt der Preis, dieser Teil der Abfrage ist für alle Sorten gleich:
<span id="current-price-\d+">(\d.\d{2})</span>

Grüße
James



« Letzte Änderung: 27 April 2019, 09:43:42 von RadioJames »
There are 10 kind of people. Those who understand binary and those who don't.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Gisbert

  • Hero Member
  • *****
  • Beiträge: 1285
  • Das Ziel ist das Ziel !
Antw:Keine Werte von Clever Tanken
« Antwort #20 am: 27 April 2019, 10:14:01 »
Hallo stromer-12,

braucht man dieses Atrribut zwingend, wenn man Zehntel Centbeträge anzeigen will?
attr Tankstelle_X readingOExpr $val =~ s/<[\d\D]+>//;;$val

Hallo James,

zeigt deine Variante Zehntel Centbeträge ohne das o.g. Atrribut an?

Was mich schon wieder verwirrt, ist der Umstand, dass es 2 Lösungen für ein Problem gibt. Welche Abfrage geht schneller und ist resourcenschonender?

Viele​ Grüße​ Gisbert​
Aktuelles Fhem auf HP ThinClient T610 | UniFi-Controller | Homematic, VCCU, HMUART | ESP8266, Sonoff, Rollladenaktoren, KANNIX von Papa Romeo | 1-Wire-Temperatursensoren | Wlan-Kamera | SIGNALduino, WH3080-Wettereinheit, Flamingo Rauchmelder FA21RF

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1356
Antw:Keine Werte von Clever Tanken
« Antwort #21 am: 27 April 2019, 13:14:11 »
Hallo Gisbert,
zeigt deine Variante Zehntel Centbeträge ohne das o.g. Atrribut an?
Mit dem Attribut lösche ich die Textpassage zwischen den Cent und ZehntelCent Betrag.

Was mich schon wieder verwirrt, ist der Umstand, dass es 2 Lösungen für ein Problem gibt. Welche Abfrage geht schneller und ist resourcenschonender?
Ich hatte erstmal nach einer schnellen Lösung gesucht, ohne Optimierung.

Gruß
FHEM 5.9(SVN) auf cubietruck mit HMUSB
FHEM 5.9(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.9(SVN) virtuell mit HMLAN | CUL

Offline RadioJames

  • Full Member
  • ***
  • Beiträge: 112
Antw:Keine Werte von Clever Tanken
« Antwort #22 am: 27 April 2019, 13:49:40 »
Hallo Gisbert,

Zitat
zeigt deine Variante Zehntel Centbeträge ohne das o.g. Atrribut an?
Meine Lösung bezieht sich nicht auf die Anzeige von Zehntel-Cent Beträgen, sondern ist vielmehr ein Verbesserungsvorschlag zur generellen Lösung im Wiki nach dem die clever-tanken Seitenstruktur am 24.4.19 geändert wurden.

Die Lösung, die du suchst, hat dir stromer-12 schon geboten.
Er verfolgt prinzipiell einen ähnlichen Ansatz wie ich, nur filtert er die Zeilen zwischen Spritsorte und Preis anders
[\d\D]{700,900}... interessant ...
und sucht zusätzlich nach den Zehntel-Cent.

Grüße
James

There are 10 kind of people. Those who understand binary and those who don't.

Offline DefanC

  • New Member
  • *
  • Beiträge: 36
  • Oooh mein FHEM !!
Antw:Keine Werte von Clever Tanken
« Antwort #23 am: 28 April 2019, 09:22:12 »
Danke Dan!  :)

Ich habe die Lösung aus Antwort #3 bei mir angewendet, die "attr" Zeile:
attr HEM reading01Regex "current-price-3">(\d.\d{2})entsprechend angepaßt. Was auf der Site:
https://www.clever-tanken.de/tankstelle_details/"Stationsnummer?"bei den von mir abgefragten Tankstellen immer die gleiche Sortierreihenfolge ist. Also keine großen Änderungen erforderlich macht.
Funktioniert, die Readings werden wieder aktualisiert, alles gut/tut.  :)

Offline Stege

  • Newbie
  • Beiträge: 1
Antw:Keine Werte von Clever Tanken
« Antwort #24 am: 29 April 2019, 13:14:05 »
Danke Dan!  :)

war schon unglücklich da ich die Preise auch über Telegram abfrage. Jetzt funktioniert wieder alles. :)

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4050
  • Wer anderen eine Bratwurst brät...
Antw:Keine Werte von Clever Tanken
« Antwort #25 am: 29 April 2019, 14:51:35 »
Ich habe anhand der Beitrage #17 und #19 das Wiki für die Spritpreise angepasst.
Ebenso habe ich noch eine weitere Tankstelle (Esso) dazu genommen und zu den Tankstellen die jeweiligen Spezial-Spritsorten (sowie Autogas, Erdgas und Wasserstoff).

Gruß
Dan
« Letzte Änderung: 29 April 2019, 14:59:28 von DeeSPe »
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced
Gefällt mir Gefällt mir x 5 Liste anzeigen

Offline heinzfo

  • Full Member
  • ***
  • Beiträge: 402
Antw:Keine Werte von Clever Tanken
« Antwort #26 am: 30 April 2019, 20:58:40 »
Danke für das Update im Forum und Wiki :)

Offline hugo.crank

  • New Member
  • *
  • Beiträge: 47
Antw:Keine Werte von Clever Tanken
« Antwort #27 am: 06 Mai 2019, 08:18:53 »
DANKE! hab mich bis eben auch gewundert warum es nicht ging.

Offline Müller

  • Full Member
  • ***
  • Beiträge: 101
Antw:Keine Werte von Clever Tanken
« Antwort #28 am: 19 Mai 2019, 11:14:53 »
Hallo,

ich habe nun auch meine Benzinpreise aktualisiert mit

reading02Regex "price-type-name">Super E10</div>[\d\D]{700,900}"current-price-.">([0-9\.]+[^0-9]+suffix-price-.">[0-9])
reading03Regex"price-type-name">Super E5</div>[\d\D]{700,900}"current-price-.">([0-9\.]+[^0-9]+suffix-price-.">[0-9])
Nun werden die Preise wieder aktualisiert - Danke

ABER nun stehe ich vor zwei weiteren Problemen:

Das kleinere ist das "State"
unter stateformat habe ich
Super: SuperE5 € <br> E10: SuperE10 €eingetragen. Nun wird die Schriftformatierung von Super (hochgestellte kleine 9) mit nach E10 verschleppt. Wie kann ich bei State eintragen, dass für E10 die Standardchrift benutzt wird?

Das zweite Problem. Ich bekomme die Zahlen nicht mehr im Plot angezeigt:
Die Daten werden nicht mehr im Logfile aufgezeichnet:

DEF ./log/Shell_Iggelheim_FileLog_2.log Shell_Iggelheim:SuperE5:..*..........................................*

Die Zeile habe ich ich neu aus dem Eventmap herauskopiert und ein logfile generiert, aber es wird im Logfile nicht aufgezeichnet.

Hat jemand seine Log File Definition schon entsprechend angepasst?
 



Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1356
Antw:Keine Werte von Clever Tanken
« Antwort #29 am: 19 Mai 2019, 13:20:22 »
Hallo,

Das kleinere ist das "State"
unter stateformat habe ich
Super: SuperE5 € <br> E10: SuperE10 €eingetragen. Nun wird die Schriftformatierung von Super (hochgestellte kleine 9) mit nach E10 verschleppt. Wie kann ich bei State eintragen, dass für E10 die Standardchrift benutzt wird?

hast du auch die Zeile bei dir drin:
readingOExpr $val =~ s/<[\d\D]+>//;;$valDas löscht alle unötigen Zeichen zwsichen price-type-name und suffix-price.

Gruß
FHEM 5.9(SVN) auf cubietruck mit HMUSB
FHEM 5.9(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.9(SVN) virtuell mit HMLAN | CUL