Hauptmenü

HTTPMOD mit Perl-Ausdruck

Begonnen von globus243, 24 Juni 2017, 15:53:45

Vorheriges Thema - Nächstes Thema

globus243

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.

Otto123

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
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

globus243

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.

viegener

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  ;)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

globus243