Nano Clone mit KeyValueProtocol stört FHEM Weboberfläche

Begonnen von Rave Rebel, 28 Februar 2019, 21:05:15

Vorheriges Thema - Nächstes Thema

Rave Rebel

#15
ZitatBin verwirrt: ist das FHEM Frontend in diesem Fall erreichbar, oder nicht?
Das FHEM Frontend ist nicht erreichbar. Das Browser dreht so lang bis er irgendwann abbricht.
Nach mehrmaligen Neustarts geht es aktuell grad mal wieder.

Rave Rebel

 Im Moment kann ich mich mit Telnet anmelden und Befehle eingeben.
Das Frontend läuft aber im Moment auch.

Wernieman

Die Frage währe, wenn das Frontend nicht läuft, wie es dann aussieht ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Rave Rebel

Ja, schon klar. Im Moment läuft es halt wieder. Ich hab Telnet heut zum ersten mal probiert und wollte nur mitteilen dass es gerade funktioniert. Ich werde es testen wenn das Frontend mal wieder komplett hängt.

Rave Rebel

So eben hing das System mal wieder. Ich konnte das Frontend nicht erreichen und auch ein Telnet Verbindung war nicht möglich.
Nach ca. 2 Minuten warten ohne etwas zu tun ging dann sowohl das Frontend als auch die Telnet Verbindung wieder.

Wernieman

Das hört sich nach einem blockierenden Prozess an. In einer zeit, wo FHEM nicht erreichbar ist:
- wie sieht die Last aus? ps aux | grep fhem
- Wurde etwas besonderes geschaltet, gesucht?
- Was sagt das Log?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rudolfkoenig

Zitat- Was sagt das Log?
Das wuerde mich auch interessieren, aber scheinbar wurde meine Bitte von vorgestern uebersehen.

Rave Rebel

ZitatDas hört sich nach einem blockierenden Prozess an. In einer zeit, wo FHEM nicht erreichbar ist:
- wie sieht die Last aus? ps aux | grep fhem
- Wurde etwas besonderes geschaltet, gesucht?
- Was sagt das Log?

Aktiv habe ich nichts geschaltet. Aber während der Störung konnte ich mit "ps aux | grep" sehen, dass mein ESPEasy Display angesteuert wurde.
Vielleicht blockiert das die Verbindung zum Frontend. Dieses habe ich jetzt mal deaktiviert.

pi@raspberrypi:~ $ ps aux | grep fhem
fhem       583  4.1  6.5  33716 29296 ?        S    14:19   1:13 perl fhem.pl fhem.cfg
fhem      1791  1.0  0.2   1900  1084 ?        S    14:48   0:00 sh -c wget -O /dev/null -q http://192.168.100.230/control?cmd=event,OUT_P=1004.0
fhem      1792  8.0  1.1  34360  4928 ?        S    14:48   0:00 wget -O /dev/null -q http://192.168.100.230/control?cmd=event,OUT_P=1004.0
pi        1794  0.0  0.4   4768  2092 pts/0    S+   14:48   0:00 grep --color=auto fhem



Leider kann ich immer nur dann testen, wenn es sporadisch mal nicht geht.
Mein global Log war seit 2 Tagen weg. Warum auch immer. Habe ihn heute mal wieder angelegt.


2019.03.10 12:21:05 3: MyCntEvent return value: SCALAR(0x347b1b8)
2019.03.10 12:21:06 3: MyCntgpioEvent return value: SCALAR(0x3869340)
2019.03.10 12:21:07 3: MyCntEvent return value: SCALAR(0x36def50)
2019.03.10 12:21:07 3: MyCntgpioEvent return value: SCALAR(0x37cba98)
2019.03.10 12:21:27 3: BZ_Display return value: -1
2019.03.10 12:21:27 3: Func_Cnt_Solar_Pow: SCALAR(0x36800b8)
2019.03.10 12:58:31 1: Timeout for SYSMON_blockingCall reached, terminated process 1268
2019.03.10 12:59:38 1: Timeout for SYSMON_blockingCall reached, terminated process 1329
2019.03.10 13:03:57 1: Timeout for SYSMON_blockingCall reached, terminated process 1549
2019.03.10 13:11:05 1: Timeout for SYSMON_blockingCall reached, terminated process 1862
2019.03.10 13:18:44 1: Timeout for SYSMON_blockingCall reached, terminated process 2255
2019.03.10 13:19:51 1: Timeout for SYSMON_blockingCall reached, terminated process 2298
2019.03.10 13:21:33 1: Timeout for SYSMON_blockingCall reached, terminated process 2343
2019.03.10 13:22:44 1: Timeout for SYSMON_blockingCall reached, terminated process 2433
2019.03.10 13:26:02 1: Timeout for SYSMON_blockingCall reached, terminated process 2572
2019.03.10 13:29:08 1: Timeout for SYSMON_blockingCall reached, terminated process 2693
2019.03.10 13:31:48 1: Timeout for SYSMON_blockingCall reached, terminated process 2851
2019.03.10 13:35:27 1: Timeout for SYSMON_blockingCall reached, terminated process 2969
2019.03.10 13:36:34 1: Timeout for SYSMON_blockingCall reached, terminated process 3046
2019.03.10 13:42:32 1: Timeout for SYSMON_blockingCall reached, terminated process 3322
grep: Schreibfehler: Datenübergabe unterbrochen (broken pipe)
2019.03.10 13:44:03 1: Timeout for SYSMON_blockingCall reached, terminated process 3371
2019.03.10 13:47:54 1: Timeout for SYSMON_blockingCall reached, terminated process 3520
2019.03.10 13:53:48 1: Timeout for SYSMON_blockingCall reached, terminated process 3847
2019.03.10 14:16:54 1: Timeout for SYSMON_blockingCall reached, terminated process 4486
2019.03.10 14:18:53 1: reload: Error:Modul 99_myUtils deactivated:

