FHEM Forum

FHEM => Frontends => fronthem / smartVISU => Thema gestartet von: Saphora am 18 September 2020, 11:20:16

Titel: FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 18 September 2020, 11:20:16
Hallo Zusammen,
derzeit tritt bei mir ein Problem mit FHEM in Kombination von SmartVISU auf.
Bei Aufruf von Seiten im SmartVISU Framework mit Grafen stürzt gelegentlich immer FHEM ab mit dem folgenden Log Einträgen:


2020.09.17 21 1: FHEMWEB SSL/HTTPS error:  SSL accept attempt failed (peer: 192.168.2.254)          // Raspberry Pi mit NGINX und SmartVisu
2020.09.17 21 1: FHEMWEB SSL/HTTPS error:  SSL accept attempt failed (peer: 192.168.2.254)          // Raspberry Pi mit NGINX und SmartVisu

Can't use an undefined value as an ARRAY reference at ./FHEM/31_fronthemDevice.pm line 632.

Undefined subroutine &main called at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 220.
2020.09.17 21 1: PERL WARNING: Subroutine fronthemUtils_Initialize redefined at ./FHEM/99_myfronthemUtils.pm line 11.
2020.09.17 21 1: PERL WARNING: Subroutine fronthem_decodejson redefined at ./FHEM/99_myfronthemUtils.pm line 15.
2020.09.17 21 1: PERL WARNING: Subroutine fronthem_encodejson redefined at ./FHEM/99_myfronthemUtils.pm line 19.
2020.09.17 21 1: PERL WARNING: Prototype mismatch: sub main ($$;$) vs ($$) at ./FHEM/99_myfronthemUtils.pm line 63.
2020.09.17 21 1: PERL WARNING: Subroutine UZSU_execute redefined at ./FHEM/99_myfronthemUtils.pm line 30.
2020.09.17 21 1: PERL WARNING: Subroutine UZSU redefined at ./FHEM/99_myfronthemUtils.pm line 77.
2020.09.17 21 1: PERL WARNING: Subroutine AnAus redefined at ./FHEM/99_myfronthemUtils.pm line 122.
2020.09.17 21 1: Including fhem.cfg
2020.09.17 21 1: PERL WARNING: Subroutine Trigger redefined at ./FHEM/99_fhconverter.pm line 14, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine Attribute redefined at ./FHEM/99_fhconverter.pm line 54, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine ReadingsTimestamp redefined at ./FHEM/99_fhconverter.pm line 94, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine Direct redefined at ./FHEM/99_fhconverter.pm line 134, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine NumDirect redefined at ./FHEM/99_fhconverter.pm line 179, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine Level_0_100 redefined at ./FHEM/99_fhconverter.pm line 244, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine NumDisplay redefined at ./FHEM/99_fhconverter.pm line 288, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine RGBCombined redefined at ./FHEM/99_fhconverter.pm line 335, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 15, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine randomRGB redefined at ./FHEM/99_myUtils.pm line 20, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine HM_Rollo_Stop redefined at ./FHEM/99_myUtils.pm line 30, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine HM_Rollo_Up_Down redefined at ./FHEM/99_myUtils.pm line 69, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine fronthemUtils_Initialize redefined at ./FHEM/99_myfronthemUtils.pm line 11, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine fronthem_decodejson redefined at ./FHEM/99_myfronthemUtils.pm line 15, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine fronthem_encodejson redefined at ./FHEM/99_myfronthemUtils.pm line 19, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine UZSU_execute redefined at ./FHEM/99_myfronthemUtils.pm line 30, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine UZSU redefined at ./FHEM/99_myfronthemUtils.pm line 77, <$fh> line 8.
2020.09.17 21 1: PERL WARNING: Subroutine AnAus redefined at ./FHEM/99_myfronthemUtils.pm line 122, <$fh> line 8.
2020.09.17 21 3: WEB: port 8083 opened
2020.09.17 21 2: eventTypes: loaded 13871 events from ./log/eventTypes.txt
2020.09.17 21 3: HM485: HM485: Converting device files
2020.09.17 21 3: HM485: ==============================
2020.09.17 21 3: HM485: hbw_lc4_in4_dr.xml up to date
2020.09.17 21 3: HM485: hbw_lc_dim8_dr.xml up to date
2020.09.17 21 3: HM485: hbw_sd6_multikey.xml up to date
2020.09.17 21 3: HM485: hmw_central.xml up to date
2020.09.17 21 3: HM485: hmw_generic.xml up to date
....


Der Fehler tritt nicht auf, wenn keine Seiten mit Grafen innerhalb von SmartVISU aufgerufen werden.
Ich hatte die aktuelle 31_fronthemDevice.pm aus GITHUB eingespielt, da tritt der Fehler nicht mehr auf, jedoch werden da auch keine Daten mehr der Grafen angezeigt.

