FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Trinidad am 24 April 2017, 22:38:11

Titel: Modul coden
Beitrag von: Trinidad am 24 April 2017, 22:38:11
Habe für ein Wolf ISM8i Modul ein Perl Script erstellt, welches alle über LAN übermittelten Telegramme auswerten kann. Das Script stellt einin Server zur Verfügung (der in einem while Dauerloop) alle Telegramme entgegennimmt und beantwortet. Ich nehme an, dass es wohl für Fhem als blocking gelten würde und daher als direktes Fhem Modul nicht taugt. Liege ich da richtig?
Mein Script erzeugt aber ein Log dass so aufgebaut isr wie alle Fhem Filelogs. Gibt es eine Möglichkeit mit Fhem neu eintreffende Logeinträge meines Scripts abzufangen und in Userreadings zu verwandeln oder sonst irgendwie mit Fhem weiter zu verarbeiten?
Titel: Antw:Modul coden
Beitrag von: igami am 25 April 2017, 05:56:36
Zeig doch mal deinen bisherigen Code, dann kann man da mehr zu sagen.
Titel: Antw:Modul coden
Beitrag von: CoolTux am 25 April 2017, 06:08:05
Du kannst Dir auch die Development Guides anschauen und versuchen ein richtiges FHEM Modul in Perl zu schreiben.
Titel: Antw:Modul coden
Beitrag von: Trinidad am 25 April 2017, 15:17:12
wo finde ich denn die Develpomenet guides?
Titel: Antw:Modul coden
Beitrag von: CoolTux am 25 April 2017, 15:19:53
Im Wiki

Sektion Developers Corner
https://wiki.fhem.de/wiki/Hauptseite

Hier ein Einstieg
https://wiki.fhem.de/wiki/DevelopmentModuleIntro
Titel: Antw:Modul coden
Beitrag von: Thorsten Pferdekaemper am 25 April 2017, 16:08:24
Hi,
es gibt aber auch noch die Möglichkeit, FHEMWEB von außen aufzurufen und z.B. ein Reading zu setzen.
Z.B.:

http://<meineFhemIp>:<meinFhemPort>/fhem?cmd=setreading%20meinDevice%20meinReading%20meinWert

(oder so ähnlich).
Das setzt dann ein Reading, mitsamt Event etc. Man kann damit dann alles machen, was ein "richtiges" Device macht, auch wenn meinDevice nur ein dummy ist.
Gruß,
   Thorsten
Titel: Antw:Modul coden
Beitrag von: Trinidad am 25 April 2017, 16:55:52
Danke, CoolTux.

Oi, Thorsten, ich glabe das könnte mich weiter bringen. Danke!
Titel: Antw:Modul coden
Beitrag von: CoolTux am 25 April 2017, 16:58:59
@Thorsten
Dein Aufruf wird bei einer Standarddefinierten FHEMWEB Instanz noch klappen.
crsf Token
Titel: Antw:Modul coden
Beitrag von: Prof. Dr. Peter Henning am 25 April 2017, 17:01:14
Vlt. mal das Modul 98_GAEBUS.pm ansehen, das den ebusd bedient.

LG

pah
Titel: Antw:Modul coden
Beitrag von: Thorsten Pferdekaemper am 25 April 2017, 17:02:35
Zitat von: CoolTux am 25 April 2017, 16:58:59
@Thorsten
Dein Aufruf wird bei einer Standarddefinierten FHEMWEB Instanz noch klappen.
crsf Token
Ich wollte schon mit mir selbst wetten, wer damit als erstes kommt...
Gruß,
   Thorsten
Titel: Antw:Modul coden
Beitrag von: Trinidad am 25 April 2017, 18:05:25
Zitat von: CoolTux am 25 April 2017, 16:58:59
Dein Aufruf wird bei einer Standarddefinierten FHEMWEB Instanz noch klappen.
crsf Token

Heisst das, Thorstens Methode wird nicht funktionieren?
Titel: Antw:Modul coden
Beitrag von: CoolTux am 25 April 2017, 18:13:38
Kommt drauf an.
Die Methode ab sich geht. Der Code dagegen nur wenn Du csrf Token für die aufgerufene Webinstanz auf meine setzt. Das sollte man aber nicht machen. Besser festen Token vergeben und beim url Aufruf mit übergeben.
Titel: Antw:Modul coden
Beitrag von: Thorsten Pferdekaemper am 25 April 2017, 18:17:09
Zitat von: CoolTux am 25 April 2017, 18:13:38
Kommt drauf an.
Die Methode ab sich geht. Der Code dagegen nur wenn Du csrf Token für die aufgerufene Webinstanz auf meine setzt.
"meine" -> "none" (oder?)

Zitat
Das sollte man aber nicht machen. Besser festen Token vergeben und beim url Aufruf mit übergeben.
Zum Ausprobieren kann man das schon mal machen. Danach einen festen Token vergeben und eine spezielle FHEMWEB-Instanz verwenden, die nur für lokale Zugriffe (127.0.0.1) funktioniert.

Gruß,
   Thorsten
Titel: Antw:Modul coden
Beitrag von: CoolTux am 25 April 2017, 18:20:45
Ja sorry. Sollte none heißen. Blödes Tablet  ;D