FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hartenthaler am 09 April 2016, 21:18:14

Titel: HTTPMOD mit replacement der URL / Güte der Berliner Luft
Beitrag von: hartenthaler am 09 April 2016, 21:18:14
Ich möchte die Luftgüteparameter der Berliner Luft auswerten. Aber ich hänge noch etwas mit dem variablen URL-Aufruf im HTTPMOD Modul unter Verwendung von replacement. Die Daten werden jeweils zum Vortag bereit gestellt und sind dann unter einer URL abrufbar in der das Datum vorkommt. In der URL Definition im HTTPMOD verwende ich das Wort "gestern" als Platzhalter und will es nun per replacement ersetzen. Das geht von Hand schon durch die folgende Definition:

Internals:
   DEF        http://www.stadtentwicklung.berlin.de/umwelt/luftqualitaet/de/messnetz/tageswerte/download/gestern.html 60
   NAME       Luftguete_Frohnau
   TYPE       HTTPMOD
...
Readings:
     2016-04-09 20:54:09   Zeitpunkt       08.04.16
...
Attributes:
   reading01Expr $val
   reading01Name Zeitpunkt
   reading01Regex Am <b>(.*)</b>
...
   replacement0Mode text
   replacement0Regex (gestern)
   replacement0Value 20160408
   stateFormat Zeitpunkt: SO2:so2tag/so2mittel µg/m³, Ozon: ozon1std/ozon8std µg/m³

Aber nun soll nicht der Text "gestern" in der URL durch den Text "20160408" ersetzt werden, was - wie gesagt - bereits gut klappt, sonder es soll natürlich jeweils das gestrige Datum verwendet werden. Also habe ich den replacement0Mode auf expression gesetzt, aber ich schaffe es nicht den replacement0Value richtig zu formulieren. Auf Shell-Ebene liefert der folgende Code den richtigen Wert:
perl -w -e '@yest=localtime(time-86400);printf "%d%.2d%.2d",$yest[5]+1900,$yest[4]+1,$yest[3];'
Aber wie bekomme ich das richtig in fhem formuliert?

Zum Testen hole ich mir die Seite derzeit alle 60 Sekunden, später will ich dann diesen HTTPMOD-Parameter auf 86400 setzen, also tägliches Abholen, oder macht man das geschickter mit einem at Kommando? Wie?