FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Decki am 19 Oktober 2017, 11:21:20

Titel: String aus Datum zusammenbauen
Beitrag von: Decki am 19 Oktober 2017, 11:21:20
Hallo,
ich benötige das aktuelle Datum im Format YYYYMMDD für diese Zeile:

define KaCo_Real HTTPMOD http://192.168.178.24/sprintf("%04d%02d%02d",$year $month $mday).csv .
es soll dann so aussehen:
define KaCo_Real HTTPMOD http://192.168.178.24/20170905.csv  für den 5.9.2017
mit führenden Nullen bei Tag und Monat.
Damit kann ich dann den Tagesertrag aus der Datei auslesen.
Geht das so? (kann es gerade nicht ausprobieren)

Titel: Antw:String aus Datum zusammenbauen
Beitrag von: Wzut am 19 Oktober 2017, 11:32:30
dein sprintf sollte so passen , aber dein define wird meckern da es KaCo_Real am nächsten Tag bereits gibt
D.h. statt define defmod verwenden.
Dann must du das ganze nur noch als String zusammenbauen da so direkt die Syntax nicht geht.
ala fhem("defmod  KaCo_Real HTTPMOD http://192.168.178.24/".sprintf("%04d%02d%02d",$year $month $mday).".csv");
Aber denk dran das solche Aktionen dann immer mit dem roten Fragezeichen belohnt werden :)
Titel: Antw:String aus Datum zusammenbauen
Beitrag von: Decki am 19 Oktober 2017, 11:53:56
Danke für den Hinweis,
werde dann mit einem at die Datei zyklisch holen/lesen und den KWh Wert an eine ReadingsGroup übergeben.
Danke, das hat mit so schon geholfen.
Titel: Antw:String aus Datum zusammenbauen
Beitrag von: Tungsten am 23 Oktober 2017, 14:38:47
Super, habe auch den Kaco WR. Lese mal mit... ;-)
Titel: Antw:String aus Datum zusammenbauen
Beitrag von: Tungsten am 23 Oktober 2017, 14:45:03
Du wirst so aber das Problem beim Monatsende haben. Die Tageswerte stehen erst nach 23:59 zur Verfügung.

Eigentlich musst du immer den Vortag abfragen und am 1. eines Monats den letzten Tag des Vormonat.

Stehe gerade vor dem gleichen Problem.
https://forum.fhem.de/index.php?topic=77300.new;topicseen#new
Titel: Antw:String aus Datum zusammenbauen
Beitrag von: Tungsten am 27 Oktober 2017, 23:44:09
Bist Du schon weiter? Wie sieht deine Lösung aus?