Hauptmenü

Modul coden

Begonnen von Trinidad, 24 April 2017, 22:38:11

Vorheriges Thema - Nächstes Thema

Trinidad

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?

igami

Zeig doch mal deinen bisherigen Code, dann kann man da mehr zu sagen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

CoolTux

Du kannst Dir auch die Development Guides anschauen und versuchen ein richtiges FHEM Modul in Perl zu schreiben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Trinidad

wo finde ich denn die Develpomenet guides?

CoolTux

#4
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

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
FUIP

Trinidad

Danke, CoolTux.

Oi, Thorsten, ich glabe das könnte mich weiter bringen. Danke!

CoolTux

@Thorsten
Dein Aufruf wird bei einer Standarddefinierten FHEMWEB Instanz noch klappen.
crsf Token
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Prof. Dr. Peter Henning

Vlt. mal das Modul 98_GAEBUS.pm ansehen, das den ebusd bedient.

LG

pah

Thorsten Pferdekaemper

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
FUIP

Trinidad

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?

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

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
FUIP

CoolTux

Ja sorry. Sollte none heißen. Blödes Tablet  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net