FHEM ist aktuell.
SmartVisu 2.9 wird genutzt.

Kennt jemand das Problem und die Lösung :)

Großen Dank.

Martin
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: herrmannj am 18 September 2020, 12:19:44
ok, das erklärt. Fronthem hat Plots nicht implementiert - dass bedeutet das Verhalten tritt mit einer modifizierten Version auf?
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 18 September 2020, 12:28:14
Was heißt modifiziert?
Die PM-Dateien hatte ich mal aus dem FHEM Forum so aktualisiert, dass alles funktionierte. Bis auf den Absturz von FHEM bei Plots.
Was wäre die Empfehlung, um eine saubere SmartVISU Lösung in kombination mit FHEM zu erhalten?
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: herrmannj am 18 September 2020, 13:07:37
die Version mit den Plots kommt nicht von mir - daher weiß ich nicht was den Fehler verursacht.

Besagt Zeile in der Original Fronthem device ist diese:
$hash->{helper}->{monitor} = $msg->{message}->{items};

Damit dort der besagt Fehler auftritt müsste $msg ohne den key "message" ankommen (was eben "eigentlich" gar nicht vorkommt).

Vorschlag: nimm doch wieder die modifizierte Version und ändere _dort_ die Zeile #632 zu

eval {
  $hash->{helper}->{monitor} = $msg->{message}->{items};
} or do {
  use Data::Dumper;
  say "der komische Fehler war da:";
  say Dumper $msg;
  return;
};


Das ist erstmal nur ein workaround, der führt aber zu a) kein Absturz, b) 'ner Meldung im Log die vielleicht hilft herauszufinden warum.

vg
Joerg
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 18 September 2020, 13:48:14
Die Zeile #632 in der 31_fronthemDevice.pm sieht wie folgt aus:

@{$msg->{message}->{items}} = @{$param->{gads}}?@{$param->{gads}}:($param->{gad}, $param->{gadval});


Passt das dann mit dem Code von dir?
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: herrmannj am 18 September 2020, 14:11:38
ach siehste ..

Dann so, der Effekt ist der gleiche:

eval {
  @{$msg->{message}->{items}} = @{$param->{gads}}?@{$param->{gads}}:($param->{gad}, $param->{gadval});
} or do {
  use Data::Dumper;
  say "der komische Fehler war da:";
  say Dumper $msg;
  return;
};


Code ist ungetestet, mach vorher vernünftig Backups
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 18 September 2020, 15:01:01
Mit dieser Änderung kann FHEM das Module fronthemDevice nicht mehr laden.

define SV_TAB fronthemDevice 192.168.2.55 => FHEM Ausgabe: Cannot load module fronthemDevice
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: herrmannj am 18 September 2020, 15:37:04
im log steht noch mehr dazu (das warum). Was steht da?
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 18 September 2020, 15:50:45
Sieht nach Syntaxfehler aus:


2020.09.18 14 1: reload: Error 31_fronthemDevice deactivated:
syntax error at ./FHEM/31_fronthemDevice.pm line 639, near "say "der komische Fehler war da

2020.09.18 14 0: syntax error at ./FHEM/31_fronthemDevice.pm line 639, near "say "der komische Fehler war da
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: herrmannj am 18 September 2020, 16:28:45
Sieht eigentlich ok aus. dann mach mal ein "print" aus den beiden "say". Oder wirf die drei Zeilen ganz raus, bis zum return; das muss bleiben.
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 18 September 2020, 22:12:59
Mit print wird das Modul geladen und funktioniert-
Ich beobachte mal und berichte.
Danke :)
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 28 September 2020, 22:13:05
Also abstürzen tut jetzt nichts mehr.
Das ist der Logeintrag, wenn der Fehler auftritt:


der komische Fehler war da = {
          'message' => {
                         'cmd' => 'plot'
                       },
          'receiver' => 'SV_Tab'
        };


Kann ich da etwas tun?
Plots werden angezeigt.
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: herrmannj am 28 September 2020, 23:27:33
ne, da müsste der plot autor wohl ran. Aber wenn es läuft kannst du es ignorieren.
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: Saphora am 29 September 2020, 21:19:29
Alles klar. Dann großen Dank für die Funktionserweiterung, dass FHEM nicht mehr abstürzt :)
Titel: Antw:FHEM stürzt gelegentlich beim Aufruf vom SmartVISU Grafen ab
Beitrag von: 87insane am 04 März 2021, 11:35:01
Hey zusammen,

gibt es hier was neues? Ich nutze aktuell auch noch den Workaround.