FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: globus243 am 24 Juni 2017, 15:53:45

Titel: HTTPMOD mit Perl-Ausdruck
Beitrag von: globus243 am 24 Juni 2017, 15:53:45
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.
Titel: Antw:HTTPMOD mit Perl-Ausdruck
Beitrag von: Otto123 am 24 Juni 2017, 16:30:31
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
Titel: Antw:HTTPMOD mit Perl-Ausdruck
Beitrag von: globus243 am 24 Juni 2017, 18:20:05
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.
Titel: Antw:HTTPMOD mit Perl-Ausdruck
Beitrag von: viegener am 24 Juni 2017, 18:34:19
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  ;)
Titel: Antw:HTTPMOD mit Perl-Ausdruck
Beitrag von: globus243 am 24 Juni 2017, 19:19:44
danke, damit hats geklappt.