Modul für Waterkotte Wärmepumpe mit Resümat CD4 Steuerung

Begonnen von StefanStrobel, 17 Dezember 2013, 20:17:11

Vorheriges Thema - Nächstes Thema

StefanStrobel

Hallo aka323,

Marco (froy.de) hat die Waterkotte AI schon mit ModbusAttr am Laufen:
https://forum.fhem.de/index.php/topic,46944.msg397399.html#msg397399
Frag ihn doch mal ob er nicht die ganze Konfig posten kann.

Gruss
    Stefan

ak323

Danke Stefan für die Info.
Ich schätze Marco hat eine Waterkotte Ai1 mit der WPCU Steuerung .. meine Ai1QE hat den WWPR ..
Ich frage ihn mal an, vielleicht kann man das ja leicht anpassen ...

Ich habe jetzt Erfolg gehabt und kann nun die Register auslesen !
Ich verwende Deine ModbusSET als Vorlagen für meine ModbusWWPR ... Ich komme an alle Register ran .. muß jetzt nur noch an der Darstellung in FHEM arbeiten ...

Viele Grüße, ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

ak323

RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

DodiHudori

Hallo Stefan,

kannst du mir verraten wie du deine Waterkotte ans Netzwerk bekommen hast?

StefanStrobel

Dort wo die ganzen Kabel angeschlossen werden, ist auch ein Modem bzw. Rs232-Anschluss vorgesehen.
Im Modul habe ich am Anfang auch einige Links zu weiteren Infos hinterlegt.

Gruß
   Stefan

Cluni

Guten Morgen zusammen!

Ich habe mir schon einen Wolf gesucht, aber ich bekomme das Gerät nicht definiert. Wenn ich versuche,die Wärmepumpe wie im Wiki angegeben über diesen Befehl:
define WP WKRCD4 /dev/vcom1@9600 60
anzulegen, dann bekomme ich nur die Fehlermeldung:
Unknown module WKRCD4

Im Ordner "/opt/fhem/contrib" finde ich die Datei "98_WKRCD4.pm". Ich habe auch schon wie verrückt gesucht, ob und wie ich Module aus dem contrib installieren/aktivieren muss, aber leider bis jetzt ohne Erfolg.

Kann mir bitte jemand einen Schubs in die richtige Richtung geben? Wo liegt mein Fehler und was mache ich falsch?

Vielen Dank schon mal für die Hilfe und dem Ersteller des Moduls für das Modul selbst! ;)
Bernd

StefanStrobel

Hallo,

Einfach das Modul aus dem contrib-Verzeichnis ins FHEM-Verzeichnis zu den anderen Modulen kopieren und dann Fhem neu starten. Dann sollte es klappen.

Gruß
   Stefan

Cluni

Ahhhhhh ok - danke schön!
Das habe ich so nirgends gefunden. Und ich habe wirklich lange gesucht und versucht, bis ich hier gefragt habe. Da ist vielleicht aber auch die Wiki Seite https://wiki.fhem.de/wiki/Kategorie:Modul_(Contrib) etwas mager. Könnte dort vielleicht jemand einen kleinen Hinweis hinterlassen? Das wäre schon super.
Auch in der Einsteiger PDF findet sich das Wort "contrib" nur einmal:
ZitatEinchecken in den Zweig ,,contrib". Hier eingecheckte Module werden nicht in die fhemDistribution
aufgenommen, werden nicht über ,,update" verteilt und erscheinen auch nicht in
der commandref. Möchte ein user dieses Modul verwenden, muss es manuell aus dem SVN
heruntergeladen werden.
Jetzt im Nachhinein erscheint mir das alles logisch - das gebe ich zu - aber vorher stand ich wie ein Ochse vorm Berg. Auch ein Bekannter, der schon mehrere Jahre Erfahrung mit Fhem hat, konnte mir nicht sagen, wie man so ein Modul benutzt (hat er wahrscheinlich selber nie gebraucht).

Jetzt scheint die Definition zu funktionieren. Aber Fhem stürzt mir kurz später ab. Ich denke jedoch, dass dies an meiner RS232 liegt - ich habe mir ein RS232-LAN-Gateway USR-TCP232-302 gekauft und dies erstmal testweise über das Terminal vor dem define der Wärmepumpe in Fhem eingebunden:
sudo socat pty,link=/dev/vcom1,raw,echo=0 tcp:192.168.178.19:20108

Ich denke, dass ich mir erstmal den Raspi schnappen und direkt an die Wärmepumpe anschließen muss. Danach kann ich dann schauen, wo das Problem mit dem Gateway liegt.

Vielen Dank, dass du mir den gewünschten Schubs gegeben hast! ;)

Cluni

Soooooo, einige Jahre später habe ich meine Waterkotte mit Resümat CD4 endlich mal korrekt eingebunden (jaaaa, ich habe es bis jetzt liegen lassen...).
Eine Sache ist mir aufgefallen: Der Status bleibt auf "WP idle", wenn die Warmwasser-Bereitung läuft. Ist das so gewollt? Die anderen Modi habe ich noch nicht testen können - weder Heizung, noch Kühlung. Muss ich mal ein bisschen die Einstellungen verändern und schauen, was dann mit dem Status passiert...

