[Altern.: int.RPC]HMCCU: Bitte um Aufklärung des Zusammenhangs zu JSON Problemen

Begonnen von supernova1963, 01 Oktober 2017, 07:56:08

Vorheriges Thema - Nächstes Thema

Barit

Hi,
ich habe gerade erst gesehen, dass es diesen Thread gibt in dem es auch um das JSON-Problem bei Verwendung des externen RPC-Servers HMCCURPC geht. Ich und anderen haben die gleichen Probleme und haben dazu schon in diversen Threads gepostet. Nur damit die nicht alle auseinander laufen und die Zusammenhänge klar werden verlinke ich mal die anderen zum Thema gehörenden Threads:

https://forum.fhem.de/index.php/topic,71968.0.html
https://forum.fhem.de/index.php/topic,76744.0.html
https://forum.fhem.de/index.php/topic,76842.0.html
https://forum.fhem.de/index.php/topic,74943.0.html
https://forum.fhem.de/index.php/topic,71737.0.html

@zap:
Falls du Hilfe in Form von Logs oder Konfigurationen brauchst die das Problem eingrenzen können, kann ich gerne unterstützen. Ich benutzte ein aktuelles Raspbian Stretch und hatte nachdem die Probleme mit dem externen RPC auftraten per CPAN die aktuellsten RPC::XML::Client und RPC::XML::Server Module installiert. Das brachte aber auch keine Besserung, so dass ich derzeit auch wieder den internen RPC verwende.

zap

Zitat von: Barit am 04 Oktober 2017, 09:50:49
@zap:
Falls du Hilfe in Form von Logs oder Konfigurationen brauchst die das Problem eingrenzen können, kann ich gerne unterstützen. Ich benutzte ein aktuelles Raspbian Stretch und hatte nachdem die Probleme mit dem externen RPC auftraten per CPAN die aktuellsten RPC::XML::Client und RPC::XML::Server Module installiert. Das brachte aber auch keine Besserung, so dass ich derzeit auch wieder den internen RPC verwende.

Danke für das Angebot. Die RPC-Module sind wahrscheinlich nicht die Ursache, da sie sowohl vom internen als auch externen RPC-Server genutzt werden. Eher die Thread- oder Shared-Memory Module.

Interessant wäre, ob es jemanden gibt, bei dem das SONOS Modul mit JSON keine Probleme verursacht, aber das Modul HMCCURPC. Das SONOS-Modul benutzt ebenfalls Threads

Zum Thema Update: Bitte mal darauf achten, dass die Module threads, Thread::Queue, threads::shared und JSON aktuell sind. Hier die Versionen aus CPAN:

JSON: 2.94
threads: 2.16
Thread::Queue: 2.0
threads::shared: 1.57

Es kann eigentlich nur mit einem dieser Module zusammen hängen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Barit

Sonos habe ich leider nicht im Einsatz.
Habe aber gerade mal die Versionen der Module getestet und aktualisiert:

JSON: 2.94 (war aktuell)
threads: von 2.07 auf 2.16
Thread::Queue: von 3.09 auf 3.12
threads::shared: von 1.51 auf 1.57

Benutzt du eine ältere Version (2.0) von Thread::Queue? Meine installierte war bereits 3.09 und die habe ich jetzt auf 3.12 geupdatet. Danach habe ich nochmal den externen RPC-Server getestet, aber ich bekomme noch immer JSON-Fehler bspw. beim FRITZBOX-Modul:
JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/72_FRITZBOX.pm line 4609.

supernova1963

Hallo zusammen,

die Versions-Abfrage der genannten Module ergibt für den Standard Ubuntu 17.04 mit apt-get -y -f install libjson-perl: 

fhem@fhem:~$ cpan -D JSON
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/opt/fhem/.cpan/Metadata'
  Database was generated on Wed, 04 Oct 2017 05:17:02 GMT
JSON
-------------------------------------------------------------------------
(no description)
I/IS/ISHIGAKI/JSON-2.94.tar.gz
/usr/share/perl5/JSON.pm
Installed: 2.90
CPAN:      2.94  Not up to date
Kenichi Ishigaki (ISHIGAKI)
ishigaki@cpan.org

fhem@fhem:~$ cpan -D threads
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/opt/fhem/.cpan/Metadata'
  Database was generated on Wed, 04 Oct 2017 05:17:02 GMT
threads
-------------------------------------------------------------------------
(no description)
J/JD/JDHEDDEN/threads-2.16.tar.gz
/usr/lib/x86_64-linux-gnu/perl/5.24/threads.pm
Installed: 2.07
CPAN:      2.16  Not up to date
Jerry D. Hedden (JDHEDDEN)
jdhedden@cpan.org

fhem@fhem:~$ cpan -D Thread::Queue
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/opt/fhem/.cpan/Metadata'
  Database was generated on Wed, 04 Oct 2017 05:17:02 GMT
Thread::Queue
-------------------------------------------------------------------------
(no description)
J/JD/JDHEDDEN/Thread-Queue-3.12.tar.gz
/usr/share/perl/5.24/Thread/Queue.pm
Installed: 3.09
CPAN:      3.12  Not up to date
Jerry D. Hedden (JDHEDDEN)
jdhedden@cpan.org

fhem@fhem:~$ cpan -D threads::shared
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/opt/fhem/.cpan/Metadata'
  Database was generated on Wed, 04 Oct 2017 05:17:02 GMT
threads::shared
-------------------------------------------------------------------------
(no description)
J/JD/JDHEDDEN/threads-shared-1.57.tar.gz
/usr/lib/x86_64-linux-gnu/perl/5.24/threads/shared.pm
Installed: 1.51
CPAN:      1.57  Not up to date
Jerry D. Hedden (JDHEDDEN)
jdhedden@cpan.org


Alle 4 genannten sind "Not up to date", was jedoch wenig überraschend ist (CPAN ist sehr oft aktueller als eine Distribution).
Das Ergebnis von Barit läßt vermuten, dass ein Heben der Versionen dieser 4 Module auf den CPAN-Stand das Problem nicht löst.
Außerdem würde der Support eines jeden FHEM Moduls, das ebenfalls eins dieser CPAN Module nutzt, erheblich aufwendiger.
Wenn es dennoch unbedingt sein soll, würde ich es in meiner Entw.-Umgebung und der Debian 9.1 Maschine nach einem Snapshot testen.

LG

Gernot

zap

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)