FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stefan-dd am 24 April 2021, 20:18:20

Titel: GetHttpFile Datum/Zeit übergeben
Beitrag von: stefan-dd am 24 April 2021, 20:18:20
Hallo,
ich möchte die aktuelle Zeit per GetHttpFile übergeben.
So funktioniert es manuell:
{GetHttpFile("192.168.1.36:81", "/S0=20.04.2021_00:23:00")}

Mein Ansatz ist folgender:
Datum in eine Variable setzen, Variable übergeben:
{my $date = strftime '%d.%m.%Y_%H:%M:%S', localtime;return $date} {GetHttpFile("192.168.1.36:81", "/S0=$date")}

Leider funktioniert das so nicht. Wie bekomme ich den Code zusammen?

defmod time_uebergeben DOIF ([22:30]) {my $date = strftime '%d.%m.%Y_%H:%M:%S', localtime;;return $date} {GetHttpFile("192.168.1.36:81", "/S0=$date")}
Titel: Antw:GetHttpFile Datum/Zeit übergeben
Beitrag von: Otto123 am 24 April 2021, 22:07:57
Vorschlag als Test für die Kommandozeile oder für defmod:
{my $date = strftime '%d.%m.%Y_%H:%M:%S', localtime ;; GetHttpFile("192.168.1.36:81", "/S0=$date")}
ob das in DOIF spielt kann ich nicht sagen ;)
Titel: Antw:GetHttpFile Datum/Zeit übergeben
Beitrag von: stefan-dd am 24 April 2021, 22:13:24
Danke, funktioniert!
Titel: Antw:GetHttpFile Datum/Zeit übergeben
Beitrag von: CoolTux am 25 April 2021, 06:57:45
Der Code ist übersichtlicher wenn man die Funktionen besser erkenntlich macht.

strftime und localtime sind Funktionen und sollten der Übersicht wegen auch entsprechend aufgerufen werden.

function(<parameter>);

In Deinem Fall also
{my $date = strftime('%d.%m.%Y_%H:%M:%S', localtime()) ;; GetHttpFile("192.168.1.36:81", "/S0=$date")}

Ich möchte hier kein Besserwisser sein sondern vermeiden das andere User sich das so abschauen.  ;)

Du kannst den Code im übrigen auch noch etwas kürzen, ob er dann für Dich immer noch leserlich ist musst Du selbst entscheiden
{GetHttpFile("192.168.1.36:81", "/S0=strftime('%d.%m.%Y_%H:%M:%S', localtime())")}