FHEM Modul (70_HPSU.pm) ROTEX HPSU compact <--> ELM327

Begonnen von ahermann86, 19 Dezember 2019, 21:14:24

Vorheriges Thema - Nächstes Thema

hackepeter

#270
Teste gerade mal die aktuelle Version 1.13 # 13.03.2021.
- DBLOG sieht gut aus (siehe Anhang).
- bist du mal dazu gekommen dir error anzuschauen?
"error" : {
"name" : "error",
"command" : "31 00 FA 13 88 00 00",
"id" : "190",
"divisor" : "1",
"writable" : "false",
"unit" : "",
"type" : "value"


Konnte nach der Umstellung die Betriebsart nicht mehr umstellen:
Error: Betriebsart [mode_01] verify failed (1090)

Habe einmal alles neu gestartet, jetzt geht es wieder.

ahermann86

#271
Hallo Hackepeter,

das mit dem Error funktioniert so nicht.

Das muss wie folgt geändert werden:

"error" : {
"name" : "Fehlercode",
"system" : "comfort|ultra",
"command" : "31 00 FA 13 88 00 00",
"divisor" : "1",
"writable" : "false",
"FHEMPollTime" : 5,
"unit" : "",
"type" : "longint"
},

Mit dem Eintrag wird der Error als Reading mit dem Namen "HPSU.Fehlercode" alle 5 Sekunden abgerufen und das "longint" braucht man wegen der Bytereihenfolge.

Das werde ich im nächsten Release mit der 1.14 bzw. JSON 3.8 als Standard einbauen.

Als Beispiel habe ich das Bild "Fehler_angezeigt.jpg". Mit der Anzeige liest das Modul das Reading so ein: "HPSU.Fehlercode 128"
Wenn jm. langweilig ist, kann man das in der JSON so ergänzen, dass nicht die Zahl sondern der zugehörige Klartext angezeigt wird.

Wegen der Betriebsart: Das hatte ich bisher noch nie und das gefällt mir nicht  ??? - hast du da vorher irgendwas ungewöhnliches gemacht?
Mach mal das hier: https://forum.fhem.de/index.php/topic,106503.msg1130153.html#msg1130153
Wenn das wieder auftritt, beobachte Mal, ob auch die anderen Werte auch nicht mehr aktualisiert werden bzw. ob der Adapter noch blinkt...

Edit: Du hattest wegen deiner SW Versionsstände gefragt - Ich habe exakt die gleichen Versionsstände wie du. Bei mir wurde im Augst 2019 ein Update durch den Rotexeigenen Werkskundendienst durchgeführt.

@MadMax: Alles gut - kein Problem  8)

Gruß
Axel

hackepeter

#272
Sehr gut, es funktioniert! Ich hatte es nur aus der jdson von pyHPSU kopiert.

ZitatWenn jm. langweilig ist, kann man das in der JSON so ergänzen, dass nicht die Zahl sondern der zugehörige Klartext angezeigt wird.
Ich werde mich demnächst mal dran machen. Beim einem Fehler benachrichtigt zu werden gibt dem ganzen einen großen Mehrwert!

initialUsbCheck habe ich jetzt deaktiviert.

ZitatEdit: Du hattest wegen deiner SW Versionsstände gefragt - Ich habe exakt die gleichen Versionsstände wie du. Bei mir wurde im Augst 2019 ein Update durch den Rotexeigenen Werkskundendienst durchgeführt.
Scheint auf jeden Fall eine stabilere firmware zu sein als die Vorgänger...

Was mir noch aufgefallen ist, ist das meine WP zu viel Taktet(siehe Bild). Ist das bei dir/euch auch so?
Ich habe stelle den Modus immer je nach Raumtemperatur immer auf absenken oder heizen...

Heizkreisventile auf/zu machen, hier Whz/Küche:
([HM_618148_Climate:desired-temp] > [HM_618148_Climate:measured-temp]) (set Pi1VentilWohnzimmer on,set Pi1VentilKueche on) DOELSE (set Pi1VentilWohnzimmer off,set Pi1VentilKueche off)

Wenn alle Ventile auf/zu sind, dummy "Heizung" entsprechend setzen:

([Pi1VentilBad] eq "off" and [Pi1VentilWohnzimmer] eq "off") (set Heizung off) DOELSE (set Heizung on)


Mit dummy Heizung HPSU Betriebsart setzen:
Heizung.* IF ([Heizung:state] eq "on")
    (set HPSU2 HPSU.Betriebsart Heizen)   
