BenzinpreisMonitor

Begonnen von Phil__, 16 April 2014, 18:52:21

Vorheriges Thema - Nächstes Thema

masterpete23

Zitat von: Cruiser79 am 11 Januar 2016, 10:21:25
Mit der API habe ich bei mir einen Benzinmonitor schon seit längerer Zeit am laufen.


define Shell HTTPMOD https://creativecommons.tankerkoenig.de/json/detail.php?id=[TANKSTELLENID]&apikey=[APIKEY] 600
attr Shell userattr reading1Name reading1Regex reading2Name reading2Regex stateFormat
attr Shell reading1Name E10
attr Shell reading1Regex e10":([\d\.]+)
attr Shell reading2Name Diesel
attr Shell reading2Regex diesel":([\d\.]+)
attr Shell room Verkehr
attr Shell stateFormat {sprintf("E10 %.3f €, Diesel %.3f €", ReadingsVal($name,"E10",0), ReadingsVal($name,"Diesel",0))}


Mit einem Aufruf von https://creativecommons.tankerkoenig.de/json/list.php?lat=[LAT]&lng=[LON]&rad=4&sort=price&type=e10&apikey=[APIKEY] kann man sich die Tankstellen Id in seiner Nähe heraussuchen.
Danke läuft so

mrfloppy

Es gibt in Österreich auch eine Webseite wo man die Preise abfragen kann. Man bekommt aber nur die 5 günstigsten Tankstellen angezeigt.
http://www.spritpreisrechner.at/

Dazu hab ich gesucht ob es eine API gibt und so wie es aussieht gibt es keine.
Da es aber Android Apps gibt zum Spritabfragen, bin ich dann auf diese Seite gestoßen.

https://blog.muehlburger.at/2011/08/spritpreisrechner-at-apps-entwickeln/

Da wird mit HTTP-POST abgefragt.

Ich habe aber Null Ahnung wie ich das in fhem umsetzten sollte.
Ich würde mir gerne den Preis von meinen beliebtesten Tankstellen abfragen und auf einem Tablet anzeigen lassen.

Hat jemand der Profis Ahnung und kann helfen?

LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

Hauswart

Zitat von: mrfloppy am 14 Januar 2016, 19:07:58
Ich habe aber Null Ahnung wie ich das in fhem umsetzten sollte.
Ich würde mir gerne den Preis von meinen beliebtesten Tankstellen abfragen und auf einem Tablet anzeigen lassen.
Hallo Thomas, sendest du uns mal Links deiner Tankstellen? Oder wie wir selektieren müssen?

Gruss
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Cruiser79

Zitat von: mrfloppy am 14 Januar 2016, 19:07:58
Es gibt in Österreich auch eine Webseite wo man die Preise abfragen kann. Man bekommt aber nur die 5 günstigsten Tankstellen angezeigt.
http://www.spritpreisrechner.at/

Dazu hab ich gesucht ob es eine API gibt und so wie es aussieht gibt es keine.
Da es aber Android Apps gibt zum Spritabfragen, bin ich dann auf diese Seite gestoßen.

https://blog.muehlburger.at/2011/08/spritpreisrechner-at-apps-entwickeln/

Da wird mit HTTP-POST abgefragt.

Ich habe aber Null Ahnung wie ich das in fhem umsetzten sollte.
Ich würde mir gerne den Preis von meinen beliebtesten Tankstellen abfragen und auf einem Tablet anzeigen lassen.

Hat jemand der Profis Ahnung und kann helfen?

LG Thomas

"meinen beliebtesten Tankstellen" hört sich jetzt aber nicht so an, als ob die die Liste, die du zurück bekommst, einfach nur korrekt darstellen willst?
Ansonsten wäre ja der Ansatz mit HTTPMOD eine Abfrage mit deiner Location zu machen. Daraufhin bekommst du die Tankstellen aus diesem Bereich. HTTPMOD unterstützt in der neuesten Version (noch nicht per update verteilt) auch das parsen von JSON, was in diesem Fall dann hilfreich wäre. Damit dann alle Tankstellenpreise und -namen heraus extrahieren. Die Readings von HTTPMOD könntest du dann irgendwo darstellen lassen (Floorplan, direkt im State, usw.)
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

