THZ Tecalor (LWZ Stiebel Eltron) Wärmepumpe -Optimierung und Erfahrungsaustausch

Begonnen von willybauss, 07 Februar 2015, 11:30:16

Vorheriges Thema - Nächstes Thema

TheTrumpeter

Ich habe mal eine ganz andere Frage, sorry wenn zu OffTopic...

Bisher habe ich die LWZ mittels einfachem RS232-HAT über die UART-Schnittstelle vom RasPi abgefragt, was problemlos lief/läuft. Auch über einen einfachen USB-Adapter lief/läuft es einwandfrei.

Ich habe mein System nun auf einen RasPi 4 umgezogen und wollte bei der Gelegenheit auch gleich einen billigen RS485-USB-Adapter, den ich für ein anderes Gerät benötige, durch etwas ordentliches ersetzen.

Dafür wollte ich den Waveshare RS485/RS232 HAT einsetzen (https://www.waveshare.com/rs485-rs232-hat.htm), der über SPI läuft. Alles andere, was ich gefunden habe, läuft immer über die UART-Schnittstelle, sodass ich nicht sowohl RS485 als auch RS232 verwenden könnte.
Aber egal was ich versuche, ich bekomme keine Kommunikation mit der LWZ. Vermutlich bin ich einfach zu blöd dafür. (RS485 bekomme ich auch nicht zum Laufen. Da blinkt zwar die "RX"-LED am HAT, sobald ich den Bus anschließe (die anderen Geräte quatschen permanent), aber auslesen klappt auch nicht.

Ich habe es über SPI1 versucht, der vom HAT direkt genutzt würde, aber auch mittels Aufbrechadapter SPI0 probiert. Ich erhalte immer
msg2 THZ_Get: Error msg2:  THZ_ReadAnswer: InterfaceNotRespondig. Maybe too slow THZ_Get_Com: error found at step0  -- 0B0005 ->
Mit SPI0 ist zumindest die CS-Warnung aus dmesg weg, aber sonst keine Änderung.

SPI1:
[   10.633323] sc16is7xx spi1.0: Native CS is not supported - please configure cs-gpio in device-tree
[   10.639406] spi1.0: ttySC0 at I/O 0x0 (irq = 185, base_baud = 921600) is a SC16IS752
[   10.644402] spi1.0: ttySC1 at I/O 0x1 (irq = 185, base_baud = 921600) is a SC16IS752

SPI0:
[    7.498702] spi0.0: ttySC0 at I/O 0x0 (irq = 185, base_baud = 921600) is a SC16IS752
[    7.499507] spi0.0: ttySC1 at I/O 0x1 (irq = 185, base_baud = 921600) is a SC16IS752

Ich hätte erwartet, dass ich in der THZ-Konfiguration einfach "/dev/ttySC1@115200" anstatt bisher "/dev/ttyAMA0@115200" setze und es läuft. Aber nein, Fehlanzeige.


Ich habe versucht zusätzlich zum dtoverlay für den Chip auch noch spi1_cs1 zu aktivieren, aber dann bekomme ich:
[    3.128818] spi spi1.0: chipselect 0 already in use
[    3.129898] spi_master spi1: spi_device register error /soc/spi@7e215080/sc16is752@0
[    3.135515] spi_master spi1: Failed to create SPI device for /soc/spi@7e215080/sc16is752@0



Hat irgendjemand Erfahrung damit?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Eonwe

Hallo TheTrumpeter,

ich hab eventuell nen Ansatzpunkt. Ich muss aber vorneweg sagen, dass Hardwareprogrammierung nicht mein Spezialgebiet ist und viel meines Wissens auf die schnelle zusammengegoogelt wurde. Ich kann also auch fundamental daneben liegen.

Für mich sieht das ganz nach nem Timing Problem aus. Der Chip wird ja initialisiert und erkannt. Intern verfügt der Chip über einen FIFO-Stack, der empfangene Daten erst nach einer gewissen Länge oder einem Timeout weiterleitet.
Problem: Die Kommunikation mit der THZ ist mehrstufig und der Handshake hat nur 2 Bytes, wir laufen also jedes mal in den Timeout. Der ist für das THZ-Modul aber zu groß und es erscheint die Fehlermeldung.

Eigentlich müsste man die Byte-Länge des FIFO-Stacks reduzieren, ich hab aber keine Möglichkeit gefunden wie das auf die Schnelle gehen könnte.

Zum Testen könntest du das Attribut SimpleReadTimeout mal hochsetzen um zu sehen ob es was bringt. Default sind 0,8 Sekunden.


Ansonsten mal die Tests, die WaveShare zum Download anbietet, ausprobieren um zu sehen ob überhaupt ne Kommunikation mit der Anlage zustande kommt. Als Handshake schickt man 0x02 und müsste 0x10 zurückbekommen.

Phantas

Hallo Forum,
ich habe mal eine kleine Frage zum STB Schalter - klackt der IMMER, wenn man ihn drückt?
Oder nur, wenn er ausgelöst hat und man ihn wieder reindrückt?
Bei mir funktioniert der Heizstab nur sporadisch (oftmals braucht es mehrere Komplettresets der LWZ 403 Sol) und aktuell funktioniert es gar nicht mehr.
Boosterstage 2 oder 3 in Settings macht keinen Unterschied ob es funktioniert oder nicht, im Fehlerspeicher landet da komischerweise auch nichts.

Mir ist nur eben aufgefallen, dass der STB jedesmal klackt beim reindrücken (also während Strom komplett weg von der Anlage ist) und ich meine, früher hat der einmal geklackt und dann blieb er so und hat nicht mehr geklackt...