Hallo,
ich habe einen HTTPMOD der folgende Adresse aufruft:
https://SERVER/home?mode=set&hostname=HOSTNAME&hash={gen_hash}
der letzte Parameter, hash, ist ein Hashwert in den bestimmte andere Werte eingeflossen sind, die Gegenseite prüft dies und kommt hoffentlich auf den selben Hash. Ich habe nun eine Perl Funktion, gen_hash, in meine 99_myUtils.pm eingefügt, die einen String (den korrekten Hash) returned.
Jetzt muss dieser Korrekte Hash nur noch an die richtige Stelle in die aufzurufende URL eingefügt werden. Wie man sieht habe ich gehofft dies mit einem direkten Aufruf zu bewerkstelligen, leider klappt es aber nicht.
Also: Wie bekomme ich meinen gültigen Hash dort an die richtige Stelle?
PS.: der Hash basiert auf sich ändernden Werten und ist natürlich jedes mal ein anderer.
Hi,
ich gebe zu für HTTPMOD bin ich absoluter Anfänger und lese nur zufällig Deine Frage mit. Aber in der Doku -> https://fhem.de/commandref.html#HTTPMOD steht es doch ziemlich gut beschrieben, dass Du einen set oder get Befehl konfigurieren musst. In den entsprechenden attributen kannst Du deinen Perlaufruf unterbringen.
Vielleicht bringt Dich das in die richtige Spur ;)
Gruß Otto
Hi,
natürlich hatte ich die CmdRef vorher genausten überprüft und eben noch einmal. Ich finde dort nirgends ein Beispiel
das mein Problem auch nur im Ansatz löst.
Wenn du aus Gründen mehr siehst als ich, copy&paste die stelle bitte.
Dann mache ich den copy und paste - hilfsarbeiter hier:
attr mydevice get05Name profile
attr mydevice get05URL http://www.mydevice.local/getprofile?password=%%password%%
attr mydevice replacement02Mode key
attr mydevice replacement02Regex %%password%%
attr mydevice get05Replacement02Value password
defines that %%value%% will be replaced by a static text.
Zitat
replacement[0-9]*Value
Defines the replacement. If the corresponding replacementMode is text, then value is a static text that is used as the replacement.
If replacementMode is expression the the Value is treated as a Perl expression that computes the replacement value. The expression can use $1, $2 and so on to refer to capture groups of the corresponding regex that is matched against the original URL, header or post data.
Ja stimmt steht nicht an einer Stelle ;)
danke, damit hats geklappt.