Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19002090 JUDO i-soft Wasserenthärtungsanlage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Stiwi83
    antwortet
    Hallo Wolfgang,
    Danke für die Info. Da muss ich mich jetzt erst einmal neu reinarbeiten. Wie ich die ganzen Daten über die REST-API herauslese, ist wieder komplettes Neuland für mich...
    Ich hab auch festgestellt, dass meine oben beschriebene Methode keine Daten mehr liefert. Aus irgendeinem Grund gibt der JSON Extractor keine Daten mehr aus.

    Wenn mir jemand ein bisschen Hilfestellung geben könnte, wäre das nicht schlecht.

    LG Stefan

    Einen Kommentar schreiben:


  • wolfib
    antwortet
    Hallo,

    offensichtlich hat sich da was geändert. Bei der aktuellen JUDO i-soft SAFE+ (und auch anderen Modellen) bzw bei dem optional kostenlos erhältlichen Connectivity-Modul gibt es eine dokumentierte REST-API und ein ganz einfaches Webinterface für die Netzwerkeinstellungen.

    Man kann jetzt also direkt mit dem Gerät kommunizieren.

    LG Wolfgang

    Einen Kommentar schreiben:


  • Stiwi83
    antwortet
    ​Ich habe mich wieder mit dem Auslesen der Anlage beschäftigt. Ich bin zwar noch nicht dazu gekommen, die Programmierung eines LBS anzugehen, habe aber über diverse vorhandene Bausteine eine Möglichkeit gefunden, einige Daten in Edomi bereitzustellen.

    Im diesem Bild befindet sich der erste Teil der Logik. Über einen systemseitigen Viertelstunden-Trigger und ein KO, das über eine ZSU gesteuert wird (nachts wenn alle schlafen, wird keine Abfrage der Daten benötigt), wird die erste Abfrage gestartet. In der ersten JSON-Abfrage (LBS 19000933) lass ich den Token über die Request URL:

    https://www.myjudo.eu/interface/?gro...ogin&user=XXXX X&password=XXXXX&nohash=Service&role=customer

    ausgeben. Wie vorher beschrieben ist das Passwort MD5-gehasht einzusetzen.
    Der JSON Extractor (LBS 19001208) sucht dann aus der zurückgesendeten JSON Datei den Token und gibt ihn aus. Der wird dann im Baustein Strings verbinden zur URL für die Abfrage der Systemdaten zusammengesetzt.

    E1: https://www.myjudo.eu/interface/?token=
    E2: der übergebene Token
    E3: &group=register&command=get%20device%20data

    Die nächste JSON-Abfrage nutzt die URL und ruft damit den Datensatz der Anlage ab. Hier muss der Trigger-Ausgang des Strings verbinden auf den Trigger-Eingang der JSON-Abfrage gelegt werden.

    Bild2.png

    Diese JSON-Datei wird dann an einen zweiten JSON Extractor übergeben, der die benötigten Datensätze ausliest. Ich habe mich erstmal Gesamtwasserverbrauch, Restsakz in g, Restsalzreichweite, Restwasserhärte, Eingangswasserhärte und Status des Wasserstoppventils beschränkt. Den täglichen Wasserverbrauch finde ich auch noch sehr interessant, weiß aber leider nicht , wo dieser in der JSON-Datei hinterlegt ist 😖

    E2: data|0|data|0|data|8|data (für den Gesamtverbrauch)
    E3: data|0|data|0|data|94|data (für das Restsalz in g und für die Restsalzreichweite)
    E4: data|0|data|0|data|790|data (für die Wasserhärten)
    E5: data|0|data|0|data|792|data (für den Status des Ventils)
    E6: data|0|data|0|data|791|data (noch ohne weitere Auswertung)

    Danach nutze ich den Baustein PHP Function (19000805) zur Ausgabe der jeweiligen HEX-Segmente, die die unterschiedlichen Daten liefern. Der Befehl "substr($E1,4,2)" usw. im PHP Code liefert jeweils die 2 Stellen in den Zeichenfolgen, die dann wieder vertauscht zusammen gesetzt werden müssen.
    Dafür nutze ich weitere Strings verbinden-Bausteine und die HexTo Dez Konverter (19000868) liefern mir die gewünschten Daten. Die Daten nutze ich dann für Ausgaben in der Visu, die Erzeugung von Push-Nachrichten usw.

    Ich hoffe, die Beschreibung ist verständlich und die i-soft SAFE+ Besitzer müssen nicht mehr komplett auf die Anbindung ihrer Anlage verzichten.​​

    Einen Kommentar schreiben:


  • Stiwi83
    antwortet
    Das muss tatsächlich an der anderen Variante des Enthärters liegen. Mein JSON ist sehr viel umfangreicher:

    Code:
    { "data": [
      {
      "serialnumber": "XXXXXXXXXX",
      "installation_date": "2022-09-24T16:13:43",
      "status": "online",
      "sv": "1.13",
      "hv": "1.0",
      "data": [
      {
      "da": "0x1",
      "dt": "0x33",
      "sv": "2.20j",
      "hv": "5.10",
      "data": {
      "1": {
      "data": "6A1402",
      "st": "OK",
      "er": ""
      },
      "2": {
      "data": "0A05",
      "st": "OK",
      "er": ""
      },
     "3": {
    "data": "4CDC0300",
    "st": "OK",
    "er": ""
    },
    "5": {
    "data": "3B052200",
    "st": "OK",
    "er": ""
    },
    "6": {
    "data": "630DDDF9",
    "st": "OK",
    "er": ""
    },
    "7": {
    "data": "021F00000000",
    "st": "OK",
    "er": ""
    },
    "8": {
    "data": "C02D0000",
    "st": "OK",
    "er": ""
    },
    "9": {
    "data": "851D0000",
    "st": "OK",
    "er": ""
    },
    "10": {
    "data": "00",
    "st": "OK",
    "er": ""
    },
    "12": {
    "data": "00",
    "st": "OK",
    "er": ""
    },
    "14": {
    "data": "08062200",
    "st": "OK",
    "er": ""
    },
    "63": {
    "data": "24",
    "st": "OK",
    "er": ""
    },
    "90": {
    "data": "1300",
    "st": "OK",
    "er": ""
    },
    "92": {
    "data": "0000",
    "st": "OK",
    "er": ""
    },
    "93": {
    "data": "02010B64AF0E00000F",
    "st": "OK",
    "er": ""
    },
    "94": {
    "data": "50465E00",
    "st": "OK",
    "er": ""
    },
    "790": {
    "data": "0:00630F380000100006061300AB029000000000000000A301E705160230005000",
    "st": "OK",
    "er": ""
    },
    "791": {
    "data": "1:C0000000174A1803071B78008C00000043004000000001006600910C1C001C00",
    "st": "OK",
    "er": ""
    },
    "792": {
    "data": "2:003C1E000000000048000000D0072C011E000302D0072C010033B1031E000000",
    "st": "OK",
    "er": ""
    },
    "793": null,
    "794": null,
    "lu": "3/10/2022 - 18:0:53"
    }
    }
    ],
    "errors": [],
    "waterscene_time": null,
    "waterscene_time_garden": null,
    "waterscene_time_heater": null,
    "waterscene_time_washing": null,
    "waterscene": null,
    "disable_time": null,
    "waterscene_normal": "6",
    "hardness_shower": "4",
    "hardness_watering": "10",
    "hardness_heater": "1",
    "hardness_washing": "1",
    "sleepmode_time": null,
    "holiday_mode": null,
    "update": "0"
    }
    ],
    "status": "ok",
    "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "command": "get device data"
    }​
    Hier siehst du auch die einzelnen Datensätze, die ich im letzten Post beschrieben hab.

    Edit: Ich bekomme das leider nicht so schön formatiert, wie du. Dann wäre es deutlich übersichtlicher...

    Einen Kommentar schreiben:


  • AndiVaio
    antwortet
    Stiwi83 Aus dem JSON von dir würde sich ja definitiv ein LBS bauen lassen der das auswertet. Wenn ich "get device data" ausführe bekomme ich ein relativ nutzloses JSON zurück. Hast du noch einen Parameter angehängt? Oder liegt es evtl. einfach daran dass ich die Plus Variante habe und die Abfrage dort anders funktioniert.

    Code:
    {
       "data": [
        {
          "serialnumber": "XXXXXX",
          "installation_date": null,
          "status": "online",
          "sv": null,
          "hv": null,
          "data": [
          {
             "da": null,
             "dt": null,
             "sv": null,
             "hv": null,
             "data": []
          }
          ],
          "errors": [],
          "waterscene_time": "2",
          "waterscene_time_garden": "2",
          "waterscene_time_heater": "2",
          "waterscene_time_washing": "2",
          "waterscene": "normal",
          "disable_time": "",
          "waterscene_normal": "7",
          "hardness_shower": "4",
          "hardness_watering": "10",
          "hardness_heater": "1",
          "hardness_washing": "1",
          "sleepmode_time": null,
          "holiday_mode": null,
          "update": "0"
          }
          ],
       "status": "ok",
       "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
       "command": "get device data"
    }​

    Einen Kommentar schreiben:


  • Stiwi83
    antwortet
    AndiVaio
    Mehr als "Get Device Data" hab ich bislang auch noch nicht geschafft, allerdings hab ich noch ein paar Infos zur Auswertung der Daten zusammentragen können.
    Als erstes hab ich diese Adresse genutzt:

    https://www.myjudo.eu/interface/?gro...ogin&user=XXXX &password=XXXX&nohash=Service&role=customer

    Dabei ist zu beachten, dass man das Passwort als MD5-gehashten Zeichensatz nutzt. Dann bekommt man eine JSON-Datei bzw. Datensatz zurück, in dem der Token zu finden ist. Den gibt man dann in dieser Adresse ein:

    https://www.myjudo.eu/interface/?tok...et%20device%20 data

    Hier erhält man wieder eine JSON-Datei zurück, bei der die meisten Daten enthalten sind, die der LBS ausgibt. Leider sind diese Daten quasi verschlüsselt und im Hex-Format darin hinterlegt. Folgendes hab ich aus den weiter unten genannten Quellen herausfinden und meistens mit den Daten unserer Anlage absichern können:
    Datensatz 8 gibt den Gesamtwasserverbrauch zurück. Bei uns steht dort "332A0000". Die Reihenfolge der einzelnen Hex-Ziffern muss umgedreht und dann in eine Dezimalzahl umgewandelt werden: 00002A33 => 10803 Liter.
    Datensatz 94 gibt Daten zum Restsalz zurück, die ersten beiden Ziffern die Restsalzmenge in Gramm und die hinteren beiden Ziffern die Reichweite in Tagen. Natürlich ist das auch wieder so verschlüsselt wie oben beschrieben (Ziffern in falscher Reihenfolge und Hexadezimal). Bei uns ist dort "3E496200" hinterlegt. Die Restsalzmenge ist also 493E = 18750 g und die Salzreichweite ist 0062 = 98 Tage.

    Datensatz 790 gibt in einer sehr langen Zeichenfolge verschiedene Daten aus:
    „0:00630F380000100006061300AB029E0000000000000084010A06160230004700“
    Die Stellen 17 und 18 (die ersten beiden Stellen, also „0:“ nicht mitgezählt) bilden die Hex-Zahl für die Restwasserhärte (bei uns 06 = 6 °dH).
    Die Stellen 21 und 22 bilden die Hex-Zahl für die Rohwasserhärte (13 = 19 die Einheit hier kenne ich allerdings nicht).
    Die Stellen 53 und 54 bilden die Hex-Zahl für die Rohwasserhärte in ° dH (16 = 22 °dH).
    Aus den Stellen 33-36 soll der Wasserdurchfluss über diese Formel berechnet werden können:
    Stelle 35 & 36 von einer Hexadezimal in eine Dezimalzahl umwandeln und mit 256 multiplizieren und dann zur Dezimalzahl aus der Hex-Zahl der Stellen 33 & 34 addieren.
    (Die Werte für Rohwasserhärten und Wasserdurchfluss konnte ich nicht in unserer Anlage nachvollziehen und habe sie nur aus den Quellen entnommen.)
    Datensatz 792 gibt wieder eine lange Zeichenfolge aus:
    „2:003C1E000000000048000000D0072C011E000302D0072C010004 B1031E000000“
    Die ersten beiden Stellen sollen der Status des Wasserstopventils sein. Den Test, ob hier „01“ steht, sobald das Ventil geschlossen ist, habe ich aber noch nicht gemacht.
    Die beiden Stellen fast ganz am Ende geben den Status der Kleinleckageprüfung aus. Auch hier habe ich den Test noch nicht gemacht.
    Es gibt wohl noch einen großen Haufen weiterer Werte (Batteriekapazität, Betriebsstunden, Anzahl von Wartungen, Voreinstellungen für den Wasserstopp…), die man noch auslesen kann. Ich fand die hier beschriebenen aber erstmal am ainnvollsten. Mehr findet man unter diesen Links:
    https://github.com/arteck/iobroker.j...taConverter.js (Datenkonverter für die JSON-Datei)
    https://forum.fhem.de/index.php/topic,115696.30.html unter dem ausführlichen Beitrag von tobi01001

    Einen Kommentar schreiben:


  • AndiVaio
    antwortet
    Stiwi83 Der Login an der Judo Website funktioniert anders als der Login direkt am Gerät. Deshalb meldet der LBS hier einen Fehler.
    Ich habe das eben auch mal kurz im Browser ausprobiert. Allerdings habe ich bis auf "get device data" nichts weiter abfragen können.
    Konntest du von deiner Anlage mehr abfragen? Falls ja kannst du hier ja mal die URLs posten mit welchen du erfolgreich warst.

    Einen Kommentar schreiben:


  • Stiwi83
    antwortet
    Ich habe jetzt versucht den Login als Web-Adresse in den vorhandenen LBS einzubauen.
    Während ich im normalen Browser bei EIngabe der Adresse eine JSON-Datei mit Token zurückbekomme und über den "get device data"-Befehl wiederum Daten erhalte, steigt der LBS schon beim Login aus und meldet in der Log-Datei:
    Fehler Login: SSL connect error

    Liegt das vielleicht daran, dass
    ich noch auf einem alten CentOS (6.50) unterwegs bin und die Zertifikate fehlen oder liegt der Fehler woanders?

    Noch eine Frage an die Foren-Profis: Sollte ich für den Umbau zur JUDO iSoft SAFE+ kompatiblen Lösung einen extra Thread aufmachen? Eigentlich passen die Fragen ja nicht dirket zum Thema...

    Einen Kommentar schreiben:


  • Stiwi83
    antwortet
    Vielen Dank!
    Da muss ich mich wohl intensiv einlesen. Das ist doch noch ziemliches Neuland für mich, aber ein Versuch ist es definitiv wert.

    Einen Kommentar schreiben:


  • AndiVaio
    antwortet
    Meine Anlage läuft nun seit dem Patch wieder ordnungsgemäß.

    gspsteve : Ok, jetzt war ich etwas verwirrt wegen den unterschiedlichen Geräte Versionen. Du hast dann die i-soft SAFE+ welche das nicht kann. Die Abfrage direkt über das Gerät (welche aber dann letztendlich auch über den Server läuft) kann nur die i-soft Plus.


    Stiwi83 : Ich habe im FHEM Wiki eine Anleitung gefunden wie es bei der i-soft Safe funktionieren könnte. Siehe hier ganz unten: https://wiki.fhem.de/wiki/JUDO_iSoft_Plus
    Ob das wirklich klappt kann ich aber nicht sagen, da ich ja wie erwähnt die i-soft Plus habe.
    Zuletzt geändert von AndiVaio; 29.09.2022, 22:37.

    Einen Kommentar schreiben:


  • Stiwi83
    antwortet
    Hallo zusammen,
    ich habe auch eine i-soft SAFE+ und das gleiche beschriebene Problem, dass der Zugriff über Edomi und den LBS nicht klappt. Ich habe auf der Internetseite von Judo gelesen, dass man die Daten/Einstellungen auch ohne App zur Verfügung bekommt. Hierzu bietet die Seite https://www.ju-control.app/ die Möglichkeit über das Internet auf die Anlage zuzugreifen. Nach Eingabe der Accountdaten aus der App wird einem hier dann eine nahezu gleiche Bedienoberfläche geboten.

    Vielleicht kann jemand hier einen Ansatzpunkt zum Abruf der Daten bzw. für Einstellungen finden. In der Adressleiste des Browsers ist nach Eingabe von Nutzername und Passwort auch ein Token enthalten (vielleicht ist das ja der benötigte Token, der in den vorangegangenen Beiträgen beschrieben wurde).
    Ich kenne mich da leider nicht aus.

    gspsteve : Du hast nach deiner App eine i-soft SAFE+, genau wie ich, und nicht die i-soft +. Zwischen den beiden Anlagen liegt dann wohl der Unterschied in der Abfrage (über Judo Server oder lokal).

    Einen Kommentar schreiben:


  • AndiVaio
    antwortet
    Zitat von gspsteve Beitrag anzeigen

    Hi,
    laut App ist es eine i-Soft safe+, Integration funktioniert aber leider nicht :-/

    Ok, ich habe wohl noch eine ältere Firmware drauf. Das Update welches ich nun erhalten habe ist nur ein Script in welchem neue Serverzertifikate etc. eingespielt werden.
    Ich werde das heute Abend mal einspielen und hoffe dass es dann ohne richtiges Firmware-Update wieder klappt.

    Judo Version.jpg

    Stellt sich die Frage ob Judo mit der neueren Firmware die Möglichkeit der lokalen Abfrage wirklich abgeschafft hat - was natürlich sehr ärgerlich wäre.

    Einen Kommentar schreiben:


  • gspsteve
    antwortet
    Zitat von AndiVaio Beitrag anzeigen
    Hast du wirklich die i-Soft safe+?
    Welche Firmware Version hast du denn drauf?
    Hi,
    laut App ist es eine i-Soft safe+, Integration funktioniert aber leider nicht :-/

    Screenshot_20220927_101238.jpg

    Einen Kommentar schreiben:


  • AndiVaio
    antwortet
    Zitat von gspsteve Beitrag anzeigen

    Hi,
    wollte nun auch meine Judo i-Soft + in Edomi einbinden. Ich habe die Plus Variante und bekomme jedoch auch nur wie von hakkinen Beschrieben eine Rückmeldung über Port 80 und nicht über Port 8000.

    Hat eventuell noch jemand eine Idee wie ich die Anlage in Edomi bekommen könnte!?
    Hast du wirklich die i-Soft safe+?
    Welche Firmware Version hast du denn drauf?

    Ich habe seit einiger Zeit auch Probleme damit die Daten abzurufen, da der Judo Server nicht erreichbar ist. Der Judo Support lässt mir nun ein Firmware-Update zukommen und ich habe Angst dass bei mir anschließend das selbe Verhalten auftritt...

    Einen Kommentar schreiben:


  • gspsteve
    antwortet
    Zitat von hakkinen Beitrag anzeigen
    Geht leider nicht. Unter Port 8000 kommt gar kein Webinterface, unter Port 80 kommt eine Seite, aber die ist ganz anders und sehr minimalistisch, siehe Anhang
    Hi,
    wollte nun auch meine Judo i-Soft + in Edomi einbinden. Ich habe die Plus Variante und bekomme jedoch auch nur wie von hakkinen Beschrieben eine Rückmeldung über Port 80 und nicht über Port 8000.

    Hat eventuell noch jemand eine Idee wie ich die Anlage in Edomi bekommen könnte!?

    Einen Kommentar schreiben:

Lädt...
X