Was anderes: Kann ich irgendwie den Störungsfall mitbekommen? Ich würde mir gerne eine Push-Message schicken, wenn die WP aus irgendeinem Grund auf Störung gehen sollte.

Ansonsten sehr schönes Modul! Vielen Dank dafür!

Grüße, Cluni

StefanStrobel

Hallo Cluni,

Das Modul fragt die Waterkotte-Steuerung regelmäßig ab. Dabei kann man den Status nicht direkt abfragen, sondern nur die aktuelle Anzeige und die wechselt auch automatisch, so dass man den aktuellen Status eine ganze Weile verpassen kann (soweit ich mich erinnere - Meine Steuerung ist inzwischen kaputt gegangen und ich habe sie gegen eine neuere mit Modbus-Interface ausgetauscht)

Gruß
    Stefan


Cluni

Hallo Stefan,

vielen Dank für deine schnelle Antwort. Beim Modus Heizung bekomme ich z.B. "Heizung 28.9" (also mit der Temperatur des Vorlaufs). Scheint beim Warmwasser nicht so zu sein. Dann muss ich mir das mal in deinem Code ansehen.

Wie sich die drei Bytes von "Status-Heizung" zusammen setzen, kannst du mir nicht auf Anhieb sagen, oder? Darin ist nicht zufällig etwas enthalten, worüber man einen Ausfall bemerken könnte?

Gruß Bernd

Cluni

#26
Habe gerade mal ein wenig geschaut. Kann ich Dinge aus der Speicher-Adressen-Liste auf der Seite https://www.haustechnikdialog.de/Forum/t/6144/Waterkotte-5017-3-an-den-Computer-anschliessen?page=2 einfach bei dir in das Array "$frameReadings" hinzufügen? Es gibt ja die Adressen:
0x0091 0x0003 07.00 Ausfall Zeit
0x0094 0x0003 07.01 Ausfall Datum
0x0097 0x0001 07.02 Ausfall Betriebszustaende
0x0098 0x0001 07.03 Ausfall DO Buffer
0x0099 0x0001 07.04 Ausfall DI Buffer
0x009A 0x0001 07.05 Ausfall AI Error
0x009B 0x0001 07.06 Ausfall AI DI
0x009C 0x0004 07.07 Ausfall AI Temp Aussen
0x00A0 0x0004 07.08 Ausfall AI Temp WQ Ein
0x00A4 0x0004 07.09 Ausfall AI Temp WQ Aus
0x00A8 0x0004 07.10 Ausfall AI Temp Verdampfer
0x00AC 0x0004 07.11 Ausfall AI Temp Heizung Ein
0x00B0 0x0004 07.12 Ausfall AI Temp Heizung Aus
0x00B4 0x0004 07.13 Ausfall AI Temp Kondensation
0x00B8 0x0004 07.14 Ausfall AI Temp Warmwasser
0x00BC 0x0001 07.15 Ausfall Term AI Error
0x00BD 0x0001 07.16 Ausfall Term AI Di
0x00BE 0x0004 07.17 Ausfall AI Temp Raum

Mit der Ausfallzeit und dem -datum könnte man ja schon arbeiten.

Würde es also reichen, wenn ich die Zeilen:
'Ausfall-Uhrzeit'        => { addr => 0x0091, bytes => 0x0003, fmat => '%3$02d:%2$02d:%1$02d', unp => 'CCC' },
'Ausfall-Datum'          => { addr => 0x0094, bytes => 0x0003, fmat => '%02d.%02d.%02d', unp => 'CCC'}

in deinem Array anhängen würde?

Gruß Bernd

EDIT: Hab's ausprobiert - scheint zu gehen. Oder fehlen mir noch wichtige zusätzliche Änderungen?

Cluni

Den Fehler, dass bei der Warmwasserbereitung "WP Idle" angezeigt wurde, habe ich auch gefunden:

        my $Status = "WP idle";
        if (ReadingsVal($name, "Heizung", 0)) {
            $Status = sprintf ("Heizung %s", ReadingsVal ($name, "Temp-Vorlauf", 0));
        } elsif (ReadingsVal($name, "Kuehlung", 0)) {
            $Status = sprintf ("Kühlung %s", ReadingsVal ($name, "Temp-Vorlauf", 0));
        } elsif (ReadingsVal($name, "Kuehlung", 0)) {
            $Status = sprintf ("Warmwasser %s", ReadingsVal ($name, "Temp-WW", 0));
        }
        $Status = encode ("utf8", $Status);
        readingsBulkUpdate( $hash, "Status", $Status);
        readingsEndUpdate( $hash, 1 );


Im letzten elsif muss natürlich "Warmwasser" statt "Kuehlung" beim Auslesen der Readings stehen...

StefanStrobel

Hallo Cluni,

den Fix übernehme ich gerne. Dann checke ich einen neue Version ein.
In den Status-Bytes steht vermutlich auch noch was brauchbares drin.
Meine neue Steuerung von Waterkotte hat ähnliche Bytes, aber vermutlich ist das weder dokumentiert noch übertragbar.

Gruss
    Stefan

Cluni

Hi Stefan,

warte nur erst noch. Ich implementiere noch das eine oder andere.

Oder soll ich die Weiterentwicklung übernehmen? Natürlich bleibst du mit drin! ;)

Gruß Bernd