2019.03.10 14:18:54 1: Including fhem.cfg
2019.03.10 14:19:29 2: eventTypes: loaded 362 events from ./log/eventTypes.txt
2019.03.10 14:19:54 1: Including ./log/fhem.save
2019.03.10 14:19:56 0: Featurelevel: 5.9
2019.03.10 14:19:56 0: Server started with 192 defined entities (fhem.pl:18343/2019-01-20 perl:5.020002 os:linux user:fhem pid:583)


Währed der SYSMON Tioeouts hing das System die ganze Zeit.

@ rudolfkoenig
Ich habe es nicht übersehen, konnte es aber noch nicht testen.

Wenn das System läuft liefert mir "fhem.pl -d" fogendes:

pi@raspberrypi:/opt/fhem $ perl fhem.pl -d
Usage:
as server: fhem configfile
as client: fhem [host:]port cmd cmd cmd...
pi@raspberrypi:/opt/fhem $



VIELEN DANK FÜR EURE HILFE :D

Wernieman

SYSMON_blockingCall
Also ich würde denkn, das es daran liegt. Was hast Du im SYSMON eingestellt?

Bitte ein List ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Rave Rebel

Der SYSMON läuft bei mir schon seit Ewigkeiten unverändert und problemlos. Ich denke der hängt eben auch wenn das Frontend nicht geht.
define sysmon SYSMON 10 10 10 10
setuuid sysmon 5c463dce-f33f-0037-803b-98dd5b825bc1e212
attr sysmon network-interfaces eth0:eth0:Ethernet
attr sysmon room System


rudolfkoenig

ZitatWenn das System läuft liefert mir "fhem.pl -d" fogendes:
Ich meinte eigentlich, dass man FHEM im Terminal mit "perl fhem.pl -d fhem.cfg" startet.

Rave Rebel

ZitatIch meinte eigentlich, dass man FHEM im Terminal mit "perl fhem.pl -d fhem.cfg" startet.

Ja das hab ich schon gemacht. Da kommt so eine Masse von Zeilen. Ist das nicht zu viel, wenn ich die alle hier rein laden will?
Es ist halt immer schwierig den Moment zu erwischen an dem es mal länger wieder nicht geht.

Vielleicht war es ja wirklich mein "wget -O /dev/null -q http://192.168.100.230/..." zu meinem ESPEasy Display??!!

Ich bleib dran.

rudolfkoenig

ZitatJa das hab ich schon gemacht. Da kommt so eine Masse von Zeilen. Ist das nicht zu viel, wenn ich die alle hier rein laden will?
Klar, aber es reichen die letzten paar (100?) Zeilen, wenn es klemmt.

Wernieman

Wie rufst Du denn das wget auf?

Und Du könntest es probieren, in dem Du einfach mal dem Display den Strom "klaust". Wenn fhem dann steht, liegt es daran ..
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Rave Rebel

ZitatWie rufst Du denn das wget auf?

über folgendes notify

define BZ_Display notify BI_. {my $cnt = Value("BI_7");;system "wget -O /dev/null -q http://192.168.100.230/control?cmd=event,BZ_T=$cnt";;my $cntH = Value("BI_6");;system "wget -O /dev/null -q http://192.168.100.230/control?cmd=event,BZ_H=$cntH";; my $cntTO = ReadingsVal("DS18B20_S4_Aussentemp","temperature",0);;system "wget -O /dev/null -q http://192.168.100.230/control?cmd=event,OUT_T=$cntTO";; my $cntPO = ReadingsVal("BMP180","pressure-nn",0);;system "wget -O /dev/null -q http://192.168.100.230/control?cmd=event,OUT_P=$cntPO"}

UND getriggert wird es von den Werten BI_. die vom Nano Clone mit KeyValueProtocol kommen.

Da können auch mal bis zu 8 Werte innerhalb einer Sekunde kommen. Dann wird auch das notify entsprechend oft den wget ausführen!!

ZitatDu könntest es probieren, in dem Du einfach mal dem Display den Strom "klaust".

Ja, das Display ist schon einige Zeit nicht mehr in Betrieb. Also ist die Ziel-IP auch nicht erreichbar. Somit könnte auch das ein Problem sein. Aber eben auch nicht immer.


Das "notify BZ_Display" ist jetzt auf jeden Fall mal deaktiviert.
Vielleicht kommen wir der Sache jetzt ja schon mal näher! Seit heute Mittag nach dem Deaktivieren läuft es auf jeden Fall mal.
Das hat aber noch nichts zu heißen.