Autor Thema: JSONMOD, Parameter nach Fragezeichen übergeben?  (Gelesen 409 mal)

Offline Dirk070

  • Full Member
  • ***
  • Beiträge: 315
JSONMOD, Parameter nach Fragezeichen übergeben?
« am: 09 August 2022, 21:02:42 »
Hallo zusammen,

soweit ich es verstanden habe, ist die URL in JSONMOD fix.
Ein Workaround wurde über Modify und secret beschrieben.
https://forum.fhem.de/index.php/topic,121498.msg1161976.html#msg1161976

Ich habe eine URL, die mit Parametern (nach dem Fragezeichen) aufgerufen wird.
http://IP:8080/api/db_data?startDate=2022-08-01&timespan=MONTH
Das startDate würde ich gerne dynamisch mitgeben können. Geht das auch (nur) über den Workaround oder übersehe ich eine Möglichkeit?

Vielen Dank vorab und schöne Grüße
Dirk

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18513
Antw:JSONMOD, Parameter nach Fragezeichen übergeben?
« Antwort #1 am: 09 August 2022, 22:28:22 »
Warum fragst Du das nicht im für JsonMod richtigen Unterforum?
-----------------------
Möchte man beruflich "etwas mit Menschen" machen, ohne etwas mit deren Dummheit zu tun haben zu müssen,
bleibt eigentlich nur der Beruf des Bestatters übrig.
-----------------------
Lesen gefährdet die Unwissenheit!
Zustimmung Zustimmung x 1 Liste anzeigen

Offline yersinia

  • Hero Member
  • *****
  • Beiträge: 1510
    • Cyanide & Happiness
Antw:JSONMOD, Parameter nach Fragezeichen übergeben?
« Antwort #2 am: 10 August 2022, 08:41:33 »
Warum fragst Du das nicht im für JsonMod richtigen Unterforum?
+1
@TE: Bitte nach Automatisierung verschieben!

https://forum.fhem.de/index.php/topic,121498.msg1161976.html#msg1161976

Ich habe eine URL, die mit Parametern (nach dem Fragezeichen) aufgerufen wird.
http://IP:8080/api/db_data?startDate=2022-08-01&timespan=MONTH
Das startDate würde ich gerne dynamisch mitgeben können. Geht das auch (nur) über den Workaround oder übersehe ich eine Möglichkeit?
Es geht aktuell imho nur darüber. Ersetze das Startdatum im Link durch einen Platzhalter und setze diesen über secret. Ungefähr so:
http://IP:8080/api/db_data?startDate=[MYDATE]&timespan=MONTHund dann
set MyJsonModDevice secret MYDATE 2022-08-01^- dies kannst du dann aktiv setzen über at, doif whatever

Btw, was oft unrtergeht ist dieser Kommentar (Hervorhebung von mir):
secret ist auch für keys/passwd usw gedacht, man kanns aber in der Art "missbrauchen". Es kann mehrere benannte secrets geben - das eine schließt das andere also auch nicht aus
viele Grüße, yersinia
----
FHEM 6.1 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Offline Dirk070

  • Full Member
  • ***
  • Beiträge: 315
Antw:JSONMOD, Parameter nach Fragezeichen übergeben?
« Antwort #3 am: 10 August 2022, 18:49:16 »
Verschoben. Die Fragen und Threads zu JSONMOD, die ich gefunden hatte, waren im Anfängerforum, daher hatte ich dort gepostet. Nunja.

Danke für die Tipps yersinia. :)

Das mehrere Secrets angegeben werden können, hatte ich gelesen. Einen Parameter als Passwort zu definieren hat mir widerstrebt:
"To prevent the leakage of sensitive information, like credentials or api keys, they can be stored separate and thus are not shown neither in the config file nor in listings."

Wenn es keinen anderen Weg gibt, werde ich diesen aber gehen oder eben doch über den Modify.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18513
Antw:JSONMOD, Parameter nach Fragezeichen übergeben?
« Antwort #4 am: 10 August 2022, 19:59:24 »
Einen Parameter als Passwort zu definieren hat mir widerstrebt:

Du definierst doch nicht den Parameter in der URL, sondern nur einen Namen des Parameters.
Der Wert des Parameters wird an einer völlig anderen Stelle gespeichert.
-----------------------
Möchte man beruflich "etwas mit Menschen" machen, ohne etwas mit deren Dummheit zu tun haben zu müssen,
bleibt eigentlich nur der Beruf des Bestatters übrig.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline Dirk070

  • Full Member
  • ***
  • Beiträge: 315
Antw:JSONMOD, Parameter nach Fragezeichen übergeben?
« Antwort #5 am: 10 August 2022, 20:11:44 »
herrmannj hat es beschrieben:
man kann set <name> secret <identifier> <value> dafür nehmen. Anstelle von <identifier> halt IP und in der URL dann ..[IP].. einfügen. Will man die IP wechseln dann per "secret" setzen.

Also ja, es wird ein Platzhalter in die URL gesetzt. Der Wert wird dann per set <name> secret <identifier> <value> gesetzt.
herrmannj hat ebenfalls geschrieben: secret ist auch für keys/passwd usw gedacht, man kanns aber in der Art "missbrauchen"

Deshalb hatte ich "Paramter als Passwort" geschrieben.
Den Parameter, den ich variabel setzen muss, setze ich somit als secret und das empfand ich als nicht optimal.

Ich werde die beiden Optionen mal ausprobieren.