Hallo,
ich möchte alle Werte, die über Fhem laufen per URL (Rest WS) weiterzugeben. Dafür habe ich eine allgeimeiner Notify angelegt mit
define RestNotifier .* {my $url="/rest/msg?$NAME=$EVENT";; GetHttpFile("hostname",$url)}
Das Problem ist dabei, dass ich hier weder den $DEVICE noch $NAME kennt. Wie kann ich es hier herausfinden, woher die Meldung kommt? Der Wert ist $EVENT drin, aber das ist mir zu wenig.
Wer könnte mir weiterhelfen?
VG,
hankie
ZitatDas Problem ist dabei, dass ich hier weder den $DEVICE noch $NAME kennt.
Diesen Satz verstehe ich nicht.
Comandref Eintrag zu notify schon gelesen?
Wie schauen die problematischen Events im Event-Monitor aus? Was erwartest du?
Hallo Rudolf,
Es geht darum, dass ich alle Events die Fhem emfängt über Rest an einen Server weitergeben möchte.
Die URL dafür ist host:port/rest/msg?eventname_eventvalue
Mit dem o.g. Notifier kann ich alle Werte($EVENT) an den Rest-Service weitergeben aber ich weiß es nicht wie ich den Namen der Aktoren auch mitschicken kann. Der Wert nutzt mir nichts, wenn ich es nicht weiß ob es ein KNX oder einen anderen Aktor geschickt hat.
Ich weiß, dass der $EVENT hier nicht nur Werte leifert sondern es ist ein Event Notifier und nicht nur Value-Notifier
Ich habe es aber geschaft damit
define RestNotifyer notify .* { my $typ=$TYPE; my $name=$NAME; my $evt=$EVENT; my $msg=$name . "_" . $typ . ":" . $evt; GetHttpFile("host:8080", "/rest/msg?msg=$msg") }
Es lohnt sich manchmal in die Logs reinzuschauen, was der Fehler war...
Kannst du mir noch verraten, warum du die Variablen umkopierst? Folgendes sollte mit deiner Definition gleichwertig sein:
define RestNotifyer notify .* { GetHttpFile "host:8080", "/rest/msg?msg=${NAME}_$TYPE:$EVENT" }