Keine Werte von Clever Tanken

Begonnen von juniorfux94, 25 April 2019, 10:21:58

Vorheriges Thema - Nächstes Thema

qlaus

Hallo Uron,
ich denke nicht, dass etwas falsch ist. Einfach mal den timeout erhöhen auf z.B. 15, dann hat es bei mir wieder funktioniert.

Gruß
qlaus
Raspberry Pi 3, , Sonoff, Shelly
Raspberry Pi 3, , 1-Wire
Raspberry Pi 3, , 1-Wire, Sonoff, Shelly

uron

So recht will es noch nicht werden.
Ich bin mittlerweile bei einem Timeout von 50s, dennoch hatte ich in den letzten 2 Stunden 5 Timeouts.
Es ist zwar etwas besser geworden, aber noch nicht gut!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

moonsorrox

#62
bei mir steht das Log ebenfalls voll mit Fehler timout  :-\
Egal ob nun http mit Port 80 oder https mit 443
habe das timeout mal auf 20 erhöht
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

harryman

Hi,
ich beobachte auch schon länger, dass immer wieder Timeouts von clever-tanken im Log stehen - Tendenz steigend.
Habe den Timeout hochgesetzt, von anderen Geräten per wget probiert - es wurde nicht besser.
Meine Vermutung ist, dass zu viel Traffic auf der Website ist, deren Server zu schwach sind oder sonst irgendetwas in die Richtung. Das sind aber alles Faktoren, die ich nicht beeinflussen kann.

Letzendlich habe ich mich nach Alternativen umgeschaut und bin bei https://creativecommons.tankerkoenig.de/ fündig geworden.
Nachteilig beim Tankerkönig ist, dass nur die Super E5, Super E10 und Diesel Preise angeboten werden. Da ich aber nur Benziner fahre und nur E5 tanke, stört mich das nicht.
Als Vorteil sehe ich, dass der Response als JSON-Array kommt. Das ist natürlich viel smarter, als wenn man eine ganze Webseite parsen muss, die sich nach dem nächsten Relaunch evtl. wieder geändert hat.

Also:
Dann habe ich mir vom Tankerkönig so einen API-Key per Mail zusenden lassen und angefangen, alles für eine Tankstelle umzustellen.

Ich habe hier mal die wesentlichen Passagen Alt vs. Neu gegenübergestellt.

Def Alt:

  DEF        https://www.clever-tanken.de/tankstelle_details/553 600



Def Neu:

  DEF        https://creativecommons.tankerkoenig.de/json/detail.php?id=5506231b-d001-4238-6d89-8ccc7cf069e2&apikey=<<api-key>> 600


Readings / Attributes Alt:

READINGS:
     2021-12-06 16:39:49   SuperE5         1.62
Attributes:
   reading01Name SuperE5
   reading01Regex <span id="current-price-3">(\d.\d\d)
   stateFormat {sprintf("Super: %.2f €",ReadingsVal("ts_ARAL_NK","SuperE5",0))}
   userattr   reading01Name reading01Regex


Readings / Attributes Neu:

READINGS:
     2021-12-06 16:52:12   Offen           true
     2021-12-06 16:52:12   SuperE5         1.59
