Autor Thema: 69_SoftliqCloud - Auslesen und Steuern von Grünbeck Entkalkern (Cloud)  (Gelesen 8375 mal)

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3537
Ich verstehe nicht ganz, was bei dir da schief läuft und bin etwas ratlos... Weisst du, welches JSON Module du verwendest?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 66
so habe gerade mal nachgesehen, es sind libjson-perl und libjson-xs-perl

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 66
Der Vollständigkeit halber:
Für
PHP: php7.0-json
Node.js: node-read-package-json   und node-json-stringify-safe
C: libfastjson4:armhf

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 886
so habe gerade mal nachgesehen, es sind libjson-perl und libjson-xs-perl

Hey,

welche Version von den beiden hast du installiert?

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 66
Hallo,

hier die Ausgabe über dpkg -l :

ii  libjson-perl   2.90-1       all          module for manipulating JSON-form
ii  libjson-xs-per 3.030-1      armhf        module for manipulating JSON-form

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 886
Hallo,

ich habe mal Testhalber ein Debian 9 System aufgesetzt und dort meine Wasserenthärtung definiert. Und siehe da:

2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 11 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mflowreg2":0';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mflowblend":0';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":4950") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mstep1":4950';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mstep2":0';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 10 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mcurrent":0';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 14 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mreswatadmod":0';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":99}]}\x{1e}") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"msaltrange":99}]}^^';

Es scheint als an der libjson-perl Version zu liegen. Unter Debian 10 habe ich keine Fehler.

Gruß

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3537
Ich habe nochmal ein bisschen gebastelt. Es mag ein Zusammenhang mit der JSON-Lib geben, das Problem sollte nun aber unabhängig davon ausgeschlossen sein.
Die neue Version kommt morgen mit dem Update, ich habe sie aber auch hier schon mal angehängt. Wer's probieren möchte: Nach dem Einspielen des angehängten Files (und reload 69_SoftliqCloud) bitte mal Folgendes in die Kommandozeile eingeben:

{FHEM::Gruenbeck::SoftliqCloud::splitTest('{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BS40011234","type":"Current","ibuiltindev":true,"isncu":"201911050794","mregpercent1":69,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":100,"mresidcap2":283,"mrescapa1":0.583,"mrescapa2":1.655,"mmaint":321,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":999}]}')}
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 886
Guten Morgen,

unter Debian 9 habe ich die Datei eingespielt und den Befehl ausgeführt:

Ergebnis:

$VAR1 = {
          'type' => 6
        };
$VAR2 = {
          'target' => 'SendMessageToDevice',
          'type' => 1,
          'arguments' => [
                           {
                             'mresidcap2' => 283,
                             'isncu' => '201911050794',
                             'mstep2' => 0,
                             'mflow1' => 0,
                             'mflowreg1' => 0,
                             'mflowreg2' => 0,
                             'id' => 'BS40011234',
                             'mflow2' => 0,
                             'mreswatadmod' => 0,
                             'mcurrent' => 0,
                             'mresidcap1' => 100,
                             'ibuiltindev' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                             'mregpercent1' => 69,
                             'type' => 'Current',
                             'mflowblend' => 0,
                             'mregpercent2' => 0,
                             'mmaint' => 321,
                             'mrescapa1' => '0.583',
                             'mremregstep' => 0,
                             'mregstatus' => 0,
                             'msaltrange' => 999,
                             'mrescapa2' => '1.655',
                             'mstep1' => 4950
                           }
                         ]
        };
Kein Eintrag im Log

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3537
Guten Morgen,

unter Debian 9 habe ich die Datei eingespielt und den Befehl ausgeführt:

Ergebnis:

$VAR1 = {
          'type' => 6
        };
$VAR2 = {
          'target' => 'SendMessageToDevice',
          'type' => 1,
          'arguments' => [
                           {
                             'mresidcap2' => 283,
                             'isncu' => '201911050794',
                             'mstep2' => 0,
                             'mflow1' => 0,
                             'mflowreg1' => 0,
                             'mflowreg2' => 0,
                             'id' => 'BS40011234',
                             'mflow2' => 0,
                             'mreswatadmod' => 0,
                             'mcurrent' => 0,
                             'mresidcap1' => 100,
                             'ibuiltindev' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                             'mregpercent1' => 69,
                             'type' => 'Current',
                             'mflowblend' => 0,
                             'mregpercent2' => 0,
                             'mmaint' => 321,
                             'mrescapa1' => '0.583',
                             'mremregstep' => 0,
                             'mregstatus' => 0,
                             'msaltrange' => 999,
                             'mrescapa2' => '1.655',
                             'mstep1' => 4950
                           }
                         ]
        };
Kein Eintrag im Log

Danke. Das heißt dann, das Garbage-Problem ist hoffentlich endgültig behoben :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 66
Hallo,

ich habe mal Testhalber ein Debian 9 System aufgesetzt und dort meine Wasserenthärtung definiert. Und siehe da:

2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 11 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mflowreg2":0';
2021.05.08 01:35:54 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
$VAR1 = '"mflowblend":0';

Es scheint als an der libjson-perl Version zu liegen. Unter Debian 10 habe ich keine Fehler.

Gruß

Wow, vielen Dank für den Einsatz - das ist ja echt stark - und falls der Patch bei mir nicht hilft ist der Wechsel auf Debian 10 dann auf jeden Fall eine Option.....

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 66
Ich habe nochmal ein bisschen gebastelt. Es mag ein Zusammenhang mit der JSON-Lib geben, das Problem sollte nun aber unabhängig davon ausgeschlossen sein.
Die neue Version kommt morgen mit dem Update, ich habe sie aber auch hier schon mal angehängt. Wer's probieren möchte: Nach dem Einspielen des angehängten Files (und reload 69_SoftliqCloud) bitte mal Folgendes in die Kommandozeile eingeben:

{FHEM::Gruenbeck::SoftliqCloud::splitTest('{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BS40011234","type":"Current","ibuiltindev":true,"isncu":"201911050794","mregpercent1":69,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":100,"mresidcap2":283,"mrescapa1":0.583,"mrescapa2":1.655,"mmaint":321,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":999}]}')}

Konnte leider erst Heute wieder Zeit "freischaufeln"... vielen Dank für den Patch und das dranbleiben am Thema. Ich habe ihn soeben eingespielt und melde mich wieder mit Ergebnissen......

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 66
Ich bin wohl leider ein hoffnungsloser Fall.... :(

2021.05.15 09:32:48 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 417 (before "\x{1e}") at ./FHEM/69_SoftliqCloud.pm line 1544.
'{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BS50012345","type":"Current","ibuiltindev":true,"isncu":"2020911050794","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":71,"mresidcap2":175,"mrescapa1":0.325,"mrescapa2":0.8,"mmaint":248,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3537
Zitat
Ich bin wohl leider ein hoffnungsloser Fall.... :(

ich hatte genau den auch einmal in den letzten Tagen, liegt also nicht an dir... allerdings kann ich mir das nicht ganz erklären, da ich genau diesen "Garbage" explizit rausfiltere... Ich experimentiere mal weiter...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 886
Guten Morgen.

Den Eintrag im Log hatte ich übersehen. Kommt aber auch bei mir regelmäßig:

2021.05.20 00:19:43 1: [MyGruenbeck] - Received invalid JSON: garbage after JSON object, at character offset 416 (before "\x{1e}") at ./FHEM/69_SoftliqCloud.pm line 1544.
$VAR1 = '{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BS50012345","type":"Current","ibuiltindev":true,"isncu":"202008170057","mregpercent1":93,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":58,"mresidcap2":180,"mrescapa1":0.258,"mrescapa2":0.8,"mmaint":162,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}';

Offline juelich

  • Full Member
  • ***
  • Beiträge: 164
Ich hatte diese Peobleme auch. Ich habe dann versucht, über "update 69_SoftliqCloud" das Modul auf den neuesten STand zu bringen - und jetzt geht gar nichts mehr. Das Compilieren dieses Moduls bricht ab.

Fehlermeldung Can't locate FHEM/Core/Authentication/Passwords.pm in @INC (you may need to install the FHEM::Core::Authentication::Passwords module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM/lib) at ./FHEM/69_SoftliqCloud.pm line 57.
BEGIN failed--compilation aborted at ./FHEM/69_SoftliqCloud.pm line 57.

Weiß jemand Rat? Vorher funktionierte alles bis auf die Fehlermeldungen im LOG.

Viele Grüße

Markus