Autor Thema: PRESENCE Fhem Absturz  (Gelesen 14666 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17767
Aw: PRESENCE Fhem Absturz
« Antwort #30 am: 12 Februar 2013, 21:29:10 »
die idee war ja auch lan-ping in den presenced einzubauen und so das threading zu entkoppeln. das wäre das blockig nicht mehr nötig.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3488
Aw: PRESENCE Fhem Absturz
« Antwort #31 am: 12 Februar 2013, 22:09:09 »
Zitat von: ChrisD schrieb am Di, 12 Februar 2013 18:47


Das Problem was ich im letzten Beitrag (Di, 12 Februar 2013 11:18) beschrieben habe hat nicht mehr direkt mit dem ursprünglichen Problem zu tun, es tritt auch unter Linux auf. Soll ich dafür einen neuen Thread beginnen ?



Hallo Chris,

probier bitte morgen mal die Änderungen aus, die ich heute eingebracht habe. Wenn du da noch Probleme siehst, oder Fragen hast, dann mach bitte einen neuen Thread auf, damit wir hier wieder etwas übersichtlicher werden ;-)

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline ChrisD

  • Sr. Member
  • ****
  • Beiträge: 840
Aw: PRESENCE Fhem Absturz
« Antwort #32 am: 13 Februar 2013, 18:30:19 »
Hallo,

Danke für das Update. Das Disable-Attribut wird jetzt beim Start korrekt ausgewertet.

Mit dem Vorschlag von Andre könnte das ursprüngliche Problem (PRESENCE Fhem Absturz) unter Windows gelöst werden. Ich werde dies mal austesten.

Grüße,

ChrisD

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3488
Aw: PRESENCE Fhem Absturz
« Antwort #33 am: 13 Februar 2013, 18:35:47 »
Zitat von: ChrisD schrieb am Mi, 13 Februar 2013 18:30

Mit dem Vorschlag von Andre könnte das ursprüngliche Problem (PRESENCE Fhem Absturz) unter Windows gelöst werden. Ich werde dies mal austesten.



Gelöst wird das Problem dadurch nicht, sondern nur umgangen. Das Problem währe weiterhin für FritzBox und lokalem Bluetooth-Ping relevant.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline iCure

  • New Member
  • *
  • Beiträge: 30
Antw: PRESENCE Fhem Absturz
« Antwort #34 am: 09 April 2015, 23:28:51 »
Gibt es denn hierfür schon eine Lösung? Würde gerne den PC im Netzwerk erkennen, ob dieser an oder aus ist.

Danke!

Offline ChrisD

  • Sr. Member
  • ****
  • Beiträge: 840
Antw: PRESENCE Fhem Absturz
« Antwort #35 am: 10 April 2015, 22:02:44 »
Hallo,

Das Problem ist nicht wirklich gelöst, wenn du FHEM unter Windows laufen hast gibt es 2 Möglichkeiten:

- Cygwin Perl verwenden
- modifizierten presenced verwenden

Grüße,

ChrisD

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3488
Antw: PRESENCE Fhem Absturz
« Antwort #36 am: 10 April 2015, 22:15:29 »
Hallo zusammen,

das eigentliche Problem hierbei lautet "Windows" und lässt sich leider nicht wirklich beheben. Perl ist eine Sprache, die aus der Unix-Welt kommt und auch entsprechen auf Konzepte aus der Unix-Welt aufbaut (in diesem Fall das Forking). Windows ist jedoch ganz anders aufgebaut und unterstützt Unix-Konzepte nicht.

Entsprechende Perl-Interpreter für Windows implementieren daher die notwendigen Unix-Konzepte für Perl auf ihre eigene Weiße. Jeder Interpreter geht dabei einen anderen Weg.

Ich kann euch als Lösung nur empfehlen: Nehmt nicht Windows sondern Linux. Das ist die einzige wirklich dauerhaft brauchbare Lösung.

Im Hinblick dass das Forking über kurz oder lang in FHEM an mehreren Stellen zunehmen wird (meiner Meinung nach), führt dabei auch alsbald kein Weg dran vorbei.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline ChrisD

  • Sr. Member
  • ****
  • Beiträge: 840
Antw: PRESENCE Fhem Absturz
« Antwort #37 am: 10 April 2015, 23:06:36 »
Hallo,

Ich verwende FHEM seit 2 Jahren unter Windows ohne Probleme mit der von Andre vorgeschlagenen Lösung.

Das Forken selbst ist übrigens nicht das Problem sondern das korrekte Beenden nach dem fork, hierbei wird nicht immer alles aufgeräumt (dies betrifft auch subprocess welches in der aktuellen Form unter Windows nicht funktioniert). Die Probleme mit fork betreffen nicht nur Windows, auch unter Linux, wie z.B. in diversen Threads bezüglich DbLog beschrieben, kommt es zu unerwünschten Effekten.