ELSE
    (set HPSU2 HPSU.Betriebsart Absenken)


Außerdem setze ich die Soll-Temperatur im Pufferspeicher höher wenn die Außentemperatur steigt.
Das hat den Hintergrund dass wir an kühlen Tagen immer unseren Holzofen mit Wasserführung betreiben.
Im Sommer natürlich nicht, da ist die WP effizienter.

([HPSU2:HPSU.T_Aussen:d] <= 10) (set HPSU2 HPSU.Soll_T_Warmwasser_1 43)
([HPSU2:HPSU.T_Aussen:d] <= 13 and [HPSU2:HPSU.T_Aussen:d] > 10) (set HPSU2 HPSU.Soll_T_Warmwasser_1 44)
([HPSU2:HPSU.T_Aussen:d] <= 13 and [HPSU2:HPSU.T_Aussen:d] > 16) (set HPSU2 HPSU.Soll_T_Warmwasser_1 45)
([HPSU2:HPSU.T_Aussen:d] <= 18 and [HPSU2:HPSU.T_Aussen:d] > 16) (set HPSU2 HPSU.Soll_T_Warmwasser_1 46)
([HPSU2:HPSU.T_Aussen:d] <= 20 and [HPSU2:HPSU.T_Aussen:d] > 18) (set HPSU2 HPSU.Soll_T_Warmwasser_1 47)
([HPSU2:HPSU.T_Aussen:d] <= 22 and [HPSU2:HPSU.T_Aussen:d] > 20) (set HPSU2 HPSU.Soll_T_Warmwasser_1 48)
([HPSU2:HPSU.T_Aussen:d] <= 23 and [HPSU2:HPSU.T_Aussen:d] > 22) (set HPSU2 HPSU.Soll_T_Warmwasser_1 49)
([HPSU2:HPSU.T_Aussen:d] >= 24 ) (set HPSU2 HPSU.Soll_T_Warmwasser_1 50)


Meine Attribute:
AntiContinousHeating: off
AntiMixerSwing: on
AutoPoll:on
CheckDHWInterrupted: on
RememberSetValues: on
SuppressRetryWarnings: on

ahermann86

ZitatIch hatte es nur aus der jdson von pyHPSU kopiert.

Ok, dann bin ich beruhigt. Die geht natürlich nicht (mehr)

Zitatdas meine WP zu viel Taktet...

Das sieht ja extrem schlimm aus  :o
Das Takten kommt von dem Modus Absenken. Ich habe die Erfahrung gemacht, dass es am Besten funktioniert, wenn man die Heizung bei "zu wenig Heizanforderung" komplett abschaltet. Das mache ich mit "set myHPSU HPSU.Raumthermostat on". Da bei mir der Raumthermostat nicht angeschlossen und somit der Kontakt offen ist, wird die Heizung gesperrt. Ist dann wieder genug Heizanforderung da, schalte ich die Heizung mit "set myHPSU HPSU.Raumthermostat off" wieder ein.
Alternativ kannst du natürlich auch auf Sommer schalten. (Da bin ich mir nur nicht sicher, was die Bodenheizung des Kompressers in der Außeneinheit während dem Sommerbetrieb macht - deswegen die Methode mit dem Raumthermostat).
In dem Anhang "210325_Heizung.png" sieht man, dass bei mir durch diese Methode die WP nie taktet  8)


Mit dem Warmasser musst du aufpassen. Deine Außeneinheit kann maximal 48-49 °C. Danach kommt der Heizstab. Wenn es Draussen wärmer ist, werden sogar die 49 nicht erreicht (Das hat scheinbar etwas mit dem Kältemittel zu tun, da es dadurch zu warm wird..). Also: max 48°C

hackepeter

Für diese Informationen hast du dir ein Bier aus unserer Brauerei verdient! Wo kommst du denn her?

Habe es geändert und bin gespannt. Dass der Heizstab im Sommer immer mal angesprungen ist hatte ich mit großer Verwunderung auch schon beobachtet und dann durch Trennung der Sicherungen unterbunden. Gibt es auch softwaretechnisch eine Möglichkeit, die Nutzung des Heizstabes zu verringern?

MadMax

Hallo Axel,

Ich schalte den Heizstab bei mir aus, aktuell über das Display indem ich sage das es keinen gibt.

Denke das dies mit HPSU.Funktion_EHS geht.
Sehe dann auch bei 50°C solltemperatur für WW kein Heizstabeinsatz.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

