Günstigste Tankstelle in der Umgebung

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
ldittmar
Beiträge: 467
Registriert: 07.03.2015, 12:21
System: CCU
Danksagung erhalten: 1 Mal

Re: ALTERNATIVES SKRIPT FÜR EINZELNE TANKSTELLEN

Beitrag von ldittmar » 12.04.2015, 10:35

MarcMatic hat geschrieben:Guten Morgen!
Da ich das Auslesen via Lat/Long & Radius persönlich etwas ungenau finde bzw. "schwammig" (es könnte sich z.B. mal etwas in der Art der Sortierung oder Darstellung durch die API ändern) , habe ich das Skript als Basis genommen und eine Variante erstellt mit der man gezielt von einer bestimmten Tankstelle alle Preise abfragen kann. So ist man sicher, dass die abgerufenen Daten definitiv von genau dieser einen Tankstelle kommen (das ist in meinen Augen die "robustere" Abfrage der Daten). Ich verwende dabei die detail.php Seite anstatt der im Originalskript verwendeten list.php.
Danke MarcMatic. Es ist eine gute alternative für die, die gerne immer die gleiche Tankstelle anfahren. Ich persönlich gehe dahin wo es günstiger ist. Wir haben hier im Umkreis 4 Tankstellen die ständig am kämpfen sind. Naja... und wenn die API verändert wird (egal wie) muss man die Skripte entsprechend anpassen. :wink:
derAuge hat geschrieben:Also wollte ich die Start/Ende-Positionen der Tankstellen herausfinden um danach die Adressen / Preise zu ermitteln
Da komme ich leider nicht wirklich weiter.
Hat jemand eine einfachere Idee um die Positionen heraus zu finden?
Hi Auge. Du kannst dir x beliebige Tankstellen-Daten holen. Dazu einfach diese eine stelle im Code anpassen

Code: Alles auswählen

!-----------------------------------------------------------------------------
! Tankstelle 2
!-----------------------------------------------------------------------------

posStart = "},{";
posEnd = "]}";
substring = substring.Substr(substring.Find(posStart) + posStart.Length(), substring.Find(posEnd));

... und jetzt wird immer wenn du...

Code: Alles auswählen

!-----------------------------------------------------------------------------
! Tankstelle 3
!-----------------------------------------------------------------------------

substring = substring.Substr(substring.Find(posStart) + posStart.Length(), substring.Find(posEnd));
...eingibst, die nächste Tankstelle vorne angezeigt. :wink:
Zuletzt geändert von ldittmar am 12.04.2015, 10:55, insgesamt 1-mal geändert.
Download: WebMatic 2.2.3. Für den Kauf von HM Geräte zur schnellere Weiterentwicklung von Webmatic, werden auch gerne SPENDEN entgegen genommen. Danke! Und hier geht es zur WebMatic Homepage

MarcMatic
Beiträge: 322
Registriert: 02.03.2014, 10:06
Danksagung erhalten: 2 Mal

Re: Günstigste Tankstelle in der Umgebung

Beitrag von MarcMatic » 12.04.2015, 10:46

Beide Wege führen zum Ziel. Persönlich mag ich es einfach lieber, wenn die Daten ganz eindeutig abgefragt werden.

Bei uns sind es 2 Tankstellen, daher hab ich dann einfach das Skript drei Mal laufen lassen. Die Werte der ccu Variablen lasse ich dann in einem weiteren Skript vergleichen, rechne noch mögliche Rabatte durch Adac Karte mit rein und lasse damit dann auf der led Anzeige und der App darstellen, welche von den Tankstellen jetzt die günstigste ist.

Wenn es 4 Tankstellen wären, dann würde ich das halt einfach 4x laufen lassen. Bei deinem Skript ist halt vorteilhaft, dass man sich keine IDs raussuchen muss.

Benutzeravatar
ldittmar
Beiträge: 467
Registriert: 07.03.2015, 12:21
System: CCU
Danksagung erhalten: 1 Mal

Re: Günstigste Tankstelle in der Umgebung

Beitrag von ldittmar » 12.04.2015, 11:02

