Hauptmenü

BenzinpreisMonitor

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

Vorheriges Thema - Nächstes Thema

Schiltkamp

Ich hoffe es findet sich jemand mit Mitgefühl :)

Lage: FHEM auf FB 7390 mit CUNO.

Habe versucht die Zeile mit HTTPMOD einzugeben, bekomme aber immer eine Fehlermeldung.
Vielleicht erklärt ihr mir, was ich falsch mache.
Ich arbeite sonst nur mit Sensoren und Aktoren.

Herzlichen Dank und einen schönen Sonntag

PeMue

Hallo Schiltkamp,

der Befehl müsste so heißen:
define <name> HTTMPOD <webseite> <intervall>
bzw. als Beispiel von mir:
define SpritHagelauer HTTPMOD http://www.clever-tanken.de/tankstelle_details/30437 3600

Aber das ist erst der Anfang  ;)

Gruß 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

Puschel74

#167
Hallo,

ZitatVielleicht erklärt ihr mir, was ich falsch mache.
Kurz und knapp:
http://forum.fhem.de/index.php/topic,16311.0.html

Und nun lang:
ZitatHabe versucht die Zeile mit HTTPMOD einzugeben, bekomme aber immer eine Fehlermeldung.
Ok, und wir sollen jetzt raten welche das ist?

Dann geb ich mal einen Tipp ab - ich weiß es nicht  ;)

Man könnte dir etwas besser helfen wenn du uns an deinem Wissen teilhaben lässt und uns die Fehlermeldung zeigst.
Aber bitte nicht etwas in die Richtung -
Zitatbla undefined oder so ähnlich irgendwie
.

Grüße

Eith: @PeMue - ich gehe davon aus das er bis zum define gelesen hat und das evtl. noch richtig hinbekommen hat  8)
Dennoch wäre es einfacher wenn wir wüssten welche! Fehlermeldung er bekommen hat.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Schiltkamp

Danke für die schnelle Hilfe.

Ich glaube mir haben Updates gefehlt.

Geben bald neuen Status.

Schiltkamp

Hat alles gut geklappt.
Nun habe ich meine zwei Dieselpreise und leider 2 verschiedene Plot.
Würde sie gerne in einem Plot sehen.
Freue mich jetzt schon wieder über eure Hilfe. Es ist toll, wenn man
so hilfsbereite Menschen trifft.

define Dieselpreis HTTPMOD http://www.clever-tanken.de/tankstelle_details/956 1800
attr Dieselpreis group Treibstoff
attr Dieselpreis readingsName_Diesel Diesel
attr Dieselpreis readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Dieselpreis room Benzinpreis
attr Dieselpreis stateFormat Liter_Diesel: Diesel
attr Dieselpreis timeout 5
define SVG_0 SVG FileLog_HMS100TFK_774c:fht80tf:CURRENT

define FileLog_Dieselpreis FileLog ./log/Dieselpreis-%Y.log Dieselpreis
attr FileLog_Dieselpreis logtype text
attr FileLog_Dieselpreis room Benzinpreis
define SVG_FileLog_Dieselpreis_1 SVG FileLog_Dieselpreis:SVG_FileLog_Dieselpreis_1:CURRENT

define Dieselpreis2 HTTPMOD http://www.clever-tanken.de/tankstelle_details/35152 1800
attr Dieselpreis2 group Treibstoff
attr Dieselpreis2 readingsName_Diesel Diesel
attr Dieselpreis2 readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Dieselpreis2 room Benzinpreis
attr Dieselpreis2 stateFormat Liter_Diesel: Diesel
attr Dieselpreis2 timeout 5

define FileLog_Dieselpreis2 FileLog ./log/Dieselpreis2-%Y.log Dieselpreis2
attr FileLog_Dieselpreis2 logtype text
attr FileLog_Dieselpreis2 room Benzinpreis

PeMue

Hallo Schiltkamp,

irgendwie passt m.E. die Zeile
define SVG_0 SVG FileLog_HMS100TFK_774c:fht80tf:CURRENT
überhaupt nicht in Dein ganzes Konstrukt (muss wohl von oben oder unten noch übrig ein).
Wenn Du alle Preise in einer Grafik sehen willst, dann musst Du auch alle Preise auch in eine Datei loggen. Das sieht dann in etwa so aus:
2014-09-01_00:06:48 SpritAralIlsfeld Diesel: 1.48
2014-09-01_00:06:48 SpritAralIlsfeld SuperE10: 1.62
2014-09-01_00:06:48 SpritSpathelf Diesel: 1.38
2014-09-01_00:06:48 SpritSpathelf SuperE10: 1.54
2014-09-01_00:06:48 SpritShellIlsfeld Diesel: 1.48
2014-09-01_00:06:48 SpritShellIlsfeld SuperE10: 1.62
2014-09-01_01:06:48 SpritSpathelf Diesel: 1.38
2014-09-01_01:06:48 SpritSpathelf SuperE10: 1.54
2014-09-01_01:06:48 SpritHagelauer Diesel: 1.39

