FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: mld am 12 Juni 2020, 10:55:59

Titel: JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 12 Juni 2020, 10:55:59
Hi!

Seit kurzem habe ich einen Judo Zewa Wasserstop (diesen hier (https://judo.eu/produkt/judo-zewa-wasserstop-jzw-%C2%BE-1%C2%BC/)) im Keller hängen. Mir ist klar, wie die Ansteuerung bzw. das Auslesen über die potentialfreien Kontakte (siehe Abbildung im Anhang) funktioniert; dazu gab es hier ja auch schon diesen Thread (https://forum.fhem.de/index.php/topic,75136.0.html).

Meine Frage ist: kennt jemand die Pin-Belegung der drei RS-232-Pins auf der Platine?

Es ist mir bekannt, dass es von Judo ein Datenkabel D-Sub-9 auf 3-Pol-Klemme für ca 120 € (sic!) gibt. Im Beiblatt des RS-232-Datenkabels (https://judo.eu/app/downloads/files/de/8140001/manuals/1701936.pdf) ist auch das serielle Protokoll beschrieben. Hier können insbesondere die internen Zählregister des Geräts ausgelesen werden.

Falls jemand das Kabel gekauft hat, würde ich die Frage stellen, ob Du die Pin-Belegung hier posten könntest?

Ich bin mir relativ sicher, dass die drei Pins ziemlich direkt auf die Pins 5-GND, 3-RX_Data und 2-TX_Data mappen, aber in welcher Reihenfolge ist unklar. Da das Board eingegossen ist in Harz sehe ich leider auch keine Leiterbahnen, die auf GND hindeuten könnten und da TX erst dann aktiv wird, wenn ein Kennungs- und ein Aktionsbyte gesendet wurden, ist das auch nicht so ganz einfach zu finden.

Danke für Eure Unterstützung!
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: Guybrush am 12 Juni 2020, 13:39:34
grundsätzlich zu dsub9:

Beim Male Stecker sind die Pins 2,6,7 ingoing/, 1,3,4,8,9 outgoing und 5 Masse. Das kannst du also leicht messen, welcher was ist, wenn du gegen Masse misst. Bei 3-Pin Steckern ist die Reihenfolge normal von links nach rechts RX, TX GND - also 3,2,5.
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 12 Juni 2020, 14:10:21
Hi,

das mit der Masse ist überraschend schwierig. Der JUDO Zewa wird mit einem 30-V-Wechselstrom-Netzteil betrieben. Die werden anscheinend für einige Bereiche der beiden Platinen gleichgerichtet. Dann gibt es da noch zwei 9V-Block-Batterien, die wohl parallel geschaltet sind und insbesondere für den Notstrom-Betrieb erforderlich sind. Die Spannungsdifferenz zum Minuspol an den Batterien (mit und ohne Netzteil) zu den Pins ist jedoch 9V, 18V und 9V. Das hätte ich anders erwartet. Meine Durchgangsmessung zeigt, dass ich ohne Strom einen Durchgang nur von Pin 3 zum Minuspol der Batterien habe (der ganz rechte Pin) - das spricht für Deine Hypothese (v.l.n.r.: RX, TX, GND). Zwischen Pin 3 und Pin 1 habe ich 3,4 k-Ohm Widerstand gemessen (zwischen Pin 3 und 2 garkeinen Durchgang). Das könnte für einen Pull-down-Widerstand sprechen.

Ok, das sind viele Details. Vielleicht geht daraus ein wenig hervor, dass es nicht ganz einfach ist, mehr als Indizien für die Pin-Belegung zu finden.

Kann jemand Guybrushs Vermutung (v.l.n.r.: RX, TX, GND) erhärten?
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: Guybrush am 12 Juni 2020, 14:50:42
Zitat von: mld am 12 Juni 2020, 14:10:21
Kann jemand Guybrushs Vermutung (v.l.n.r.: RX, TX, GND) erhärten?

das war keine Vermutung, sondern ist so der Standard. Aber ob die sich dran gehalten haben - ka...  ;D
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 03 Juli 2020, 08:57:39
Kurze Rückmeldung: die Pin-Reihenfolge ist in der Tat RX, TX, GND.

Von einem alten seriellen Verlängerungskabel habe ich ein Ende abgeschnitten (die D-Sub-9-Buchse) und dort ein 3-Pin-Stecker (MAS-CON PANCON, IDC, 3,96mm Rastermaß) befestigt auf die Pins 2 (RX), 3 (TX), 5 (GND).

Damit funktioniert die Kommunikation.
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: Guybrush am 08 Juli 2020, 10:41:08
Danke, dass du das bestätigst. Ist immer gut, das eigene Feedback einmal validiert zu bekommen :D
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 18 September 2020, 16:55:20
Kleiner Follow-up. Ich habe mit einem ESP8266 ein WLAN-Gateway zum Wasserstop gebaut. Damit ist es möglich, die Daten über REST-Schnittstelle und JSON-Nachrichten abzurufen bzw. den Wasserstop zu steuern. Außerdem gibt es noch eine Single Page Web application, die als App genutzt werden kann.

Wer interesse hat, findet Code und Bauanleitung hier: https://github.com/mld18/esp8266.zewa-wasserstop-gateway
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: gurkc006 am 06 Januar 2021, 11:24:26
Hi mld,
ich habe vorhin diesen Thread zum ZEWA Wasserstop gefunden. Ich selber habe auch einen ZEWA seit ca. 2 Jahren verbaut, bisher keine Probleme damit. Ich habe ihn auch an FHEM angebunden mit einem Jeednode und ähnlichem Code wie bei dir, so dass mir alle wichtigen Werte zu FHEM übertragen werden. Steuerung der auf-/zu-Funktion hatte ich noch nicht implementiert, werde ich jetzt aber im Zuge eines Umbaus machen.
Sorry, dass ich das nicht eher entdeckt hatte, sonst hätte ich dir mit der Pinbelegung helfen können.
Was mich etwas "ärgert" ist, dass es scheinbar keine Möglichkeit gibt, per Schnittstelle den Standby-Mode zu aktivieren. Oder hast du da schon was gefunden?
Der Schalter, mit dem man durch 6 Sekunden drücken den Standby aktiviert, ist ja leider auch eingegossen, da kommt mal also nicht so einfach dran. Ich habe auch schon alle möglichen anderen Pins gecheckt, da ist aber scheinbar keiner mit verbunden.
Die Kommunikation zwischen den beiden "Platinen" ist ein I2C mit 25Khz. Das konnte ich mit einem Logicanalyzer sehen. Da wird im Sekundentakt einmal ein kurzer Read und ein längerer Write gemacht, keine Ahnung, welche Platine Master und welche der Slave ist. Da geht es aber wahrscheinlich nur um das Abfragen/Setzen der externen IOs.
Ich habe auch schon probiert, den ext. Input für das Ventil 6 Sekunden zu schließen (was ja beim Button den Standby auslöst). Bringt aber nix. Es betätigt sich leider nur das Ventil (toggelt open/close).
Es wäre schon schön, wenn man remote irgendwie den Standby aktivieren könnte. Weil das wäre die einizige Funktionalität, die ich z.B. im Sommer beim Wässern brauchen könnte, damit ich nicht immer in den Keller rennen muss...
Ich werde wohl JUWI mal anschreiben, ob es da evtl. noch undokumentierte Kommandos für die serielle Schnittstelle gibt, um den Standby zu aktivieren.
Viele Grüße
Christian
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 07 Januar 2021, 14:43:31
Hi,

danke, Christian, für Deine Antwort, insbesondere die Informationen über die Kommunikation zwischen den beiden Boards. Ich habe leider nur ein Multimeter und daher habe ich mir die interne Kommunikation daher nicht angeschaut. Die Pin-Belegung hat mich damals wirklich viel Zeit und Mühe gekostet. Auf eine Anfrage bei Judo Wasseraufbereitung habe ich damals leider keine Antwort bekommen. Ich habe gerade auch nochmal die Doku auf GitHub aktualisiert, damit andere es einfacher haben mit dem D-Sub-9-Kabel.

Über den Stand-by-Mode habe ich nicht recherchiert und noch nicht ausprobiert, was passiert, wenn ich andere Aktionsbytes als 0x01 oder 0x02 an den Wasserstop sende. In diesem Zusammenhang denke ich über ein Soft-Stop nach. Dabei würde ich die harten Grenzen am Wasserstop auf hohe Werte einstellen. In meinem ESP8266-basierten Gateway würde ich dann über entsprechende REST-Endpunkte niedrigere Limits konfigurieren. Wenn diese Limits erreicht werden, schließt das Gateway den Wasserstop. Da bin ich mir aber noch unsicher, weil ich das prinzipiell ja auch über die Heimautomatisierung machen kann.

Viele liebe Grüße,
   Markus
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: gurkc006 am 07 Januar 2021, 17:20:58
Hallo Markus,
hab das gerade mal probiert mit weiteren Befehlen. Auf die Kommandos 0xAA 0x03 und 0AA 0x04 kommt noch eine Bestätigung 0xEE 0x99. Alles drüber kommt keine Reaktion mehr. Was diese beiden zusätzlichen Befehle aber machen, ist mir nicht klar. Eins könnte ein Rücksetzen der Abschaltzähler bewirken. Auf jeden Fall war während meiner Tests dann mal alle Abschaltzähler wieder auf 0. Kann leider nicht mehr genau zuordnen, bei welchem der beiden Befehle das passiert ist.
Also wird das wohl mit dem Versetzen in den Standby-Modus über die Schnittstelle nix. Muss mir dann überlegen, ob ich evtl. versuche, den Taste unten freizulegen, damit ich den per Arduino brücken kann und so per Mikrocontroller den Standby auslösen könnte.
Ich habe außerdem mal nach dem Hall-Sensor-Signal geschaut an dem dreipoligen Stecker. Versteh ich zwar nicht so ganz, aber die Mitte könnte Masse sein und "oben"=braun scheint das Sensorsignal zu sein. Da sehe ich ein schönes 5V Signal, welches toggelt, wenn Wasser fließt. Das könnte man mit dem Arduino auf einlesen und wüsste dann, wann Wasser fließt. Naja, nur zur Info, wenn es andere Bastler interessiert.
Bisher natürlich noch keine Reaktion von JUWI, aber ich gebe denen noch mal ein paar Tage, bin da aber auch eher skeptisch, ob das was sinnvolles zurückkommen wird.
Gruß
Christian
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: doc-brown am 23 Oktober 2022, 19:21:30
hallo an alle :-)

wenns auch schon ein bisschen älter ist...
ich bin neu hier - habe beim googlen den beitrag gefunden - und mich dewegen mal hier angemeldet :-)

vielleicht kann mir einer von euch helfen.
ich habe einen zewa wasserstop, ein serielles kabel - und putty auf dem rechner.

ich kann mich verbinden - und kann was eingeben - aber es kommt nichts als antwort?!?

kann mir einer kurz erklären, WAS und WIE ich die abfragen über ein terminalprogramm starten kann?

danke euch schonmal !!!

lg
volker
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: gurkc006 am 24 Oktober 2022, 07:51:53
Hallo Volker,
hast du die Dokumentation vom Hersteller (https://judo.eu/app/downloads/files/de/8140001/manuals/1701936.pdf (https://judo.eu/app/downloads/files/de/8140001/manuals/1701936.pdf)) durchgelesen?
Hast du Baudrate "9600", Stopbits "1" und Parity "none" im Terminal richtig eingestellt?
Du musst dem ZEWA binäre Zeichen senden, damit er was zurückschickt. Ich empfehle dir, ein anderes Programm als Putty zu verwenden, da du diese Zeichen 0hAA 0h01 nicht gut senden kannst. Ich benutze immer HTerm, such mal in Internet, ist Freeware und ein tolles Programm. dort kannst du unten im Bereich zum Senden umstellen zwischen ASCII (ASC) und Hexadizimal (HEX). Wenn du dann auf HEX umgestellt hast und mal "AA 01" eingibst und das sendest, dann sollte oben im Empfangsfenster eine Antwort vom ZEWA kommen. Falls nicht, überprüfe auch nochmal die Datenleitungen TX und RX, vielleicht hast du die vertauscht?
Viel Erfolg beim Testen!
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 24 Oktober 2022, 11:34:11
Hi Volker,
kleine Ergänzung zu gurkc006: Du findest eine bebilderte Anleitung für die Anschlüsse auch in meinem GitHub-Projekt https://github.com/mld18/esp8266.zewa-wasserstop-gateway
Viele Grüße, Markus
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: doc-brown am 26 Oktober 2022, 22:10:09
danke euch - ihr seid die besten :-)

ich versuche es morgen mal - denke der hinweis mit putty ist gut!
die parameter stimmen - 9600/8/N/1
aber wahrscheinlich liegt es am terminalprogramm

ich werde berichten :-)