Attributes:
   getHeader1 Content-Type: application/json
   getHeader2 Accept: */*
   reading01Format %.2f
   reading01JSON station_e5
   reading01Name SuperE5
   reading02JSON station_isOpen
   reading02Name Offen
   stateFormat {sprintf("Super: %.2f €",ReadingsVal("ts_ELO_W","SuperE5",0))}
   userattr   getHeader1 getHeader2 reading01Format reading01JSON reading01Name reading02JSON reading02Name


Ok, ich habe jetzt ein Reading mehr (Offen). Ist eigentlich Spielerei, denn die Öffnungszeiten meiner einschlägigen Tankstellen kenne ist. Ich habe es aber drin gelassen, um ein Beispiel mit zwei Readings zu zeigen.

Falls mein Beitrag als Off-Topic eingestuft wird, da es nicht unbedingt um eine Lösung für clever-tanken geht, dann mögen ihn die Admins löschen / verschieben.

Gruß Harry
2x RaspPi und viel EnOcean

uron

#64
Sehr guter Hinweis mit "Tankerkönig". Ich kann die Werte laden, allein das Attribut
stateFormat {sprintf("Super: %.2f €",ReadingsVal("ts_ELO_W","SuperE5",0))} erschließt sich mir nicht.
Auch durch googeln und in der commandref finde ich keinen Hinweis auf die Syntax.
Muss dieses stateFormat für jedes Reading (Spritsorte) einzeln gesetzt werden und wie setzt es sich zusammen?
Ich möchte die Anzeige mit 3 Kommastellen ausweisen!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

moonsorrox

#65
wenn du das mit den 3 Kommastellen meinst, wäre es ja "reading01Format" aber es wird natürlich vor der letzten 9 kein Komma gesetzt
reading01Format %.3f

Bei mir wird nur im Header nichts angezeigt bleibt immer bei 0.00 € und ich suche auch schon eine Weile
Super: 0.00 €

Ich habe das "ELO_W" natürlich ersetzt durch meine Tanstelle, aber ich weiß nicht wie das "W" zustande kommt in der Tankstelle von Harry finde ich keinen Wert "W"

Ich probiere mich gerade daran im Header jeweils Diesel und Super E5 anzuzeigen was wesentlich übersichtlicher wird.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

uron

Zitat von: moonsorrox am 07 Dezember 2021, 16:35:37
Ich habe das "ELO_W" natürlich ersetzt durch meine Tanstelle, aber ich weiß nicht wie das "W" zustande kommt in der Tankstelle von Harry finde ich keinen Wert "W"
Ich probiere mich gerade daran im Header jeweils Diesel und Super E5 anzuzeigen was wesentlich übersichtlicher wird.

Merkwürdierweise werden mir mittlerweile die 2 von mir gesuchten Readings (SuperE10 + Diesel) mit 3 Nachkommestellen angezeigt  :)

Ich hatte dann auch versucht, die beiden Spritsorten im Header (=State?) anzuzeigen (sportlicher Ehrgeiz), aber mittlerweile aufgegeben, weil es mir eigentlich nicht so wichtig ist.
Ich nutze die Preise für mein FTUI, da wiederum habe ich das Problem, dass mit die Readings "SuperE10" und "Diesel" dort nicht angezeigt werden !?
<div data-type="label" data-device="Preise_Tankstelle_Aral" data-get="Diesel" "class="big" data-pre-text="Dies:" class="small" data-substitution="s/\./,/g"></div>
In meiner FTUI-Altversion mit clever-tanken hat das genau so funktioniert!

Bin ich auf dem falschen Weg?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

Bracew

Hallo,

ich hatte am Samstag den timeout auf 20 gesetzt, bei gemischter http..80 bzw. https..443 Konfiguration.
Zunächst waren noch Fehler im Log, seit gestern 16:22 aber nicht mehr.
Die Server-Probleme scheinen, zumindest vorerst, gelöst worden zu sein.
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

harryman

Zitat von: uron am 07 Dezember 2021, 13:46:50
stateFormat {sprintf("Super: %.2f €",ReadingsVal("ts_ELO_W","SuperE5",0))} erschließt sich mir nicht.

Ergibt im STATE z.B. "Super: 1.62 €"
sprintf mit dem Pattern  %.2f formatiert das Reading SuperE5 des Devices ts_ELO_W mit 2 Kommastellen

Gruß Harry
2x RaspPi und viel EnOcean

harryman

Zitat von: uron am 07 Dezember 2021, 13:46:50
Ich möchte die Anzeige mit 3 Kommastellen ausweisen!

Dann kannst du reading01Format %.3f ganz weg lassen. Der Tankerkönig liefert den Wert ja von Haus aus mit 3 Kommastellen.


Gruß Harry
2x RaspPi und viel EnOcean

harryman

Zitat von: moonsorrox am 07 Dezember 2021, 16:35:37

Ich habe das "ELO_W" natürlich ersetzt durch meine Tanstelle, aber ich weiß nicht wie das "W" zustande kommt in der Tankstelle von Harry finde ich keinen Wert "W"


Das W gehört mit zu meinem Device-Namen.
ts_ELO_W heißt in Langform: Tankstelle_ELO_Weiher
ts_ARAL_ER heißt bei mir Tankstelle_ARAL_Erlangen

So hat Jeder seine eigene Notation...

Gruß Harry
2x RaspPi und viel EnOcean

uron

Zitat von: harryman am 07 Dezember 2021, 17:46:52
Dann kannst du reading01Format %.3f ganz weg lassen. Der Tankerkönig liefert den Wert ja von Haus aus mit 3 Kommastellen.
Genau so hatte ich es gemacht und wie oben beschrieben, das gewünschte Format erhalten.
Danke für die Erläuterung zum stateFormat.
Hoffentlich letzte Frage:
Worin unterscheiden sich beide Readings (z.B. "Diesel" bei clever-tanken und Tankerkönig) oder warum zeigt mir mein FTUI das Reading des Tankerkönigs nicht an (s.o.)?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

moonsorrox

#72
Zitat von: harryman am 07 Dezember 2021, 17:50:25
Das W gehört mit zu meinem Device-Namen.
ts_ELO_W heißt in Langform: Tankstelle_ELO_Weiher
ts_ARAL_ER heißt bei mir Tankstelle_ARAL_Erlangen

So hat Jeder seine eigene Notation...

Gruß Harry

das habe ich aus den Daten von Tankerkönig noch nicht raus lesen können deshlb steht bei mir da noch nichts drin.
Ich habe da folgendes drin stehen, aber es reicht nicht, da fehlt noch was
"brand": "Supermarkt-Tankstelle"

ich habe mir die JSON einer Tankstelle erst einmal geholt, aber diese Abkürzungen von dir gibt es da nicht drin.

Sieht so aus die JSON:
{
  "ok": true,
  "license": "CC BY 4.0 -  https://creativecommons.tankerkoenig.de",
  "data": "MTS-K",
  "status": "ok",
  "station": {
    "id": "51d4b637-a095-1aa0-e100-80009459e03a",
    "name": "Supermarkt-Tankstelle GARBSEN HAVELSER STR. 10",
    "brand": "Supermarkt-Tankstelle",
    "street": "HAVELSER STR.",
    "houseNumber": "10",
    "postCode": 30823,
    "place": "GARBSEN",
    "openingTimes": [
      {
        "text": "täglich ausser Sonn- und Feiertagen",
        "start": "07:30:00",
        "end": "20:30:00"
      }
    ],
    "overrides": [],
    "wholeDay": false,
    "isOpen": true,
    "e5": 1.639,
    "e10": 1.579,
    "diesel": 1.469,
    "lat": 52.4258,
    "lng": 9.59752,
    "state": "deNI"
  }
}



EDIT:// so habe ich es hinbekommen
{sprintf("Diesel %.2f €\n SuperE5 %.2f €", ReadingsVal($name,"Diesel",0), ReadingsVal($name,"SuperE5",0))}
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

harryman

Das JSON ist ja ein mehrstufiges Array.
Die Attribute e5, e10 und diesel sind unterhalb von station angeordnet.
Solche Unterebenen werden im Namen mit Underscore verbunden.

Somit ergibt sich z.B.:

reading01JSON station_e5
reading01Name SuperE5
reading02JSON station_e10
reading02Name SuperE10
reading03JSON station_diesel
reading03Name Diesel



Gruß Harry
2x RaspPi und viel EnOcean

uron

Danke für die Infos, mit JSON hatte ich bislang nichts zu tun, glaube aber, da komme ich nicht mehr lange drumherum.
Meine Versuche das Reading imm FTUI Widget Chart einzubauen sind allesamt fehlgeschlagen. Mittlerweile weiß ich noch nicht einmal, ob das Widget_Chart überhaupt damit umgehen kann. Das werde ich nun an anderer Stelle diskutieren.

Danke Harry für die Unterstützung!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker