Unter anderem wegen einiger Änderungen im httpmod Modul (das internal displayUrl existiert nicht mehr und wird jetzt im stateFormat zusammengebaut), hier ein kleines Update:
easyoil:
defmod Heizoel_esyoil HTTPMOD https://www.esyoil.com/preisausgabe.php?pr-unloading-points=%%ENTLADESTELLEN%%&pr-product=8&pr-payment-type=2&%%ANHAENGER%%&pr-hose-length=%%SCHLAUCHLAENGE%%&pr-app=1&pr-zip=%%PLZ%%&pr-amount=%%MENGE%%&submit= 3600
attr Heizoel_esyoil userattr reading010Name reading010OExpr reading010Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex replacement01Value replacement02Mode:reading,internal,text,expression,key replacement02Regex replacement02Value replacement03Mode:reading,internal,text,expression,key replacement03Regex replacement03Value replacement04Mode:reading,internal,text,expression,key replacement04Regex replacement04Value replacement05Mode:reading,internal,text,expression,key replacement05Regex replacement05Value
attr Heizoel_esyoil enableControlSet 1
attr Heizoel_esyoil reading010Name Heizoelpreis
attr Heizoel_esyoil reading010OExpr $val =~ s/,/\./;; $val;;
attr Heizoel_esyoil reading010Regex ([\d\,]+)[\s]+€
attr Heizoel_esyoil replacement01Mode text
attr Heizoel_esyoil replacement01Regex %%PLZ%%
attr Heizoel_esyoil replacement01Value 12345
attr Heizoel_esyoil replacement02Mode text
attr Heizoel_esyoil replacement02Regex %%MENGE%%
attr Heizoel_esyoil replacement02Value 3000
attr Heizoel_esyoil replacement03Mode text
attr Heizoel_esyoil replacement03Regex %%ENTLADESTELLEN%%
attr Heizoel_esyoil replacement03Value 1
attr Heizoel_esyoil replacement04Mode text
attr Heizoel_esyoil replacement04Regex %%SCHLAUCHLAENGE%%
attr Heizoel_esyoil replacement04Value 40m
attr Heizoel_esyoil replacement05Mode text
attr Heizoel_esyoil replacement05Regex %%ANHAENGER%%
attr Heizoel_esyoil replacement05Value pr-truck-type=short_vehicle
attr Heizoel_esyoil stateFormat { my $price = 0.0;;\
$price = (AttrNum($name,"replacement02Value",0)*ReadingsNum($name,"Heizoelpreis",0))/100;;\
my $lastCheck = FmtDateTime(InternalVal($name,".LastUpdate",0));;\
my $ret = "<div style=\"text-align: left;;\">".$lastCheck.":";;\
my $link = "https://www.esyoil.com/preisausgabe.php?";;\
$link .= "pr-unloading-points=".AttrVal($name,"replacement03Value","");;\
$link .= "&pr-product=8&pr-payment-type=2";;\
$link .= "&".AttrVal($name,"replacement05Value","");;\
$link .= "&pr-hose-length=".AttrVal($name,"replacement04Value","");;\
$link .= "&pr-app=1&pr-zip=".AttrVal($name,"replacement01Value","");;\
$link .= "&pr-amount=".AttrVal($name,"replacement02Value","");;\
$link .= "&submit=";;\
$ret .= " ;<a href=\"".$link."\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"font-weight:bold;;\">";;\
$ret .= ReadingsVal($name,"Heizoelpreis","-");;\
$ret .= "€;</a>/100l";;\
$ret .= " ;(".AttrVal($name,"replacement02Value","0")."l = ";;\
$ret .= sprintf("%.2f",$price);;\
$ret .= "€;)</div>";;\
return $ret;;\
}
attr Heizoel_esyoil timeout 10
attr Heizoel_esyoil webCmd reread
heizoel24.de
defmod Heizoel_heizoel24 HTTPMOD https://www.heizoel24.de/heizoelpreise-direkt/%%PLZ%%/%%MENGE%%/%%ENTLADESTELLEN%% 3600
attr Heizoel_heizoel24 userattr reading010Name reading010OExpr reading010Regex replacement01Mode:reading,internal,text,expression,key replacement01Regex replacement01Value replacement02Mode:reading,internal,text,expression,key replacement02Regex replacement02Value replacement03Mode:reading,internal,text,expression,key replacement03Regex replacement03Value replacement04Mode:reading,internal,text,expression,key
attr Heizoel_heizoel24 enableControlSet 1
attr Heizoel_heizoel24 reading010Name Heizoelpreis
attr Heizoel_heizoel24 reading010OExpr $val =~ s/,/\./;; $val;;
attr Heizoel_heizoel24 reading010Regex <span class="unitprice">([\d\,]+)[\s]+<span
attr Heizoel_heizoel24 replacement01Mode text
attr Heizoel_heizoel24 replacement01Regex %%PLZ%%
attr Heizoel_heizoel24 replacement01Value 12345
attr Heizoel_heizoel24 replacement02Mode text
attr Heizoel_heizoel24 replacement02Regex %%MENGE%%
attr Heizoel_heizoel24 replacement02Value 3000
attr Heizoel_heizoel24 replacement03Mode text
attr Heizoel_heizoel24 replacement03Regex %%ENTLADESTELLEN%%
attr Heizoel_heizoel24 replacement03Value 1
attr Heizoel_heizoel24 stateFormat { my $price = 0.0;;\
$price = (AttrNum($name,"replacement02Value",0)*ReadingsNum($name,"Heizoelpreis",0))/100;;\
my $lastCheck = FmtDateTime(InternalVal($name,".LastUpdate",0));;\
my $ret = "<div style=\"text-align: left;;\">".$lastCheck.":";;\
my $link = "https://www.heizoel24.de/heizoelpreise-direkt";;\
$link .= "/".AttrVal($name,"replacement01Value","");;\
$link .= "/".AttrVal($name,"replacement02Value","");;\
$link .= "/".AttrVal($name,"replacement03Value","");;\
$ret .= " ;<a href=\"".$link."\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"font-weight:bold;;\">";;\
$ret .= ReadingsVal($name,"Heizoelpreis","-");;\
$ret .= "€;</a>/100l";;\
$ret .= " ;(".AttrVal($name,"replacement02Value","0")."l = ";;\
$ret .= sprintf("%.2f",$price);;\
$ret .= "€;)</div>";;\
return $ret;;\
}
attr Heizoel_heizoel24 timeout 10
attr Heizoel_heizoel24 webCmd reread