69_SoftliqCloud - Auslesen und Steuern von Grünbeck Entkalkern (Cloud)

Begonnen von KernSani, 28 März 2021, 01:04:59

Vorheriges Thema - Nächstes Thema

KernSani

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, ...

Obi-Wan

so habe gerade mal nachgesehen, es sind libjson-perl und libjson-xs-perl

Obi-Wan

Der Vollständigkeit halber:
Für
PHP: php7.0-json
Node.js: node-read-package-json   und node-json-stringify-safe
C: libfastjson4:armhf

darkness

Zitat von: Obi-Wan am 06 Mai 2021, 22:56:31
so habe gerade mal nachgesehen, es sind libjson-perl und libjson-xs-perl

Hey,

welche Version von den beiden hast du installiert?

Obi-Wan

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

darkness

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ß

KernSani

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, ...

darkness

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

KernSani

Zitat von: darkness am 09 Mai 2021, 09:31:02
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, ...

Obi-Wan

Zitat von: darkness am 08 Mai 2021, 16:22:06
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.....

Obi-Wan

Zitat von: KernSani am 08 Mai 2021, 22:02:18
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......

Obi-Wan

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}]}'

KernSani

ZitatIch 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, ...

darkness

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}]}';

juelich

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