MarcMatic hat geschrieben:Beide Wege führen zum Ziel. Persönlich mag ich es einfach lieber, wenn die Daten ganz eindeutig abgefragt werden.

Bei uns sind es 2 Tankstellen, daher hab ich dann einfach das Skript drei Mal laufen lassen. Die Werte der ccu Variablen lasse ich dann in einem weiteren Skript vergleichen, rechne noch mögliche Rabatte durch Adac Karte mit rein und lasse damit dann auf der led Anzeige und der App darstellen, welche von den Tankstellen jetzt die günstigste ist.

Wenn es 4 Tankstellen wären, dann würde ich das halt einfach 4x laufen lassen. Bei deinem Skript ist halt vorteilhaft, dass man sich keine IDs raussuchen muss.
Man könnte auch eine dritte Variante machen und zu den günstigsten Tankstellen jeweils die IDs holen und damit alle andere Daten ziehen (Diesel, e5, Öfnungszeiten usw...) :wink: Also beide Skripte mischen...

Ich habe mein Skript ein klein wenig benutzerfreundlicher gemacht... jetzt kümmere ich mich um mein neues Skript-Projekt. :wink:
Download: WebMatic 2.2.3. Für den Kauf von HM Geräte zur schnellere Weiterentwicklung von Webmatic, werden auch gerne SPENDEN entgegen genommen. Danke! Und hier geht es zur WebMatic Homepage

MarcMatic
Beiträge: 322
Registriert: 02.03.2014, 10:06
Danksagung erhalten: 2 Mal

Re: Günstigste Tankstelle in der Umgebung

Beitrag von MarcMatic » 12.04.2015, 11:03

Lass hören... Was wird es? ;)

Benutzeravatar
derAuge
Beiträge: 94
Registriert: 02.02.2014, 09:58
Wohnort: Münsterland

Re: Günstigste Tankstelle in der Umgebung

Beitrag von derAuge » 12.04.2015, 11:10

MarcMatic hat geschrieben:Schau dir mal mein alternatives Script an (siehe Post vor deinem). Das ist in meinen deutlichen einfacher und eindeutiger, weil man die Tankstellen gezielter abfragen kann via ID. Das Skript dann einfach so oft in ein Programm als einzelne DANN Schritte einfügen wie man es eben benötigt (also ein Skript pro Tankstelle).

:-)

Dein Script habe ich schon eingebaut.
Das passt super als Referenz-Preis
mit dem anderen Script möchte ich vergleichswerte aus der umgebeung dokumentieren
CCU2 # 3xHM-CC-RT-DN # 1x HM-CC-TC mit HM-CC-VD # HM-WDS30-T-O # 2x HM-LC-Sw2-FM # HM-Sen-MDIR-O-2 # HM-Sen-MDIR # HQ WebUI Version 2.5.1 # CUxD-V0.67 # CUxD-Highcharts 1.4.3 # HCS 0.0.3.2 # CCU.IO 1.0.47 # DashUI 0.9beta121

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Günstigste Tankstelle in der Umgebung

Beitrag von Homoran » 12.04.2015, 11:16

Ich werde mir das auch beizeiten mal näher ansehen.
Aber wie bereits erwähnt gibt es zwei verschiedene Anwendungsfälle:
Wenn man, wie hier in Köln im Umkreis von 5 km bis zu 40 Tankstellen hat, deren Preisunterschied mitunter 20ct. Beträgt würde ich schon gerne die günstigste anfahren.
Wenn ich in vernünftiger Entfernung eh nur zwei Tankstellen habe möchte ich wahrscheinlich nur den günstigsten Zeitpunkt abpassen
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

MarcMatic
Beiträge: 322
Registriert: 02.03.2014, 10:06
Danksagung erhalten: 2 Mal

Re: Günstigste Tankstelle in der Umgebung

Beitrag von MarcMatic » 12.04.2015, 14:22

