jsonmod Variabler Anteil in der URL machbar?

Begonnen von Otto123, 05 Juni 2021, 23:28:46

Vorheriges Thema - Nächstes Thema

Otto123

Hallo Jörg,

ich habe hier ein Beispiel konstruiert: https://forum.fhem.de/index.php/topic,121488.msg1161088.html#msg1161088
da müsste ein Teil der URL im einfachsten Fall ein Reading eines FHEM Devices sein.
define Location JsonMod http://ip-api.com/json/<Reading eines FHEM Devices oder Perl Code>
Bekommt man das einfach(er) hin?


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

herrmannj

#1
klar:) sowas?: *
Internals:
   API_LAST_MSG 200
   API_LAST_RES 1622933562.36053
   CFGFN     
   DEF        https://api.myip.com/
   FUUID      60bc000e-f33f-aa36-4658-8c3f15df10b2342d
   NAME       whoami
   NEXT       2021-06-06 00:55:00
   NR         29
   SOURCE     https://api.myip.com/ (200)
   STATE      ???
   SVN        24420 2021-05-11 21:25:20 UTC
   TYPE       JsonMod
   CONFIG:
     IN_REQUEST 0
     SOURCE     https://api.myip.com/
     SECRET:
   READINGS:
     2021-06-06 00:52:42   cc              DE
     2021-06-06 00:52:42   country         Germany
     2021-06-06 00:52:42   ip              xxx.xxx.xxx.xxx
Attributes:
   interval   * * * * *
   readingList complete()


* URL von JsonMod ist statisch, Dein Ansatz mit modify ist völlig korrekt

yersinia

Grundsätzlich finde ich ein Feature um die URL dynamisch anpassen zu können nicht schlecht. Analog zu HTTPMOD.
json.example.org/api/[param1]/list/details/[param2]
usw.

Ich habe es mal in der JsonMod Wunschliste aufgenommen.
viele Grüße, yersinia
----
FHEM 6.3 (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

herrmannj

im Prinzip geht das schon.

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. Ist mir aber auch erst im Nachgang eingefallen

yersinia

Ok, aber das muss mal dokumentiert werden. :)
Ich ging davon aus, dass das secret nur einmalig vorkommen kann, im Sinne eines passwortes. Aber man lernt nie aus.
viele Grüße, yersinia
----
FHEM 6.3 (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

herrmannj

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