mrfloppy

Zitat von: Cruiser79 am 15 Januar 2016, 12:08:06
"meinen beliebtesten Tankstellen" hört sich jetzt aber nicht so an, als ob die die Liste, die du zurück bekommst, einfach nur korrekt darstellen willst?

Ich fahre eigentlich meist Tankstellen die in meinem Umkreis von daheim sind und am Arbeitsweg.
Von diesen würde ich gerne den Benzin/Deiselpreis im FTUI anzeigen lassen.
Je nachdem richte ich mir den weg zur Arbeit um dort zu tanken.

Httputils hab ich schon mal reingeschaut, aber da das ja keine Api ist auf der Spritpreisseite, seh ich mich da nicht ganz raus.

ZitatHallo Thomas, sendest du uns mal Links deiner Tankstellen? Oder wie wir selektieren müssen?

Avanti - Julius Ficker Straße 77 , 1210 Wien
Avanti - Leopoldauer Straße 131 , 1220 Wien
BP - Leopoldauerstr.7 - 2201 Gerasdorf

LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

RobertD

#335
Für alle die Probleme mit Spritsorten haben die ein Leerzeichen beinhalten.

Hier die Lösung:

Setzt einfach ein " ' " vor und nach dem Namen = 'ARAL Ultimate 102'

readingsName_Diesel Diesel
readingsName_Ultimate102 Ultimate102
readingsRegex_Diesel <div class="fuel-price-type"><span>Diesel[^0-9]+([0-9\.]+)
readingsRegex_Ultimate102 <div class="fuel-price-type"><span>'ARAL Ultimate 102'[^0-9]+([0-9\.]+)
room Benzinpreise
stateFormat AralPLZ ultimate102: Ultimate102, diesel: Diesel
userattr readingsName_Diesel readingsName_Ultimate102 readingsRegex_Diesel readingsRegex_Ultimate102 stateFormat


Nachtrag: Komisch wenn man nun die ' ' entfernt funktioniert das schreiben in ein Logfile.

Gruß Robert

Warlock_2016

Hallo Zusammen

ich hab den Benzinpreis Monitor im Einsatz. Es kommen auch Werte heraus.

Hat jemand Erfahrung wie man die die am besten in Table UI anzeigen lassen kann?

Man braucht hier ja das Data-Device und den data-get. Hat jemand mit Erfahrung?


Gruss, Markus


</td>
            <td>
                <div type="label" device="bft" data-get="Diesel" data-unit="€" style="font-size:x-large;color:#aa6900;"></div>
                <div data-type="label" class="cell" >Diesel</div>
            </td>
       <td>
                <div type="label" device="bft" data-get="SuperE5" data-unit="€" style="font-size:x-large;color:#aa6900;"></div>
                <div data-type="label" class="cell" >Super</div>
       </td>
        </tr>

no_Legend

Zitat von: Warlock_2016 am 15 Februar 2016, 17:33:23
Hallo Zusammen

ich hab den Benzinpreis Monitor im Einsatz. Es kommen auch Werte heraus.

Hat jemand Erfahrung wie man die die am besten in Table UI anzeigen lassen kann?

Man braucht hier ja das Data-Device und den data-get. Hat jemand mit Erfahrung?


Gruss, Markus


</td>
            <td>
                <div type="label" device="bft" data-get="Diesel" data-unit="€" style="font-size:x-large;color:#aa6900;"></div>
                <div data-type="label" class="cell" >Diesel</div>
            </td>
       <td>
                <div type="label" device="bft" data-get="SuperE5" data-unit="€" style="font-size:x-large;color:#aa6900;"></div>
                <div data-type="label" class="cell" >Super</div>
       </td>
        </tr>

Probier mal so abzufragen:

<div data-type="label" data-device="bft"
                        data-get="SuperE5"
                        style="color:#aa6900"
                        class="right" >


Lese so den Status eine Dummies in der tabletui aus.

Gruß Robert
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Warlock_2016

Vielen Dank, das war es :)

no_Legend

Hi

kann mir keine helfen, wie ich bei Shell oder Aral die Preise bei clever-tanken für superplus abfragen kann?

Hab es mal bei Shell hiermit Probiert:


define SpritMon.Hedd.Shell HTTPMOD http://www.clever-tanken.de/tankstelle_details/1221 3600
attr SpritMon.Hedd.Shell userattr readingsName_SuperPlus readingsRegex_SuperPlus
attr SpritMon.Hedd.Shell readingsName_SuperPlus SuperPlus
attr SpritMon.Hedd.Shell readingsRegex_SuperPlus <span>Shell V-Power Racing</span>[^0-9]+([0-9\.]+)
attr SpritMon.Hedd.Shell room 9.05_SpritMon
attr SpritMon.Hedd.Shell timeout 5
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

mahowi

Da ist wohl ein Fehler auf der Seite Deiner Tankstelle. Der <span>-Tag wird nicht geschlossen, stattdessen steht da <span>Shell V-Power Racing</div>

Sollte also mit attr SpritMon.Hedd.Shell readingsRegex_SuperPlus <span>Shell V-Power Racing</div>[^0-9]+([0-9\.]+) funktionieren.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

no_Legend

Zitat von: mahowi am 22 Februar 2016, 23:09:26
Da ist wohl ein Fehler auf der Seite Deiner Tankstelle. Der <span>-Tag wird nicht geschlossen, stattdessen steht da <span>Shell V-Power Racing</div>

Sollte also mit attr SpritMon.Hedd.Shell readingsRegex_SuperPlus <span>Shell V-Power Racing</div>[^0-9]+([0-9\.]+) funktionieren.

Super, danke geht nun!
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Intruder1956

#342
hallo,
ich habe am dem 06.03.2016 ein Update durchgeführt und da war auch ein Update für 98_HTTPMOD.pm dabei.
ich habe seit dem beim Neustart von Fhem folgenden Fehler (Meldungen)

2016.03.06 11:38:42 3: TankeDierdorf: Defined with URL http://www.clever-tanken.de/tankstelle_details/46511 and interval 1800
2016.03.06 11:38:42 3: TankeDierdorf: the attribute readingsExpr_Diesel should no longer be used. Please use reading01Expr syntax instead
2016.03.06 11:38:42 3: TankeDierdorf: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.06 11:38:42 3: TankeDierdorf: the attribute readingsExpr_Super should no longer be used. Please use reading01Expr syntax instead
2016.03.06 11:38:42 3: TankeDierdorf: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.06 11:38:42 3: TankeDierdorf: the attribute readingsName_Diesel should no longer be used. Please use reading01Name syntax instead
2016.03.06 11:38:42 3: TankeDierdorf: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.06 11:38:42 3: TankeDierdorf: the attribute readingsName_Super should no longer be used. Please use reading01Name syntax instead
2016.03.06 11:38:42 3: TankeDierdorf: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.06 11:38:42 3: TankeDierdorf: the attribute readingsRegex_Diesel should no longer be used. Please use reading01Regex syntax instead
2016.03.06 11:38:42 3: TankeDierdorf: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.06 11:38:42 3: TankeDierdorf: the attribute readingsRegex_Super should no longer be used. Please use reading01Regex syntax instead
2016.03.06 11:38:42 3: TankeDierdorf: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration


meine readingsRegEx_Diesel
<div class="fuel-price-type"><span>Diesel[^0-9]+([0-9\.]+)

stimmt noch mit den Readings überein.

Wo ist der Fehler ???

Gruß Werner

PS. Es funktioniert aber noch
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

PeMue

RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Intruder1956

@PeMue,

danke habe es umgestellt mit attr und set

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,