Problem mit Resümat CD 4 V8126 und WKRCD4

Begonnen von Hausrobot, 24 Mai 2020, 17:55:42

Vorheriges Thema - Nächstes Thema

Hausrobot

Hallo,

ich möchte meine gute alte Resümat CD 4 V8126 mit FHEM verheiraten. Doch die Braut ziert sich. Habe beide Varianten Stefan und mwllgr probiert.

Das Nullmodemkabel hat vor langer Zeit unter win2000 schon funktioniert. Ich habe es heute gecheckt - hätte es gar nicht mit der Beschaltung. ok, Nullmodem wie in TLDP https://www.tldp.org/HOWTO/Text-Terminal-HOWTO-12.html ("two DB9's together ...") oder besser ersichtlich Wikpedia https://de.wikipedia.org/wiki/Nullmodem-Kabel#/media/Datei:Null_modem_DB-9_7-wire.svg verbunden. Dennoch fail:


DEF     /dev/ttyUSB0@9600 60
DeviceName   /dev/ttyUSB0@9600
FD     8
FUUID 5eac78d6-f33f-71c9-4ba5-0e62b4760d66032f
INTERVAL  60
LastRequest    1590334450.11256
LastRequestAdr    -1
LastRequestLen    0
NAME    Heating
NR   25

PARTIAL 
STATE   opened
SerialBadReads  0
SerialGoodReads  0
SerialRequests  17
TYPE   WKRCD4
buffer   ��


Im Log erscheint mit verbose 5 (... gekürzt):


2020.05.24 17:49:08 1: Including fhem.cfg
...
2020.05.24 17:49:08 2: eventTypes: loaded 31 events from ./log/eventTypes.txt
2020.05.24 17:49:08 3: Opening Heating device /dev/ttyUSB0
2020.05.24 17:49:08 3: Setting Heating serial parameters to 9600,8,N,1
2020.05.24 17:49:08 3: Heating device opened
2020.05.24 17:49:09 1: Including ./log/fhem.save
2020.05.24 17:49:09 1: Messages collected while initializing FHEM:configfile: 0
...
2020.05.24 17:49:09 1: usb create starting
2020.05.24 17:49:09 3: Probing ZWDongle device /dev/serial0
2020.05.24 17:49:09 1: ZWDongle: Can't open /dev/serial0: Permission denied
2020.05.24 17:49:09 3: Probing ZWDongle device /dev/serial1
2020.05.24 17:49:09 3: Probing CUL device /dev/ttyAMA0
...
2020.05.24 17:49:17 3: Probing CUL device /dev/ttyS0
2020.05.24 17:49:17 1: CUL: Can't open /dev/ttyS0: Permission denied
2020.05.24 17:49:17 1: usb create end
2020.05.24 17:49:17 0: Featurelevel: 6
2020.05.24 17:49:17 0: Server started with 26 defined entities (fhem.pl:21762/2020-04-23 perl:5.028001 os:linux user:fhem pid:1588)
2020.05.24 17:49:17 5: SW: ff100201150000011b1003f841ff
2020.05.24 17:49:17 5: Heating: GetUpdate - Called DevIo_SimpleWrite: ff100201150000011b1003f841ff
2020.05.24 17:49:17 5: Heating: Read - Buffer content: 00
2020.05.24 17:49:17 5: Heating: Read - No match: 00
...
(immer wieder)
2020.05.24 18:06:54 5: SW: 41540D
2020.05.24 18:06:54 5: Heating: Sent wakeup string: 41540D
2020.05.24 18:07:25 5: SW: ff100201150000011b1003f841ff
2020.05.24 18:07:25 5: Heating: GetUpdate - Called DevIo_SimpleWrite: ff100201150000011b1003f841ff
2020.05.24 18:07:25 5: Heating: Read - Buffer content: 00ffffffffffffffdffff7fff7
2020.05.24 18:07:25 5: Heating: Read - No match: 00ffffffffffffffdffff7fff7
(/immer wieder)
...


Wer kann mir bitte einen Tipp geben? Ist der "Permission denied" auf serial0 essentiell?
Grüße

rudolfkoenig

Permission denied is nicht relevant, falls man auf diese Schnittstelle nicht zugreifen will.
Das Modul empfaengt offensichtlich Daten, diese sind aber nicht nach seinem geschmack.
Evtl ist nur die Baudrate (samt parity, etc) falsch.
Meine Aussagen sind mit Vorsicht zu geniessen: ich kenne weder das Modul, noch das Geraet.

Hausrobot

#2
Hi Rudolf,

danke für die Antwort. Ich lese über Serial (USB-Konverter), soweit ist es vielleicht doch relevant?

