diff --git a/fhem/FHEM/lib/AttrTemplate/httpmod.template b/fhem/FHEM/lib/AttrTemplate/httpmod.template
index ee95e8ab5..04848efcc 100644
--- a/fhem/FHEM/lib/AttrTemplate/httpmod.template
+++ b/fhem/FHEM/lib/AttrTemplate/httpmod.template
@@ -14,6 +14,34 @@ filter:TYPE=HTTPMOD
desc: Forum link for suggestions or bug reports on httpmod-template.
For changes and updates on this file, see svn changelog. In most cases, major changes will be mentionned there.
order:00000000
+###########################################
+# Categories
+name:---DIV---------------------------------
+filter:TYPE=HTTPMOD
+order:DIV00
+desc: Category miscellaneous - this is not a template itself
+name:---FUEL--------------------------------
+filter:TYPE=HTTPMOD
+order:FUEL00
+desc: Category fuel - this is not a template itself
+name:---RADAR-------------------------------
+filter:TYPE=HTTPMOD
+order:RADAR00
+desc: Category radars - this is not a template itself
+name:---TECH-DIV----------------------------
+filter:TYPE=HTTPMOD
+order:TECHZ00
+desc: Category technical miscellaneous - this is not a template itself
+name:---TECH-PRINTER------------------------
+filter:TYPE=HTTPMOD
+order:TECHP00
+desc: Category technical printers - this is not a template itself
+name:---WEATHER-----------------------------
+filter:TYPE=HTTPMOD
+order:WEATHER00
+desc: Category weather and environment - this is not a template itself
+
+
#################################
#Clever Tanken
@@ -22,7 +50,7 @@ order:00000000
name:clever_tanken_single_station
filter:TYPE=HTTPMOD
desc: Get prices for a single gas station.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://www.clever-tanken.de/tankstelle_details/29092 1800
Change station ID to your needs
Source: Forum
-order: 10000
+order:FUEL01
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex readingOExpr
attr DEVICE enableControlSet 1
@@ -38,13 +66,13 @@ attr DEVICE timeout 10
attr DEVICE verbose 2
attr DEVICE room WHICHROOM
attr DEVICE model clever_tanken_single_station
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#Station overview, one product, Forum: https://forum.fhem.de/index.php/topic,94640.msg873841.html#msg873841
name:clever_tanken_multi_station
filter:TYPE=HTTPMOD
desc: Get prices for one product as environment search.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD https://www.clever-tanken.de/tankstelle_liste?spritsorte=3&r=10&ort=52152 1800
Change PLZ, radius and product to your needs
Source: Forum
-order: 100001
+order:FUEL02
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE reading01Name Tankstellenname
attr DEVICE reading01Regex ([^<]+)<\/span>
@@ -65,13 +93,13 @@ attr DEVICE readingMaxAge 10
attr DEVICE readingMaxAgeReplacementMode delete
attr DEVICE room WHICHROOM
attr DEVICE model clever_tanken_multi_station
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#Contributed by subseven & yersinia, see https://forum.fhem.de/index.php/topic,107189.msg1017754.html#msg1017754
name:fuel_oil_check
filter:TYPE=HTTPMOD
desc: checks fuel oil prices via easyoil.com
Define a HTTPMOD device like
define heizoelpreis 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 Source: Forum
-order: 100005
+order:FUEL03
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
par:INTERVAL;Actual interval for updating, defaults to hourly (3600s); {InternalVal("DEVICE","Interval",3600)}
defmod DEVICE 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= INTERVAL
@@ -110,14 +138,14 @@ attr DEVICE stateFormat { my $price = 0.0;;\
}
attr DEVICE webCmd reread
attr DEVICE model fuel_oil_check
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#German weather warnings from DWD, Forum: https://forum.fhem.de/index.php/topic,45176.msg905879.html#msg905879
name:DWD_weather_warnings
filter:TYPE=HTTPMOD
desc: Get weather warnings from DWD.
Define a HTTPMOD device like
defmod Wetterwarner HTTPMOD https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json 0
Change region to your needs
Source: Forum
-order:A_02c
+order:WEATHER01
par:REGIONCODE;Get region code from https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3;{ undef }
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE enableControlSet 1
@@ -130,13 +158,13 @@ attr DEVICE room WHICHROOM
attr DEVICE readingMaxAge 10
attr DEVICE readingMaxAgeReplacementMode delete
attr DEVICE model DWD_weather_warnings
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#German river water levels, Wiki: https://wiki.fhem.de/wiki/Flusspegel
name:pegelonline
filter:TYPE=HTTPMOD
desc: Get water level infor for german rivers from www.pegelonline.wsv.de.
Define a HTTPMOD device like
defmod Pegelstaende HTTPMOD https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/070b1eb4-3872-4e07-b2e5-e25fd9251b93/W/currentmeasurement.json 3600
Change station argument to your needs
Source: Wiki
Source: Forum
-order:A_02d
+order:WEATHER02
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE enableControlSet 1
attr DEVICE extractAllJSON 1
@@ -147,13 +175,13 @@ attr DEVICE stateFormat {sprintf("%.0f",ReadingsVal("DEVICE","value",0))}
attr DEVICE timeout 5
attr DEVICE room WHICHROOM
attr DEVICE model pegelonline
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#Austrian weather, Forum: https://forum.fhem.de/index.php/topic,94110.msg868080.html#msg868080; enhanced by JoeALLb: https://forum.fhem.de/index.php/topic,97694.msg912164.html#msg912164
name:ORF_weather
filter:TYPE=HTTPMOD
desc: Get austrian weather.
Define a HTTPMOD device like
defmod weatherORF HTTPMOD none 1800
You will be asked to provide a MAINURL like https://wetter.orf.at/steiermark/ and a stationname like grazuniversitaet
Source: Enhanced version in FHEM Forum
-order:A_02m
+order:WEATHER03
par:MAINURL;First part of the URL. Example: https://wetter.orf.at/steiermark/;{ AttrVal("DEVICE","get02URL","") =~ m,(https://wetter.orf.at/[^/]+[/]).*, ? $1 : undef }
par:STATIONNAME;Name of the respective weather station as written in the last part of the URL. Examples: grazuniversitaet or innerestadt;{ AttrVal("DEVICE","get01URL","") =~ m,https://wetter.orf.at/[^/]+[/]([^/]+)[/], ? $1 : undef }
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
@@ -180,13 +208,13 @@ attr DEVICE room WHICHROOM
attr ORF_Weather readingOExpr $val =~ s/([\d]+),([\d]+) */$1.$2/ if $val =~ m{\A[\d]+,[\d]+ *\z};;$val
attr DEVICE stateFormat W: wind, H: humidity%rH, T: temperature°C
attr DEVICE model ORF_weather
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#Geschwindigkeitsüberwachung, Forum: https://forum.fhem.de/index.php/topic,90014.msg824805.html#msg824805
-name:blitzer
+name:blitzer_atudo
filter:TYPE=HTTPMOD
desc: Get info about local velocity controls.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD https://cdn2.atudo.net/api/1.0/vl.php?type=0,1,2,3,4,5,6&box=52.xxxxxx,8.xxxxxx,53.xxxxxx,9.xxxxxx 0
Change city to your needs
Source: Forum
-order:A_03a
+order:RADAR01
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr getData getHeader1 getHeader2 getURL reading01DeleteIfUnmatched reading01JSON reading01Name reading01Regex reading02Name reading02RegOpt reading02Regex reading03JSON reading03Name readingEncode requestHeader1 requestHeader2 setParseResponse:0,1
attr DEVICE enableControlSet 1
@@ -196,14 +224,14 @@ attr DEVICE getHeader2 Accept: */*
attr DEVICE readingEncode utf8
attr DEVICE room WHICHROOM
attr DEVICE model blitzer
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#homebridge-videodoorbell, Forum: https://forum.fhem.de/index.php/topic,94291.msg870289.html#msg870289
name:homebridge_videodoorbell
filter:TYPE=HTTPMOD
-desc: Controll your homebridge-videodoorbell.
Define a HTTPMOD device like
define Video_Doorbell HTTPMOD none 0
Source: Forum
-order:A_02c
+desc: Control your homebridge-videodoorbell.
Define a HTTPMOD device like
define Video_Doorbell HTTPMOD none 0
Source: Forum
+order:TECHZ01
par:IP_PORT;Enter IP:Port as configured in your doorbell, like 123.456.7.8:5005;{undef }
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE get01Name klingel2homekitget
@@ -221,13 +249,13 @@ attr DEVICE set01Header06 Content-Type: application/x-www-form-urlencoded
attr DEVICE set01NoArg 1
attr DEVICE room WHICHROOM
attr DEVICE model homebridge_videodoorbell
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
# Pihole Statistics, Website: https://wolf-u.li/5987/einbindung-der-pihole-statistiken-in-fhem/
name:pihole_statistics
filter:TYPE=HTTPMOD
desc: Get Statistics from your pihole instance.
Define a HTTPMOD device like
define DEVICE HTTPMOD http://192.168.133.7/admin/api.php 300
Change IP to your needs
Source: Website
-order:A_02e
+order:TECHZ02
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr getURL
attr DEVICE extractAllJSON 1
@@ -236,13 +264,13 @@ attr DEVICE stateFormat DNS Anfragen: dns_queries_today
Geblockte Seiten: ads
attr DEVICE userReadings ads_blocked_today_formatted {round(ReadingsNum($name,"ads_percentage_today",0),0)}
attr DEVICE room WHICHROOM
attr DEVICE model pihole_statistics
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
# Pharmacy Emergency Service Germany, Forum: https://forum.fhem.de/index.php?topic=87234.0
name:pharmacy_emergency_service_germany
filter:TYPE=HTTPMOD
desc: Gets the current emergency service of a pharmacy closeby your postal code
Define a HTTPMOD device like
define DEVICE HTTPMOD http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=1337 0
Change the postalcode (1337 in this example) to yours
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://192.168.5.43/DevMgmt/ProductConfigDyn.xml 3600
Change IP to your needs
Source: Forum
-order:B_01a
+order:TECHP01
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr reading01Name reading01XPath-Strict reading02Name reading02XPath-Strict reading03Name reading03XPath-Strict reading04Name reading04XPath-Strict reading05Name reading05XPath-Strict
attr DEVICE httpVersion 1.1
@@ -311,13 +339,13 @@ attr DEVICE stateFormat Modell: Model SN: Serial_Number
attr DEVICE userReadings Memory_Usage {100-(ReadingsNum("DEVICE","Available_Memory","")/2.56)}
attr DEVICE room WHICHROOM
attr DEVICE model hp_printer_config
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
# Printer cartridge states
name:hp_printer_cartridge_status
filter:TYPE=HTTPMOD
desc: Get cartridge states of your HP printer.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://192.168.5.43/DevMgmt/ConsumableConfigDyn.xml 3600
Change IP to your needs
Source: Forum
-order:B_01a1
+order:TECHP02
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr reading01Name reading01XPath-Strict reading02Name reading02XPath-Strict reading03Name reading03XPath-Strict reading04Name reading04XPath-Strict reading05Name reading05XPath-Strict reading06Name reading06XPath-Strict$
attr DEVICE httpVersion 1.1
@@ -340,13 +368,13 @@ attr DEVICE reading08XPath-Strict //ccdyn:ConsumableInfo[5]/dd:ConsumableSelecti
attr DEVICE stateFormat C: Cyan% M: Magenta% Y: Yellow% B: Black%
attr DEVICE room WHICHROOM
attr DEVICE model hp_printer_cartridge_status
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
# Printer statistics
name:hp_printer_statistics
filter:TYPE=HTTPMOD
desc: Gets various statistics from your HP printer.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://192.168.5.43/DevMgmt/ProductUsageDyn.xml 3600
Change IP to your needs
Source: Forum
-order:B_01a2
+order:TECHP03
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr reading01Name reading01XPath-Strict reading02Name reading02XPath-Strict reading03Name reading03XPath-Strict reading04Name reading04XPath-Strict reading05Name reading05XPath-Strict reading06Name reading06XPath-Strict reading07Name reading07XPath-Strict reading08Name reading08XPath-Strict reading09Name reading09XPath-Strict reading10Name reading10XPath-Strict reading11Name reading11XPath-Strict reading20Name reading20XPath-Strict reading30Name reading30XPath-Strict reading40Name reading40XPath-Strict reading41Name reading41XPath-Strict reading50Name reading50XPath-Strict reading51Name reading51XPath-Strict
attr DEVICE httpVersion 1.1
@@ -391,13 +419,13 @@ attr DEVICE reading51XPath-Strict //pudyn:Consumable[dd:MarkerColor='Black']/dd:
attr DEVICE stateFormat Total: Printer_Pages_Total Monochrome: Printer_Pages_Monochrome Color: Printer_Pages_Color
attr DEVICE room WHICHROOM
attr DEVICE model hp_printer_statistics
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
# Printer status
name:hp_printer_status
filter:TYPE=HTTPMOD
desc: Get status of your hp printer.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://192.168.5.43/DevMgmt/ProductStatusDyn.xml 60
Change IP to your needs
Source: Forum
-order:B_01a3
+order:TECHP04
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr reading01Name reading01XPath-Strict
attr DEVICE httpVersion 1.1
@@ -406,7 +434,7 @@ attr DEVICE reading01XPath-Strict //psdyn:LocString[@lang='de']/text()
attr DEVICE stateFormat Status
attr DEVICE room WHICHROOM
attr DEVICE model hp_printer_status
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#################################
@@ -418,7 +446,7 @@ setreading DEVICE attrTemplateVersion 20200522 or prior
name:epson_printer_cartridge_status
filter:TYPE=HTTPMOD
desc: Get cartridge states of your Epson printer.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://192.168.188.25/PRESENTATION/HTML/TOP/PRTINFO.HTML 3600
Change IP to your needs
Source: Forum
-order:B_01b
+order:TECHP05
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE reading01Name Yellow
attr DEVICE reading01Regex Ink_Y.*?='([\d]+)'
@@ -431,7 +459,7 @@ attr DEVICE reading04Regex Ink_B.*?='([\d]+)'
attr DEVICE stateFormat C: Cyan% M: Magenta% Y: Yellow% B: Black%
attr DEVICE room WHICHROOM
attr DEVICE model epson_printer_cartridge_status
-setreading DEVICE attrTemplateVersion 20200522 or prior
+setreading DEVICE attrTemplateVersion 20201129
#################################
#Brother Printers
@@ -442,7 +470,7 @@ setreading DEVICE attrTemplateVersion 20200522 or prior
name:brother_printer_cartridge_status
filter:TYPE=HTTPMOD
desc: Get cartridge states of your Brother printer.
Define a HTTPMOD device like
defmod DEVICE HTTPMOD http://192.168.178.6/general/information.html 3600
Change IP to your needs
Source: Forum
Tested with MFC-9142CDN, should work with DCP-9015 CDW DCP-9020 HL-3140 CW HL-3150 CDN HL-3170 MFC-9130 MFC-9140 MFC-9330 MFC-9340
-order:B_01c
+order:TECHP06
par:WHICHROOM;Actual room of the device, defaults to HTTPMOD; {AttrVal("DEVICE","room","HTTPMOD" )}
attr DEVICE userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex
attr DEVICE httpVersion 1.1
@@ -460,7 +488,7 @@ attr DEVICE reading05Name Status
attr DEVICE reading05RegOpt gm
attr DEVICE reading05Regex