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

Das Modul aus diesem Post ist jetzt ins SVN eingecheckt und über das reguläre Update verfügbar. Fragen, Anregungen etc... bitte in diesem Thread.

Was kann das Ding?   
Es liest defaultmäßig jede Stunde - steuerbar über Attribut - eine Unmenge von Werten des Entkalkers aus. Die Daten umfassen:
* Stammdaten zum Gerät (Geräte ID, Name, usw...)
* Aktuelle Daten, die man in der App auf der Startseite sieht (Verbrauch der letzten 3 Tage usw...)
* Alle Einstellungen
* Werte, die gestreamt werden, Regenerierungsstatus, aktueller Durchfluss und eine ganze Menge mehr, auch einige die ich in der App noch nicht gefunden habe.
Zudem kann man
* Parameter (Einstellungen) des Entkalkers ändern (ich habe das noch nicht vollständig getestet, aber es geht mindestens das, was in der App auch geht)
* Manuelle Regenerierung anstossen (Achtung - das geht ohne Warnung direkt los)

Was kann/hat das Ding noch nicht?
* Die Readings sind sehr unübersichtlich und bei vielen weiß ich garnicht was sie bedeuten. Da bin ich auf Input angewiesen, mir schwebt vor, dass die Readings 1. in Gruppen (basic, advanced, expert oder so) eingeteilt werden, über ein Attribut wäre dann auswählbar, welche Gruppen man sehen will und 2. sprechendere Namen für die Readings zu finden.

Wie funktioniert es?
Die folgenden Libraries müssen vorhanden sein:
MIME::Base64::URLSafe
Digest::SHA
JSON::XSEine Perl JSON library
Protocol::WebSocket::Client

dann
define <name> SoftliqCloud <loginName>

Danach ist das Passwort mit
set <name> password <password>
zu setzen,

Damit sollte das Ding loslaufen...

Get Befehle:
* authenticate: Braucht man im Normalfall nicht, beim Testen hatte ich allerdings Fälle, wo ich mich neu authorisieren musste
* query: holt alle Daten
* realtime: triggert das "streaming" (entspricht mehr oder weniger dem refresh Button in der App)
* salt/water: zeigt die Salz-/Wasser-Verbrauchshistorie an (vergleichbar mit einem Click auf die 3-Tages-Werte in der App).
* paramList: Zeigt die Einstellungen "schön" an

Set Befehle:
* regenerate: manuelle Regeneration (ohne Nachfrage - geht direkt los)
* param: erlaubt das setzen von Einstellungen (siehe paramList) in der Form
set meineSoftliq <parameterName> <parameterWert>
* refill: Auszuführen wenn Salz nachgefüllt wurde. Dadurch wird das Reading lastRefill mit dem aktuellen Wert des readings msaltusage gefüllt und regelmäßig der Salzverbrauch seit dem letzten Auffülen in saltUsageSinceRefill getrackt.
* password: Einmalig auszuführen, um das Passwort im sicheren Speicher zu setzen.

Wie gesagt, Feedback, Anregungen usw... sind sehr willkommen!
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Matscher

Hallo KernSani,


danke für das Modul. Funktioniert soweit, was aber jetzt neu im Log erscheint:'

Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Connection count rea...") at ./FHEM/69_SoftliqCloud.pm line 1498


Ich nehme an das jetzt auch die Verbindungsanzahl pro Account limitiert wurde? Konntest Du das auch schon feststellen? Info: Ich nutze bzw. habe die APP auf meinem Handy. Nutze sie aber nicht stündlich. :)


Danke und Gruß,
Steve
Rasp 3
CUL V3 868Mhz + nanoCUL 868Mhz als RFR + nanoCUL 868Mhz für Homematic + SIGNALduino
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

KernSani

Ja, habe ich bei mir auch festgestellt und bei mir lokal die Logausgabe angepasst, um ein paar mehr details zu bekommen. Wollte ich mir heite Abend genauer ansehen :-)

Edit: Tatsächlich kommt nicht mehr zurück als 'Connection count reaches limit.'. Mist... Dann müssen wir vermutlich experimentieren...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

@Matscher: Tritt das Problem bei dir noch auf? Bei mir nicht... Google-Recherche hat auch ergeben, dass Abfrage alle 10 Minuten unkritisch sein sollte. Ich vermute gerade fast, dass das ein Problem auf Grünbeck-Seite war...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

Hallo Oli,

vielen Dank fürs kümmern. Die Logeinträge sind tatsächlich viel weniger geworden. Zur Zeit habe ich nur noch wenige allerdings täglich (in unregelmäßigen Abständen) erscheinende Fehlermeldungen zur Zeile 1498:
2021.04.06 02:03:46 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 417 (before "{"type":6}\x{1e}") at ./FHEM/69_SoftliqCloud.pm line 1498.
Könntest Du dem bitte auch nochmal nachgehen?
Danke,
Obi-Wan

Obi-Wan

Hier noch 2 aktuelle Beispiele:
2021.04.06 04:23:17 1: [SophieSalz] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html PUBLI...") at ./FHEM/69_SoftliqCloud.pm line 1498.
2021.04.06 13:23:20 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1498.

KernSani

Hi zusammen,
Nach zwei Tagen hatte ich den Fehler heute Nachmittag endlich auch wieder auf meinem Testsystem und konnte den "garbage" isolieren, (wobei Obi-Wan ihn ja schon im Log hatte, ich hatte immer nur die "..."-Variante ). Fix ist im SVN und sollte morgen mit dem Update verfügbar sein. Dann ist Sophie hoffentlich wieder glücklich ;-)
Den "<!DOCTYPE html PUBLI..." hatte ich allerdings noch nicht. Der kommt mir noch verdächtig vor. Das würde heißen es kam eine HTML-Seite zurück, wo JSON erwartet wurde... Da bräuchte ich mehr Details - die erweiterte Log-Ausgabe im Fehlerfall ist ebenfalls im Update enthalten, also falls es nochmal auftritt finden wir den Kollegen auch... 
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

Neue Version ist eingespielt. Ich werde berichten ob Sophie nun glücklich ist  :)

Obi-Wan

hier doch noch mehr "garbage"...

2021.04.07 21:57:55 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 416 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1503.
'{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSxyz","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":77,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":45,"mresidcap2":139,"mrescapa1":0.262,"mrescapa2":0.8,"mmaint":286,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}{"type":1,"target":"SendOneTimeMessageToDevice","arguments":[{"id":"BSxyz","type":"CurrSlow","ibuiltindev":true,"isncu":"202006251438","mcountreg":55,"mcountwater1":28343,"mcountwater2":0,"mcountwatertank":39,"msaltusage":15.65,"mflowexc":0,"mflowexc2reg1":0,"mflowexc1reg2":0,"mlifeadsorb":0,"mhardsoftw":5,"mcapacity":10.1,"maverage":99,"mstddev":0,"mmax":1,"mpress":0,"mtemp":0,"mflowmax":2.15,"mflowmax1reg2":0,"mflowmax2reg1":0,"mendreg1":"02:21","mendreg2":"00:00"}]}'

2021.04.08 01:18:17 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 416 (before "{"type":6}\x{1e}") at ./FHEM/69_SoftliqCloud.pm line 1503.
'{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSxyz","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":77,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":42,"mresidcap2":139,"mrescapa1":0.243,"mrescapa2":0.8,"mmaint":285,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}{"type":6}'

2021.04.08 06:18:23 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1503.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSxyz","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":57,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":100,"mresidcap2":140,"mrescapa1":0.5700000000000001,"mrescapa2":0.8,"mmaint":285,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'


der <!DOCTYPE - Fehler ist bislang nicht mehr aufgetreten....

FlorianSenne

Hallo zusammen,

ich habe mich heut auch mal radgewagt und bekomme auch die selbe / ähnliche Fehlermeldung:

2021.04.08 18:47:13 1: [Wasserenthaertung] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "You do not have perm...") at ./FHEM/69_SoftliqCloud.pm line 1447.

2021.04.08 18:47:13 1: [Wasserenthaertung] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/69_SoftliqCloud.pm line 1447.


Bin auf die Lösung gespannt :)
VG
Florian

KernSani

@Obi-Wan: Du bist ja ein eifriger Müllsammler ;-) Ich glaube ich muss das anders lösen, nicht bestimmte "garbage"-Zeichen filtern, sondern hinten alles abschneiden, was da an Unfug kommt...
@Florian: "You do not have perm..." scheint mir eher ein Berechtigungsproblem zu sein... sind das die einzigen Meldungen von [Wasserenthaertung] im Log?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

FlorianSenne

#11
[quote
@Florian: "You do not have perm..." scheint mir eher ein Berechtigungsproblem zu sein... sind das die einzigen Meldungen von [Wasserenthaertung] im Log?
[/quote]

Jap und die kommen immer wieder nacheinander......wobei mein Benutzer und Passwort definitiv stimmen......wobei das Passwort ja nur als "crypt:................" angezeigt wird in der def

Grad sah es so aus:

2021.04.08 20:09:01 1: [Wasserenthaertung] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "You do not have perm...") at ./FHEM/69_SoftliqCloud.pm line 1447.

2021.04.08 20:09:01 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/69_SoftliqCloud.pm line 1287.
2021.04.08 20:09:01 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/69_SoftliqCloud.pm line 1296.
2021.04.08 20:09:01 1: [Wasserenthaertung] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/69_SoftliqCloud.pm line 1447.


VG
Florian

KernSani

Zitat von: FlorianSenne am 08 April 2021, 19:58:41
Jap und die kommen immer wieder nacheinander......wobei mein Benutzer und Passwort definitiv stimmen......wobei das Passwort ja nur als "crypt:................" angezeigt wird in der def

Grad sah es so aus:
Kannst du bitte mal ein "Get authenticate" machen und danach ein "get query". Wenn dabei immernoch Fehler auftreten, bitte mal verbose im Modul auf 5 stellen und nochmal "get query". Die Logausgabe sollte mir dann mehr Details geben...
Tritt das Problem nur sporadisch auf, oder bekommst du nie Werte zurück?

Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Die Version, die mit dem morgigen Update kommt hat dann ein leicht verbessertes Verhalten im Fehlerfall...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

FlorianSenne

#14
Zitat von: KernSani am 08 April 2021, 21:49:48
Kannst du bitte mal ein "Get authenticate" machen und danach ein "get query". Wenn dabei immernoch Fehler auftreten, bitte mal verbose im Modul auf 5 stellen und nochmal "get query". Die Logausgabe sollte mir dann mehr Details geben...
Tritt das Problem nur sporadisch auf, oder bekommst du nie Werte zurück?

Grüße,
Oli

Guten Morgen,

ich habe den Fehler gefunden. Ich Hirsch hab das einfachste übersehen. Die .pm hat sich mit dem normalen update nicht aktualisiert....wieso auch immer. ich hab die Datei dann via FTP gelöscht, dann lief das update sauber und nun hab ich die aktuelle Fassung. Geht alles. Danke nochmal und sorry für die Umstände ;)
VG
Flo

KernSani

Zitat von: FlorianSenne am 09 April 2021, 10:58:25
Guten Morgen,

ich habe den Fehler gefunden. Ich Hirsch hab das einfachste übersehen. Die .pm hat sich mit dem normalen update nicht aktualisiert....wieso auch immer. ich hab die Datei dann via FTP gelöscht, dann lief das update sauber und nun hab ich die aktuelle Fassung. Geht alles. Danke nochmal und sorry für die Umstände ;)

Hattest du zuvor die alte Version aus dem Post (die noch nicht im SVN eingecheckt war) installiert? Dann war es wahrscheinlich ein File-Berechtigungsproblem...Aber wenn's jetzt läuft ist ja alles gut...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

FlorianSenne

Zitat von: KernSani am 09 April 2021, 12:35:58
Hattest du zuvor die alte Version aus dem Post (die noch nicht im SVN eingecheckt war) installiert? Dann war es wahrscheinlich ein File-Berechtigungsproblem...Aber wenn's jetzt läuft ist ja alles gut...

Hallo,

ja hatte ich. Genau, es hing an der Berechtigung.

Wieder etwas gelernt :)

Danke euch und VG
Florian

Obi-Wan

Hallo Oli,

deutliche Verbesserung, nach dem letzten Update (Freitag Abend) über das Wochenende laufen gelassen (60 Stunden) nur noch 6 Meldungen (die gab es zuvor an einem Vormittag. :)..):

2021.04.10 02:31:22 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1524.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSx00abcde","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":86,"mresidcap2":129,"mrescapa1":0.534,"mrescapa2":0.8,"mmaint":283,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

2021.04.10 14:41:28 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1524.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSx00abcde","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":65,"mresidcap2":129,"mrescapa1":0.403,"mrescapa2":0.8,"mmaint":283,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

2021.04.11 09:31:50 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1524.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSx00abcde","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":46,"mresidcap2":174,"mrescapa1":0.215,"mrescapa2":0.8,"mmaint":282,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

2021.04.11 14:01:32 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1524.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSx00abcde","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":32,"mresidcap2":174,"mrescapa1":0.147,"mrescapa2":0.8,"mmaint":282,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

2021.04.11 17:21:51 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1524.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSx00abcde","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":10,"mresidcap2":174,"mrescapa1":0.048,"mrescapa2":0.8,"mmaint":282,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

2021.04.12 00:51:51 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1524.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BSx00abcde","type":"Current","ibuiltindev":true,"isncu":"202006251438","mregpercent1":100,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":95,"mresidcap2":174,"mrescapa1":0.437,"mrescapa2":0.8,"mmaint":281,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}'

Matscher

Zitat von: KernSani am 01 April 2021, 22:22:15
@Matscher: Tritt das Problem bei dir noch auf? Bei mir nicht... Google-Recherche hat auch ergeben, dass Abfrage alle 10 Minuten unkritisch sein sollte. Ich vermute gerade fast, dass das ein Problem auf Grünbeck-Seite war...


Sorry für meine späte Antwort:


Bis jetzt ist es nicht mehr aufgetreten. :)


Danke und Grüße
Rasp 3
CUL V3 868Mhz + nanoCUL 868Mhz als RFR + nanoCUL 868Mhz für Homematic + SIGNALduino
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

KernSani

@Obi-Wan: Ich habe nochmal eine kleine Korrektur eingecheckt, die den letzten "Garbage" beseitigen sollte (wobei mir immer noch unklar ist, wo der herkommt)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan


darkness

Guten Morgen,

seit einiger Zeit habe ich auch eine softliQ:SD21. Sowit erhalte ich auch Daten mir dem Modul in FHEM. Jedoch scheint das setzen von Parametern nicht zu klappen.

Mittels get MyGruenbeck ParamList herhalte ich z.B.:

pmode Arbeitsweise 2 (Comfort)

Jetzt wollte ich per:

set MyGruenbeck param pmode 1

den Arbeitsmodus umschalten. Ich bekomme aber nur einen Fehler:

"invalidParameters"

2021.04.20 07:13:12 3: [MyGruenbeck] Setting parameter {"pmode":"1"}
2021.04.20 07:13:12 4: [MyGruenbeck] - Read password from file
2021.04.20 07:13:12 4:  / {"error":{"type":"invalidParameters"}}
2021.04.20 07:13:12 4: $VAR1 = {
          'error' => {
                       'type' => 'invalidParameters'
                     }
        };


Kann ich die Parameter so nicht ändern?

KernSani

Hello darkness, my old friend ;-)
Danke für den Hinweis. War mir noch nicht aufgefallen. Die neue Grünbeck API zickt offensichtlich, wenn Zahlen als String übergeben werden. Habe es gefixt und kommt morgen (eigentlich heute) mit dem Update.
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

darkness

Guten Morgen,

danke für die schnelle Änderung. Jedoch wirft die neue Version einen Fehler aus wenn ich die Parameterliste aktualisiere.
Es kommt die Meldung nach dem Restart, das die Parameterliste aktualisiert werden muss. Aber danach bleibt die Parameterliste leer.
Im Log habe ich folgenden Fehler:

2021.04.21 08:20:03 4:  / The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.$VAR1 = 'HTTP/1.1 404 Not Found
Allow: OPTIONS,TRACE,GET,HEAD,POST
Content-Type: text/html
x-ms-gateway-requestid: 0d1a7c44-f361-4ad4-be7f-c66dbf08f9e0
X-Frame-Options: DENY
Public: OPTIONS,TRACE,GET,HEAD,POST
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Date: Wed, 21 Apr 2021 06:20:02 GMT
Connection: close
Content-Length: 103';

2021.04.21 08:20:03 1: [MyGruenbeck] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "The resource you are...") at ./FHEM/69_SoftliqCloud.pm line 1531.
$VAR1 = 'The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.';

2021.04.21 08:20:03 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/69_SoftliqCloud.pm line 807.


Es scheint, als wenn er die API-Version in getParam nicht kennt. Zumindest zeigt er im Browser nichts an, wenn ich die aufrufe. Nachdem ich die geändert habe, klappt alles. Kann aber jetzt aber auch nur ein Glückstreffer von mir gewesen sein :)

Index: 69_SoftliqCloud.pm
===================================================================
--- 69_SoftliqCloud.pm (revision 24294)
+++ 69_SoftliqCloud.pm (working copy)
@@ -1262,7 +1262,7 @@
         header => $header,
         url    => "https://prod-eu-gruenbeck-api.azurewebsites.net/api/devices/"
             . ReadingsVal( $name, 'id', $EMPTY )
-            . '/parameters?api-version=2020-08-03',
+            . '/parameters?api-version=2019-08-09',
         callback => \&parseParam,
         hash     => $hash
     };

KernSani

Hi,
das ist interessant. Ich habe offensichtlich lange keinen Restart gemacht ;-) Ich konnte das Problem nachvollziehen und deine Lösung funktioniert bei mir auch...  Ist allerdings etwas inkonsistent, daher wundert mich das. Da muss ich bei Gelegenheit wohl mal den Proxy anwerfen und schauen, was die App da macht. Für's erste kommt deine Korrektur ins morgige Update. Wenn du noch ein paar Erläuterungen zu den Parametern hast, nehme ich die übrigens auch gerne :-)
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

so, habe es etwas länger laufen lassen, regelmäßig erscheinen noch folgende Fehlermeldungen im Log:


2021.04.21 10:38:34 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 416 (before "{"type":6") at ./FHEM/69_SoftliqCloud.pm line 1525.
'{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BS11111111","type":"Current","ibuiltindev":true,"isncu":"202001434532","mregpercent1":83,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":78,"mresidcap2":146,"mrescapa1":0.426,"mrescapa2":0.8,"mmaint":272,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]}{"type":6'

2021.04.21 14:38:38 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1525.
'{"type":6}{"type":1,"target":"SendMessageToDevice","arguments":[{"id":"BS11111111","type":"Current","ibuiltindev":true,"isncu":"202001434532","mregpercent1":83,"mregpercent2":0,"mremregstep":0,"mregstatus":0,"mresidcap1":72,"mresidcap2":146,"mrescapa1":0.395,"mrescapa2":0.8,"mmaint":272,"mflow1":0,"mflow2":0,"mflowreg1":0,"mflowreg2":0,"mflowblend":0,"mstep1":4950,"mstep2":0,"mcurrent":0,"mreswatadmod":0,"msaltrange":99}]'

KernSani

Hmmm... ich kann da keinen Garbage mehr erkennen. sieht mir fast so aus, als würde ich jetzt zu viel weglöschen... Ich habe mal noch eine kleine Anpassung gemacht. Kommt morgen mit dem Update.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

Update gestern eingespielt, neu sind jetzt die beiden PERL Warnings und weiterhin erscheinen die merkwürdigen garbage-Meldungen:
2021.04.22 22:00:18 1: PERL WARNING: Use of uninitialized value $header in pattern match (m//) at ./FHEM/69_SoftliqCloud.pm line 1487.
2021.04.22 22:00:18 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/69_SoftliqCloud.pm line 876.
2021.04.23 00:00:16 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before "{"type":1,"target":"...") at ./FHEM/69_SoftliqCloud.pm line 1533.
'{"type":6}{"type":1,"target":"SendOneTimeMessageToDevice","arguments":[{"id":"BS50063476","type":"CurrSlow","ibuiltindev":true,"isncu":"202007425689","mcountreg":67,"mcountwater1":33165,"mcountwater2":0,"mcountwatertank":45,"msaltusage":18.0868,"mflowexc":0,"mflowexc2reg1":0,"mflowexc1reg2":0,"mlifeadsorb":0,"mhardsoftw":5,"mcapacity":10.9,"maverage":99,"mstddev":0,"mmax":0,"mpress":0,"mtemp":0,"mflowmax":2.15,"mflowmax1reg2":0,"mflowmax2reg1":0,"mendreg1":"02:19","mendreg2":"00:00"}]'

KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

 :) nein, sondern auf 2 (dev und prod) Raspberry Pi 3 Model B Rev 1.2....

Obi-Wan

Wer lesen kann ist klar im Vorteil  :)
Die Frage war nach der verwendeten SW und ich hatte mit der HW geantwortet.
Sorry.
Auf den PIs läuft aktuell Raspberry Pi OS 9 Stretch
Warum eigentlich die Frage ?

KernSani

Zitat von: Obi-Wan am 26 April 2021, 12:23:14
Wer lesen kann ist klar im Vorteil  :)
Die Frage war nach der verwendeten SW und ich hatte mit der HW geantwortet.
Sorry.
Auf den PIs läuft aktuell Raspberry Pi OS 9 Stretch
Warum eigentlich die Frage ?
Aus dieser HW ergibt sich ja das OS (jedenfalls die grobe Richtung ;-)) Hatte kürzlich an anderer Stelle Probleme, wo Zeilenumbrüche unter Windows das Ursache waren, daher die Frage.
Ich hatte heute tatsächlich auch wieder mal Garbage, und ich vermute sehr stark, dass es damit zusammen hängt, dass mehrere JSON-Strings in einem "Frame" kommen. Ich fange das in der neuesten Version (morgen im Update) ab. Hoffe, das löst es endlich...

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

darkness

Zitat von: KernSani am 21 April 2021, 22:06:29
...  Ist allerdings etwas inkonsistent, daher wundert mich das. Da muss ich bei Gelegenheit wohl mal den Proxy anwerfen und schauen, was die App da macht. Für's erste kommt deine Korrektur ins morgige Update. Wenn du noch ein paar Erläuterungen zu den Parametern hast, nehme ich die übrigens auch gerne :-)

ich hatte es, wie geschrieben, auch einfach nur über die Adresszeile des Browsers getestet. Aktuell läuft auch alles noch.
Zu den Parametern habe ich auch nicht mehr. Vielleicht werde ich aber mal die den Heizungsmonteuer meines Vertrauens sprechen, der die Anlage installiert hat. Vielleicht hat er ja auch noch ein paar Infos mehr.
Ich habe bei mir auch Readings über fehlendes Salz:

message_660358487_date 2021-04-12T18:43:13.714 2021-04-27 11:51:11
message_660358487_isResolved 1 2021-04-27 11:51:11
message_660358487_message Salzvorrat gering! 2021-04-27 11:51:11
message_660358487_type warning


Auch wenn es "Resolved" ist, hast du eine Idee wie ich die löschen kann?

Ach, und die Garbage-Meldungen habe ich bei mir nicht (verbose 2).

KernSani

Bei mir haben die messages irgendwie immer den Staus ,,resolved" habe ich den Eindruck- ich beobachte das mal genauer. Ansonsten hilft natürlich ein deletereading. Ich könnte aber auch noch ein ,,deleteResolvedMessages" einbauen.
Der Garbage-Fix von gestern ist übrigens Buggy... fixe ich vermutlich heute noch.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

darkness

Hey,
das deleteReading reicht nicht. Die Daten sind im JSON-Stream enthalten und werden neu übertragen. An der Anlage habe ich aber auch nichts dazu gesehen? Gibt es sowas, wie ein Service-Menü? Da muss ich mal gucken.


KernSani

Zitat von: darkness am 27 April 2021, 21:36:52
Hey,
das deleteReading reicht nicht. Die Daten sind im JSON-Stream enthalten und werden neu übertragen. An der Anlage habe ich aber auch nichts dazu gesehen? Gibt es sowas, wie ein Service-Menü? Da muss ich mal gucken.
Oh, stimmt... Da kommt immer die ganze Historie mit. Dann baue ich was, dass man per Attribut steuern kann, dass "resolved" Messages nicht als Readings angezeigt werden.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

darkness

Vielleicht ein Zähler für Resolved Messeages? Ich hatte die Meldung mit geringem Salzvorrat. Aber ehe ich nachgefüllt habe, was die Meldung wieder resolved. Vielleicht war es genau an der Grenze.

Matscher

Ich habe das Phänomen, das die aktuellen Daten, wie Wasser oder Salzverbrauch, 3 Tages Übersucht etc., nicht mehr aktualisiert werden. Das geschieht nur, wenn ich auch gleichzeitig die APP benutze. Dann werden bis auf die 3 Tages Verbrauchswerte die Daten auch in FHEM abgeholt. Ich habe das ganze FHEM auf dem Neusten Stand. Auch ein löschen und wieder neu anlegen hat nichts geholfen. Es werden nur die Serialnumber, Name , type, Id und paar wenige mehr aktualisiert.

Rasp 3
CUL V3 868Mhz + nanoCUL 868Mhz als RFR + nanoCUL 868Mhz für Homematic + SIGNALduino
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

