Clever-Tanken Benzinpreise funktioniert nicht . Preise werden nicht angezeigt!

Begonnen von sxx128, 16 April 2020, 08:31:04

Vorheriges Thema - Nächstes Thema

sxx128

Hallo zusammen,

irgendwie bin ich zu doof um die Spritpreise von meiner Lieblingstanke in FHEM zu intergrieren. Was ich gemacht habe ist folgendes:


attr Jet userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex readingOExpr
attr Jet enableControlSet 1
attr Jet reading01Name Diesel
attr Jet reading01Regex Diesel [\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
attr Jet reading02Name SuperE10
attr Jet reading02Regex Super E10 [\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
attr Jet reading03Name SuperE5
attr Jet reading03Regex Super E5 [\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
attr Jet readingOExpr $val =~ s/<[\d\D]+>//;;$val
attr Jet stateFormat E5: SuperE5 € / E10: SuperE10 € / D: Diesel €
attr Jet timeout 10
attr Jet verbose 2
attr Jet model clever_tanken_single_station


Spritpreise bekomme ich keine angezeigt.


Das ist das Listing meines Device Jet:



Internals:
BUSY       0
CFGFN     
DEF        https://www.clever-tanken.de/tankstelle_details/5060 600
FUUID      5e97f5b6-f33f-65e3-d668-46e3cedac0c35c68
Interval   600
   LASTSEND   1587017896.71426
   MainURL    https://www.clever-tanken.de/tankstelle_details/5060
   ModuleVersion 3.5.22 - 7.2.2020
   NAME       Jet
   NOTIFYDEV  global
   NR         245
   NTFY_ORDER 50-Jet
   STATE      E5: SuperE5 € / E10: SuperE10 € / D: Diesel €
   TRIGGERTIME 1587018500.78604
   TRIGGERTIME_FMT 2020-04-16 08:28: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_details/5060
   header     Cookie: csrftoken=1I9pFkc7zvUzlYKLAoYKFWpD5mtxmIXMOgB1jw5hI0nWyXmY6hFk9Mt9udGBR3Fs
   host       www.clever-tanken.de
   httpheader HTTP/1.1 200 OK
Date: Thu, 16 Apr 2020 06:18:16 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Cookie,Accept-Encoding
Content-Encoding: gzip
Content-Length: 24338
Content-Type: text/html; charset=utf-8
Set-Cookie: csrftoken=1I9pFkc7zvUzlYKLAoYKFWpD5mtxmIXMOgB1jw5hI0nWyXmY6hFk9Mt9udGBR3Fs; expires=Thu, 15-Apr-2021 06:18:16 GMT; Max-Age=31449600; Path=/
Connection: close
   httpversion 1.0
   hu_blocking 0
   hu_filecount 4
   hu_port    443
   hu_portSfx
   ignoreredirects 1
   loglevel   4
   path       /tankstelle_details/5060
   protocol   https
   redirects  0
   timeout    10
   url        https://www.clever-tanken.de/tankstelle_details/5060
   value      0
   CompiledRegexes:
   HTTPCookieHash:
     csrftoken;:
       Name       csrftoken
       Options    expires=Thu, 15-Apr-2021 06:18:16 GMT; Max-Age=31449600; Path=/
       Path       
       Value      1I9pFkc7zvUzlYKLAoYKFWpD5mtxmIXMOgB1jw5hI0nWyXmY6hFk9Mt9udGBR3Fs
   QUEUE:
   READINGS:
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.clever-tanken.de/tankstelle_details/5060
     value      0
   sslargs:
Attributes:
   enableControlSet 1
   model      clever_tanken_single_station
   reading01Name Diesel
   reading01Regex Diesel [\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
   reading02Name SuperE10
   reading02Regex Super E10 [\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
   reading03Name SuperE5
   reading03Regex Super E5 [\S\s\r\n]*?(\d.\d{2}[\S\s\r\n]*?[\d]+)
   readingOExpr $val =~ s/<[\d\D]+>//;$val
   room       Tankstelle
   stateFormat E5: SuperE5 € / E10: SuperE10 € / D: Diesel €
   timeout    10
   userattr   1 Jet attr enableControlSet reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex readingOExpr
   verbose    2



Was mach ich denn falsch?  Das war doch früher gefühlt bei meiner ersten Fhem Installation kein Problem. Würdet ihr mir bitte weiterhelfen ? Das wäre super nett. Ich weiss nicht was ich machen muss. Vielen Dank für eure Hilfe im Voraus.

Grüße
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

det.

  reading01Regex "current-price-1">(\d.\d{2}) z.B für Diesel sollte das Problem lösen....
LG
det.

Otto123

Alternativ:
FHEM uptodate ! und folgenden Code für die Raw Definition
define TankeTest HTTPMOD https://www.clever-tanken.de/tankstelle_details/5060 600
sleep 1
set TankeTest attrTemplate clever_tanken_single_station
sleep 2
set TankeTest reread


Ob man die sleep dazwischen wirklich braucht weiß ich nicht, wenn man jede Zeile einzeln ausführt nicht :)

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

yersinia

viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

sxx128

Zitat von: Otto123 am 16 April 2020, 09:47:10
Alternativ:
FHEM uptodate ! und folgenden Code für die Raw Definition
define TankeTest HTTPMOD https://www.clever-tanken.de/tankstelle_details/5060 600
sleep 1
set TankeTest attrTemplate clever_tanken_single_station
sleep 2
set TankeTest reread


Ob man die sleep dazwischen wirklich braucht weiß ich nicht, wenn man jede Zeile einzeln ausführt nicht :)

Gruß Otto

So hat es sofort funktioniert. Was ist denn jetzt der Unterschiedd? Kannst du mir das erklären.

Grüße
und vielen Dank
sxx128
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Otto123

Naja in dem aktuellen Template sind die aktuell richtigen Regex in den Readings hinterlegt. Die Webseiten ändern sich ja leider immer mal und man muss die eigene DEF anpassen. Dank attrTemplate kannst Du das leicht übernehmen was andere vorgedacht haben :)
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

en-trust

Könnte mann diese Prozedure mit attrTemplate  und reread nicht automatisieren ? Denn das ist schon mühsam.

Otto123

Wieso ist das mühsam? Es geht ja nur um die einmalige Definition eines Gerätes bzw. um die Anpassung bei Änderung.
Das reread in dem Fall war doch nur damit es sofort sichtbar ist.

Oder meinst Du: die Tankstellenseite ändert sich, jemand passt das Template an und beim nächsten update von FHEM werden auch alle Geräte mit Templates automatisch angefasst?
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

en-trust

Naja seit Monaten wurde meine Spritinfo nicht aktualisiert bis ich auf diesen Threat stieß. Meine Definition an sich bestand schon ewig und ging bis dato auch.

Christoph Morrison

Zitat von: en-trust am 16 April 2020, 13:21:56
Naja seit Monaten wurde meine Spritinfo nicht aktualisiert bis ich auf diesen Threat stieß. Meine Definition an sich bestand schon ewig und ging bis dato auch.

Es gibt leider nie die Garantie, dass eine API stabil bleibt, insbesondere nicht wenn man nicht für deren Nutzung zahlt. Twilight, Buienradar und andere Module haben das ja auch erlebt.