hackepeter


MadMax

Muss ich schauen aber ich habe eine HPSU Ultra oder hast du die auch?
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

hackepeter


ahermann86

Da schau: https://wiki.fhem.de/wiki/Rotex_HPSU_Compact#Heizstab_mit_mehreren_Stufen  8)

Das ist der Parameter "HPSU.Funktion_EHS". Der ist über die Bedieneinheit unter Installation->Funktion EHS zu finden.

Ein weiteres Problem mit der "Compact" Firmware im Zusammenhang mit dem Heizstab: https://forum.fhem.de/index.php/topic,106503.msg1120110.html#msg1120110

Meine Lösung im FHEM mit einem DOIF (Raw definition):


defmod diHPSU_BH_beim_Heizen DOIF (\
      [myHPSU:HPSU.T_Aussen_WP:d] < -15     ##Bivalenztemperatur\
)\
(set myHPSU HPSU.Funktion_EHS 1)\
\
DOELSEIF( \
      [myHPSU:HPSU.Aktive_Betriebsart] eq "Abtauen"\
)\
(set myHPSU HPSU.Funktion_EHS 0)\
\
DOELSEIF( \
      [myHPSU:HPSU.T_Aussen:d] < 5 \
  and [myHPSU:HPSU.Aktive_Betriebsart] =~ "Warmwasserbereitung|Heizen"\
  and [myHPSU:HPSU.T_Warmwasser:d] < 36 \
)\
(set myHPSU HPSU.Funktion_EHS 1)
attr diHPSU_BH_beim_Heizen alias diHPSU_BH_beim_Heizen
attr diHPSU_BH_beim_Heizen checkall all
attr diHPSU_BH_beim_Heizen cmdState on|off|on
attr diHPSU_BH_beim_Heizen group BackupHeater
attr diHPSU_BH_beim_Heizen room Heizung_HPSU


.. so wird der nur dann eingeschaltet, wenn er auch gebraucht wird.

@MadMax: Bei der compact würde die Temperatur ohne Heizstab nie erreicht werden. Der Kompressor geht bei Temperaturen über 48/49°C komplett aus. Daher wird er ohne Heizstab hier größere Temperaturen nie erreichen.

PS: ich komme aus dem schönen Landkreis Schwäbisch Hall  - da gibt es auch gutes Bier 8)

Maxman83

Hallo Axel,
Zitat@MadMax: Bei der compact würde die Temperatur ohne Heizstab nie erreicht werden. Der Kompressor geht bei Temperaturen über 48/49°C komplett aus. Daher wird er ohne Heizstab hier größere Temperaturen nie erreichen.

Kann es sein, dass es die 508 kann? Meine macht 50° ohme Heizstab (siehe Screenshot, Verdichter und Elektrische Leistung haben die gleiche Kurve)
Funktion EHS ist bei 0


ahermann86

ZitatDass der Heizstab im Sommer immer mal angesprungen ist hatte ich mit großer Verwunderung auch schon beobachtet

@Maxman83
Probier das auch mal, wenns Draussen viel wärmer ist (>20°C). Da bin ich schon drauf reingefallen  ;)
... nicht ohne Grund ist in (meiner) Werkseinstellung die 48°C eingestellt.

Maxman83

#282
Ok, ich werde es beobachten :)
Wäre aber im Prinzip egal, da meine Warmwasserbereitung eh um die Mittagszeit läuft wenn meine PV mehr produziert als ich einspeisen darf. Dann darf für die letzten Minuten auch gerne der Heizstab anspringen :)

hackepeter

Zitat
Da schau: https://wiki.fhem.de/wiki/Rotex_HPSU_Compact#Heizstab_mit_mehreren_Stufen  8)

Mega  :o

ZitatMeine Lösung im FHEM mit einem DOIF (Raw definition):

Das habe ich mal so übernommen - bin gespannt.

ZitatPS: ich komme aus dem schönen Landkreis Schwäbisch Hall  - da gibt es auch gutes Bier 8)
Wir haben erst vor nem Jahr bei uns in Thüringen ne Brauerei aufgemacht - und die hat nen ziemlich guten Ruf - bis jetzt :)

hackepeter

Ich beobachte leider altuell noch immer den Fehler:

Error: Raumthermostat [room_therm] verify failed (1090)

Führe ich ein Disconnect und anschließend wieder ein Connect aus - setzt er die Befehle...