Posts mit dem Label Perl werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Perl werden angezeigt. Alle Posts anzeigen

Donnerstag, 6. Oktober 2011

FHEM - Wert per HTTP setzen und in Perl verwenden

Konkret muss ich Home of FHEM eine veränderliche URI eines Channels für eine Windows Phone Push Notification mitteilen und in einem Perl-Skript verwenden, welches die Notification per POST absetzt.

Hierzu bin ich wie folgt vorgegangen:
1. Um den Wert in FHEM zu halten habe in ein Dummy-Device in der fhem.cfg mit define channeluri dummy definiert.
2. Den Wert des Dummys setze ich per HTTP, z.B. mit http://fritz.box:8083/fhem?cmd=set channeluri+CHANNELURI
3. Auf den gesetzten Wert kann ich dann in meinen Skript mit $value{channeluri} zugreifen.

FHEM - Wert per HTTP setzen und in Perl verwenden

Konkret muss ich Home of FHEM eine veränderliche URI eines Channels für eine Windows Phone Push Notification mitteilen und in einem Perl-Skript verwenden, welches die Notification per POST absetzt.

Hierzu bin ich wie folgt vorgegangen:
1. Um den Wert in FHEM zu halten habe in ein Dummy-Device in der fhem.cfg mit define channeluri dummy definiert.
2. Den Wert des Dummys setze ich per HTTP, z.B. mit http://fritz.box:8083/fhem?cmd=set channeluri+CHANNELURI
3. Auf den gesetzten Wert kann ich dann in meinen Skript mit $value{channeluri} zugreifen.

Donnerstag, 29. September 2011

FHEM - Website mit Eventhandler (notify) aufrufen

Ausgangspunkt für diese Beschreibung ist die Laborsoftware für die FRITZ!Box 7390 (84.05.07-20690) und das FHEM-Image (84.05.05-20538), was man beides über FRITZ!Labor bekommt.

Wenn man mittels FHEM auf Grund einen Events eine Webseite per GET aufrufen möchte, muss man wie folgt vorgehen:

1. 99_updatefhem.pm updaten
in der momentanen Version ist ein Fehler in der Funktion GetHttpFile den man auf jedenfall beheben muss. Dazu in der FHEM-Kommandozeile "fhemupdate 99_updatefhem.pm" bestätigen.

Anschließend in der FHEM-Kommandozeile "reload 99_updatefhem.pm" bestätigen, um die Änderungen wirksam werden zu lassen.

2. Eventhandler definieren
Dazu ruft man über das FHEM-Frontend Edit files -> fhem.cfg auf, und fügt folgende Zeile ein:


define nweb notify kse1:on.* { GetHttpFile("192.168.178.22:80", "/default.aspx");; 0 }

nweb - beliebiger Gerätename (sollte nach F5 im Frontend auch angezeigt werden)
kse1 - Gerät welches den Event auslöst
on - der Event, also hier wenn der Satus auf on gesetzt wird

Beim Server das Protokoll weglassen aber den Port nicht vergessen! Beim zweiten Parameter ist der Slash ebenfalls Pflicht.

FHEM - Website mit Eventhandler (notify) aufrufen

Ausgangspunkt für diese Beschreibung ist die Laborsoftware für die FRITZ!Box 7390 (84.05.07-20690) und das FHEM-Image (84.05.05-20538), was man beides über FRITZ!Labor bekommt.

Wenn man mittels FHEM auf Grund einen Events eine Webseite per GET aufrufen möchte, muss man wie folgt vorgehen:

1. 99_updatefhem.pm updaten
in der momentanen Version ist ein Fehler in der Funktion GetHttpFile den man auf jedenfall beheben muss. Dazu in der FHEM-Kommandozeile "fhemupdate 99_updatefhem.pm" bestätigen.

Anschließend in der FHEM-Kommandozeile "reload 99_updatefhem.pm" bestätigen, um die Änderungen wirksam werden zu lassen.

2. Eventhandler definieren
Dazu ruft man über das FHEM-Frontend Edit files -> fhem.cfg auf, und fügt folgende Zeile ein:


define nweb notify kse1:on.* { GetHttpFile("192.168.178.22:80", "/default.aspx");; 0 }

nweb - beliebiger Gerätename (sollte nach F5 im Frontend auch angezeigt werden)
kse1 - Gerät welches den Event auslöst
on - der Event, also hier wenn der Satus auf on gesetzt wird

Beim Server das Protokoll weglassen aber den Port nicht vergessen! Beim zweiten Parameter ist der Slash ebenfalls Pflicht.