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
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
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 (https://forum.fhem.de/index.php/topic,111489.0.html) aufgenommen.
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
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.
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