FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: twinFHEM am 24 Februar 2023, 15:22:49

Titel: HTTPMOD replacement, generierte URL ausgeben
Beitrag von: twinFHEM am 24 Februar 2023, 15:22:49
Hallo zusammen,

wie kann ich am besten sehen, ob meine Abfrage in Ordnung ist bzw. mit welchen Parametern sie tatsächlich abgeschickt wird?
Ich versuche mich in HTTPMOD an dynamischen Abfragen mit Replacements, Systemvariablen, Readings und bekomme teilweise nicht korrekte Ergebnisse.
Dem Logfile oder dem Event Monitor ist hier leider nichts zu entlocken.

Hier ein Auszug falls benötigt:

defmod powerfox_report_dyn HTTPMOD https://XXX@backend.powerfox.energy/api/2.0/my/XXX/report?%%VARS%% 0
attr powerfox_report_dyn extractAllJSON 1
attr powerfox_report_dyn get01Name Jahr
attr powerfox_report_dyn get02Name Monat
attr powerfox_report_dyn get03Name Tag
attr powerfox_report_dyn reading01JSON Consumption_Sum
attr powerfox_report_dyn reading01Name Consumption_Sum
attr powerfox_report_dyn replacement01Mode text
attr powerfox_report_dyn replacement01Regex %%VARS%%
attr powerfox_report_dyn replacement01Value year=2023
attr powerfox_report_dyn replacement02Mode expression
attr powerfox_report_dyn replacement02Regex %%VARS%%
attr powerfox_report_dyn replacement02Value year={ $year }&month={ ReadingsNum("powerfox_report_dyn","monthApp",0) }

setstate powerfox_report_dyn 2023-02-24 14:49:54 Consumption_Sum 1379.867
setstate powerfox_report_dyn 2023-02-24 13:12:09 monthApp 11


Vielen Dank & viele Grüße
Titel: Antw:HTTPMOD replacement, generierte URL ausgeben
Beitrag von: twinFHEM am 25 Februar 2023, 18:36:36
Ist vielleicht nicht die leichtgewichtigste Lösung aber mit verbose auf 5 kann man sich helfen.
Danke!

P.S.:
Ich suche den ganzen Tag nach einer Info, Doku, Foreneintrag, etc. mit einem Beispiel für die Verwendung von replacementXXMode reading. Meine Versuche mit reinem Name des Readings, device:reading, {device:reading} funktionieren nicht.
Wenn das hier irgendjemand liest und weiß wie es geht... Bitte melde Dich!  ;)

Titel: Antw:HTTPMOD replacement, generierte URL ausgeben
Beitrag von: twinFHEM am 25 Februar 2023, 20:00:20
Das HTTPMOD-Device sieht nach mehr als zig Versuchen nun so aus:

defmod powerfox_report_dyn HTTPMOD none 0
attr powerfox_report_dyn extractAllJSON 0
attr powerfox_report_dyn get01Name Jahr
attr powerfox_report_dyn get02Name Monat
attr powerfox_report_dyn get02Replacement01Value Parameter
attr powerfox_report_dyn get03Name Tag
attr powerfox_report_dyn getURL https://XXX@backend.powerfox.energy/api/2.0/my/XXX/report?%%VARS%%
attr powerfox_report_dyn reading01JSON Consumption_Sum
attr powerfox_report_dyn reading01Name Consumption_Sum
attr powerfox_report_dyn reading02JSON Consumption_StartTime
attr powerfox_report_dyn reading02Name Consumption_StartTime
attr powerfox_report_dyn replacement01Mode text
attr powerfox_report_dyn replacement01Regex %%VARS%%
attr powerfox_report_dyn replacement01Value year=2022
attr powerfox_report_dyn replacement02Mode reading
attr powerfox_report_dyn userReadings Parameter { "year=" . ReadingsVal("powerfox_report_dyn","yearApp",0) . "&month=" . ReadingsVal("powerfox_report_dyn","monthApp",0)}

setstate powerfox_report_dyn 2023-02-25 19:35:22 Parameter year=2023&month=02
setstate powerfox_report_dyn 2023-02-25 16:17:56 dayApp 15
setstate powerfox_report_dyn 2023-02-25 16:26:06 monthApp 02
setstate powerfox_report_dyn 2023-02-25 19:12:41 yearApp 2023


Ich habe es letztendlich auch nochmal mit einem userReading probiert, aber auch das funktioniert nicht!

Wie bekomme ich das Reading Parameter mit den Variablen year und month über das Attribut get02Replacement01Value in meine URL bzw. Abfrage???
Übrigens, wenn ich dn Mode text mit statischen Inhalt year=2023&month=02 nehme, funktioniert das Ganze.

Ich wäre sehr dankbar, wenn sich das einer von euch näher ansehen könnte!

P.S.: So sieht in diesem Fall übrigens die generierte URL aus:
https://XXX@backend.powerfox.energy/api/2.0/my/XXX/report?Parameter
Titel: Antw:HTTPMOD replacement, generierte URL ausgeben
Beitrag von: twinFHEM am 26 Februar 2023, 15:50:44
Ich habe mein Anliegen in den HTTPMOD-Support Thread gestellt und schließe damit diesen Thread.

Bei Interesse schaut hier:
https://forum.fhem.de/index.php/topic,45176.1245.html