FHEM > Automatisierung

Device sendet ständig ohne Aufforderung & "CFGFN" ist leer in der Übersicht

<< < (2/2)

justme1968:
wenn du wirklich forken musst geht das per BlockinCall.pm. ein beispiel wie das geht findest du z.b. im speedtest modul. dazu gibt es auch einen wiki artikel von markus bloch.

wenn es nur darum geht beim lesen nicht zu blockieren kannst du das aber viel einfacher in dem du deinen filedescriptor per selectlist in die fhem event loop einhängst. du wirst dann automatisch aufgerufen wenn daten für dich da sind. ein beispiel dafür ist das telnet modul in fhem.

gruss
  nadre

ritchie:
Hallo nadre,

Forken muss ich nicht wirklich. Dein Hinweis scheint wohl die Lösung zu sein.
Das schaue ich mit mal an, danke für die Info.

Gruss R.

betateilchen:

--- Zitat von: ritchie schrieb am So, 21 Juli 2013 21:53 ---in meinem Modul taucht der Text "CFGFN" nicht auf
--- Ende Zitat ---


in meinem auch nicht. Aber wenn Du mal was suchst, was Du nirgends anders findest, dann schau in die fhem.pl *g*

rudolfkoenig:
fork() bzw. BlockingCall ist in meinem Augen nur eine Notloesung. Wenn man nicht aktiv viel Rechenzeit braucht, dann sollte man das Problem moeglichst mit select loesen, auch wenn das manchmal aufwendiger zu programmieren ist.
Vlt. brauchen wir fuer das Einlesen von externen Programm-Output per select Hilfsroutinen, damit Modulautoren es einfacher haben.

Die Funktionen in DevIO.pm erledigen das meiste, was mit oeffnen/eintragen/etc zu tun hat, das Zusammenbauen der Nachrichten muss man selbst erledigen, aber dazu gibt es zahlreiche Beispiele.

fhem.pl setzt CFGFN fuer ein Geraet, falls "define" nicht aus fhem.cfg direkt stammt, sondern aus einem per include angegebenen Dateien. Wird benoetigt, damit save die Definition auch dahin wieder zurueckgeschreibt.
Die Module sollten mit diesem Eintrag nichts anfangen.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln