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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Matscher

  • Developer
  • Full Member
  • ****
  • Beiträge: 339
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
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Energy meter, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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...
« Letzte Änderung: 31 März 2021, 14:40:45 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
@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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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.

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
Neue Version ist eingespielt. Ich werde berichten ob Sophie nun glücklich ist  :)

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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....

Offline FlorianSenne

  • New Member
  • *
  • Beiträge: 28
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

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
@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, ...

Offline FlorianSenne

  • New Member
  • *
  • Beiträge: 28
[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
« Letzte Änderung: 08 April 2021, 20:10:29 von FlorianSenne »

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline FlorianSenne

  • New Member
  • *
  • Beiträge: 28
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
« Letzte Änderung: 09 April 2021, 11:23:39 von FlorianSenne »

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline FlorianSenne

  • New Member
  • *
  • Beiträge: 28
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

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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}]}'

Offline Matscher

  • Developer
  • Full Member
  • ****
  • Beiträge: 339
@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
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Energy meter, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
@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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
Neue Version eingespielt - ich logge mal 48 Stunden....

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 861
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?

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 861
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
     };
« Letzte Änderung: 21 April 2021, 08:59:32 von darkness »

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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}]'

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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"}]'

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
Mal wine dumme Frage... Läuft dein FHEM unter Windows?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
 :) nein, sondern auf 2 (dev und prod) Raspberry Pi 3 Model B Rev 1.2....

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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 ?

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 861
...  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).

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 861
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.


Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 861
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.

Offline Matscher

  • Developer
  • Full Member
  • ****
  • Beiträge: 339
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
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Energy meter, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Matscher

  • Developer
  • Full Member
  • ****
  • Beiträge: 339
Nein keine Meldungen im Log.
Rasp 3
CUL V3 868Mhz + nanoCUL 868Mhz als RFR + nanoCUL 868Mhz für Homematic
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Energy meter, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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 ?

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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.

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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}]}'

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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: 65
so habe gerade mal nachgesehen, es sind libjson-perl und libjson-xs-perl

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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: 861
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: 65
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: 861
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: 3535
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: 861
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: 3535
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: 65
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: 65
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: 65
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: 3535
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: 861
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

Offline darkness

  • Sr. Member
  • ****
  • Beiträge: 861
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
« Letzte Änderung: 20 Mai 2021, 12:12:50 von darkness »

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3535
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, ...

Offline Obi-Wan

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

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

Offline Kermit20

  • Full Member
  • ***
  • Beiträge: 138
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

Offline Matscher

  • Developer
  • Full Member
  • ****
  • Beiträge: 339
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
Zigbee CC2531 - Aquara TempSensor
MySensors Ethernet Gateway, Energy meter, Water meter, Gas meter
Modul: 09_CUL_FHTTK.pm (assumed), culfw part HAS_FHT_TF

Offline alexalex

  • New Member
  • *
  • Beiträge: 4
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

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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.'

Offline Obi-Wan

  • Jr. Member
  • **
  • Beiträge: 65
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....