edit: bisher hat das auch mit dem hterm nicht funktioniert. ich traue dem usb2seriell adapter nicht über den weg. hier muss ich mal schauen - ob man in der bastelkiste nochwas findet mit seriellem interface zum testen. Am wasserstop als solches gibts ja nix einzustellen. die beschreibung habe ich gelesen - das mit dem stromlosmachen habe ich zwar gemacht - aber ich kann mir nicht vorstellen dass das nowendig ist
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: doc-brown am 29 Oktober 2022, 17:28:08
hallo nochmal,

leider klappt es bei mir nicht - alles versucht.
kabel passt - hterm in benutzung, parameter stimmen - 8N1 9600 - und extra nochmal einen pc re-animiert, der eine rs232 schnittstelle an bord hat.

ich kann tippen wa sich will - in hterm sehe ich das auch - aber es kommt NIX zurück.

hat noch irgendjemand eine idee? ob die schnittstelle im judo ein problem hat?

grüsse
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: mld am 29 Oktober 2022, 22:48:07
Bist Du sicher, dass Du RX und TX richtig herum angeschlossen hast? Das muss ja überkreuz angelegt sein, als TX von Rechner an RX von Wasserstop und analog für die andere Datenleitung.

Liebe Grüße, Markus
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: doc-brown am 31 Oktober 2022, 21:26:29
hallo nochmal,

ich prüfe das morgen nochmal... aber eigentlich kann man so doof ja garnicht sein :-) aber wer weiss... ;-)

gebe nochmal rückmeldung

grüsse
Titel: Antw:JUDO ZEWA via RS-232-Schnittstelle auslesen/ansteuern
Beitrag von: doc-brown am 01 November 2022, 21:26:46
nabend :-)

tja - in der tat :-) doch so doof... jetzt mach ich das ja nicht zum ersten mal - und tatsächlich rx und tx verdreht.
also was soll ich sagen - danke euch nochmal... peinlich! (vielleicht sollte der mod meine beiträge löschen :-))

liebe grüsse!!!