Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19002090 JUDO i-soft Wasserenthärtungsanlage

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

    #31
    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...

    Kommentar


      #32
      ​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.​​

      Kommentar


        #33
        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

        Kommentar


          #34
          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

          Kommentar

          Lädt...
          X