Ich bin aus Hürth. Da ergibt sich der Sinn meines Skriptes z.B. dadurch, dass ich auf meinem üblichen Fahrtweg an zwei "Haupttankstellen" vorbei komme (Shell und Jet). Bei mir geht es dann in dem Moment nicht darum unbedingt dann zu tanken, wenn es mega billig ist sondern wenn ich Tanken muss und das Haus verlasse, ich beim Blick auf die Anzeige (16fach LED) erkenne, ob ich für E10 bzw. Diesel auf dem Weg bei der einen oder anderen halte. Also eine Entscheidungshilfe wenn man generell tanken muss und man einfach nur die günstigere Alternative haben will. Da ich auch kein Tablet verwende reicht mir das so reduziert aus. Wenn ich wirklich billig tanken will, dann informiert mich eh eine App auf dem iPhone über den "Preisalarm".

Am Ende alles Spielerei, aber hey... auch das ist HomeMatic ;-)

oreider
Beiträge: 173
Registriert: 28.12.2013, 16:23
Hat sich bedankt: 4 Mal

Re: Günstigste Tankstelle in der Umgebung

Beitrag von oreider » 25.04.2015, 20:20

Hallo,

das Skript funktioniert wunderbar bei mir.

Leider habe ich gerade diese Mail bekommen und kann nicht wirklich was damit anfangen...
Könnt ihr mir bitte weiter helfen.

Danke

Tom



Hallo,

gibt es einen bestimmten Grund, warum Sie statt GET- PATCH-Requests verwenden?

Das funktioniert zwar im Moment - kann sich aber ändern.

-> Bitte ändern Sie den Aufruf Ihrers Clients (oder schicken Sie mir eine zwingende Begründung, warum das so gemacht werden muss)


Gruß,
Martin Kurz

(Tankerkönig)

infor.tankerkoenig
Beiträge: 2
Registriert: 26.04.2015, 00:50

Re: Günstigste Tankstelle in der Umgebung

Beitrag von infor.tankerkoenig » 26.04.2015, 01:15

Leider habe ich gerade diese Mail bekommen und kann nicht wirklich was damit anfangen...
Könnt ihr mir bitte weiter helfen.


Keine Panik, hier ist der Tankerkoenig-Support!
Erst mal: freut uns sehr, dass das mit der Homematic klappt :-) Der Service ist genau dafür da, dass Leute damit rumexperimentieren und neue Anwendungsmöglichkeiten entdecken!

Technischer Hintergrund der Mail:
Wir haben in unseren Logfiles gesehen, dass der Service von verschiedenen Rechnern per "PATCH"-http-Methode abgefragt wird. Das ist extrem ungewöhnlich, da diese Methode eigentlich zum Update von Daten auf dem Server benutzt werden soll - hier wird aber ja nur abgefragt.

Kräftiges googlen hat uns dann auf dieses Forum gebracht :-)

Das Verhalten unseres Servers ist für die PATCH-Methode nicht garantiert und könnte sich ändern - das haben wir zwar nicht vor, aber es könnte ja auch ungewollt durch einen Softwareupdate auf Serverseite passieren.

Deshalb die Bitte, anstatt der "PATCH", die "GET"-Methode zu verwenden.
Das geht beim curl-Aufruf so, dass das "-X PATCH" rausgenommen wird und durch ein "-X GET" ersetzt wird. Wir haben keine Homematic da, können es also nicht im Detail testen, aber die entprechende Zeile im Skript sollte dann so aussehen:

Code: Alles auswählen

string cmd = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl --trace trace.txt -k -X GET -H \"Content-Type:application/json\" -G " + params + " " + tankenUrl;
Könnte das jemand, der eine Homematic hat testen?

Wir sind dankbar für jedes Feedback. Besonders wertvoll sind für uns auch Verbesserungsvorschläge und Erweiterungswünsche. Wenn jemand eine Idee hat, was unbedingt ins API rein soll: her damit, am besten per mail an info@tankerkoenig.de!

Wir wünschen weiter viel Spaß mit der Tankerkönig-API!

MistyReblaus
Beiträge: 180
Registriert: 15.09.2014, 22:25

Re: Günstigste Tankstelle in der Umgebung

Beitrag von MistyReblaus » 26.04.2015, 02:11

Hi,

habe ich gerade getestet, funktioniert auch mit GET :-)

Grüße, jens

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“