Seite 1 von 2

[V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Fr Jul 19, 2024 10:32 pm
von carsih
Hallo zusammen,

ich würde gerne Statusinformationen von einem Wasserenthärter Judo i-soft pro mittel API abfragen.
Hat dazu bereits jemand Erfahrungen gesammelt und kann mir hier ggf. Tipps zur Timberwolf Einbindung geben.

Danke Euch ...
Grüße
Carsten

Re: API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Sa Jul 20, 2024 12:15 am
von blaubaerli
Hallo Carsten,

bitte beachte die Forenregeln und spendiere dem Betreff doch noch die Versionsangabe.

Danke :handgestures-salute:

Beste Grüße
Jens

Re: API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Sa Jul 20, 2024 12:15 pm
von carsih
blaubaerli hat geschrieben: Sa Jul 20, 2024 12:15 am Hallo Carsten,

bitte beachte die Forenregeln und spendiere dem Betreff doch noch die Versionsangabe.

Danke :handgestures-salute:

Beste Grüße
Jens
erledigt. Danke

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Sa Jul 20, 2024 3:56 pm
von blaubaerli
Hallo Carsten,

mit einem Vollzitat leider nicht wirklich :lol:

Beste Grüße
Jens

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Sa Jul 20, 2024 5:58 pm
von pholler
Würde mich auch interessieren. Bin damit bisher gescheitert...

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Sa Jul 20, 2024 8:09 pm
von StefanW
Hi Carsten,

ich habe mit mal die API Dokumentation bei Judo angesehen: https://judo.eu/app/uploads/2023/10/202 ... 3.07_1.pdf

Diese Doku empfinde ich - für einen externen Entwickler, der die Judo Anlagen nicht kennt - als nur sehr eingeschränkt brauchbar. Da wird spezifisches Wissen zu Ports usw. vorausgesetzt, wie man überhaupt auf die Maschine kommt usw.. Deswegen kann ich nicht mal mit einem Tipp helfen.

Es gibt im Internet verschiedene Beschreibungen, wo sich mancher was mit python oder php gebaut hat und ein paar Infos zu Ports. Man müsse das mal analysieren und dann bräuchte man auch ein solches System um darauf testweise zugreifen. Stellenweise wird auch von https geschrieben, aber abgelaufenen Zertifikaten.

Ich verstehe nicht, warum diese Firmen mit "Smarthome-Anbindung" werben und dann dermaßen magere und schwer nachvollziehbare Listen hinterlassen.

==> Frage doch mal bei Juso an, ob es nicht eine komplette Doku gibt. Also was muss man erst freischalten? Über welche Ports kann man die API ansprechen? http oder https? Zertifikate? Die Befehle als Post, Get oder Put? Gibt es HTTP-Codes als Rückmeldung?

lg

Stefan

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: Mi Jul 24, 2024 8:30 pm
von moritzw
Hallo zusammen,

Ich habe meine Judo isoft in der Api ausgelesen. Bisher gibt’s damit aber noch Probleme die Daten in sinnvolle Werte umzuwandeln.

Siehe hier viewtopic.php?f=24&t=5237

Ich kann beizeiten aber auch gerne mal die Einstellungen im tws hier mit Bildern posten.

Viele Grüße
Mo

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: So Jul 28, 2024 10:48 am
von moritzw
Hallo,

kleiner Hinweis vorab: man braucht ein aktuelles JUDO Communikationsmodul.
Das Modul in meiner 2020 installierten Anlage hatte die Spzifikation SW1.11/HW2.1. Steht auf dem kleinen Aufkleber auf dem Modul.
Man kann aber bei JUDO über die Homepage kostenlos ein Neues anfordern. Mein neues Modul ist jetzt SW3.04/HW4.0.

Damit funktionieren dann die API Abfragen ganz easy:
Neuen HTTP-API-Server hinzufügen:
Bild

als Passwort nehmt ihr das, was ihr in der JUDO iSoft app auf eurem Handy eingerichtet habt.

Und dann kann man gemäß der API-Beschreibung von JUDO die Ressourcen hinzufügen.
Z.B: für die Abfrage des Gerätetyps:
Bild

Oder für die Gesamtwassermenge:
Bild

zum Auslesen und weiteren Verwenden dann "+ Auswertung HTTP Antwort hinzufügen"
Bild

und hier entsteht dann mein aktuelles Problem: der Payload der Antwort ist Hexadezimal :roll:
Die Anwort ist bei mir z.B. aktuell 4eda0700. Um hieraus die Wassermenge in Litern herauszubekommen muss man die Antwort byteweise von hinten nach vorne umstellen also zu 00 07 da 4e. Und die 7da4e ergeben dann in Dezimal 514.638 Liter also 514 m³ Wasser. (Umrechnung zu INT32 - Little Endian ist hier das Stichwort... und ganz dunkel kommen da Erinnerungen aus dem E-Technikstudium hoch, aber ich brauche dieses Wissen schon seit Jahrzehnten nicht mehr im Alltag...)

Ein Logikmodul, dass dies umrechnen kann, wird wohl in einer der nächsten Updates kommen. Da geht mein Dank wieder mal an Elabnet dass ihr euch darum kümmert mir das Leben leichter zu machen!

VG
Mo

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: So Jul 28, 2024 1:35 pm
von StefanW
Hi MO,
moritzw hat geschrieben: So Jul 28, 2024 10:48 amUnd dann kann man gemäß der API-Beschreibung von JUDO die Ressourcen hinzufügen.
Wobei ich diese "API-Beschreibung" von Judo recht dürftig und wenig aussagend finde. Das hätte man schon besser machen können.

Anhand Deiner Beispiele ist die Interpretation aber gleich viel einfacher, danke dafür.

Spoiler: Wir arbeiten daran, dass sich solche Geräte-API-Definitionen per json zwischen TWS austauschen lassen. So wie bei Modbus. Damit hat dann nur noch einer die Arbeit, solche Definitionen einzutippen (sofern derjenige das dann im Forum bereit stellt, so wie jetzt bei Logiken oder Modbus-Profilen)

moritzw hat geschrieben: So Jul 28, 2024 10:48 amLittle Endian ist hier das Stichwort... und ganz dunkel kommen da Erinnerungen aus dem E-Technikstudium hoch, aber ich brauche dieses Wissen schon seit Jahrzehnten nicht mehr im Alltag...)
Nun, das Thema Litte vs. Big Endian ist bei uns tägliche Praxis. Z.B. handhaben die ARM-basierten Timberwolf Server Modelle das genau anders herum als die AMD64 Modelle. War eine Herausforderung bei Restore auf einer anderen TWS-Plattform als diejenigen von der die Sicherung stammte. Weil Bytes bei diesen Plattformen in anderer Reihenfolge gespeichert werden bei den jeweiligen Architekturen.