Oder Du nimmst die Datenbank (dBlog), da kann Dir aber sicher Puschel74 weiterhelfen  ;)
Aber auch da ist es so, dass alle Daten in eine (oder mehrere) Datenbank geschrieben werden und beim Plotten nur die gewünschten Elemente herausgefiltert werden. Und ich glaube, es geht auch nicht, in einem Plot verschiedene Datenbankquellen anzugeben.

Gruß 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

justme1968

Zitat von: PeMue am 09 September 2014, 10:12:24
Und ich glaube, es geht auch nicht, in einem Plot verschiedene Datenbankquellen anzugeben.

klar geht das. mit dem modul hier: http://forum.fhem.de/index.php/topic,26529.0.html.

aber in deinem fall solltest du alles ins gleiche file oder die gleiche db loggen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Schiltkamp

Echt toll, wie schnell ihr mir helf.

Wie bringe ich es in eine Datei?
Was von dem orangen Code muss ich ändern?

Danke Euch! :)

define Dieselpreis HTTPMOD http://www.clever-tanken.de/tankstelle_details/956 1800
attr Dieselpreis group Treibstoff
attr Dieselpreis readingsName_Diesel Diesel
attr Dieselpreis readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Dieselpreis room Benzinpreis
attr Dieselpreis stateFormat Liter_Diesel: Diesel
attr Dieselpreis timeout 5

define FileLog_Dieselpreis FileLog ./log/Dieselpreis-%Y.log Dieselpreis
attr FileLog_Dieselpreis logtype text
attr FileLog_Dieselpreis room Benzinpreis
define SVG_FileLog_Dieselpreis_1 SVG FileLog_Dieselpreis:SVG_FileLog_Dieselpreis_1:CURRENT

define Dieselpreis2 HTTPMOD http://www.clever-tanken.de/tankstelle_details/35152 1800
attr Dieselpreis2 group Treibstoff
attr Dieselpreis2 readingsName_Diesel Diesel
attr Dieselpreis2 readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Dieselpreis2 room Benzinpreis
attr Dieselpreis2 stateFormat Liter_Diesel: Diesel
attr Dieselpreis2 timeout 5

define FileLog_Dieselpreis2 FileLog ./log/Dieselpreis2-%Y.log Dieselpreis2
attr FileLog_Dieselpreis2 logtype text
attr FileLog_Dieselpreis2 room Benzinpreis

moonsorrox

ich habe diese Plotfunktion so
define SVG_FileLog_Benzinpreise_1 SVG FileLog_Benzinpreise:SVG_FileLog_Benzinpreise_1:CURRENT
attr SVG_FileLog_Benzinpreise_1 alias Benzinpreise - Diesel - Super
attr SVG_FileLog_Benzinpreise_1 fixedrange 4days
attr SVG_FileLog_Benzinpreise_1 group Treibstoff
attr SVG_FileLog_Benzinpreise_1 label "Aktuelle Preise Diesel - Star: $data{currval4} € - Aral: $data{currval5} € - HEM: $data{currval6} € - Star Super:  $data{currval1} €"
attr SVG_FileLog_Benzinpreise_1 plotfunction Star Aral HEM
attr SVG_FileLog_Benzinpreise_1 room Benzinpreis,Plots


Plot sieht so aus, meinst du das..?

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

Schiltkamp

Genau so.
Den Plot werde ich dann hinbekommen.
Aber wie bekomme ich die Daten von zwei Tankstellen in eine Datei? Was habe ich falsch gemacht? Siehe letzte Nachricht oranger Teil.

Danke

moonsorrox

#175
Zitat von: Schiltkamp am 09 September 2014, 13:11:28
Aber wie bekomme ich die Daten von zwei Tankstellen in eine Datei?
ohne deinen Code anzuschauen, aber du mußt schon 3 define anlegen, so habe ich das einschl. der 99_myUtils Geschichten von weiter vorne

das habe ich in der 99_myUtils noch drin
########################################################
##   Benzinpreise
########################################################


sub Werte($$) {
  my ($name, $wert) = @_;
# Log(3,"$name $wert");
  if ($name eq "Diesel") {
    return 'style="color:crimson"' if($wert >= 1.39);
    return 'style="color:yellow"' if(($wert >= 1.30) && ($wert < 1.39));
    return 'style="color:lightgreen;;font-weight:bold"' if($wert < 1.30);
  }elsif ($name eq "SuperE10") {
    return 'style="color:crimson"' if($wert >= 1.70);
    return 'style="color:yellow"' if(($wert >= 1.55) && ($wert < 1.70));
    return 'style="color:lightgreen;;font-weight:bold"' if($wert < 1.55);
  }elsif ($name eq "SuperE5") {
    return 'style="color:crimson"' if($wert >= 1.59);
    return 'style="color:yellow"' if(($wert >= 1.50) && ($wert < 1.59));
    return 'style="color:lightgreen;;font-weight:bold"' if($wert < 1.50);
  } 
}