KernSani

Zitat von: Matscher am 28 April 2021, 20:29:21
Ich habe das Phänomen, das die aktuellen Daten, wie Wasser oder Salzverbrauch, 3 Tages Übersucht etc., nicht mehr aktualisiert werden. Das geschieht nur, wenn ich auch gleichzeitig die APP benutze. Dann werden bis auf die 3 Tages Verbrauchswerte die Daten auch in FHEM abgeholt. Ich habe das ganze FHEM auf dem Neusten Stand. Auch ein löschen und wieder neu anlegen hat nichts geholfen. Es werden nur die Serialnumber, Name , type, Id und paar wenige mehr aktualisiert.


Stehen im Log irgendwelche Meldungen?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Matscher

Rasp 3
CUL V3 868Mhz + nanoCUL 868Mhz als RFR + nanoCUL 868Mhz für Homematic + SIGNALduino
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

Obi-Wan

Zitat von: KernSani am 27 April 2021, 20:34:11
Bei mir haben die messages irgendwie immer den Staus ,,resolved" habe ich den Eindruck- ich beobachte das mal genauer. Ansonsten hilft natürlich ein deletereading. Ich könnte aber auch noch ein ,,deleteResolvedMessages" einbauen.
Der Garbage-Fix von gestern ist übrigens Buggy... fixe ich vermutlich heute noch.
Hast Du den Fix bereits einspielen können ?

KernSani

Zitat von: Obi-Wan am 01 Mai 2021, 18:56:51
Hast Du den Fix bereits einspielen können ?
Läuft bei mir jetzt seit ca. 48 Stunden... Werde ich heute wohl einchecken.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

Ich habe das Update gestern eingespielt und musste es gerade wieder zurückdrehen da FHEM immer nach der folgenden Meldung crashed und neu startet (mehrfach seit gestern):Undefined subroutine &FHEM::Gruenbeck::SoftliqCloud::Substr called at ./FHEM/69_SoftliqCloud.pm line 1993.

KernSani

Zitat von: Obi-Wan am 04 Mai 2021, 22:50:53
Ich habe das Update gestern eingespielt und musste es gerade wieder zurückdrehen da FHEM immer nach der folgenden Meldung crashed und neu startet (mehrfach seit gestern):Undefined subroutine &FHEM::Gruenbeck::SoftliqCloud::Substr called at ./FHEM/69_SoftliqCloud.pm line 1993.
Das sollte mit dem heutigen Update schon behoben sein
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

Wow, jetzt wird das Logfile ganz schön "zugeballert", hier mal nur ein Teil der Einträge eines einzelnen Aufrufs:
2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: , or } expected while parsing object/hash, at character offset 9 (before "(end of string)") at ./FHEM/69_SoftliqCloud.pm line 1543.
'{"type":6'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: , or } expected while parsing object/hash, at character offset 9 (before "(end of string)") at ./FHEM/69_SoftliqCloud.pm line 1543.
'{"type":1'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":"SendMessageToDevic...") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"target":"SendMessageToDevice"'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 6 (before ":"Current"") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"type":"Current"'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 13 (before ":true") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"ibuiltindev":true'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 14 (before ":79") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mregpercent1":79'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 14 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mregpercent2":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 13 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mremregstep":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mregstatus":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":68") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mresidcap1":68'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":118") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mresidcap2":118'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 11 (before ":0.461") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mrescapa1":0.461'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 11 (before ":0.8") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mrescapa2":0.8'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":257") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mmaint":257'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mflow1":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mflow2":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 11 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mflowreg1":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":4950") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mstep1":4950'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 8 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mstep2":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 10 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mcurrent":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 14 (before ":0") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"mreswatadmod":0'

2021.05.06 20:37:54 1: [SophieSalz] - Received invalid JSON: garbage after JSON object, at character offset 12 (before ":99}]}\x{1e}") at ./FHEM/69_SoftliqCloud.pm line 1543.
'"msaltrange":99}]}'

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

darkness

Ist dein restliches FHEM auf dem aktuellen Stand? Da gab es auch ein paar Änderungen. Das Problem hat nicht direkt was mit dem Modul zu tun.

Edit:
https://forum.fhem.de/index.php/topic,119907.0.html

KernSani

Zitat von: darkness am 20 Mai 2021, 12:11:02
Ist dein restliches FHEM auf dem aktuellen Stand? Da gab es auch ein paar Änderungen. Das Problem hat nicht direkt was mit dem Modul zu tun.