Einen Vorteil hat Linux auf jeden Fall: Wenn du Probleme mit FHEM hast wird nicht direkt die Schuld auf das Betriebssystem geschoben.

Grüße,

ChrisD

Offline iCure

  • New Member
  • *
  • Beiträge: 30
Antw: PRESENCE Fhem Absturz
« Antwort #38 am: 12 April 2015, 17:54:14 »
Danke für eure Antworten, ich habe allerdings keine Ahnung, was bei der Lösung von Andre zu tun ist.
Gibt es denn bereits irgendwo diese bearbeitete presenced?

Oder gibt es irgendwo außerhalb des Threads mehr dazu?

Grüße,
Marvin

Offline ChrisD

  • Sr. Member
  • ****
  • Beiträge: 840
Antw: PRESENCE Fhem Absturz
« Antwort #39 am: 12 April 2015, 22:47:31 »
Hallo,

Anbei findest du meine modifizierte Version von presenced. Sie muss getrennt von FHEM gestartet werden. Wenn du die .pl Erweiterung mit Perl verknüpft hast reicht ein Doppelklick auf die Datei, andernfalls musst du sie mit
perl presenceWin.plstarten.

Da das PRESENCE-Modul presenced nur für Bluetooth verwenden kann und ich PRESENCE nicht verändern wollte, musst du die zu überwachenden Geräte als 'Bluetooth-Geräte' gegenüber PRESENCE deklarieren:
define P_meineFB PRESENCE lan-bluetooth 19:21:68:17:80:01 127.0.0.1:5111
Dabei muss du die IP-Adresse etwas anders angeben, aus 192.168.178.1 wird 19:21:68:17:80:01.

Grüße,

ChrisD



Offline iCure

  • New Member
  • *
  • Beiträge: 30
Antw: PRESENCE Fhem Absturz
« Antwort #40 am: 13 April 2015, 20:42:36 »
Hallo,

Vielen lieben Dank für das teilen und die Erklärung! Werde es morgen testen und freue mich schon drauf, dass fhem noch weitere Dinge für mich erledigt :)

Grüße,

Marvin

Offline borzo83

  • Jr. Member
  • **
  • Beiträge: 55
Antw: PRESENCE Fhem Absturz
« Antwort #41 am: 17 April 2015, 08:52:41 »
Danke @ChrisD, mit deiner Lösung klappt es nun!

Offline Spiff

  • Full Member
  • ***
  • Beiträge: 249
Antw: PRESENCE Fhem Absturz
« Antwort #42 am: 07 Juli 2015, 19:54:25 »
Hi ChrisD,

ich bedanke mich auch für diese Lösung!

Gruß
Spiff

Offline xotox91

  • New Member
  • *
  • Beiträge: 3
Antw: PRESENCE Fhem Absturz
« Antwort #43 am: 21 März 2018, 19:43:17 »
Hallo Zusammen,

ich versuche FHEM unter Windows Server zum laufen zu bekommen. Mein selbst gebauter CUL macht mir dabei leider einen Strich durch die Rechnung. Nach dem Start von FHEM funktioniert er eine gewisse Zeit tadellos bis im LOG folgende Warnungen erscheinen:

2018.03.21 19:01:34 1: PERL WARNING: Error in PurgeComm at ./FHEM/DevIo.pm line 480.
Das Handle ist ung�ltig.

2018.03.21 19:01:34 1: PERL WARNING: Error in GetCommTimeouts at ./FHEM/DevIo.pm line 480.
Error Closing handle 460 for \\.\com2
Das Handle ist ung�ltig.

Error closing Read Event handle 444 for \\.\com2
Das Handle ist ung�ltig.

Kurze Zeit später lässt sich FHEM gar nicht mehr aufrufen. Nach meinen Recherchen ist der Betrieb von FHEM unter Windows die Ursache für dieses Übel. In diesem Thread wurde das ja bereits ein paar mal angesprochen. Meine Frage ist, hilft mir das modifizierte presenced Script von Chris um dieses Problem in den Griff zu bekommen? Falls ja könnt ihr mir in ein paar kurzen Stichpunkten erklären wie? Das Script einfach parallel zu FHEM laufen zu lassen hat nicht geholfen.
Tausend Dank für euer Hilfe!

Offline ChrisD

  • Sr. Member
  • ****
  • Beiträge: 840
Antw: PRESENCE Fhem Absturz
« Antwort #44 am: 22 März 2018, 21:32:22 »
Hallo,

Das Skript kann nur helfen wenn du das PRESENCE-Modul mit lan-ping im Einsatz hast und du die Definition so umänderst wie oben beschrieben. In allen anderen Fällen hilft es nicht.

Grüße,

ChrisD


 

decade-submarginal