Nach https://www.raspberrypi.org/forums/viewtopic.php?t=186596 habe ich mal den seriellen Consolen-Login verschlossen.
Zitatsudo raspi-config
then
- 5 Interfacing Options
- P6 Serial.
Select NO to Would you like a login console...
Select YES to Would you like the serial port hardware ...
It will then show
The serial login shell is disabled
The serial interface is enabled
- Ok
- Finish
- Reboot - Yes.

Danach waren die permission-Fehler weg. Aber dennoch keine Reads von der Waterkotte-Wärmepumpe Read - Buffer content: 00

Dann war es wohl doch nicht relevant :( , du hast recht.

Hm, wie weiter?

mwllgr

Hallo Hausrobot,

stelle bitte sicher, dass "Modem-Klingelzeit" in den Einstellungen des Resümat CD4s auf den niedrigsten möglichen Wert gestellt ist.
Ebenfalls kann es notwendig sein, dass "Fremdzugriff" auf 1 steht.

Grüße

Kaolme

Hallo Hausrobot,

wie ist denn jetzt die Lösung Deines Problems? Hat der Hinweis von mwllgr geholfen?

Würde mich auch sehr interessieren, weil ich den gleichen Controler habe und ihn auch in FHEM integrieren möchte.

Viele Grüße,

SmartArne

Hallo,

ich habe meinen Resümat CD 4 V8126 mit FHEM verheiratet. Das Lesen funktioniert mit der Variante von Stefan problemlos; die von mwllgr ergibt Datenmüll. - Vielen Dank an beide für die Vorarbeit.
"Fremdzugriff" ist eingeschaltet, Modem-Klingelzeit auf 0 gestellt.

Nachfolgefrage:
Das Schreiben von Werten funktioniert bei mir nicht.
Insbesondere die Änderung der WW-Temperatur fände ich praktisch per raspi/Smarthome automatisch herauf-/heruntersetzen zu können.
Fehlermeldungen produziert das Setzen nicht, aber eine Änderung der Werte beim Auslesen bzw. Ablesen an der Wärmepumpe sind nicht feststellbar.

Gibt es hier Erkenntnisse zum Schreiben der Werte? - Vielen Dank

Hausrobot

Zitat von: Kaolme am 13 Februar 2021, 21:38:02
Hallo Hausrobot,

wie ist denn jetzt die Lösung Deines Problems? Hat der Hinweis von mwllgr geholfen?

Würde mich auch sehr interessieren, weil ich den gleichen Controler habe und ihn auch in FHEM integrieren möchte.

Viele Grüße,

Hallo kaolme, ich war längere Zeit abseits. Danke für deine Nachfrage. Ich kümmere mich erst jetzt wieder.

Ich möchte meine Waterkotte für meine neue Solaranlage "smart" machen und muss das sicher über eine externe Steuerung machen (abh. Wetter, Vorlauf + n ° tags wenn Sonne scheint etc.). Wird sicher spannend.

Zunächst: ich hoffe, ich bekomme sie bald gekoppelt.

Viele Grüße

Hausrobot

Hai,

neues Nullmodemkabel-Kabel, .. zumindest werden jetzt Bytes gelesen. Alles neu denfiniert mit
defmod WPumpe WKRCD4 /dev/ttyUSB0@9600 60
attr WPumpe event-min-interval .*:3600
attr WPumpe event-on-change-reading .*
attr WPumpe room Heizung
attr WPumpe stateFormat Status


Anzeige Internals:
DEF    /dev/ttyUSB0@9600 60
DeviceName /dev/ttyUSB0@9600
FD 33
FUUID 61ccd170-f33f-71c9-93dc-dd72b7419a05497b
INTERVAL 60
LastRequest 1640813618.53821
LastRequestAdr -1
LastRequestLen 0
NAME WPumpe
NR 49
PARTIAL
STATE opened
SerialBadReads 0
SerialGoodReads 0
SerialRequests 15
TYPE  WKRCD4
buffer ������������������������������������������

(buffer wird immer länger)

Ein get WW-Temp-Soll liefert leider nur "Reading 04 bytes starting from ea".

Im Log (Stufe 5 verbose, nach FHEM-Neustart):
2021.12.29 22:47:43 5: DevIo_SimpleWrite WPumpe: ff100201150000011b1003f841ff
2021.12.29 22:47:43 5: WPumpe: GetUpdate - Called DevIo_SimpleWrite: ff100201150000011b1003f841ff
2021.12.29 22:47:43 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0
2021.12.29 22:47:43 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0
2021.12.29 22:47:43 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0fc
2021.12.29 22:47:43 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0fc
2021.12.29 22:47:43 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcff
2021.12.29 22:47:43 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcff
2021.12.29 22:47:43 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffc
2021.12.29 22:47:43 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffc
2021.12.29 22:47:43 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffcff
2021.12.29 22:47:43 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffcff
2021.12.29 22:48:13 5: DevIo_SimpleWrite WPumpe: 41540D
2021.12.29 22:48:13 5: WPumpe: Sent wakeup string: 41540D
2021.12.29 22:48:13 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffcffc0
2021.12.29 22:48:13 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffcffc0
2021.12.29 22:48:13 5: WPumpe: Read - Buffer content: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffcffc0e0
2021.12.29 22:48:13 5: WPumpe: Read - No match: c0f0fcff00ffc0e0f0fcff00ff00fcf0fcfffcffc0e0


Im Eventmonitor entdecke ich dazu keine Meldungen.

Da geht wohl das Auslesen des Puffers noch schief  :-\? Wer kann mir bitte helfen?

Viele Grüße
Hausrobot

mwllgr

#8
Hallo Hausrobot!

Im ersten Beitrag hast du erwähnt, dass du SW-Version 8126 hast - in deinem Log steht folgendes:
SW: ff100201150000011b1003f841ff

Das bedeutet, dass - beginnend bei Adresse 0 - exakt 11b Bytes ausgelesen werden. Das habe ich bei meiner Abänderung des Originalmoduls für SW-Version 8011 so gemacht, heißt also, dass du zumindest vermutlich das falsche Modul verwendest, wodurch keine sinnvollen Readings erzeugt werden können. Verwende daher unbedingt die Variante aus dem contrib/-Ordner und NICHT meine Version. Download wäre unter https://svn.fhem.de/trac/export/25410/trunk/fhem/contrib/98_WKRCD4.pm

Bitte probier's mit der anderen Version und - falls es immer noch nicht geht - schick bitte wieder den Log ins Forum.

Hausrobot

Hallo,

danke für die Antwort. Mit der 98_WKRCD4.pm (23194 Byte groß) und meiner Version 8126 wird jetzt ausgelesen:
2022.01.02 23:54:13 5: DevIo_SimpleWrite WPumpe: 41540D100201150008000410037EA010020115003000041003FDC3100201150034000410037D90
2022.01.02 23:54:13 5: WPumpe: sent wakeup string: 41540D100201150008000410037EA010020115003000041003FDC3100201150034000410037D90 done.
2022.01.02 23:54:13 5: WPumpe: read buffer content: c000de00ff00fff0fcfcc0
2022.01.02 23:54:13 5: WPumpe: read NoMatch: c000de00ff00fff0fcfcc0

(mehere Aufrufe später...)
2022.01.03 00:07:48 5: WPumpe: GetUpdate -> Call DevIo_SimpleWrite: ff100201150000017010037938ff
2022.01.03 00:07:48 5: WPumpe: read buffer content: c000de00ff00fff0fcfcc0ff00fcfffefcfff000c000fcff0080fffe00fff0f000c0fcfcff0000fffefcfffff0fc0000f0fc0000f8fcfffc00fffe80fff0fc80000000ff0080fffefcfff0fc00000000ff00fcff80fff0fcfcff00fcfcff0080ff80fff0fcfc00fc00fffc80ff80fff00000fff000fcc0fc00fffc80ff00fe80fff0fc80c0000000fcfffe00fff000ff00ffc00000000080fffe00fffc0000c000fcff0000fffe00fff80080ffc000000000fcff00fff0fcfcff00ff00000080fffe00fff0fc
2022.01.03 00:07:48 5: WPumpe: read NoMatch: c000de00ff00fff0fcfcc0ff00fcfffefcfff000c000fcff0080fffe00fff0f000c0fcfcff0000fffefcfffff0fc0000f0fc0000f8fcfffc00fffe80fff0fc80000000ff0080fffefcfff0fc00000000ff00fcff80fff0fcfcff00fcfcff0080ff80fff0fcfc00fc00fffc80ff80fff00000fff000fcc0fc00fffc80ff00fe80fff0fc80c0000000fcfffe00fff000ff00ffc00000000080fffe00fffc0000c000fcff0000fffe00fff80080ffc000000000fcff00fff0fcfcff00ff00000080fffe00fff0fc

(Der Puffer wird immer länger).

PS beim Starten kommt im Log eine Warnung, die mit dem hier aber vielleicht nichts zu tun hat:
2022.01.02 23:53:44 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4927.

Grüße, Hausrobot


Hausrobot

Hallo,

kurzes Resümee zur Resümat CD4: Letztlich lag der Fehler an der Platine.

CD4-Steuerung ausgetauscht und die Werte wurden akurrat ausgelesen.

Danke  :) an alle, die hier mitgedacht haben!