Edit:
https://forum.fhem.de/index.php/topic,119907.0.html

Korrekt, FHEM muss auf einem relativ neuem Stand sein.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Obi-Wan

Hallo,

gibt es neue Erkenntnisse zu den invalid JSON: garbage Meldungen ?

Kermit20

Hallo, danke für die tolle Entwicklung ! Ich habe gerade meine SD:21 hinzugefügt. Dabei ist mir aufgefallen, das viele Daten fehlten und auch "falsche" dabei waren. Bei genauerem hinschauen ist aufgefallen, dass die Daten meiner zwei registrierten Geräte (zusätzlich noch der Rückspülfilter) vermischt wurden.

Kann das über das PlugIn irgendwie gesteuert werden ?

Danke und Gruß
RPi1: FHEM mit HMLAN und CUL Eigenbau: diverse Homematic Geräte; Technoline Temp/Feuchte 868 MHz // Schalsteckdosen 433 MHz
RPi2: FHEM mit Viessmann(optolink) mit VControl und 1W Sensoren
RPi3: Apache / Owncloud 9

Matscher

Hallo Kermit20,

ich habe genau das selbe Problem. Ich bin mal durch den Code geflogen und habe etwas gefunden, wo die Geräte abgefragt werden. Hier wird aktuell nur ein Gerät ausgewählt und zwar immer das Erste. Auch in meinem Fall ist es der Rückspülfilter.

Was ich auf die Schnelle ausprobiert habe ist, das ich in der aktuellen Version von 69_SoftliqCloud.pm in der SubRoutine parseDevices Zeile 1073 wie nachfolgend geändert habe.


my $dev = $data->[1];


Damit wird immer das zweite Gerät verwendet. In meinem Fall ist es die SD21. Ich denke in dieser Routine kann man alle Geräte aus der Cloud holen und vllt. herausbekommen um was es sich für ein Gerätetyp handelt. Hier kann KernSani mehr sagen ob das möglich ist und evtl. anpassen.

Ich hoffe es hilft auch Dir.

Gruß
Rasp 3
CUL V3 868Mhz + nanoCUL 868Mhz als RFR + nanoCUL 868Mhz für Homematic + SIGNALduino
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

alexalex

Huhu,
zunächst einmal vielen Dank für das Modul! Ich nutze es, um die SoftliQ SD21 Enthärtungsanlage auszulesen.
Mir ist aufgefallen, dass seitdem die Anlage dauerhaft leuchtet, obwohl sie nur bei Wasserverwendung etc. leuchten soll. Hat noch jemand das Problem? Sobald ich das Modul deaktiviere, geht die LED aus. Kann es sein, dass quasi dauerhaft der Status gepollt wird und eine Art Intervall eingestellt werden muss?
Viele Grüße
Alex

Obi-Wan

Hallo,

kann es sein das sich die API geändert hat ? Seit gestern erhalte ich im Abfrageintervall sowie bei manuellem authenticate und query nur noch die folgenden Logeinträge:
2022.05.23 00:17:50 1: [MyGruenbeck] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Connection count rea...") at ./FHEM/69_SoftliqCloud.pm line 1544.
'Connection count reaches limit.'

Obi-Wan

Zitat von: Obi-Wan am 23 Mai 2022, 00:34:10
Hallo,

kann es sein das sich die API geändert hat ? Seit gestern erhalte ich im Abfrageintervall sowie bei manuellem authenticate und query nur noch die folgenden Logeinträge:
2022.05.23 00:17:50 1: [MyGruenbeck] - Received invalid JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Connection count rea...") at ./FHEM/69_SoftliqCloud.pm line 1544.
'Connection count reaches limit.'


Hat sich nach ca. 24 Stunden von selbst erledigt - Modul läuft wieder fehlerfrei - was auch immer es gewesen war....

buennerbernd

Ich habe auch mal dieses Modul ausprobiert und bin auf folgendes Problem gestoßen:
Ich habe in der App 2 Geräte registriert, die Enthärtungsanlage und einen Grünbeck Rückspülfilter.
In FHEM wird leider nur der Rückspülfilter ausgelesen, der mich eigentlich nicht so interessiert.

Gibt es dafür eine Lösung?
Modulentwickler von KLF200 und KLF200Node