Seite 1 von 20

Benzinpreis Adapter

Verfasst: 03.03.2015, 17:06
von michihorn
Moin Gemeinde,
ich weiß zwar, den Benzinpreis Adapter gibt es offiziell nicht mehr. Meiner hat noch bis gestern funktioniert.
Wollte mal wissen, ob der Adapter noch bei jemanden funktioniert.
Gruß Michael

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 18:08
von MarioP
Hi.

Habe mir ein script geschrieben, was auf der ccu2 läuft.
Es ruft die Werte einer beliebigen Tankstelle ab.
Im dashui zeige ich mir dann die Werte an.

Du brauchst von der Webseite des Anbieters nur den Code deiner gewünschten Tankstelle.
Bei mir ist es "5506w" (Zeile 3 im Script).

CCU2-Script:

Code: Alles auswählen

        !Stand 24.12.2014

        var url = "http://www.benzinpreis-aktuell.de/widget/5506w";

        !hier ist die Abfrage mit CUxD
        dom.GetObject("CUxD.CUX2801005:1.CMD_SETS").State("wget -q -O - '"#url#"'");
        dom.GetObject("CUxD.CUX2801005:1.CMD_QUERY_RET").State(1);
        string sprit_xml = dom.GetObject("CUxD.CUX2801005:1.CMD_RETS").State();

        var pos = sprit_xml.Find('class="pa"');
        var len = sprit_xml.Length();
        string sprit_xml_n = sprit_xml.Substr(pos + 11, (len - pos - 11));
        string sprit_xml = sprit_xml_n;
        var pos = sprit_xml_n.Find('/div');
        string sprit_1 = sprit_xml_n.Substr(0, pos);
        var len = sprit_1.Length();
        string sprit_1_wert = sprit_1.Substr(0,5);
        string sprit_1_name = sprit_1.Substr(13, (len - 15));

        var pos = sprit_xml.Find('class="pa"');
        var len = sprit_xml.Length();
        string sprit_xml_n = sprit_xml.Substr(pos + 11, (len - pos - 11));
        string sprit_xml = sprit_xml_n;
        var pos = sprit_xml_n.Find('/div');
        string sprit_2 = sprit_xml_n.Substr(0, pos);
        var len = sprit_2.Length();
        string sprit_2_wert = sprit_2.Substr(0,5);
        string sprit_2_name = sprit_2.Substr(13, (len - 15));

        var pos = sprit_xml.Find('class="pa"');
        var len = sprit_xml.Length();
        string sprit_xml_n = sprit_xml.Substr(pos + 11, (len - pos - 11));
        string sprit_xml = sprit_xml_n;
        var pos = sprit_xml_n.Find('/div');
        string sprit_3 = sprit_xml_n.Substr(0, pos);
        var len = sprit_3.Length();
        string sprit_3_wert = sprit_3.Substr(0,5);
        string sprit_3_name = sprit_3.Substr(13, (len - 15));

        var e;
        object obj = dom.GetObject('Preis_Aktualisierung');
        e=obj.State(system.Date("%d.%m.%Y %H:%M:%S"));


        !WriteLine(sprit_1_name);
        !WriteLine(sprit_1_wert);

        !WriteLine(sprit_2_name);
        !WriteLine(sprit_2_wert);

        !WriteLine(sprit_3_name);
        !WriteLine(sprit_3_wert);

!---------------------------------------------------------------------------------------------------------------------------

        object o = dom.GetObject('Preis_Super_Benzin');
        var x = o.State(sprit_1_wert);
        dom.GetObject("CUxD.CUX2801004:1.LOGIT").State(o.Name()#";"#o.Value());

        object o = dom.GetObject('Preis_Super_E10');
        var x = o.State(sprit_2_wert);
        dom.GetObject("CUxD.CUX2801004:1.LOGIT").State(o.Name()#";"#o.Value());

        object o = dom.GetObject('Preis_Diesel');
        var x = o.State(sprit_3_wert);
        dom.GetObject("CUxD.CUX2801004:1.LOGIT").State(o.Name()#";"#o.Value());


        ! LOGIT=CUX2801004:1 Preis_Super_Benzin --> in CUxD eintragen
        ! LOGIT=CUX2801004:1 Preis_Super_E10 --> in CUxD eintragen
        ! LOGIT=CUX2801004:1 Preis_Diesel --> in CUxD eintragen
Viel Erfolg - Mario.

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 18:20
von michihorn
He, Danke
wie machst Du das mit dem Widget?
Grüße Michael

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 18:40
von Sprite01
Hatte bis gestern 13:45 Uhr einen funktionierenden sprit-Adapter.
Seit dem nicht mehr. Im Log taucht TypeError: Cannot set property 'latitude' of undefined auf.
War es das jetzt etwa mit dem Adapter ? Haben die was bei sparsamtanken.de an der Webseite geändert ?

War bisher das Lieblingswidget der Frau ... :roll:

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 18:43
von Homoran
Sprite01 hat geschrieben:Seit dem nicht mehr. Im Log taucht TypeError: Cannot set property 'latitude' of undefined auf.
War es das jetzt etwa mit dem Adapter ? Haben die was bei sparsamtanken.de an der Webseite geändert ?
Sieht so aus.
gabs ja schonmal.

Gruß
Rainer

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 19:17
von MarioP
Bilder sagen mehr als Worte
:)

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 19:20
von markuswil
Sorry, bei mir läuft das Script nicht durch. Läufts bei dir?

LG Markus

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 19:34
von MarioP
Achtet darauf, das unten im Script die Preise in den CUxD-Chart geschrieben werden.
Lösche im Script von unten bis zur Linie.
Variablen angelegt?

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 20:01
von michihorn
Ich habe die Variablen angelegt, CUxD-Highcharts müßte ich eben installieren, bekomme dann aber eine Fehlermeldung: CUxD Devlogfile nicht konfiguriert lade cuxd.ini

Ich gestehe, dass ich nicht weiss was CUxD ist, somit kann ich die Fehlermeldung nicht interpretieren.
Michael

Re: Benzinpreis Adapter

Verfasst: 03.03.2015, 20:08
von MarioP
Okkkkayyy :)

Anleitung kommt gleich.


Mario.