Auch bei Modbus haben wir das Thema (und eigentlich auch bei KNX), also allen Protokollen, die binär codiert sind.

Noch eine Anmerkung. Die Aussage "Big Endian" oder "Little Endian" ist nur für 16 Bit (= Wort) eindeutig. Weil hier die beiden Bytes vertauscht werden oder nicht.

Bei 32 Bit (Long-Word) ist die Sache nicht eindeutig, weil hier vier Varianten auftreten können:

1. Nix zu vertauschen
2. Nur die beiden Wörter (16 Bit) miteinander vertauschen vor dem Dekodieren (die enthaltenen Bytes aber so lassen)
3. Nur die jeweiligen Bytes in den beiden Wörtern vertauschen (aber die Reihenfolge der Wörter so belassen)
4. Sowohl die Bytes in den Wörtern, als dann auch die Wörter miteinander vertauschen.

In Deinem Fall wirst Du Variante 4 benötigen (Byte- und Word-Swap).

moritzw hat geschrieben: So Jul 28, 2024 10:48 amEin Logikmodul, dass dies umrechnen kann, wird wohl in einer der nächsten Updates kommen.
Richtig. Es werden mit der kommenden Firmware V 4.1 (diese Logiken sind bereits bei Dev-Testern und werden demnächst auch in der IP1 zur V 4.1) dann auch VIER Logikmodule erscheinen, um diese vier Varianten abzudecken (hier blau umrahmt):

Bild

HInweis: Beim dritten Mal draufsehen, meine ich, dass die in den Symbolbildern zu den neuen Modulen abgebildeten "Beispiel" falsch sind, wir besprechen das nochmal intern....


Die Beschreibung des dafür genutzten Modulbausteines im Wiki ist hier: https://elabnet.atlassian.net/l/cp/Nx2xp1SR


moritzw hat geschrieben: So Jul 28, 2024 10:48 amDa geht mein Dank wieder mal an Elabnet dass ihr euch darum kümmert mir das Leben leichter zu machen!
Danke sehr. Gehört zum Service für Insider. Wenn sich ein Datenformat mit den bestehenden Mitteln nicht vernünftig dekodieren lässt, dann bauen wir das eben so zeitnah wie das möglich ist und stellen es mit der nächsten Insider Preview zur Verfügung.


lg

Stefan

Re: [V4.0.1] API Abfrage von Judo i-soft pro Wasserenthärter

Verfasst: So Jul 28, 2024 3:34 pm
von Hiele
moritzw hat geschrieben: So Jul 28, 2024 10:48 am
als Passwort nehmt ihr das, was ihr in der JUDO iSoft app auf eurem Handy eingerichtet habt.

VG
Mo
Die App ändert bei neuerstelltem Benutzer das "admin" Kennwort nicht. Dann kann man die Abfrage mit dem User admin und dem Passwort: Connectivity auslesen ;-)

LG Hiele