dann das als eine Tannkstelle, somit für jede extra:
define Star HTTPMOD http://www.clever-tanken.de/tankstelle_details/14638 600
attr Star group Diesel
attr Star icon tanken
attr Star readingsName_Diesel Diesel
attr Star readingsName_SuperE5 SuperE5
attr Star readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Star readingsRegex_SuperE5 <div class="fuel_type">Super E5[^0-9]+([0-9\.]+)
attr Star room Benzinpreis
attr Star stateFormat Liter_Diesel: Diesel
attr Star timeout 5
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

Schiltkamp

Erstmal Danke.

Mein Problem ist, wie und mit welchen Namen lege ich die 2te Tanke an.

define Star HTTPMOD http://www.clever-tanken.de/tankstelle_details/14638 600
attr Star group Diesel
attr Star icon tanken
attr Star readingsName_Diesel Diesel
attr Star readingsName_SuperE5 SuperE5
attr Star readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Star readingsRegex_SuperE5 <div class="fuel_type">Super E5[^0-9]+([0-9\.]+)
attr Star room Benzinpreis
attr Star stateFormat Liter_Diesel: Diesel
attr Star timeout 5

define Star HTTPMOD http://www.clever-tanken.de/tankstelle_details/xxx 600
attr Star? group Diesel ?
attr Star? icon tanken
attr Star? readingsName_Diesel Diesel
attr Star readingsName_SuperE5 SuperE5
attr Star readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Star readingsRegex_SuperE5 <div class="fuel_type">Super E5[^0-9]+([0-9\.]+)
attr Star room Benzinpreis?
attr Star stateFormat Liter_Diesel: Diesel?
attr Star timeout 5


Ich weiß, bin ein ziemlicher Beginner.
Aber der Benzinverlauf ist schon echt interessant.

Gruß

Christian

moonsorrox

Zitat von: Schiltkamp am 09 September 2014, 13:39:51
Mein Problem ist, wie und mit welchen Namen lege ich die 2te Tanke an.


na dann eben mit

define Aral HTTPMOD http://www.clever-tanken.de/tankstelle_details/45856 1800


ichhabe noch eine Readingsgroup angelegt:
define Benzinpreise readingsGroup (Aral|Star|HEM|Real):(SuperE5|Diesel).*
attr Benzinpreise group Preisübersicht
attr Benzinpreise room Benzinpreis
attr Benzinpreise style style="font-size:16px"
attr Benzinpreise valueStyle {Werte($READING,$VALUE)}
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

Schiltkamp

Irgendwo is bei mir noch der Wurm drin:

Wäre nett, wenn ihr/du einen Blick drauf wirfst

define Avia HTTPMOD http://www.clever-tanken.de/tankstelle_details/956 1800
attr Avia group Treibstoff
attr Avia readingsName_Diesel Diesel
attr Avia readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Avia room Benzinpreis
attr Avia stateFormat Liter_Diesel: Diesel
attr Avia timeout 5


define FileLog_Avia FileLog ./log/Avia-%Y.log Avia
attr FileLog_Avia logtype text
attr FileLog_Avia room Benzinpreis


define Esso HTTPMOD http://www.clever-tanken.de/tankstelle_details/35152 1800
attr Esso group Treibstoff
attr Esso readingsName_Diesel Diesel
attr Esso readingsRegex_Diesel <div class="fuel_type">Diesel[^0-9]+([0-9\.]+)
attr Esso room Benzinpreis
attr Esso stateFormat Liter_Diesel: Diesel
attr Esso timeout 5

define FileLog_Esso FileLog ./log/Esso-%Y.log Esso
attr FileLog_Esso logtype text
attr FileLog_Esso room Benzinpreis

define Benzinpreise readingsGroup (Dieselpreis|Esso):(Diesel).*
attr Benzinpreise group Preisübersicht
attr Benzinpreise room Benzinpreis
attr Benzinpreise style style="font-size:16px"
attr Benzinpreise valueStyle {Werte($READING,$VALUE)}

define SVG_FileLog_Benzinpreise_1 SVG FileLog_Benzinpreise:SVG_FileLog_Benzinpreise_1:CURRENT
attr SVG_FileLog_Benzinpreise_1 alias Benzinpreise - Diesel
attr SVG_FileLog_Benzinpreise_1 fixedrange 4days
attr SVG_FileLog_Benzinpreise_1 group Treibstoff
attr SVG_FileLog_Benzinpreise_1 label "Aktuelle Preise Diesel - Dieselpreis: $data{currval4} € - Dieselpreis2: $data{currval5} €"
attr SVG_FileLog_Benzinpreise_1 plotfunction Dieselpreis Dieselpreis2
attr SVG_FileLog_Benzinpreise_1 room Benzinpreis,Plots

Schiltkamp

Noch ein Bild von der Ansicht